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:
Mike Isely 2006-06-25 20:04:47 -03:00 committed by Mauro Carvalho Chehab
parent a761f4311b
commit eb8e0ee4f5

View File

@ -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;"