aboutsummaryrefslogtreecommitdiff
path: root/drivers/media/video/pvrusb2/pvrusb2-hdw.c
diff options
context:
space:
mode:
authorMike Isely <isely@pobox.com>2009-03-07 01:45:10 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 12:43:37 -0300
commite68a619a1b216ed5398cbdf215a20d3411c988ea (patch)
tree1128b6ce699bc6835c2b69bd723c331098b5694c /drivers/media/video/pvrusb2/pvrusb2-hdw.c
parent0db8556805bdaed865329e55b9a1ad05f9cbd856 (diff)
V4L/DVB (11188): pvrusb2: Sub-device update must happen BEFORE state dirty bits are cleared
The sub-device update mechanism relies on various "dirty" bits in the driver in order to know what pieces of state need to be propagated out to the various sub-devices. But that won't work if the dirty bits are cleared before the update gets a chance to run. This change ensures that the update takes place before the dirty bits are cleared. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/pvrusb2/pvrusb2-hdw.c')
-rw-r--r--drivers/media/video/pvrusb2/pvrusb2-hdw.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw.c b/drivers/media/video/pvrusb2/pvrusb2-hdw.c
index e61e34821fd..627bc18f9bc 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-hdw.c
+++ b/drivers/media/video/pvrusb2/pvrusb2-hdw.c
@@ -3238,15 +3238,15 @@ static int pvr2_hdw_commit_execute(struct pvr2_hdw *hdw)
}
}
+ /* Check and update state for all sub-devices. */
+ pvr2_subdev_update(hdw);
+
for (idx = 0; idx < hdw->control_cnt; idx++) {
cptr = hdw->controls + idx;
if (!cptr->info->clear_dirty) continue;
cptr->info->clear_dirty(cptr);
}
- /* Check and update state for all sub-devices. */
- pvr2_subdev_update(hdw);
-
/* Now execute i2c core update */
pvr2_i2c_core_sync(hdw);