diff options
author | Roger Quadros <rogerq@ti.com> | 2017-04-03 15:20:29 +0300 |
---|---|---|
committer | Felipe Balbi <felipe.balbi@linux.intel.com> | 2017-04-11 10:58:29 +0300 |
commit | fac323471df6e196b496f94f7ca2047fa1b18387 (patch) | |
tree | 52242bc5b6e717883eb9c0c96883fd4e00f2611a /drivers/usb | |
parent | d6e5a549cc4dba504a62855d9613836f76950790 (diff) | |
download | op-kernel-dev-fac323471df6e196b496f94f7ca2047fa1b18387.zip op-kernel-dev-fac323471df6e196b496f94f7ca2047fa1b18387.tar.gz |
usb: udc: allow adding and removing the same gadget device
allow usb_del_gadget_udc() and usb add_gadget_udc() to be called
repeatedly on the same gadget->dev structure.
We need to clear the gadget->dev structure so that kobject_init()
doesn't complain about already initialized object.
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/gadget/udc/core.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/gadget/udc/core.c b/drivers/usb/gadget/udc/core.c index d685d82..efce68e 100644 --- a/drivers/usb/gadget/udc/core.c +++ b/drivers/usb/gadget/udc/core.c @@ -1273,6 +1273,7 @@ void usb_del_gadget_udc(struct usb_gadget *gadget) flush_work(&gadget->work); device_unregister(&udc->dev); device_unregister(&gadget->dev); + memset(&gadget->dev, 0x00, sizeof(gadget->dev)); } EXPORT_SYMBOL_GPL(usb_del_gadget_udc); |