From a82f2fc83c091d9aa538b980e39922763bf5b234 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Mo=C5=84?= Date: Tue, 4 Feb 2025 13:40:24 +0100 Subject: [PATCH] [nrf fromtree] drivers: udc_dwc2: Stop OUT transfers on ZLP MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The transfer is finished after ZLP is transmitted. Do not re-enable the endpoint waiting for more data. Signed-off-by: Tomasz Moń (cherry picked from commit ea72b27f3dbeabd9f07254b077ba9a8baf3c0b73) --- drivers/usb/udc/udc_dwc2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/udc/udc_dwc2.c b/drivers/usb/udc/udc_dwc2.c index 930fdc15f15..a4065b89354 100644 --- a/drivers/usb/udc/udc_dwc2.c +++ b/drivers/usb/udc/udc_dwc2.c @@ -2540,7 +2540,7 @@ static inline void dwc2_handle_out_xfercompl(const struct device *dev, net_buf_add(buf, bcnt); } - if (!is_iso && (bcnt % udc_mps_ep_size(ep_cfg)) == 0 && + if (!is_iso && bcnt && (bcnt % udc_mps_ep_size(ep_cfg)) == 0 && net_buf_tailroom(buf)) { dwc2_prep_rx(dev, buf, ep_cfg); } else {