This is a note to let you know that I've just added the patch titled
USB: Handle auto-transition from hot to warm reset.
to the 3.7-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
usb-handle-auto-transition-from-hot-to-warm-reset.patch
and it can be found in the queue-3.7 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.
>From 1c7439c61fa6516419c32a9824976334ea969d47 Mon Sep 17 00:00:00 2001
From: Sarah Sharp <[email protected]>
Date: Wed, 14 Nov 2012 15:58:52 -0800
Subject: USB: Handle auto-transition from hot to warm reset.
From: Sarah Sharp <[email protected]>
commit 1c7439c61fa6516419c32a9824976334ea969d47 upstream.
USB 3.0 hubs and roothubs will automatically transition a failed hot
reset to a warm (BH) reset. In that case, the warm reset change bit
will be set, and the link state change bit may also be set. Change
hub_port_finish_reset to unconditionally clear those change bits for USB
3.0 hubs. If these bits are not cleared, we may lose port change events
from the roothub.
This commit should be backported to kernels as old as 3.2, that contain
the commit 75d7cf72ab9fa01dc70877aa5c68e8ef477229dc "usbcore: refine
warm reset logic".
Signed-off-by: Sarah Sharp <[email protected]>
Acked-by: Alan Stern <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/usb/core/hub.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -2541,16 +2541,16 @@ static void hub_port_finish_reset(struct
clear_port_feature(hub->hdev,
port1, USB_PORT_FEAT_C_RESET);
/* FIXME need disconnect() for NOTATTACHED device */
- if (warm) {
+ if (hub_is_superspeed(hub->hdev)) {
clear_port_feature(hub->hdev, port1,
USB_PORT_FEAT_C_BH_PORT_RESET);
clear_port_feature(hub->hdev, port1,
USB_PORT_FEAT_C_PORT_LINK_STATE);
- } else {
+ }
+ if (!warm)
usb_set_device_state(udev, *status
? USB_STATE_NOTATTACHED
: USB_STATE_DEFAULT);
- }
break;
}
}
Patches currently in stable-queue which might be from
[email protected] are
queue-3.7/usb-ignore-port-state-until-reset-completes.patch
queue-3.7/usb-ignore-xhci-reset-device-status.patch
queue-3.7/usb-handle-warm-reset-failure-on-empty-port.patch
queue-3.7/usb-increase-reset-timeout.patch
queue-3.7/usb-handle-auto-transition-from-hot-to-warm-reset.patch
queue-3.7/usb-allow-usb-3.0-ports-to-be-disabled.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html