On Sat, Mar 09, 2002 at 05:01:23PM -0600, Kai Germaschewski wrote: > > Currently, the USB core is using module_init() for its initialization. > The means, if USB is compiled into the kernel, the point at which USB is > initialized depends on the link order in the top-level Makefile. > > I had an report that this caused a kernel crash when an USB ISDN adapter > was initializing before the USB core, calling register_usb() (Though I > don't know where it exactly that did crash). The quick fix was to move > ISDN to the end of the list in the top-level Makefile. However, the > correct fix IMO would be to get rid of the subtle link order dependencies > by making usb_init() an subsys_initcall(), as we already do for other bus > drivers, like pci, isapnp etc.
But you still have to get the order correct. USB has to start after PCI. > One further reason is that I would actually like to link drivers/net/irda > from within drivers/net, which would move it in front of USB, though, and > thus cause the same problem w.r.t USB IrDA dongles. Ah, yet another good reason to put all of the usb drivers in the /drivers/usb directory :) > If nobody sees a problem with this change, I can come up with the > (trivial) patch. I'd be interested in seeing the patch. thanks, greg k-h _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel