Old USB API is prone to uninit value bugs if error handling is not
correct. Let's move atusb to use new USB API to
1) Make code more simple, since new API does not require memory
to be allocates via kmalloc()
2) Defend driver from usb-related uninit value bugs.
3) Make code more modern and simple
This patch removes atusb usb wrappers as Greg suggested [0], this will make
code more obvious and easier to understand over time, and replaces old
API calls with new ones.
Also this patch adds and updates usb related error handling to prevent
possible uninit value bugs in future
Link: https://lore.kernel.org/all/YdL0GPxy4TdGDzOO@xxxxxxxxx/ [0]
Signed-off-by: Pavel Skripkin <paskripkin@xxxxxxxxx>
---
Changes in v2:
- Fixed logic bug in atusb_get_and_conf_chip()
- Renamed rc variable to reg in atusb_read_subreg()
---
drivers/net/ieee802154/atusb.c | 186 ++++++++++++---------------------
1 file changed, 67 insertions(+), 119 deletions(-)