[PATCH] [RFC] wireless: move obsolete drivers to staging

Arnd Bergmann arnd at arndb.de
Wed Oct 11 13:22:32 PDT 2023


On Wed, Oct 11, 2023, at 20:13, Philipp Hortmann wrote:
> On 10/10/23 17:27, Arnd Bergmann wrote:
>> From: Arnd Bergmann <arnd at arndb.de> While looking at the old drivers 
>> using the obsolete .ndo_do_ioctl() callback, I found a number of network 
>> drivers that are especially obsolete, in particular for 802.11b 
>> (11Mbit/s) or even older wireless networks, using non-busmaster 
>> ISA/PCMCIA style bus interfaces, and using the legacy wireless extension 
>> ioctls rather than the netlink interfaces that were meant to replace 
>> them in 2007. All of these drivers are obsolete or orphaned. We had 
>> previously discussed this topic, but nobody ever moved the files, so I 
>> now went through the list to my best knowledge. These are the drivers 
>> that I would classify as "probably unused" by now:
>
> I found a USB WLAN Stick with a rtl8192u. I got it last Saturday and 
> found out that the firmware is missing in my ubuntu 20.04. I found it on 
> the web and fixed it. When I started the driver my computer crashed. The 
> missing part was: priv->priv_wq = alloc_workqueue("priv_wq", 0, 0); 
> Fixing this the next error was a network = kzalloc(sizeof(*network), 
> GFP_KERNEL); in wrong context with leads to a crash of my computer. 
> Fixing this leads to another issue which lets my computer crash.
>
> For me the firmware of rtl8192u was intentionally missing because of the 
> issues with the driver.
>
> What this has to do with your question?
> Can we check for missing firmware in main distributions to know which 
> drivers are considered to be old and unused?

Nice, thanks so much for testing.

I see the two bugs were introduced in 2016 by commit 1761a85c3bed3
("staging: rtl8192u: Remove create_workqueue()") and in 2021 by
commit 061e390b7c87f ("staging: rtl8192u: ieee80211_softmac: Move a
large data struct onto the heap"), so it's been broken for a while.

I also checked rtl8192e for the same bugs, but that driver
managed to avoid this even though it had the same code
originally.

Regarding the firmware files, I found:

- rtl8192e, rtl7812 and rtl8723bs are all in the linux-firmware
  package, unlike rtl8192u

- atmel firmware is not in upstream linux-firmware, but Debian
  has an atmel-firmware package for it

- I could not find a Debian package for ks7010sd.rom

- vt6656/vntwusb.fw is in firmware-misc-nonfree

- orinoco has multiple firmware files, but only agere_sta_fw.bin
  and agere_ap_fw.bin are in Debian and linux-firmware.

     Arnd



More information about the linux-arm-kernel mailing list