From: Michal Pecio <michal.pecio@gmail.com>
To: Paul Menzel <pmenzel@molgen.mpg.de>
Cc: Mathias Nyman <mathias.nyman@intel.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-usb@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
linuxppc-dev@lists.ozlabs.org,
Benjamin Herrenschmidt <benh@kernel.crashing.org>
Subject: Re: IBM Power S822LC: pci 0021:0d:00.0: xHCI HW did not halt within 32000 usec status = 0x0
Date: Tue, 6 Oct 2026 23:49:35 +0200 [thread overview]
Message-ID: <20261006234935.0c40c635.michal.pecio@gmail.com> (raw)
In-Reply-To: <eff5ca07-26a9-40bd-8668-6e6ed69fe587@molgen.mpg.de>
On Tue, 12 May 2026 17:32:09 +0200, Paul Menzel wrote:
> As a further data point, adding `ppc_pci_reset_phbs` to the command line
> also gets xhci_hcd to initialize the TI xHCI host controller:
>
> $ lspci -nn -s 0021:0d:00.0
> 0021:0d:00.0 USB controller [0c03]: Texas Instruments TUSB73x0
> SuperSpeed USB 3.0 xHCI Host Controller [104c:8241] (rev 02)
>
>
> [ 14.050249] Issue PHB reset ...
> […]
> [ 19.339822] ehci_hcd: block sizes: qh 144 qtd 96 itd 192 sitd 96
> [ 19.339919] ohci_hcd: block sizes: ed 112 td 96
> [ 19.340538] xhci_hcd 0021:0d:00.0: xHCI Host Controller
Hi Paul,
Are you still interested in this issue, or happy with your workaround?
Maybe both?
I have some updates:
We learned that the kernel does dodgy things with the FW handoff
protocol, particularly with TI chips. This may possibly matter if
FW is involved. I could supply patches to test this hypothesis.
A suspiciously similar case has been reported here:
https://lore.kernel.org/linux-usb/b43b9d21-4134-4e4c-89d8-f867207b125e@linux.intel.com/T/
There is a new workaround: PCI device reset before kexec. Weird.
> No log `xHCI HW did not halt within 32000 usec status = 0x0` (or 0x10
> with the other patch). In `arch/powerpc/platforms/powernv/pci-ioda.c`,
> reading the comment in `pnv_pci_init_ioda_phb()` suggests, that PHB
> should be reset also in the kexec case:
>
> /*
> * If we're running in kdump kernel, the previous kernel never
> * shutdown PCI devices correctly. We already got IODA table
> * cleaned out. So we have to issue PHB reset to stop all PCI
> * transactions from previous kernel. The ppc_pci_reset_phbs
> * kernel parameter will force this reset too. Additionally,
> * if the IODA reset above failed then use a bigger hammer.
> * This can happen if we get a PHB fatal error in very early
> * boot.
> */
> if (is_kdump_kernel() || pci_reset_phbs || rc) {
> pr_info(" Issue PHB reset ...\n");
> pnv_eeh_phb_reset(hose, EEH_RESET_FUNDAMENTAL);
> pnv_eeh_phb_reset(hose, EEH_RESET_DEACTIVATE);
> }
>
> At least, I’d assume that kdump and kexec are similar, that both do not
> shut down PCI devices? (Commit 361f2a2a1536 (powrpc/powernv: Reset PHB
> in kdump kernel) from 2024 adds (some) the code above.)
Apparently, we try to shut down PCI devices on kexec, unless loading a
crash dump kernel on panic. So as I wrote in the new thread, we already
call xhci_halt() before kexec, the xHC should be halted, and for new
kernel xhci_halt() should be almost a no-op with guaranteed success.
It seems that we are failing to actually halt it, or something (FW?)
touches the chip during kexec, or something else is quite weird.
Regards,
Michal
prev parent reply other threads:[~2026-10-06 21:49 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-06 16:06 Paul Menzel
2026-05-06 17:30 ` Michal Pecio
2026-05-11 21:57 ` Paul Menzel
2026-05-11 23:20 ` Michal Pecio
2026-05-12 6:17 ` Paul Menzel
2026-05-12 8:22 ` Michal Pecio
2026-05-12 15:32 ` Paul Menzel
2026-10-06 21:49 ` Michal Pecio [this message]
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=20261006234935.0c40c635.michal.pecio@gmail.com \
--to=michal.pecio@gmail.com \
--cc=benh@kernel.crashing.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mathias.nyman@intel.com \
--cc=pmenzel@molgen.mpg.de \
/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
all inboxes | Powered by JetHome®