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

From: Woody Suwalski
Date: Tue Jan 15 2013 - 23:26:01 EST


Alan Stern wrote:
On Sat, 12 Jan 2013, Andreas Mohr wrote:

There's of course the EHCI vs. UHCI(/OHCI) duality
(EHCI host controller responsible for high speed transfers,
the other for 1.1 full speed, both serving the same port connectors).
So if the coordination between the two is a problem,
you might end up with merely full speed on a 2.0 port.

And with drivers builtin vs. module, the init sequence/timing
might possibly be affected - right?
Perhaps this got worsened by semi-recent driver init kernel changes?
(AFAIR the kernel was changed to init more things in parallel,
for faster bootup). So maybe that affected EHCI vs. UHCI coordination timing.
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,...

If all USB is built as modules - I get read errors from USB drives when accessing squash image, boot fails.
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.
If usb-common, usbcore and ehci-hcd are built-in, all works OK like "before 3.8".
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.

Scratching my head loudly,
Woody

--
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/