diff options
author | Suresh Gupta <suresh.gupta@freescale.com> | 2014-03-21 07:08:12 -0400 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2014-04-17 11:25:07 -0400 |
commit | 252455c40316009cc791f00338ee2e367d2d2739 (patch) | |
tree | 3798317e5ce218a1f53c4d55e1594c533856e633 /drivers/usb | |
parent | 97839ca4b06ab27790700ad7da6be9a75fc0cc1d (diff) |
usb: gadget: fsl driver pullup fix
This fix the fsl usb gadget driver in a way that the usb device
will be only "pulled up" on requests only when vbus is powered
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.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/usb/gadget/fsl_udc_core.c b/drivers/usb/gadget/fsl_udc_core.c index dcd0b07ae3a0..a2f26cdb56fe 100644 --- a/drivers/usb/gadget/fsl_udc_core.c +++ b/drivers/usb/gadget/fsl_udc_core.c | |||
@@ -1219,6 +1219,10 @@ static int fsl_pullup(struct usb_gadget *gadget, int is_on) | |||
1219 | struct fsl_udc *udc; | 1219 | struct fsl_udc *udc; |
1220 | 1220 | ||
1221 | udc = container_of(gadget, struct fsl_udc, gadget); | 1221 | udc = container_of(gadget, struct fsl_udc, gadget); |
1222 | |||
1223 | if (!udc->vbus_active) | ||
1224 | return -EOPNOTSUPP; | ||
1225 | |||
1222 | udc->softconnect = (is_on != 0); | 1226 | udc->softconnect = (is_on != 0); |
1223 | if (can_pullup(udc)) | 1227 | if (can_pullup(udc)) |
1224 | fsl_writel((fsl_readl(&dr_regs->usbcmd) | USB_CMD_RUN_STOP), | 1228 | fsl_writel((fsl_readl(&dr_regs->usbcmd) | USB_CMD_RUN_STOP), |