Hi, On Thu, Sep 06, 2012 at 05:58:27PM +0300, Pantelis Antoniou wrote: > Hi Felipe, > > A proper answer required some instrumentation printks(). > > So what I did is that I peppered each function marked with a removed > __init or __devinit with a > > > printk(KERN_INFO "%s:%d (%s) %s\n", __FILE__, __LINE__, KBUILD_MODNAME, __func__); > > > > Both omap2430 & musb_hdrc are compiled as module, and I issued the following > commands on a beagleboard xm. > > # modprobe omap2430 > # modprobe g_mass_storage file=backing_file > # rmmod g_mass_storage > # rmmod omap2430 > # modprobe omap2430 > > The problem is obvious when you see that functions marked as init or devinit are > called when re-loading the omap2430 module again. Those functions if marked as > much can (and will as I have witnessed) be removed from memory, leading to a > crash. > > What do you think? the problem would be with usage of __init. __devinit will only drop .devinit.text if HOTPLUG and MODULE isn't set, AFAICT. I also can't see a crash on below logs. -- balbi
Attachment:
signature.asc
Description: Digital signature