PATCH: usb-uhci: interrupt out with urb->interval 0

Frode Isaksen (fisaksen@bewan.com)
Thu, 17 Apr 2003 09:20:04 +0200


A recent change (2.4.21) in the usb-uhci driver calls
"uhci_clean_iso_step2" after the completion of one-shot (urb->interval
0) interrupt out transfers. This call clears the list of descriptors.
However, it crashes when trying to get the next desciptor in the "for"
loop in the "process_interrupt" function, since the list of descriptors
are already cleared. A simple change I did was to do a "break" to quit
the "for" loop for interrupt out transfers with urb->interval 0.

Thanks,
Frode

--- drivers/usb/usb-uhci.c.orig 2003-04-16 15:39:04.000000000 +0200
+++ drivers/usb/usb-uhci.c 2003-04-16 15:39:56.000000000 +0200
@@ -2628,6 +2628,7 @@
// correct toggle after unlink
usb_dotoggle (urb->dev, usb_pipeendpoint (urb->pipe), usb_pipeout
(urb->pipe));
clr_td_ioc(desc); // inactivate TD
+ break;
}
}
}

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