Message ID | 20230210111632.1985205-1-s.hauer@pengutronix.de (mailing list archive) |
---|---|
Headers | show |
Series | wifi: rtw88: USB fixes | expand |
Hello Sacha Hauer, Thanks alot for fixing this! On Fri, Feb 10, 2023 at 12:16:29PM +0100, Sascha Hauer wrote: > This series addresses issues for the recently added RTW88 USB support > reported by Andreas Henriksson and also our customer. > > The hardware can't handle urbs that have a size of multiple of the > bulkout_size (usually 512 bytes). The symptom is that the hardware > stalls completely. The issue can be reproduced by sending a suitably > sized ping packet from the device: > > ping -s 394 <somehost> > > (It's 394 bytes here on a RTL8822CU and RTL8821CU, the actual size may > differ on other chips, it was 402 bytes on a RTL8723DU) I can confirm that with these patches applied that my LM842 dongle now works reliably on my imx6sx board. On the same board the traffic would previously usually stall after 80-130MB when downloading. With patches applied I succesfully completed: wget -O /dev/null http://speedtest.tele2.net/10GB.zip Uploading did not seem to trigger the problem before but I still tested and uploading a gigabyte was no problem using: curl -T /dev/urandom http://speedtest.tele2.net/upload.php -O /dev/null Did not attempt the suggested ping method of reproducing on the old system, but on the new kernel I could do $ for a in $(seq 128 512); do ping -n -c 3 -s $a ping.sunet.se ; done without any stalls. Feel free to add either or both of: Reported-by: Andreas Henriksson <andreas@fatal.se> Tested-by: Andreas Henriksson <andreas@fatal.se> > > Other than that qsel was not set correctly. The sympton here is that > only one of multiple bulk endpoints was used to send data. > > Changes since v1: > - Use URB_ZERO_PACKET to let the USB host controller handle it automatically > rather than working around the issue. > > Sascha Hauer (3): > wifi: rtw88: usb: Set qsel correctly > wifi: rtw88: usb: send Zero length packets if necessary > wifi: rtw88: usb: drop now unnecessary URB size check > > drivers/net/wireless/realtek/rtw88/usb.c | 18 +++--------------- > 1 file changed, 3 insertions(+), 15 deletions(-) > > -- > 2.30.2 > Regards, Andreas Henriksson