| From 486d8a8f730c455e6dc22f31033ced8866bd5492 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 24 Mar 2021 15:11:11 +0100 |
| Subject: fotg210-udc: Remove a dubious condition leading to fotg210_done |
| |
| From: Fabian Vogt <fabian@ritter-vogt.de> |
| |
| [ Upstream commit c7f755b243494d6043aadcd9a2989cb157958b95 ] |
| |
| When the EP0 IN request was not completed but less than a packet sent, |
| it would complete the request successfully. That doesn't make sense |
| and can't really happen as fotg210_start_dma always sends |
| min(length, maxpkt) bytes. |
| |
| Fixes: b84a8dee23fd ("usb: gadget: add Faraday fotg210_udc driver") |
| Signed-off-by: Fabian Vogt <fabian@ritter-vogt.de> |
| Link: https://lore.kernel.org/r/20210324141115.9384-4-fabian@ritter-vogt.de |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/usb/gadget/udc/fotg210-udc.c | 3 +-- |
| 1 file changed, 1 insertion(+), 2 deletions(-) |
| |
| diff --git a/drivers/usb/gadget/udc/fotg210-udc.c b/drivers/usb/gadget/udc/fotg210-udc.c |
| index 7abd56ad29bc..b2c75c8ca3d7 100644 |
| --- a/drivers/usb/gadget/udc/fotg210-udc.c |
| +++ b/drivers/usb/gadget/udc/fotg210-udc.c |
| @@ -379,8 +379,7 @@ static void fotg210_ep0_queue(struct fotg210_ep *ep, |
| } |
| if (ep->dir_in) { /* if IN */ |
| fotg210_start_dma(ep, req); |
| - if ((req->req.length == req->req.actual) || |
| - (req->req.actual < ep->ep.maxpacket)) |
| + if (req->req.length == req->req.actual) |
| fotg210_done(ep, req, 0); |
| } else { /* OUT */ |
| u32 value = ioread32(ep->fotg210->reg + FOTG210_DMISGR0); |
| -- |
| 2.30.2 |
| |