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. 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. If nobody sees a problem with this change, I can come up with the (trivial) patch. --Kai _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel