From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7AB8FC43381 for ; Fri, 22 Mar 2019 15:48:16 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4BF352183E for ; Fri, 22 Mar 2019 15:48:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727703AbfCVPsP (ORCPT ); Fri, 22 Mar 2019 11:48:15 -0400 Received: from mga11.intel.com ([192.55.52.93]:60908 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727169AbfCVPsP (ORCPT ); Fri, 22 Mar 2019 11:48:15 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Mar 2019 08:48:14 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,256,1549958400"; d="scan'208";a="157461967" Received: from mattu-haswell.fi.intel.com ([10.237.72.164]) by fmsmga001.fm.intel.com with ESMTP; 22 Mar 2019 08:48:13 -0700 From: Mathias Nyman To: Cc: , Mathias Nyman , stable Subject: [PATCH 1/3] xhci: Fix port resume done detection for SS ports with LPM enabled Date: Fri, 22 Mar 2019 17:50:15 +0200 Message-Id: <1553269817-19312-2-git-send-email-mathias.nyman@linux.intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1553269817-19312-1-git-send-email-mathias.nyman@linux.intel.com> References: <1553269817-19312-1-git-send-email-mathias.nyman@linux.intel.com> Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org A suspended SS port in U3 link state will go to U0 when resumed, but can almost immediately after that enter U1 or U2 link power save states before host controller driver reads the port status. Host controller driver only checks for U0 state, and might miss the finished resume, leaving flags unclear and skip notifying usb code of the wake. Add U1 and U2 to the possible link states when checking for finished port resume. Cc: stable Signed-off-by: Mathias Nyman --- drivers/usb/host/xhci-ring.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c index 40fa25c..9215a28 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c @@ -1647,10 +1647,13 @@ static void handle_port_status(struct xhci_hcd *xhci, } } - if ((portsc & PORT_PLC) && (portsc & PORT_PLS_MASK) == XDEV_U0 && - DEV_SUPERSPEED_ANY(portsc)) { + if ((portsc & PORT_PLC) && + DEV_SUPERSPEED_ANY(portsc) && + ((portsc & PORT_PLS_MASK) == XDEV_U0 || + (portsc & PORT_PLS_MASK) == XDEV_U1 || + (portsc & PORT_PLS_MASK) == XDEV_U2)) { xhci_dbg(xhci, "resume SS port %d finished\n", port_id); - /* We've just brought the device into U0 through either the + /* We've just brought the device into U0/1/2 through either the * Resume state after a device remote wakeup, or through the * U3Exit state after a host-initiated resume. If it's a device * initiated remote wake, don't pass up the link state change, -- 2.7.4 From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [1/3] xhci: Fix port resume done detection for SS ports with LPM enabled From: Mathias Nyman Message-Id: <1553269817-19312-2-git-send-email-mathias.nyman@linux.intel.com> Date: Fri, 22 Mar 2019 17:50:15 +0200 To: gregkh@linuxfoundation.org Cc: linux-usb@vger.kernel.org, Mathias Nyman , stable List-ID: QSBzdXNwZW5kZWQgU1MgcG9ydCBpbiBVMyBsaW5rIHN0YXRlIHdpbGwgZ28gdG8gVTAgd2hlbiBy ZXN1bWVkLCBidXQKY2FuIGFsbW9zdCBpbW1lZGlhdGVseSBhZnRlciB0aGF0IGVudGVyIFUxIG9y IFUyIGxpbmsgcG93ZXIgc2F2ZQpzdGF0ZXMgYmVmb3JlIGhvc3QgY29udHJvbGxlciBkcml2ZXIg cmVhZHMgdGhlIHBvcnQgc3RhdHVzLgoKSG9zdCBjb250cm9sbGVyIGRyaXZlciBvbmx5IGNoZWNr cyBmb3IgVTAgc3RhdGUsIGFuZCBtaWdodCBtaXNzCnRoZSBmaW5pc2hlZCByZXN1bWUsIGxlYXZp bmcgZmxhZ3MgdW5jbGVhciBhbmQgc2tpcCBub3RpZnlpbmcgdXNiCmNvZGUgb2YgdGhlIHdha2Uu CgpBZGQgVTEgYW5kIFUyIHRvIHRoZSBwb3NzaWJsZSBsaW5rIHN0YXRlcyB3aGVuIGNoZWNraW5n IGZvciBmaW5pc2hlZApwb3J0IHJlc3VtZS4KCkNjOiBzdGFibGUgPHN0YWJsZUB2Z2VyLmtlcm5l bC5vcmc+ClNpZ25lZC1vZmYtYnk6IE1hdGhpYXMgTnltYW4gPG1hdGhpYXMubnltYW5AbGludXgu aW50ZWwuY29tPgotLS0KIGRyaXZlcnMvdXNiL2hvc3QveGhjaS1yaW5nLmMgfCA5ICsrKysrKy0t LQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL3VzYi9ob3N0L3hoY2ktcmluZy5jIGIvZHJpdmVycy91c2IvaG9zdC94 aGNpLXJpbmcuYwppbmRleCA0MGZhMjVjLi45MjE1YTI4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3Vz Yi9ob3N0L3hoY2ktcmluZy5jCisrKyBiL2RyaXZlcnMvdXNiL2hvc3QveGhjaS1yaW5nLmMKQEAg LTE2NDcsMTAgKzE2NDcsMTMgQEAgc3RhdGljIHZvaWQgaGFuZGxlX3BvcnRfc3RhdHVzKHN0cnVj dCB4aGNpX2hjZCAqeGhjaSwKIAkJfQogCX0KIAotCWlmICgocG9ydHNjICYgUE9SVF9QTEMpICYm IChwb3J0c2MgJiBQT1JUX1BMU19NQVNLKSA9PSBYREVWX1UwICYmCi0JCQlERVZfU1VQRVJTUEVF RF9BTlkocG9ydHNjKSkgeworCWlmICgocG9ydHNjICYgUE9SVF9QTEMpICYmCisJICAgIERFVl9T VVBFUlNQRUVEX0FOWShwb3J0c2MpICYmCisJICAgICgocG9ydHNjICYgUE9SVF9QTFNfTUFTSykg PT0gWERFVl9VMCB8fAorCSAgICAgKHBvcnRzYyAmIFBPUlRfUExTX01BU0spID09IFhERVZfVTEg fHwKKwkgICAgIChwb3J0c2MgJiBQT1JUX1BMU19NQVNLKSA9PSBYREVWX1UyKSkgewogCQl4aGNp X2RiZyh4aGNpLCAicmVzdW1lIFNTIHBvcnQgJWQgZmluaXNoZWRcbiIsIHBvcnRfaWQpOwotCQkv KiBXZSd2ZSBqdXN0IGJyb3VnaHQgdGhlIGRldmljZSBpbnRvIFUwIHRocm91Z2ggZWl0aGVyIHRo ZQorCQkvKiBXZSd2ZSBqdXN0IGJyb3VnaHQgdGhlIGRldmljZSBpbnRvIFUwLzEvMiB0aHJvdWdo IGVpdGhlciB0aGUKIAkJICogUmVzdW1lIHN0YXRlIGFmdGVyIGEgZGV2aWNlIHJlbW90ZSB3YWtl dXAsIG9yIHRocm91Z2ggdGhlCiAJCSAqIFUzRXhpdCBzdGF0ZSBhZnRlciBhIGhvc3QtaW5pdGlh dGVkIHJlc3VtZS4gIElmIGl0J3MgYSBkZXZpY2UKIAkJICogaW5pdGlhdGVkIHJlbW90ZSB3YWtl LCBkb24ndCBwYXNzIHVwIHRoZSBsaW5rIHN0YXRlIGNoYW5nZSwK