summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorGreg Kroah-Hartman2008-07-01 16:45:51 +0200
committerGreg Kroah-Hartman2008-07-22 00:15:46 +0200
commit36aa81172edba8a3a8ecedbd1f56d41774ce2e08 (patch)
treea42c01b85bcd2298a8673c16e6b7f10962c5f46f /drivers
parentUSB: handle pci_name() being const (diff)
downloadkernel-qcow2-linux-36aa81172edba8a3a8ecedbd1f56d41774ce2e08.tar.gz
kernel-qcow2-linux-36aa81172edba8a3a8ecedbd1f56d41774ce2e08.tar.xz
kernel-qcow2-linux-36aa81172edba8a3a8ecedbd1f56d41774ce2e08.zip
USB: revert "don't lose disconnections during suspend"
This reverts Alan's previous patch so that the recent Hub changes will apply cleanly. The above mentioned patch was needed for 2.6.26 to work properly. Cc: Alan Stern <stern@rowland.harvard.edu> Cc: Lukas Hejtmanek <xhejtman@ics.muni.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/core/hub.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index 4cfe32a16c37..2a5c2833de38 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -713,11 +713,18 @@ static void hub_restart(struct usb_hub *hub, int type)
}
/* Was the power session lost while we were suspended? */
- status = hub_port_status(hub, port1, &portstatus, &portchange);
+ switch (type) {
+ case HUB_RESET_RESUME:
+ portstatus = 0;
+ portchange = USB_PORT_STAT_C_CONNECTION;
+ break;
- /* If the device is gone, khubd will handle it later */
- if (status == 0 && !(portstatus & USB_PORT_STAT_CONNECTION))
- continue;
+ case HUB_RESET:
+ case HUB_RESUME:
+ status = hub_port_status(hub, port1,
+ &portstatus, &portchange);
+ break;
+ }
/* For "USB_PERSIST"-enabled children we must
* mark the child device for reset-resume and