[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170214175956.GA3587@amd>
Date: Tue, 14 Feb 2017 18:59:56 +0100
From: Pavel Machek <pavel@....cz>
To: Alan Stern <stern@...land.harvard.edu>,
torvalds@...ux-foundation.org
Cc: kernel list <linux-kernel@...r.kernel.org>,
linux-usb@...r.kernel.org, gregkh@...uxfoundation.org,
bhelgaas@...gle.com, linux-pci@...r.kernel.org
Subject: Re: v4.10-rc8 (-rc6) boot regression on Intel desktop, does not boot
after cold boots, boots after reboot
Hi!
> > > > Hmm. I moved keyboard between USB ports, and now 4.10-rc6 no longer
> > > > boots. v4.6 works ok. Let me try with keyboard unplugged... no, I
> > > > could not get it to work. I believe v4.9 and some v4.10-rc's worked,
> > > > but I'll have to double check.
> > >
> > > But all the kernel versions worked when the keyboard was plugged into
> > > its original USB port?
> >
> > Aha. So it looks difference is probably in "where is keyboard plugged
> > in" but in "reboot" vs. "cold boot". I did not do a cold boot in quite
> > a while :-(.
> >
> > Booting to grub, then hitting ctrl-alt-del is enough to make it work. Ouch.
> >
> > It happens with current Linus' tree.
>
> v4.10-rc6-feb3 : broken
> v4.9 : ok
> (v4.6 : ok)
Hmm. It hangs during PCI fixups, and it hangs in v4.10-rc8, too.
With debug patch below, I get
...1d.7: PCI fixup... pass 2
...1d.7: PCI fixup... pass 3
...1d.7: PCI fixup... pass 3 done
...followed by hang. So yes, it looks USB related.
(Sometimes it hangs with some kind backtrace involving secondary CPU
startup, unfortunately useful info is off screen at that point).
Any ideas?
Pavel
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 1800bef..060ad79 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -3510,6 +3510,8 @@ void pci_fixup_device(enum pci_fixup_pass pass, struct pci_dev *dev)
{
struct pci_fixup *start, *end;
+ dev_info(&dev->dev, "PCI fixup device %p, pass %d\n", dev, pass);
+
switch (pass) {
case pci_fixup_early:
start = __start_pci_fixups_early;
@@ -3558,6 +3560,7 @@ void pci_fixup_device(enum pci_fixup_pass pass, struct pci_dev *dev)
return;
}
pci_do_fixups(dev, start, end);
+ dev_info(&dev->dev, "PCI fixup device %p, pass %d, done\n", dev, pass);
}
EXPORT_SYMBOL(pci_fixup_device);
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Download attachment "signature.asc" of type "application/pgp-signature" (182 bytes)
Powered by blists - more mailing lists