From: Greg KH <gregkh@linuxfoundation.org>
To: Kai-Heng Feng <kai.heng.feng@canonical.com>
Cc: stern@rowland.harvard.edu, mathias.nyman@linux.intel.com,
oneukum@suse.com, Roy Luo <royluo@google.com>,
Heiner Kallweit <hkallweit1@gmail.com>,
Heikki Krogerus <heikki.krogerus@linux.intel.com>,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] usb: Disable USB3 LPM at shutdown
Date: Tue, 26 Mar 2024 06:56:21 +0100 [thread overview]
Message-ID: <2024032608-refinish-ambulance-84f7@gregkh> (raw)
In-Reply-To: <CAAd53p7P_-4voZ49=WKpDCg9tx4QRV2NEG5FyqitsAc-Yzm2VA@mail.gmail.com>
On Tue, Mar 26, 2024 at 11:38:48AM +0800, Kai-Heng Feng wrote:
> On Tue, Mar 5, 2024 at 2:52 PM Kai-Heng Feng
> <kai.heng.feng@canonical.com> wrote:
> >
> > SanDisks USB3 storage may disapper after system reboot:
> >
> > usb usb2-port3: link state change
> > xhci_hcd 0000:00:14.0: clear port3 link state change, portsc: 0x2c0
> > usb usb2-port3: do warm reset, port only
> > xhci_hcd 0000:00:14.0: xhci_hub_status_data: stopping usb2 port polling
> > xhci_hcd 0000:00:14.0: Get port status 2-3 read: 0x2b0, return 0x2b0
> > usb usb2-port3: not warm reset yet, waiting 50ms
> > xhci_hcd 0000:00:14.0: Get port status 2-3 read: 0x2f0, return 0x2f0
> > usb usb2-port3: not warm reset yet, waiting 200ms
> > ...
> > xhci_hcd 0000:00:14.0: Get port status 2-3 read: 0x6802c0, return 0x7002c0
> > usb usb2-port3: not warm reset yet, waiting 200ms
> > xhci_hcd 0000:00:14.0: clear port3 reset change, portsc: 0x4802c0
> > xhci_hcd 0000:00:14.0: clear port3 warm(BH) reset change, portsc: 0x4002c0
> > xhci_hcd 0000:00:14.0: clear port3 link state change, portsc: 0x2c0
> > xhci_hcd 0000:00:14.0: Get port status 2-3 read: 0x2c0, return 0x2c0
> > usb usb2-port3: not enabled, trying warm reset again...
> >
> > This is due to the USB device still cause port change event after xHCI is
> > shuted down:
> >
> > xhci_hcd 0000:38:00.0: // Setting command ring address to 0xffffe001
> > xhci_hcd 0000:38:00.0: xhci_resume: starting usb3 port polling.
> > xhci_hcd 0000:38:00.0: xhci_hub_status_data: stopping usb4 port polling
> > xhci_hcd 0000:38:00.0: xhci_hub_status_data: stopping usb3 port polling
> > xhci_hcd 0000:38:00.0: hcd_pci_runtime_resume: 0
> > xhci_hcd 0000:38:00.0: xhci_shutdown: stopping usb3 port polling.
> > xhci_hcd 0000:38:00.0: // Halt the HC
> > xhci_hcd 0000:38:00.0: xhci_shutdown completed - status = 1
> > xhci_hcd 0000:00:14.0: xhci_shutdown: stopping usb1 port polling.
> > xhci_hcd 0000:00:14.0: // Halt the HC
> > xhci_hcd 0000:00:14.0: xhci_shutdown completed - status = 1
> > xhci_hcd 0000:00:14.0: Get port status 2-3 read: 0x1203, return 0x203
> > xhci_hcd 0000:00:14.0: set port reset, actual port 2-3 status = 0x1311
> > xhci_hcd 0000:00:14.0: Get port status 2-3 read: 0x201203, return 0x100203
> > xhci_hcd 0000:00:14.0: clear port3 reset change, portsc: 0x1203
> > xhci_hcd 0000:00:14.0: clear port3 warm(BH) reset change, portsc: 0x1203
> > xhci_hcd 0000:00:14.0: clear port3 link state change, portsc: 0x1203
> > xhci_hcd 0000:00:14.0: clear port3 connect change, portsc: 0x1203
> > xhci_hcd 0000:00:14.0: Get port status 2-3 read: 0x1203, return 0x203
> > usb 2-3: device not accepting address 2, error -108
> > xhci_hcd 0000:00:14.0: xHCI dying or halted, can't queue_command
> > xhci_hcd 0000:00:14.0: Set port 2-3 link state, portsc: 0x1203, write 0x11261
> > xhci_hcd 0000:00:14.0: Get port status 2-3 read: 0x1263, return 0x263
> > xhci_hcd 0000:00:14.0: set port reset, actual port 2-3 status = 0x1271
> > xhci_hcd 0000:00:14.0: Get port status 2-3 read: 0x12b1, return 0x2b1
> > usb usb2-port3: not reset yet, waiting 60ms
> > ACPI: PM: Preparing to enter system sleep state S5
> > xhci_hcd 0000:00:14.0: Get port status 2-3 read: 0x12f1, return 0x2f1
> > usb usb2-port3: not reset yet, waiting 200ms
> > reboot: Restarting system
> >
> > The port change event is caused by LPM transition, so disabling LPM at shutdown
> > to make sure the device is in U0 for warmboot.
> >
> > Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
>
> A gentle ping...
It was the middle of the merge window, we couldn't do anything with new
changes, right?
And if you wish to see patches get merged quicker, please help review
other patches on the list, that will reduce the workload of the
maintainers. Why haven't you done that while waiting?
thanks,
greg k-h
next prev parent reply other threads:[~2024-03-26 5:56 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-05 6:51 [PATCH] usb: Disable USB3 LPM at shutdown Kai-Heng Feng
2024-03-26 3:38 ` Kai-Heng Feng
2024-03-26 5:56 ` Greg KH [this message]
2024-03-26 9:29 ` Kai-Heng Feng
2024-03-26 5:56 ` Greg KH
2024-03-26 9:30 ` Kai-Heng Feng
2024-10-10 14:45 ` Jon Hunter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2024032608-refinish-ambulance-84f7@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=hkallweit1@gmail.com \
--cc=kai.heng.feng@canonical.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@linux.intel.com \
--cc=oneukum@suse.com \
--cc=royluo@google.com \
--cc=stern@rowland.harvard.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox