Patch "usbip: vhci_hcd: clear just the USB_PORT_STAT_POWER bit" has been added to the 4.9-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    usbip: vhci_hcd: clear just the USB_PORT_STAT_POWER bit

to the 4.9-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:
     usbip-vhci_hcd-clear-just-the-usb_port_stat_power-bit.patch
and it can be found in the queue-4.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.


>From shuahkh@xxxxxxxxxxxxxxx  Fri Feb  2 11:21:56 2018
From: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
Date: Fri, 26 Jan 2018 11:54:35 -0700
Subject: usbip: vhci_hcd: clear just the USB_PORT_STAT_POWER bit
To: valentina.manea.m@xxxxxxxxx, shuah@xxxxxxxxxx, gregkh@xxxxxxxxxxxxxxxxxxx
Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>, linux-usb@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, stable@xxxxxxxxxxxxxxx
Message-ID: <20180126185435.15577-1-shuahkh@xxxxxxxxxxxxxxx>

From: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>

Upstream commit 1c9de5bf4286 ("usbip: vhci-hcd: Add USB3 SuperSpeed
support")

vhci_hcd clears all the bits port_status bits instead of clearing
just the USB_PORT_STAT_POWER bit when it handles ClearPortFeature:
USB_PORT_FEAT_POWER. This causes vhci_hcd attach to fail in a bad
state, leaving device unusable by the client. The device is still
attached and however client can't use it.

The problem was fixed as part of larger change to add  USB3 Super
Speed support. This patch backports just the change to clear the
USB_PORT_STAT_POWER.

Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
 drivers/usb/usbip/vhci_hcd.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/usb/usbip/vhci_hcd.c
+++ b/drivers/usb/usbip/vhci_hcd.c
@@ -300,7 +300,7 @@ static int vhci_hub_control(struct usb_h
 		case USB_PORT_FEAT_POWER:
 			usbip_dbg_vhci_rh(
 				" ClearPortFeature: USB_PORT_FEAT_POWER\n");
-			dum->port_status[rhport] = 0;
+			dum->port_status[rhport] &= ~USB_PORT_STAT_POWER;
 			dum->resuming = 0;
 			break;
 		case USB_PORT_FEAT_C_RESET:


Patches currently in stable-queue which might be from shuahkh@xxxxxxxxxxxxxxx are

queue-4.9/usbip-list-don-t-list-devices-attached-to-vhci_hcd.patch
queue-4.9/usbip-prevent-bind-loops-on-devices-attached-to-vhci_hcd.patch
queue-4.9/cpupowerutils-bench-fix-cpu-online-check.patch
queue-4.9/usbip-vhci_hcd-clear-just-the-usb_port_stat_power-bit.patch
queue-4.9/cpupower-fix-cpupower-working-when-cpu0-is-offline.patch



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]