Openmoko Bug #2240: removing/reloading g_ether not working
Openmoko Public Trac
bugs at docs.openmoko.org
Mon Apr 27 14:14:13 CEST 2009
#2240: removing/reloading g_ether not working
-------------------------+--------------------------------------------------
Reporter: frankmpunkt | Owner: openmoko-devel
Type: defect | Status: new
Priority: high | Milestone:
Component: unknown | Version: unspecified
Severity: normal | Keywords:
Haspatch: 0 | Blockedby:
Estimated: | Patchreview:
Blocking: | Reproducible:
-------------------------+--------------------------------------------------
Comment(by lindi):
It seems that "insmod g_ether.ko" calls register_netdev() but "rmmod
g_ether" does not call unregister_netdev(). I think the calls _should_ go
like
{{{
insmod g_ether.ko
init()
usb_composite_register()
usb_gadget_register_driver()
driver->bind() = eth_bind()
gether_setup()
register_netdev()
rmmod g_ether
cleanup()
usb_composite_unregister()
usb_gadget_unregister_driver()
driver->unbind() = eth_unbind()
gether_cleanup()
unregister_netdev()
}}}
but the problem is that in s3c2410_udc.c
* usb_gadget_register_driver calls bind() but
* usb_gadget_unregister_driver() does not call unbind().
I checked that _every other_ usb_gadget_unregister_driver in the kernel
does call unbind(), for example
* atmel_usba_udc.c
* pxa25x_udc.c
* omap_udc.c
* fsl_usb2_udc.c
so why does s3c2410_udc.c not call unbind()?
--
Ticket URL: <https://docs.openmoko.org/trac/ticket/2240#comment:4>
docs.openmoko.org <http://docs.openmoko.org/trac/>
openmoko trac
More information about the buglog
mailing list