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: [4.19,014/110] usb: xhci: Prevent bus suspend if a port connect change or polling state is detected From: Thomas Zeitlhofer Message-Id: <20181213205357.GA5012@x1> Date: Thu, 13 Dec 2018 21:53:57 +0100 To: Mathias Nyman Cc: Greg Kroah-Hartman , linux-kernel@vger.kernel.org, stable@vger.kernel.org, linux-usb@vger.kernel.org List-ID: T24gVGh1LCBEZWMgMTMsIDIwMTggYXQgMDI6MjQ6MTRQTSArMDIwMCwgTWF0aGlhcyBOeW1hbiB3 cm90ZToKPiBPbiAxMy4xMi4yMDE4IDA5OjM2LCBHcmVnIEtyb2FoLUhhcnRtYW4gd3JvdGU6Cj4g PiBPbiBXZWQsIERlYyAxMiwgMjAxOCBhdCAxMTo1MzozNFBNICswMTAwLCBUaG9tYXMgWmVpdGxo b2ZlciB3cm90ZToKPiA+ID4gSGVsbG8sCj4gPiA+IAo+ID4gPiBPbiBUaHUsIE5vdiAyOSwgMjAx OCBhdCAwMzoxMTo0NVBNICswMTAwLCBHcmVnIEtyb2FoLUhhcnRtYW4gd3JvdGU6Cj4gPiA+ID4g NC4xOS1zdGFibGUgcmV2aWV3IHBhdGNoLiAgSWYgYW55b25lIGhhcyBhbnkgb2JqZWN0aW9ucywg cGxlYXNlIGxldCBtZQo+ID4gPiA+IGtub3cuCj4gPiA+ID4gCj4gPiA+ID4gLS0tLS0tLS0tLS0t LS0tLS0tCj4gPiA+ID4gCj4gPiA+ID4gRnJvbTogTWF0aGlhcyBOeW1hbiA8bWF0aGlhcy5ueW1h bkBsaW51eC5pbnRlbC5jb20+Cj4gPiA+ID4gCj4gPiA+ID4gY29tbWl0IDJmMzFhNjdmMDFhOGJl YjIyY2FlNzU0YzUzNTIyY2I2MWEwMDU3NTAgdXBzdHJlYW0uCj4gPiA+IFsuLi5dCj4gPiA+IAo+ ID4gPiBvbiBhIGN1cnJlbnQgVGhpbmtwYWQgWDEgWW9nYSwgdGhpcyBicmVha3MgcmVzdW1lIGZy b20gaGliZXJuYXRlIHN1Y2gKPiA+ID4gdGhhdCBvcGVuaW5nIHRoZSBsaWQgaGFzIChpbiB0aGUg cmVndWxhciB1c2UgY2FzZSwgc2VlIGJlbG93KSBubyBlZmZlY3QKPiA+ID4gYW55IG1vcmU6Cj4g PiA+IAo+ID4gPiBUaGUgc3lzdGVtIGlzIGNvbmZpZ3VyZWQgdG8gaGliZXJuYXRlIHdoZW4gdGhl IGxpZCBpcyBjbG9zZWQuIFNvLCB0aGUKPiA+ID4gZXhwZWN0ZWQgYmVoYXZpb3IsIHdoaWNoIGlz IHJlc3RvcmVkIGJ5IHJldmVydGluZyB0aGlzIHBhdGNoLCBpczoKPiA+ID4gCj4gPiA+IAljbG9z ZSBsaWQgPT4gc3lzdGVtIGhpYmVybmF0ZXMKPiA+ID4gCW9wZW4gbGlkID0+IHN5c3RlbSByZXN1 bWVzCj4gPiA+IAo+ID4gPiBXaXRoIHRoaXMgcGF0Y2gsIHRoZSBmb2xsb3dpbmcgdHdvIGNhc2Vz IGFyZSBvYnNlcnZlZDoKPiA+ID4gCj4gPiA+IAkxKQo+ID4gPiAJCWNsb3NlIGxpZCA9PiBzeXN0 ZW0gaGliZXJuYXRlcwo+ID4gPiAJCW9wZW4gbGlkID0+IHN5c3RlbSBzdGF5cyBvZmYKPiA+ID4g CQlwcmVzcyBwb3dlciBidXR0b24gPT4gc3lzdGVtIGJvb3RzIGFuZCByZXN1bWVzCj4gPiA+IAo+ ID4gPiAJMikKPiA+ID4gCQkjIHN5c3RlbWN0bCBoaWJlcm5hdGUgPT4gc3lzdGVtIGhpYmVybmF0 ZXMKPiA+ID4gCQljbG9zZSBsaWQKPiA+ID4gCQlvcGVuIGxpZCA9PiBzeXN0ZW0gcmVzdW1lcwo+ ID4gPiAKPiA+IAo+ID4gU28gdGhpcyBpcyBhIHByb2JsZW0gaW4gTGludXMncyB0cmVlPyAgSWYg c28sIGxldCdzIHdvcmsgdG8gZ2V0IHRoaXMKPiA+IGZpeGVkIHRoZXJlIGZpcnN0Lgo+ID4gCj4g PiBJZiBub3QsIHRoZW4gd2UgaGF2ZSBvdGhlciBpc3N1ZXMgOikKPiA+IAo+IAo+IFRoYXQgcGF0 Y2ggaW5jb3JyZWN0bHkgcmVhY3RzIHRvIFVTQjIgcG9sbGluZyBzdGF0ZXMgYXMgd2VsbCwKPiB3 aGljaCBjb3VsZCBjYXVzZSBpc3N1ZXMgbGlrZSB0aGlzLgo+IAo+IERvZXMgYXBwbHlpbmcgdGhl IGJlbG93IGNvZGUgaGVscD8KPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvaG9zdC94aGNp LWh1Yi5jIGIvZHJpdmVycy91c2IvaG9zdC94aGNpLWh1Yi5jCj4gaW5kZXggOTRhY2ExYi4uMDFi NTgxOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi9ob3N0L3hoY2ktaHViLmMKPiArKysgYi9k cml2ZXJzL3VzYi9ob3N0L3hoY2ktaHViLmMKPiBAQCAtMTUwNyw3ICsxNTA3LDggQEAgaW50IHho Y2lfYnVzX3N1c3BlbmQoc3RydWN0IHVzYl9oY2QgKmhjZCkKPiAgICAgICAgICAgICAgICAgcG9y dHNjX2J1Zltwb3J0X2luZGV4XSA9IDA7Cj4gICAgICAgICAgICAgICAgIC8qIEJhaWwgb3V0IGlm IGEgVVNCMyBwb3J0IGhhcyBhIG5ldyBkZXZpY2UgaW4gbGluayB0cmFpbmluZyAqLwo+IC0gICAg ICAgICAgICAgICBpZiAoKHQxICYgUE9SVF9QTFNfTUFTSykgPT0gWERFVl9QT0xMSU5HKSB7Cj4g KyAgICAgICAgICAgICAgIGlmICgoaGNkLT5zcGVlZCA+PSBIQ0RfVVNCMykgJiYKPiArICAgICAg ICAgICAgICAgICAgICh0MSAmIFBPUlRfUExTX01BU0spID09IFhERVZfUE9MTElORykgewo+ICAg ICAgICAgICAgICAgICAgICAgICAgIGJ1c19zdGF0ZS0+YnVzX3N1c3BlbmRlZCA9IDA7Cj4gICAg ICAgICAgICAgICAgICAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmeGhjaS0+bG9jaywg ZmxhZ3MpOwo+ICAgICAgICAgICAgICAgICAgICAgICAgIHhoY2lfZGJnKHhoY2ksICJCdXMgc3Vz cGVuZCBiYWlsb3V0LCBwb3J0IGluIHBvbGxpbmdcbiIpOwoKWWVzLCB0aGlzIGZpeGVzIHRoZSBw cm9ibGVtLgoKVGhhbmtzLAoKVGhvbWFzCg== 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=-5.4 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_PASS,URIBL_BLOCKED,USER_AGENT_MUTT 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 DF8FEC65BAE for ; Thu, 13 Dec 2018 20:54:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id A53872086D for ; Thu, 13 Dec 2018 20:54:06 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A53872086D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ze-it.at Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727133AbeLMUyF (ORCPT ); Thu, 13 Dec 2018 15:54:05 -0500 Received: from vie01a-dmta-pe06-1.mx.upcmail.net ([84.116.36.14]:15936 "EHLO vie01a-dmta-pe06-1.mx.upcmail.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726435AbeLMUyF (ORCPT ); Thu, 13 Dec 2018 15:54:05 -0500 Received: from [172.31.216.234] (helo=vie01a-pemc-psmtp-pe11.mail.upcmail.net) by vie01a-dmta-pe06.mx.upcmail.net with esmtp (Exim 4.88) (envelope-from ) id 1gXXze-0002Bg-B7 for linux-kernel@vger.kernel.org; Thu, 13 Dec 2018 21:54:02 +0100 Received: from localhost.localdomain ([80.108.25.171]) by vie01a-pemc-psmtp-pe11.mail.upcmail.net with ESMTP id XXzdg9Liy5WeQXXzdg5CeI; Thu, 13 Dec 2018 21:54:02 +0100 X-Env-Mailfrom: thomas.zeitlhofer@ze-it.at X-Env-Rcptto: linux-kernel@vger.kernel.org X-SourceIP: 80.108.25.171 X-CNFS-Analysis: v=2.3 cv=YaJsGDZf c=1 sm=1 tr=0 a=cw3iLm2b3cPoAt0NIr38/g==:117 a=cw3iLm2b3cPoAt0NIr38/g==:17 a=kj9zAlcOel0A:10 a=QyXUC8HyAAAA:8 a=jBlPrOwmUf4zLZhRtaoA:9 a=CjuIK1q_8ugA:10 Date: Thu, 13 Dec 2018 21:53:57 +0100 From: Thomas Zeitlhofer To: Mathias Nyman Cc: Greg Kroah-Hartman , linux-kernel@vger.kernel.org, stable@vger.kernel.org, linux-usb@vger.kernel.org Subject: Re: [PATCH 4.19 014/110] usb: xhci: Prevent bus suspend if a port connect change or polling state is detected Message-ID: <20181213205357.GA5012@x1> References: <20181129135921.231283053@linuxfoundation.org> <20181129135921.817957465@linuxfoundation.org> <20181212225334.GA2651@x1> <20181213073640.GA31371@kroah.com> <06384740-496f-ce37-34bc-3e55fd9ed538@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <06384740-496f-ce37-34bc-3e55fd9ed538@linux.intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-CMAE-Envelope: MS4wfHtekzhFVo0o9ZaLNSkfUNjkVkIY1tS+1fDZVGXYcdN0eXg9yAAKvMOb+La/OVfFyJA05tcmkfUmSu7E27uTpCSpf6pMDJH8DTH+P92vj8vuiJiSxasM fq5hy7hfFLprVw9tAiyQ6xXcjfVd/uMeqMlcHj0dc1a7f20e+e9NwFL71v7WhogMVU6SzjE3Tm/CKM91knXShH7QHy09QO9GObmACj5hd6HhfH80g0bAEuzg OatrJV5kby1YSX0V+n2cqpxThZt5/aTr10XC5XwOy5I2JCqiwj1F6RMwufVQ0X2IjZ48r6bMpwYExMi9JzSfG1eA9HX/pJ41+lbQqMV9Ay8ji42u8xg6FO6x P7+8HU0U Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Dec 13, 2018 at 02:24:14PM +0200, Mathias Nyman wrote: > On 13.12.2018 09:36, Greg Kroah-Hartman wrote: > > On Wed, Dec 12, 2018 at 11:53:34PM +0100, Thomas Zeitlhofer wrote: > > > Hello, > > > > > > On Thu, Nov 29, 2018 at 03:11:45PM +0100, Greg Kroah-Hartman wrote: > > > > 4.19-stable review patch. If anyone has any objections, please let me > > > > know. > > > > > > > > ------------------ > > > > > > > > From: Mathias Nyman > > > > > > > > commit 2f31a67f01a8beb22cae754c53522cb61a005750 upstream. > > > [...] > > > > > > on a current Thinkpad X1 Yoga, this breaks resume from hibernate such > > > that opening the lid has (in the regular use case, see below) no effect > > > any more: > > > > > > The system is configured to hibernate when the lid is closed. So, the > > > expected behavior, which is restored by reverting this patch, is: > > > > > > close lid => system hibernates > > > open lid => system resumes > > > > > > With this patch, the following two cases are observed: > > > > > > 1) > > > close lid => system hibernates > > > open lid => system stays off > > > press power button => system boots and resumes > > > > > > 2) > > > # systemctl hibernate => system hibernates > > > close lid > > > open lid => system resumes > > > > > > > So this is a problem in Linus's tree? If so, let's work to get this > > fixed there first. > > > > If not, then we have other issues :) > > > > That patch incorrectly reacts to USB2 polling states as well, > which could cause issues like this. > > Does applying the below code help? > > diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c > index 94aca1b..01b5818 100644 > --- a/drivers/usb/host/xhci-hub.c > +++ b/drivers/usb/host/xhci-hub.c > @@ -1507,7 +1507,8 @@ int xhci_bus_suspend(struct usb_hcd *hcd) > portsc_buf[port_index] = 0; > /* Bail out if a USB3 port has a new device in link training */ > - if ((t1 & PORT_PLS_MASK) == XDEV_POLLING) { > + if ((hcd->speed >= HCD_USB3) && > + (t1 & PORT_PLS_MASK) == XDEV_POLLING) { > bus_state->bus_suspended = 0; > spin_unlock_irqrestore(&xhci->lock, flags); > xhci_dbg(xhci, "Bus suspend bailout, port in polling\n"); Yes, this fixes the problem. Thanks, Thomas