On Monday, September 13, 2021 8:09:44 PM CEST Fabio M. De Francesco wrote: > io_ops abstraction is useless in this driver, since there is only one ops > registration. Without io_ops we can get rid of indirect calls mess and > shorten the calls chain. > > Shorten the calls chain of rtw_read8/16/32() down to the actual reads. > For this purpose unify the three usb_read8/16/32 into the new > usb_read(); make the latter parameterizable with 'size'; embed most of > the code of usbctrl_vendorreq() into usb_read() and use in it the new > usb_control_msg_recv() API of USB Core. > > Shorten the calls chain of rtw_write8/16/32() down to the actual writes. > For this purpose unify the four usb_write8/16/32/N() into the new > usb_write(); make the latter parameterizable with 'size'; embed most of > the code of usbctrl_vendorreq() into usb_write() and use in it the new > usb_control_msg_send() API of USB Core. > > The code with the modifications was thoroughly tested by Pavel Skripkin > using a TP-Link TL-WN722N v2 / v3 [Realtek RTL8188EUS] and by Fabio M. > De Francesco using a ASUSTek Computer, Inc. Realtek 8188EUS [USB-N10 Nano]. Hi all, Please disregard this series. I've made a mistake, so tomorrow I'll send v5. Pavel Skripkin made me notice a logical error where the code checks errors in 17/18 and 18/18. So, two lines must be rewritten. Thanks, Fabio