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