From: Mian Yousaf Kaukab Date: Sat, 16 May 2015 20:33:38 +0000 (+0200) Subject: usb: gadget: net2280: physically disable endpoint on disable operation X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=971fe65670400f17f9ba05239ff0e796cffee696;p=openwrt%2Fstaging%2Fblogic.git 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 Signed-off-by: Mian Yousaf Kaukab Signed-off-by: Felipe Balbi --- 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, BIT(DATA_PACKET_TRANSMITTED_INTERRUPT) | BIT(DATA_OUT_PING_TOKEN_INTERRUPT) | BIT(DATA_IN_TOKEN_INTERRUPT), &ep->regs->ep_stat); + + tmp = readl(&ep->cfg->ep_cfg); + if (ep->is_in) + tmp &= ~USB3380_EP_CFG_MASK_IN; + else + tmp &= ~USB3380_EP_CFG_MASK_OUT; + writel(tmp, &ep->cfg->ep_cfg); } static void nuke(struct net2280_ep *);