Re: [patch 2.6.24-rc3] usb peripheral controller driver oops avoidance

Alan Stern <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
On Mon, 19 Nov 2007, David Brownell wrote:

> From: Patrik Sevallius <[email protected]>
> 
> I'm having problem with oopses when rebooting, if I modprobe g_serial
> and rmmod g_serial and do a reboot I get an oops in device_shutdown().
> The reason seems to be that usb_gadget_unregister_driver() doesn't do
> enough cleanup.  With this at91_udc patch I don't get the oops.
> 
> Signed-off-by: Patrik Sevallius <[email protected]>
> [ Same bug was in some other peripheral controller drivers; fixed. ]
> Signed-off-by: David Brownell <[email protected]>

> --- at91.orig/drivers/usb/gadget/dummy_hcd.c	2007-11-19 12:33:33.000000000 -0800
> +++ at91/drivers/usb/gadget/dummy_hcd.c	2007-11-19 12:36:05.000000000 -0800
> @@ -830,6 +830,7 @@ usb_gadget_unregister_driver (struct usb
>  	spin_unlock_irqrestore (&dum->lock, flags);
>  
>  	driver->unbind (&dum->gadget);
> +	dum->gadget.dev.driver = NULL;
>  	dum->driver = NULL;
>  
>  	device_release_driver (&dum->gadget.dev);

Arghh, no!  Setting dum->gadget.dev.driver to NULL will break the call 
to device_release_driver() just below.

net2280 and dummy_hcd are different from the other device controllers 
in that they register the gadget driver with the driver core.  Hence 
they don't need this extra action when unregistering a gadget driver.

Alan Stern


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.