ChangeSet 1.1305.7.1, 2003/06/13 16:40:44-07:00, [EMAIL PROTECTED]
[PATCH] USB: Keep root hub status timer running during suspend
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.
drivers/usb/core/hcd.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff -Nru a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
--- a/drivers/usb/core/hcd.c Wed Jun 18 11:16:14 2003
+++ b/drivers/usb/core/hcd.c Wed Jun 18 11:16:14 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: INetU
Attention Web Developers & Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel