Received: by 10.223.176.46 with SMTP id f43csp1047399wra; Fri, 26 Jan 2018 10:58:24 -0800 (PST) X-Google-Smtp-Source: AH8x224Lo9oMs1qhLuz7baH1rmvr54WRUr57blZM96+xQqT/xQ/cowiTnzkIQOuIx5GHQ3NlaGe3 X-Received: by 2002:a17:902:6ac7:: with SMTP id i7-v6mr14698528plt.368.1516993104848; Fri, 26 Jan 2018 10:58:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516993104; cv=none; d=google.com; s=arc-20160816; b=cWqtr4jnIM5BPy1kHVfEBkWEweJuUenki4wbu942niGShDu+U6sxQ5Kg8cwIFx/AuD QG26J0o8+y8Fcf89ItX+DnGaHOAR9Zdpca2P69EPAqqIcbQd3RGrOSMCp+d9XfIxxvQO 9OdmyrBRFEwgJTWK14tEh4QobGwl14rVwgZKHbvIwrShp4WOjQb0t8BJxSwN6zDbjvzm Z5BMOwI/tVS1OHnSfcjyYepAhxMDZx7Xviq7VvdQvqGOZE2mfsxfvVqb+o9Q0TYn+QYX +uhYxL1qN5VOIW7I6Z+crsAW5Q+k0IQ3qzPHnR1DtS/RJ+5COaKLpRvzYJyWwLhs48eC qP7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=kBe3O+FnAlU5cB3ImewMb3JNuDvC0WojkTRiFNRn5Sc=; b=nyNxooIgVY7hb7T/vzEwU8Eyw3KHwc9u9hRUOgnjnz9VlUUNfrboRuK0q6sPcJBgme t8uQ1EpcMz5ndEWGhDMJD95/bYIyTuHLvA5BFk5q6GrPoWglwcAPVt/xjfVPuzVV9cqk JOpXyS18OUPIruHAYKXzqscWvHl0MtS30sBliiHYvRzq9kVDWOqFo6ONmCplX8zmXQ8r Tw8tJYOx4JJeU3TwjvJAexr92z39xInaYRtCfMd8QwnCaGKseZSKW3DBWM9BIBmmzKDJ 1BwhGOWw5pXt4ctZwCYUD617uhhVBvO3fI7jqCFkRPUrYNicU5g80sBGopNB5R/j/zQc JQJA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k130si3331692pgc.358.2018.01.26.10.58.10; Fri, 26 Jan 2018 10:58:24 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=samsung.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752503AbeAZS4g (ORCPT + 99 others); Fri, 26 Jan 2018 13:56:36 -0500 Received: from osg.samsung.com ([64.30.133.232]:49064 "EHLO osg.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752110AbeAZS4e (ORCPT ); Fri, 26 Jan 2018 13:56:34 -0500 Received: from localhost (localhost [127.0.0.1]) by osg.samsung.com (Postfix) with ESMTP id 1D74F1A8A7; Fri, 26 Jan 2018 10:56:34 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at dev.s-opensource.com Received: from osg.samsung.com ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TR9LKWahfLsh; Fri, 26 Jan 2018 10:56:33 -0800 (PST) Received: from localhost.localdomain (c-24-9-64-241.hsd1.co.comcast.net [24.9.64.241]) by osg.samsung.com (Postfix) with ESMTPSA id B3A161A89B; Fri, 26 Jan 2018 10:56:32 -0800 (PST) From: Shuah Khan To: valentina.manea.m@gmail.com, shuah@kernel.org, gregkh@linuxfoundation.org Cc: Shuah Khan , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org Subject: [PATCH 4.4] usbip: vhci_hcd: clear just the USB_PORT_STAT_POWER bit Date: Fri, 26 Jan 2018 11:56:11 -0700 Message-Id: <20180126185611.15691-1-shuahkh@osg.samsung.com> X-Mailer: git-send-email 2.14.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. In addition, a minor formatting error in status file is fixed. Signed-off-by: Shuah Khan --- drivers/usb/usbip/vhci_hcd.c | 2 +- drivers/usb/usbip/vhci_sysfs.c | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/usb/usbip/vhci_hcd.c b/drivers/usb/usbip/vhci_hcd.c index 00d68945548e..2d96bfd34138 100644 --- a/drivers/usb/usbip/vhci_hcd.c +++ b/drivers/usb/usbip/vhci_hcd.c @@ -285,7 +285,7 @@ static int vhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, 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: diff --git a/drivers/usb/usbip/vhci_sysfs.c b/drivers/usb/usbip/vhci_sysfs.c index 1c7f41a65565..ebf133c9eea3 100644 --- a/drivers/usb/usbip/vhci_sysfs.c +++ b/drivers/usb/usbip/vhci_sysfs.c @@ -53,7 +53,7 @@ static ssize_t status_show(struct device *dev, struct device_attribute *attr, * a security hole, the change is made to use sockfd instead. */ out += sprintf(out, - "prt sta spd bus dev sockfd local_busid\n"); + "prt sta spd dev sockfd local_busid\n"); for (i = 0; i < VHCI_NPORTS; i++) { struct vhci_device *vdev = port_to_vdev(i); @@ -64,8 +64,7 @@ static ssize_t status_show(struct device *dev, struct device_attribute *attr, if (vdev->ud.status == VDEV_ST_USED) { out += sprintf(out, "%03u %08x ", vdev->speed, vdev->devid); - out += sprintf(out, "%16p ", vdev->ud.tcp_socket); - out += sprintf(out, "%06u", vdev->ud.sockfd); + out += sprintf(out, "%06u ", vdev->ud.sockfd); out += sprintf(out, "%s", dev_name(&vdev->udev->dev)); } else -- 2.14.1