module loading order

Greg KH greg at kroah.com
Wed May 11 09:41:17 EDT 2011


On Wed, May 11, 2011 at 09:00:30AM +0100, Simon Leung wrote:
> Hi all,
> 
> This is a question that arose from a older kernel ( 2.6.21 ) but I think 
> it's generic to all kernels. Actually this might not a question on the 
> kernel itself at all. So here it goes,
> 
> I'm using a USB 3G modem with this kernel. The system loads three 
> modules for it: pl2303, option and usbserial. Problem is, it looks like 
> the order or loading is different ( I'm judging this by the order they 
> appear in lsmod output):
> 
> Sometimes, lsmod says:
> pl2303                 18628  0
> option                  9664  0
> usbserial              28296  2 pl2303,option
> 
> And sometimes, it says:
> option                  9664  0
> pl2303                 18628  0
> usbserial              28296  2 option,pl2303
> 
> Problem is, if option is before pl2303, the device won't work properly. 
> So my question is: who decides which is loaded first, or, why does lsmod 
> give different order?

It's random and there is no way to specify the order unless you make one
module a dependancy of the other.

And for these modules, they should not be dependant on each other, so
you can't do that.

To fix this, you need to add a quirk to keep the option module from
binding to the device, please send the information to the
linux-usb at vger.kernel.org about this device and we will fix the drivers.

thanks,

greg k-h



More information about the Kernelnewbies mailing list