[PATCH] usb-storage: wait for URB to complete
We all failed to notice that Franck's recent update to usb-storage allowed an URB to complete after its context data was no longer valid. This patch (as746) makes the driver wait for the URB to complete whenever there's a timeout. Although timeouts in usb-storage are relatively uncommon, they do occur. Without this patch the code in 2.6.18-rc1 will fault within an interrupt handler, which is not nice at all. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Родитель
82081797b7
Коммит
d6b7d3b620
|
@ -180,7 +180,7 @@ static int usb_stor_msg_common(struct us_data *us, int timeout)
|
||||||
if (timeleft <= 0) {
|
if (timeleft <= 0) {
|
||||||
US_DEBUGP("%s -- cancelling URB\n",
|
US_DEBUGP("%s -- cancelling URB\n",
|
||||||
timeleft == 0 ? "Timeout" : "Signal");
|
timeleft == 0 ? "Timeout" : "Signal");
|
||||||
usb_unlink_urb(us->current_urb);
|
usb_kill_urb(us->current_urb);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* return the URB status */
|
/* return the URB status */
|
||||||
|
|
Загрузка…
Ссылка в новой задаче