mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
V4L/DVB (4241): Fix faulty encoder error recovery in pvrusb2
Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
a761f4311b
commit
eb8e0ee4f5
1 changed files with 4 additions and 3 deletions
|
@ -1098,12 +1098,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;"
|
||||
|
|
Loading…
Reference in a new issue