Browse Source

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>
Greg Kroah-Hartman 17 years ago
parent
commit
36aa81172e
1 changed files with 11 additions and 4 deletions
  1. 11 4
      drivers/usb/core/hub.c

+ 11 - 4
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? */
 		/* 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
 		/* For "USB_PERSIST"-enabled children we must
 		 * mark the child device for reset-resume and
 		 * mark the child device for reset-resume and