OK, I've worked out what was wrong (patch below): /proc/bus/usb was
being unmounted by the hotplug/usb.rc script. After loading a HCD, usb.rc
executes the following lines:
if [ -d /proc/bus/usb ]; then
# If we see there are no busses, we "failed" and
# can report so even if we're partially nonmodular.
COUNT=`ls /proc/bus/usb | wc -l`
if [ $COUNT -le 2 ]; then
umount /proc/bus/usb
rmmod usbcore >/dev/null 2>&1
return 1
fi
In the 2.4 kernels, /proc/bus/usb contains at least
001 devices drivers
i.e. at least three entries. However sometime during
the 2.5 kernel series the drivers file went away. So
now there are only two entries and usb.rc unmounts
/proc/bus/usb.
A simple fix is to change the test to [ $COUNT -lt 2 ];
Duncan.
--- hotplug/usb.rc.orig 2002-09-15 23:29:14.000000000 +0200
+++ hotplug/usb.rc 2002-09-15 23:29:39.000000000 +0200
@@ -149,7 +149,7 @@
# If we see there are no busses, we "failed" and
# can report so even if we're partially nonmodular.
COUNT=`ls /proc/bus/usb | wc -l`
- if [ $COUNT -le 2 ]; then
+ if [ $COUNT -lt 2 ]; then
umount /proc/bus/usb
rmmod usbcore >/dev/null 2>&1
return 1
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/