diff options
author | Mike Isely <isely@pobox.com> | 2006-06-25 18:04:47 -0500 |
---|---|---|
committer | Mike Isely <isely@pobox.com> | 2006-06-25 18:04:47 -0500 |
commit | cb977a1c8a0a1c8ea9c89da16a7514f48e20a0de (patch) | |
tree | c1b76c6c86e0b00e6ac2da94c491c81284264de1 /linux | |
parent | 13e33e5132b604fb99c91f3372573840e15b5d74 (diff) | |
download | mediapointer-dvb-s2-cb977a1c8a0a1c8ea9c89da16a7514f48e20a0de.tar.gz mediapointer-dvb-s2-cb977a1c8a0a1c8ea9c89da16a7514f48e20a0de.tar.bz2 |
Fix faulty encoder error recovery in pvrusb2
From: Mike Isely <isely@pobox.com>
Signed-off-by: Mike Isely <isely@pobox.com>
Diffstat (limited to 'linux')
-rw-r--r-- | linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c b/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c index 4dac7dbb5..44ee1d381 100644 --- a/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c +++ b/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c @@ -1099,12 +1099,13 @@ void pvr2_hdw_subsys_bit_chg_no_lock(struct pvr2_hdw *hdw, if (!hdw->flag_ok) return; msk &= PVR2_SUBSYS_ALL; + nmsk = (hdw->subsys_enabled_mask & ~msk) | (val & msk); + nmsk &= PVR2_SUBSYS_ALL; for (;;) { tryCount++; - vmsk = hdw->subsys_enabled_mask & PVR2_SUBSYS_ALL; - nmsk = (vmsk & ~msk) | (val & msk); - if (!(nmsk ^ vmsk)) break; + if (!((nmsk ^ hdw->subsys_enabled_mask) & + PVR2_SUBSYS_ALL)) break; if (tryCount > 4) { pvr2_trace(PVR2_TRACE_ERROR_LEGS, "Too many retries when configuring device;" |