Greg:

Not having heard any complaints about this patch, I'm submitting it.  It 
fixes a problem with the root hub status URB implementation; the timer 
that controls the root hub polling was not getting reset during a PM 
suspend.

Alan Stern


# This is a BitKeeper generated patch for the following project:
# Project Name: greg k-h's linux 2.5 USB kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
#                  ChangeSet    1.1648  -> 1.1649 
#       drivers/usb/core/hcd.c  1.104   -> 1.105  
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 03/06/09      [EMAIL PROTECTED]       1.1649
# Allow the root hub status timer to run during PM suspend.
# --------------------------------------------
#
diff -Nru a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
--- a/drivers/usb/core/hcd.c    Mon Jun  9 12:17:23 2003
+++ b/drivers/usb/core/hcd.c    Mon Jun  9 12:17:23 2003
@@ -459,7 +459,8 @@
        /* rh_timer protected by hcd_data_lock */
        if (hcd->rh_timer.data
                        || urb->status != -EINPROGRESS
-                       || urb->transfer_buffer_length < len) {
+                       || urb->transfer_buffer_length < len
+                       || !HCD_IS_RUNNING (hcd->state)) {
                dev_dbg (hcd->controller,
                                "not queuing rh status urb, stat %d\n",
                                urb->status);
@@ -489,11 +490,10 @@
        local_irq_save (flags);
        spin_lock (&urb->lock);
 
-       /* do nothing if the hc is gone or the urb's been unlinked */
+       /* do nothing if the urb's been unlinked */
        if (!urb->dev
                        || urb->status != -EINPROGRESS
-                       || (hcd = urb->dev->bus->hcpriv) == 0
-                       || !HCD_IS_RUNNING (hcd->state)) {
+                       || (hcd = urb->dev->bus->hcpriv) == 0) {
                spin_unlock (&urb->lock);
                local_irq_restore (flags);
                return;



-------------------------------------------------------
This SF.NET email is sponsored by: eBay
Great deals on office technology -- on eBay now! Click here:
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to