Re: Linux 3.8-rc1 - another regression on USB :-(

From: Alan Stern
Date: Wed Jan 16 2013 - 10:00:34 EST


On Tue, 15 Jan 2013, Woody Suwalski wrote:

> > Another important change is that the EHCI driver is now split into two
> > modules. That can slow down loading and affect the timing.
> >
> > Alan Stern
> >
> My testcase is a live initramfs + squash root.
> The boot logic is as stable as can be - unchanged since 2.6.2x kernels.
> And it was working fine till 3.8-rc1.
>
> The modules are insmoded in a fixed order:
> usb-common, usbcore, xhci-hcd, ehci-hcd, uhci-hcd, ohci-hcd, usbhid,
> usb_storage,...

But apparently you don't insmod ehci-pci. That could cause problems,
if your EHCI controller is PCI-based.

> If all USB is built as modules - I get read errors from USB drives when
> accessing squash image, boot fails.

What read errors? What is the cause of these errors?

> If usb-common and usbcore are built in, system seems to crawl with a
> very slow USB, but boots. That could be caused by timing between hcd
> modules.

Do have a dmesg log with timestamps so we can see where things go slow?
I suggest enabling CONFIG_PRINTK_TIME and CONFIG_USB_DEBUG. You might
even want CONFIG_USB_STORAGE_DEBUG, although that often logs too much
information.

> If usb-common, usbcore and ehci-hcd are built-in, all works OK like
> "before 3.8".

What about ehci-pci?

> I was testing on machines without xhci or ohci hardware, so these
> drivers probably are not playing any role.
> I have retried initramfs with a 1s sleep between insmods to verify if it
> is timing - still the same read errors - so the main issue is _not_ timing.
> The read errors problem is 100% reproducible for me, the blocks where
> read fails are not fixed - every (failed) boot errors start appearing in
> a bit different location.
> Just selecting a differently - configured kernel image makes the boot
> work, so it is not a problem of squash image, USB drive, squashfs driver.

Without knowing what these read errors are, it's hard to say anything
about them.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/