summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorYusuke Goda <yusuke.goda.sx@renesas.com>2010-10-20 09:28:08 +0900
committerGreg Kroah-Hartman <gregkh@suse.de>2010-10-22 10:22:18 -0700
commite576a7a96aae99b74dd758fff54c345f8f4ff097 (patch)
tree0aee718026c3316dd033df7c3c421e06806c3740 /drivers
parent69cb1ec4ce4da4bc4c07bb09c4c98b3e25d99fb1 (diff)
usb: r8a66597-udc: Add processing when USB was removed.
When USB was removed, this patch prepares for the next insertion. Signed-off-by: Yusuke Goda <yusuke.goda.sx@renesas.com> Acked-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Cc: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/gadget/r8a66597-udc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/usb/gadget/r8a66597-udc.c b/drivers/usb/gadget/r8a66597-udc.c
index 157640f7d2a8..20d43da319ae 100644
--- a/drivers/usb/gadget/r8a66597-udc.c
+++ b/drivers/usb/gadget/r8a66597-udc.c
@@ -42,6 +42,7 @@ static const char *r8a66597_ep_name[] = {
"ep8", "ep9",
};
+static void init_controller(struct r8a66597 *r8a66597);
static void disable_controller(struct r8a66597 *r8a66597);
static void irq_ep0_write(struct r8a66597_ep *ep, struct r8a66597_request *req);
static void irq_packet_write(struct r8a66597_ep *ep,
@@ -104,6 +105,8 @@ __acquires(r8a66597->lock)
spin_lock(&r8a66597->lock);
disable_controller(r8a66597);
+ init_controller(r8a66597);
+ r8a66597_bset(r8a66597, VBSE, INTENB0);
INIT_LIST_HEAD(&r8a66597->ep[0].queue);
}