Skip to content

Commit

Permalink
usb: gadget: r8a66597-udc: fix cannot connect after rmmod gadget driver
Browse files Browse the repository at this point in the history
When we run rmmod a gadget driver, the driver will call
disable_controller(). Then, because the bit of USBE in SYSCFG0 was
cleared in on_chip=1 mode, we could not connect the usb when we run
insmod a gadget driver next time.
This patch also cleans up probe() and ->stop() about unnecessary
init_controller().

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
  • Loading branch information
Yoshihiro Shimoda authored and Felipe Balbi committed Jul 8, 2011
1 parent 5db05c0 commit deafeb2
Showing 1 changed file with 3 additions and 7 deletions.
10 changes: 3 additions & 7 deletions drivers/usb/gadget/r8a66597-udc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1444,6 +1444,7 @@ static int r8a66597_start(struct usb_gadget_driver *driver,
goto error;
}

init_controller(r8a66597);
r8a66597_bset(r8a66597, VBSE, INTENB0);
if (r8a66597_read(r8a66597, INTSTS0) & VBSTS) {
r8a66597_start_xclock(r8a66597);
Expand Down Expand Up @@ -1474,15 +1475,12 @@ static int r8a66597_stop(struct usb_gadget_driver *driver)
spin_lock_irqsave(&r8a66597->lock, flags);
if (r8a66597->gadget.speed != USB_SPEED_UNKNOWN)
r8a66597_usb_disconnect(r8a66597);
spin_unlock_irqrestore(&r8a66597->lock, flags);

r8a66597_bclr(r8a66597, VBSE, INTENB0);
disable_controller(r8a66597);
spin_unlock_irqrestore(&r8a66597->lock, flags);

driver->unbind(&r8a66597->gadget);

init_controller(r8a66597);
disable_controller(r8a66597);

device_del(&r8a66597->gadget.dev);
r8a66597->driver = NULL;
return 0;
Expand Down Expand Up @@ -1646,8 +1644,6 @@ static int __init r8a66597_probe(struct platform_device *pdev)
goto clean_up3;
r8a66597->ep0_req->complete = nop_completion;

init_controller(r8a66597);

ret = usb_add_gadget_udc(&pdev->dev, &r8a66597->gadget);
if (ret)
goto err_add_udc;
Expand Down

0 comments on commit deafeb2

Please sign in to comment.