2009-04-21 10:10:42 |
Scott James Remnant (Canonical) |
bug |
|
|
added bug |
2009-04-21 10:12:14 |
Scott James Remnant (Canonical) |
bug task added |
|
linux (Ubuntu Jaunty) |
|
2009-04-21 10:12:50 |
Scott James Remnant (Canonical) |
linux (Ubuntu Jaunty): importance |
Undecided |
Medium |
|
2009-04-21 10:12:50 |
Scott James Remnant (Canonical) |
linux (Ubuntu Jaunty): status |
New |
In Progress |
|
2009-04-21 10:12:50 |
Scott James Remnant (Canonical) |
linux (Ubuntu Jaunty): milestone |
|
jaunty-updates |
|
2009-04-21 10:12:50 |
Scott James Remnant (Canonical) |
linux (Ubuntu Jaunty): assignee |
|
smb (smb) |
|
2009-04-21 12:29:00 |
Stefan Bader |
linux (Ubuntu Jaunty): assignee |
smb |
stefan-bader-canonical |
|
2009-04-22 20:14:49 |
Stefan Bader |
linux (Ubuntu Jaunty): status |
In Progress |
Fix Committed |
|
2009-04-22 20:16:34 |
Stefan Bader |
description |
Continuing from bug #363038
Pete Graner's problem with the Dell Latitude XT was that the kernel was calling "modprobe usb-storage" before the initramfs has run "depmod" to initialise the module db.
This was all crack.
There's no reason to have the kernel call modprobe in this way, it was caused by something called "libusual" which steals all of usb-storage's aliases and then modprobes it. The intent is that it allows you to alternate between "usb-storage" and "ub".
Not only is "ub" very crufty and unmaintained, but we can do that kind of switching in userspace these days.
Disabling libusual in the kernel config means that usb-storage gets modprobe aliases just like every other driver, and is loaded by udev just like every other driver. Race condition solved, laptop boots. |
SRU justification:
Impact (from Scott):
The ub driver is an old attempt for a slow USB Block Device driver,
it hasn't been maintained in quite a while and we don't have an easy
way to enable it.
libusual is a strange mechanism for the kernel to auto-select between
usb-storage and ub. It works by stealing the aliases from them both
and modprobe'ing (from the kernel) the other module when a device is
connected.
The trouble is that because it's built into the kernel, on machines with
particularly fast init, it could be trying to call it before the initramfs
has even been switched to - or before the initramfs has called "depmod".
In either case, since there's no modules.alias/modules.dep files, the
modprobe call with fail and the USB storage device will not be enabled.
Plugging a second USB storage device in will magically cure the problem.
Fix: Attched patch to disable those modules. This bumps ABI as the libusual functions go missing. All IDs automagically go over to usb-storage.
Testcase: Booting from usb storage with a quick host.
---
Continuing from bug #363038
Pete Graner's problem with the Dell Latitude XT was that the kernel was calling "modprobe usb-storage" before the initramfs has run "depmod" to initialise the module db.
This was all crack.
There's no reason to have the kernel call modprobe in this way, it was caused by something called "libusual" which steals all of usb-storage's aliases and then modprobes it. The intent is that it allows you to alternate between "usb-storage" and "ub".
Not only is "ub" very crufty and unmaintained, but we can do that kind of switching in userspace these days.
Disabling libusual in the kernel config means that usb-storage gets modprobe aliases just like every other driver, and is loaded by udev just like every other driver. Race condition solved, laptop boots. |
|
2009-04-22 20:17:07 |
Stefan Bader |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2009-05-01 10:12:31 |
Steve Langasek |
tags |
|
verification-needed |
|
2009-05-01 16:48:05 |
Steve Beattie |
tags |
verification-needed |
hw-specific verification-needed |
|
2009-05-11 20:11:14 |
tarski |
attachment added |
|
explanation http://launchpadlibrarian.net/26600238/explanation |
|
2009-06-18 07:18:11 |
Launchpad Janitor |
linux (Ubuntu Jaunty): status |
Fix Committed |
Fix Released |
|
2009-11-13 22:31:23 |
Ivo |
linux (Ubuntu): status |
Fix Committed |
Fix Released |
|
2009-11-13 22:31:32 |
Ivo |
linux (Ubuntu): status |
Fix Released |
Fix Committed |
|
2009-11-22 06:27:49 |
Stefan Bader |
linux (Ubuntu): status |
Fix Committed |
Fix Released |
|