Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6d98816f authored by Mike Isely's avatar Mike Isely Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (4675): Pvrusb2: Fix VIDIOC_INT_[G|S]_REGISTER so that it actually works now

parent ab9caf9e
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -3140,7 +3140,8 @@ int pvr2_hdw_register_access(struct pvr2_hdw *hdw,
	struct list_head *item;
	struct pvr2_i2c_client *cp;
	struct v4l2_register req;
	int stat;
	int stat = 0;
	int okFl = 0;

	req.i2c_id = chip_id;
	req.reg = reg_id;
@@ -3153,9 +3154,13 @@ int pvr2_hdw_register_access(struct pvr2_hdw *hdw,
				cp,(setFl ? VIDIOC_INT_S_REGISTER :
				    VIDIOC_INT_G_REGISTER),&req);
			if (!setFl) *val_ptr = req.val;
			return stat;
			okFl = !0;
			break;
		}
	} while (0); mutex_unlock(&hdw->i2c_list_lock);
	if (okFl) {
		return stat;
	}
	return -EINVAL;
#else
	return -ENOSYS;
+1 −1
Original line number Diff line number Diff line
@@ -671,7 +671,7 @@ static int pvr2_v4l2_do_ioctl(struct inode *inode, struct file *file,
		ret = pvr2_hdw_register_access(
			hdw,req->i2c_id,req->reg,
			cmd == VIDIOC_INT_S_REGISTER,&val);
		if (cmd == 0) req->val = val;
		if (cmd == VIDIOC_INT_G_REGISTER) req->val = val;
		break;
	}
#endif