[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.44L0.1904161054060.1605-100000@iolanthe.rowland.org>
Date: Tue, 16 Apr 2019 11:00:35 -0400 (EDT)
From: Alan Stern <stern@...land.harvard.edu>
To: Jesse Hathaway <jesse@...ki-mvuki.org>
cc: Bjorn Helgaas <helgaas@...nel.org>, Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
<linux-kernel@...r.kernel.org>, <linux-pci@...r.kernel.org>,
Mathias Nyman <mathias.nyman@...el.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
<linux-usb@...r.kernel.org>
Subject: Re: Regression causes a hang on boot with a Comtrol PCI card
On Mon, 15 Apr 2019, Jesse Hathaway wrote:
> On Sat, Apr 6, 2019 at 10:32 AM Alan Stern <stern@...land.harvard.edu> wrote:
> > Well, at least that's forward progress. I don't know what pstore is or
> > what connection it has to the USB subsystem. Does the machine hang
> > similarly if you boot without the Comtrol PCI card present?
>
> Yes the box boots fine when the Comtrol PCI card is *not* present.
>
> > For that matter, what happens if you remove EHCI from the kernel
> > configuration completely?
>
> If I remove USB support, the box still hangs after registering the pstore, but
> if I remove pstore support and APEI support from the kernel then the box boots
> without issue.
>
> > As for how the PCI card affects the USB handoff, it depends on how the
> > BIOS behaves. Normally the BIOS will take control of all the available
> > EHCI controllers during bootup (so that it can use them to communicate
> > with a USB keyboard or mouse), including controllers on add-on PCI
> > cards as well as those on the motherboard. When the kernel starts up,
> > it tries to take ownership of the controllers away from the BIOS
> > (that's the handoff) so that Linux can use them. However, if the BIOS
> > was never tested for handoff of USB controllers on add-on PCI cards, it
> > could easily have a bug that would crash the machine.
>
> The Comtrol card provides 32 serial ports, via a breakout box, but it has
> no USB functionality, which was why I was surprised that its presence
> somehow breaks the USB hand off.
Well, I am completely mystified. Nor do I understand how the commits
you identified could be related, although maybe the relationship is
very indirect.
Whatever the source of the problem, I don't think you're going to find
it by looking at the USB code. Perhaps the early initialization of the
functions that _are_ present on the Comtrol card somehow messes up
other parts of the system.
Alan Stern
Powered by blists - more mailing lists