Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> wrote: > Currently rtl_usb performs register writes using the async > usb_submit_urb() function. This appears to work fine for the RTL8192CU, > but the RTL8192DU (soon to be supported by rtlwifi) has a problem: > it transmits everything at the 1M rate in the 2.4 GHz band. (The 5 GHz > band is still untested.) > > With this patch, rtl_usb performs the register writes using the > synchronous usb_control_msg() function, and the RTL8192DU works > normally. The RTL8192CU still works. > > The vendor drivers use the async writes in only one function, > rtl8192du_trigger_gpio_0 / rtl8192cu_trigger_gpio_0, which probably > doesn't even run in real life. They use sync writes everywhere else. > > Also, remove "sync" and "async" from the names of the members of > struct rtl_io to avoid confusion: > > write{8,16,32}_async -> write{8,16,32} > read{8,16,32}_sync -> read{8,16,32} > > Signed-off-by: Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> > Acked-by: Ping-Ke Shih <pkshih@xxxxxxxxxxx> Patch applied to wireless-next.git, thanks. 178cc55d5129 wifi: rtlwifi: rtl_usb: Use sync register writes -- https://patchwork.kernel.org/project/linux-wireless/patch/fb71bae6-8b19-4b6e-b4a6-0d260f2139e1@xxxxxxxxx/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches