diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c index 27cbd1c2f47f0c08003397d9d698b971ba2c6bd2..aca7a97ee5ff6eeb084f333b1340d3d67d6109c9 100644 --- a/drivers/usb/chipidea/udc.c +++ b/drivers/usb/chipidea/udc.c @@ -445,7 +445,7 @@ static int _hardware_enqueue(struct ci_hw_ep *hwep, struct ci_hw_req *hwreq) rest -= count; } - if (hwreq->req.zero && hwreq->req.length + if (hwreq->req.zero && hwreq->req.length && hwep->dir == TX && (hwreq->req.length % hwep->ep.maxpacket == 0)) add_td_to_list(hwep, hwreq, 0);