summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
Diffstat (limited to 'linux')
-rw-r--r--linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c b/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c
index ed5e81224..231c314f4 100644
--- a/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c
+++ b/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c
@@ -1490,11 +1490,15 @@ int pvr2_hdw_get_ctl_max_value(struct pvr2_hdw *hdw,unsigned int ctl_id)
int pvr2_hdw_set_ctl_value_internal(struct pvr2_hdw *hdw,
unsigned int ctl_id,int value)
{
+ int ret;
if (ctl_id >= PVR2_CID_COUNT) return -EINVAL;
if (value < control_defs[ctl_id].min_value) return -EINVAL;
if (value > control_defs[ctl_id].max_value) return -EINVAL;
if (control_defs[ctl_id].set_func) {
- return control_defs[ctl_id].set_func(hdw,ctl_id,value);
+ ret = control_defs[ctl_id].set_func(hdw,ctl_id,value);
+ pvr2_i2c_core_check_stale(hdw);
+ pvr2_i2c_core_sync(hdw);
+ return ret;
} else if (control_defs[ctl_id].get_func) {
/* If there's no "set" function yet there is still a "get"
function, then treat this as a read-only value. */