]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
usb: gadget: at91udc: don't overwrite driver data
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Fri, 20 Jul 2012 18:34:24 +0000 (20:34 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 2 Oct 2012 17:39:09 +0000 (10:39 -0700)
commit 8b7dda554cf61e87523dee412eaf598f8646bd79 upstream.

The driver was converted to the new start/stop interface in f3d8bf34c2
("usb: gadget: at91_udc: convert to new style start/stop interface").
I overlooked that the driver is overwritting the private data which is
used by the composite framework. The udc driver doesn't read it, it is
only written here.

Tested-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Tested-by: Mario Isidoro <Mario.Isidoro@tecmic.pt>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/at91_udc.c

index 1a4430f315c3ea63805b3e3db16932c7d085c453..5fd61e28c8e485e73454448af516a83be6fe180b 100644 (file)
@@ -1634,7 +1634,6 @@ static int at91_start(struct usb_gadget *gadget,
        udc = container_of(gadget, struct at91_udc, gadget);
        udc->driver = driver;
        udc->gadget.dev.driver = &driver->driver;
-       dev_set_drvdata(&udc->gadget.dev, &driver->driver);
        udc->enabled = 1;
        udc->selfpowered = 1;
 
@@ -1655,7 +1654,6 @@ static int at91_stop(struct usb_gadget *gadget,
        spin_unlock_irqrestore(&udc->lock, flags);
 
        udc->gadget.dev.driver = NULL;
-       dev_set_drvdata(&udc->gadget.dev, NULL);
        udc->driver = NULL;
 
        DBG("unbound from %s\n", driver->driver.name);