diff options
| -rw-r--r-- | drivers/usb/gadget/fusb300_udc.c | 9 | 
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/usb/gadget/fusb300_udc.c b/drivers/usb/gadget/fusb300_udc.c index db0d2917987a..cec8871b77f9 100644 --- a/drivers/usb/gadget/fusb300_udc.c +++ b/drivers/usb/gadget/fusb300_udc.c @@ -930,12 +930,15 @@ static void fusb300_wait_idma_finished(struct fusb300_ep *ep)  	fusb300_clear_int(ep->fusb300, FUSB300_OFFSET_IGR0,  		FUSB300_IGR0_EPn_PRD_INT(ep->epnum)); +	return; +  IDMA_RESET: -	fusb300_clear_int(ep->fusb300, FUSB300_OFFSET_IGER0, -		FUSB300_IGER0_EEPn_PRD_INT(ep->epnum)); +	reg = ioread32(ep->fusb300->reg + FUSB300_OFFSET_IGER0); +	reg &= ~FUSB300_IGER0_EEPn_PRD_INT(ep->epnum); +	iowrite32(reg, ep->fusb300->reg + FUSB300_OFFSET_IGER0);  } -static void  fusb300_set_idma(struct fusb300_ep *ep, +static void fusb300_set_idma(struct fusb300_ep *ep,  			struct fusb300_request *req)  {  	int ret;  | 
