aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMian Yousaf Kaukab <yousaf.kaukab@intel.com>2015-05-16 16:33:38 -0400
committerFelipe Balbi <balbi@ti.com>2015-05-26 11:40:26 -0400
commit971fe65670400f17f9ba05239ff0e796cffee696 (patch)
tree252cfad29bc1dcc16560f07f3ef3d81cfba17261
parente9ab4d0ab8f5b1159558b9ab236e408d50962a00 (diff)
usb: gadget: net2280: physically disable endpoint on disable operation
Reset configuration in ep_cfg on disable to physically disable the endpoint. Tested-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@intel.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
-rw-r--r--drivers/usb/gadget/udc/net2280.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/usb/gadget/udc/net2280.c b/drivers/usb/gadget/udc/net2280.c
index 779e6fe0005f..5740e0d885bc 100644
--- a/drivers/usb/gadget/udc/net2280.c
+++ b/drivers/usb/gadget/udc/net2280.c
@@ -461,6 +461,13 @@ static void ep_reset_338x(struct net2280_regs __iomem *regs,
461 BIT(DATA_PACKET_TRANSMITTED_INTERRUPT) | 461 BIT(DATA_PACKET_TRANSMITTED_INTERRUPT) |
462 BIT(DATA_OUT_PING_TOKEN_INTERRUPT) | 462 BIT(DATA_OUT_PING_TOKEN_INTERRUPT) |
463 BIT(DATA_IN_TOKEN_INTERRUPT), &ep->regs->ep_stat); 463 BIT(DATA_IN_TOKEN_INTERRUPT), &ep->regs->ep_stat);
464
465 tmp = readl(&ep->cfg->ep_cfg);
466 if (ep->is_in)
467 tmp &= ~USB3380_EP_CFG_MASK_IN;
468 else
469 tmp &= ~USB3380_EP_CFG_MASK_OUT;
470 writel(tmp, &ep->cfg->ep_cfg);
464} 471}
465 472
466static void nuke(struct net2280_ep *); 473static void nuke(struct net2280_ep *);