[PATCH] Ohci-hcd: fix endless loop

From: Colin Leroy
Date: Fri Nov 26 2004 - 22:04:49 EST


Hi,

Following patch fixes an endless loop that happens after having
slept and resumed my iBook with a linux-wlan-ng controller plugged in,
removed the stick and plugged it back (getting "IRQ lossage" message).

Signed-off-by: Colin Leroy <colin@xxxxxxxxxx>
--- a/drivers/usb/host/ohci-hcd.c 2004-11-25 19:00:25.000000000 +0100
+++ b/drivers/usb/host/ohci-hcd.c 2004-11-25 19:08:59.000000000 +0100
@@ -375,6 +375,11 @@
spin_unlock_irqrestore (&ohci->lock, flags);
set_current_state (TASK_UNINTERRUPTIBLE);
schedule_timeout (1);
+ if (limit-- < -1000) {
+ ohci_warn (ohci, "Couldn't recover\n");
+ ohci_restart(ohci);
+ goto bail;
+ }
goto rescan;
case ED_IDLE: /* fully unlinked */
if (list_empty (&ed->td_list)) {
@@ -396,6 +401,7 @@
dev->ep [epnum] = NULL;
done:
spin_unlock_irqrestore (&ohci->lock, flags);
+bail:
return;
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/