• Bitterblue Smith's avatar
    wifi: rtw88: usb: Further limit the TX aggregation · d7dd13ea
    Bitterblue Smith authored
    Currently the number of frames sent to the chip in a single USB Request
    Block is limited only by the size of the TX buffer, which is 20 KiB.
    Testing reveals that as many as 13 frames get aggregated. This is more
    than what any of the chips would like to receive. RTL8822CU, RTL8822BU,
    and RTL8821CU want at most 3 frames, and RTL8723DU wants only 1 frame
    per URB.
    
    RTL8723DU in particular reliably malfunctions during a speed test if it
    receives more than 1 frame per URB. All traffic seems to stop. Pinging
    the AP no longer works.
    
    Fix this problem by limiting the number of frames sent to the chip in a
    single URB according to what each chip likes.
    
    Also configure RTL8822CU, RTL8822BU, and RTL8821CU to expect 3 frames
    per URB.
    
    RTL8703B may or may not be found in USB devices. Declare that it wants
    only 1 frame per URB, just in case.
    
    Tested with RTL8723DU and RTL8811CU.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarBitterblue Smith <rtl8821cerfe2@gmail.com>
    Acked-by: default avatarPing-Ke Shih <pkshih@realtek.com>
    Signed-off-by: default avatarPing-Ke Shih <pkshih@realtek.com>
    Link: https://patch.msgid.link/cb46ea35-7e59-4742-9c1f-01ceeaad36fb@gmail.com
    d7dd13ea
rtw8822c.c 163 KB