On Fri, Mar 22, 2002 at 03:59:32PM -0800, Greg KH wrote:
> [EMAIL PROTECTED], 2002-03-22 15:19:09-08:00, [EMAIL PROTECTED]
> USB ohci and unlink-in-completion
>
> This fixes the problem Stuart reported, where interrupt urbs
> couldn't be unlinked from their completion handlers, and it
> also makes OHCI return the correct status code for async
> unlink requests (-EINPROGRESS not zero).
>
> drivers/usb/usb-ohci.c | 9 ++++++---
> 1 files changed, 6 insertions(+), 3 deletions(-)
# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
# ChangeSet 1.234 -> 1.235
# drivers/usb/usb-ohci.c 1.20 -> 1.21
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 02/03/22 [EMAIL PROTECTED] 1.235
# USB ohci and unlink-in-completion
#
# This fixes the problem Stuart reported, where interrupt urbs
# couldn't be unlinked from their completion handlers, and it
# also makes OHCI return the correct status code for async
# unlink requests (-EINPROGRESS not zero).
# --------------------------------------------
#
diff -Nru a/drivers/usb/usb-ohci.c b/drivers/usb/usb-ohci.c
--- a/drivers/usb/usb-ohci.c Fri Mar 22 15:48:19 2002
+++ b/drivers/usb/usb-ohci.c Fri Mar 22 15:48:19 2002
@@ -11,6 +11,9 @@
*
*
* History:
+ *
+ * 2002/01/20 async unlink fixes: return -EINPROGRESS (per spec) and
+ * make interrupt unlink-in-completion work (db)
*
* 2001/09/19 USB_ZERO_PACKET support (Jean Tourrilhes)
* 2001/07/17 power management and pmac cleanup (Benjamin Herrenschmidt)
@@ -486,9 +489,8 @@
/* implicitly requeued */
urb->actual_length = 0;
- urb->status = USB_ST_URB_PENDING;
- if (urb_priv->state != URB_DEL)
- td_submit_urb (urb);
+ urb->status = -EINPROGRESS;
+ td_submit_urb (urb);
break;
case PIPE_ISOCHRONOUS:
@@ -790,6 +792,7 @@
/* usb_dec_dev_use done in dl_del_list() */
urb->status = -EINPROGRESS;
spin_unlock_irqrestore (&usb_ed_lock, flags);
+ return -EINPROGRESS;
}
} else {
urb_rm_priv (urb);
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel