summaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorSuresh Gupta <suresh.gupta@freescale.com>2014-04-02 18:56:46 +0200
committerFelipe Balbi <balbi@ti.com>2014-04-16 17:11:46 +0200
commitfc696881c6ec991f39a2f93d41f9ae841c6ace38 (patch)
tree2ea7c8d4fc098bcbca177a86c2f085f715a27d0e /drivers/usb
parentusb: musb: dsps: move debugfs_remove_recursive() (diff)
downloadlinux-fc696881c6ec991f39a2f93d41f9ae841c6ace38.tar.xz
linux-fc696881c6ec991f39a2f93d41f9ae841c6ace38.zip
usb : gadget : fsl: fix the fault issue on rmmod
completion in udc_controller->done should be assign with proper value before complete called. The complete called in fsl_udc_release which intern called from usb_del_gadget_udc, so moving assignment before calling usb_del_gadget_udc Signed-off-by: Suresh Gupta <suresh.gupta@freescale.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/gadget/fsl_udc_core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/gadget/fsl_udc_core.c b/drivers/usb/gadget/fsl_udc_core.c
index 15960af0f67e..dcd0b07ae3a0 100644
--- a/drivers/usb/gadget/fsl_udc_core.c
+++ b/drivers/usb/gadget/fsl_udc_core.c
@@ -2532,8 +2532,8 @@ static int __exit fsl_udc_remove(struct platform_device *pdev)
if (!udc_controller)
return -ENODEV;
- usb_del_gadget_udc(&udc_controller->gadget);
udc_controller->done = &done;
+ usb_del_gadget_udc(&udc_controller->gadget);
fsl_udc_clk_release();