Re: Regression causes a hang on boot with a Comtrol PCI card

From: Alan Stern
Date: Thu Apr 04 2019 - 13:16:11 EST


On Thu, 4 Apr 2019, Jesse Hathaway wrote:

> On Tue, Apr 2, 2019 at 9:29 AM Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
> > Most likely the problem occurs somewhere inside
> > quirk_usb_handoff_xhci(). Can Jesse add debugging statements to that
> > routine in order to pin down exactly where the problem lies?
>
> Alan,
>
> I added debug statements to quirk_usb_early_handoff, quirk_usb_disable_ehci &
> ehci_bios_handoff. The box hangs right before calling:
>
> pci_write_config_byte(pdev, offset + 3, 1);

Right _before_ that line? Not _after_ it?

That's surprising because the two preceding lines of code are the
condition of an "if" statement and a dev_dbg() call. I don't see how
either of them could cause a hang.

Maybe the hang is a delayed reaction to something happening somewhere
else. But on the assumption that it isn't, you could try commenting
out various parts of ehci_bios_handoff to see which ones make a
difference.

> which is in ehci_bios_handoff:
>
> [ 10.698240] DEBUG: Passed quirk_usb_early_handoff 1300
> [ 10.704271] DEBUG: Passed quirk_usb_early_handoff 1308
> [ 10.710206] DEBUG: Passed quirk_usb_disable_ehci 939
> [ 10.715949] DEBUG: Passed quirk_usb_disable_ehci 945
> [ 10.721685] DEBUG: Passed quirk_usb_disable_ehci 950
> [ 10.727423] DEBUG: Passed quirk_usb_disable_ehci 958
> [ 10.733160] DEBUG: Passed quirk_usb_disable_ehci 964
> [ 10.738897] DEBUG: Passed quirk_usb_disable_ehci 968
> [ 10.744633] DEBUG: Passed ehci_bios_handoff 849
> [ 10.749884] DEBUG: Passed ehci_bios_handoff 884
>
> I have attached the debug output, and my modified pci-quirks.c file
> to the bug report, let me know what else I can do to help.

Nothing was attached.

Alan Stern