Jiri Slaby 1a889d
From: Sascha Hauer <s.hauer@pengutronix.de>
Jiri Slaby 1a889d
Date: Fri, 10 Feb 2023 12:16:31 +0100
Jiri Slaby 1a889d
Subject: [PATCH] wifi: rtw88: usb: send Zero length packets if necessary
Jiri Slaby 1a889d
References: bsc#1012628
Jiri Slaby 1a889d
Patch-mainline: 6.2.2
Jiri Slaby 1a889d
Git-commit: 07ce9fa6ab0e5e4cb5516a1f7c754ab2758fe5cd
Jiri Slaby 1a889d
Jiri Slaby 1a889d
commit 07ce9fa6ab0e5e4cb5516a1f7c754ab2758fe5cd upstream.
Jiri Slaby 1a889d
Jiri Slaby 1a889d
Zero length packets are necessary when sending URBs with size
Jiri Slaby 1a889d
multiple of bulkout_size, otherwise the hardware just stalls.
Jiri Slaby 1a889d
Jiri Slaby 1a889d
Fixes: a82dfd33d1237 ("wifi: rtw88: Add common USB chip support")
Jiri Slaby 1a889d
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Jiri Slaby 1a889d
Reviewed-by: Ping-Ke Shih <pkshih@realtek.com>
Jiri Slaby 1a889d
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Jiri Slaby 1a889d
Link: https://lore.kernel.org/r/20230210111632.1985205-3-s.hauer@pengutronix.de
Jiri Slaby 1a889d
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jiri Slaby 1a889d
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Jiri Slaby 1a889d
---
Jiri Slaby 1a889d
 drivers/net/wireless/realtek/rtw88/usb.c | 1 +
Jiri Slaby 1a889d
 1 file changed, 1 insertion(+)
Jiri Slaby 1a889d
Jiri Slaby 1a889d
diff --git a/drivers/net/wireless/realtek/rtw88/usb.c b/drivers/net/wireless/realtek/rtw88/usb.c
Jiri Slaby 1a889d
index d9e99554..1a09c928 100644
Jiri Slaby 1a889d
--- a/drivers/net/wireless/realtek/rtw88/usb.c
Jiri Slaby 1a889d
+++ b/drivers/net/wireless/realtek/rtw88/usb.c
Jiri Slaby 1a889d
@@ -271,6 +271,7 @@ static int rtw_usb_write_port(struct rtw_dev *rtwdev, u8 qsel, struct sk_buff *s
Jiri Slaby 1a889d
 		return -ENOMEM;
Jiri Slaby 1a889d
 
Jiri Slaby 1a889d
 	usb_fill_bulk_urb(urb, usbd, pipe, skb->data, skb->len, cb, context);
Jiri Slaby 1a889d
+	urb->transfer_flags |= URB_ZERO_PACKET;
Jiri Slaby 1a889d
 	ret = usb_submit_urb(urb, GFP_ATOMIC);
Jiri Slaby 1a889d
 
Jiri Slaby 1a889d
 	usb_free_urb(urb);
Jiri Slaby 1a889d
-- 
Jiri Slaby 1a889d
2.35.3
Jiri Slaby 1a889d