aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/core
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2008-07-01 10:45:51 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2008-07-21 18:15:46 -0400
commit36aa81172edba8a3a8ecedbd1f56d41774ce2e08 (patch)
treea42c01b85bcd2298a8673c16e6b7f10962c5f46f /drivers/usb/core
parent1b26da1510c02a2dac33c0ea48904256dcec4617 (diff)
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/usb/core')
-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)
713 } 713 }
714 714
715 /* Was the power session lost while we were suspended? */ 715 /* Was the power session lost while we were suspended? */
716 status = hub_port_status(hub, port1, &portstatus, &portchange); 716 switch (type) {
717 case HUB_RESET_RESUME:
718 portstatus = 0;
719 portchange = USB_PORT_STAT_C_CONNECTION;
720 break;
717 721
718 /* If the device is gone, khubd will handle it later */ 722 case HUB_RESET:
719 if (status == 0 && !(portstatus & USB_PORT_STAT_CONNECTION)) 723 case HUB_RESUME:
720 continue; 724 status = hub_port_status(hub, port1,
725 &portstatus, &portchange);
726 break;
727 }
721 728
722 /* For "USB_PERSIST"-enabled children we must 729 /* For "USB_PERSIST"-enabled children we must
723 * mark the child device for reset-resume and 730 * mark the child device for reset-resume and