diff options
Diffstat (limited to 'drivers/usb/musb')
-rw-r--r-- | drivers/usb/musb/omap2430.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c index 063687085d1e..c4dc92bd7e85 100644 --- a/drivers/usb/musb/omap2430.c +++ b/drivers/usb/musb/omap2430.c | |||
@@ -249,11 +249,14 @@ static void omap_musb_set_mailbox(struct omap2430_glue *glue) | |||
249 | struct device *dev = musb->controller; | 249 | struct device *dev = musb->controller; |
250 | struct musb_hdrc_platform_data *pdata = dev->platform_data; | 250 | struct musb_hdrc_platform_data *pdata = dev->platform_data; |
251 | struct omap_musb_board_data *data = pdata->board_data; | 251 | struct omap_musb_board_data *data = pdata->board_data; |
252 | struct usb_otg *otg = musb->xceiv->otg; | ||
252 | 253 | ||
253 | switch (glue->status) { | 254 | switch (glue->status) { |
254 | case OMAP_MUSB_ID_GROUND: | 255 | case OMAP_MUSB_ID_GROUND: |
255 | dev_dbg(dev, "ID GND\n"); | 256 | dev_dbg(dev, "ID GND\n"); |
256 | 257 | ||
258 | otg->default_a = true; | ||
259 | musb->xceiv->state = OTG_STATE_A_IDLE; | ||
257 | musb->xceiv->last_event = USB_EVENT_ID; | 260 | musb->xceiv->last_event = USB_EVENT_ID; |
258 | if (!is_otg_enabled(musb) || musb->gadget_driver) { | 261 | if (!is_otg_enabled(musb) || musb->gadget_driver) { |
259 | pm_runtime_get_sync(dev); | 262 | pm_runtime_get_sync(dev); |
@@ -265,6 +268,8 @@ static void omap_musb_set_mailbox(struct omap2430_glue *glue) | |||
265 | case OMAP_MUSB_VBUS_VALID: | 268 | case OMAP_MUSB_VBUS_VALID: |
266 | dev_dbg(dev, "VBUS Connect\n"); | 269 | dev_dbg(dev, "VBUS Connect\n"); |
267 | 270 | ||
271 | otg->default_a = false; | ||
272 | musb->xceiv->state = OTG_STATE_B_IDLE; | ||
268 | musb->xceiv->last_event = USB_EVENT_VBUS; | 273 | musb->xceiv->last_event = USB_EVENT_VBUS; |
269 | if (musb->gadget_driver) | 274 | if (musb->gadget_driver) |
270 | pm_runtime_get_sync(dev); | 275 | pm_runtime_get_sync(dev); |