These fix different bugs when the probe fails. One of them is the addition to a global list, which is not removed during the error path. That list has been removed. Then, some memory leaks are fixed, which require a change in where the workqueue is destroyed. Finally, the firmware completion is waited to prevent its callback from accessing freed data. These were tested against an "emulated" rtl8192se. It was a changed rtl8139 device under qemu with the rtl8192se PCI ID. Memory allocation failures were injected over 4 different places: init_sw_vars, rtl_pci_init, rtl_init_core and ieee80211_register_hw. Thadeu Lima de Souza Cascardo (4): wifi: rtlwifi: remove unused check_buddy_priv wifi: rltwifi: destroy workqueue at rtl_deinit_core wifi: rtlwifi: fix memory leaks and invalid access at probe error path wifi: rtlwifi: pci: wait for firmware loading before releasing memory drivers/net/wireless/realtek/rtlwifi/base.c | 12 ++--- drivers/net/wireless/realtek/rtlwifi/base.h | 1 - drivers/net/wireless/realtek/rtlwifi/pci.c | 60 ++++----------------- drivers/net/wireless/realtek/rtlwifi/usb.c | 5 -- drivers/net/wireless/realtek/rtlwifi/wifi.h | 12 ----- 5 files changed, 14 insertions(+), 76 deletions(-) -- 2.34.1