Re: The horrible hack from hell called A20

From: Linus Torvalds (torvalds@transmeta.com)
Date: Wed Dec 06 2000 - 15:05:22 EST


On Wed, 6 Dec 2000, Miles Lane wrote:
>
> If I insert both my 3c575 and Belkin BusPort Mobile USB host-controller
> and then enable both of them, "modprobe usb-ohci" hangs. If I then
> attempt "modprobe -r 3c59x", that process hangs, too. lsmod shows:
>
> usb-ohci 15072 1 (initializing)
> 3c59x 0 0 (deleted)
> usbcore 50384 1 (autoclean) [usb-ohci]

The only thing in common between the two will be the fact that they do
share the same irq, and I'm not at all sure that those two drivers are
always happy about irq sharing.

Your dmesg output looks sane and happy, though. Both the USB and the 3c59x
driver find their hardware, and claim to have successfully initialized
them. The USB driver even finds the stuff on the USB bus (microsoft
intellimouse), so it obviously works to a large degree. Similarly, the
ethernet driver happily finds everything etc.

In fact, everything looks so happy that I bet that the reason the module
is stuck initializing is some setup problem, possibly because kusbd ends
up waiting on /sbin/hotplug or similar. It does not look like the drivers
themselves would have trouble, it looks much more like a modprobe-related
issue (maybe deadlocking on some semaphore or other lock).

I'd suggest two things:

 - try not using modules. Does it "just work" for you then? (Both the OHCI
   and the 3c59x driver should happily work with hotplug compiled right
   into the kernel).

 - try "strace"ing the whole modprobe thing, to see where it hangs, in
   order to figure out what it is waiting for. I wonder if it's the
   keventd changes.

Basically, I think this is a completely different problem, and not really
driver-related any more.

                Linus

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



This archive was generated by hypermail 2b29 : Thu Dec 07 2000 - 21:00:16 EST