b43 driver NULL pointer dereference on 3.4.15

Larry Finger Larry.Finger at lwfinger.net
Tue Oct 23 10:53:01 EDT 2012


On 10/22/2012 11:36 PM, Markus Kanet wrote:
> NULL pointer dereference when unloading the b43 driver (not b43legacy) during
> shutdown if firmware was never loaded. See attached syslog.

When I did the b43legacy patch, it seemed reasonable that b43 also needed a 
similar fix, but I could not get b43 to fail on two different systems. Does the 
patch below work for you?

Larry

Index: wireless-testing-new/drivers/net/wireless/b43/main.c
===================================================================
--- wireless-testing-new.orig/drivers/net/wireless/b43/main.c
+++ wireless-testing-new/drivers/net/wireless/b43/main.c
@@ -5404,6 +5404,8 @@ static void b43_bcma_remove(struct bcma_
  	cancel_work_sync(&wldev->restart_work);

  	B43_WARN_ON(!wl);
+	if (!wldev->fw.ucode.data)
+		return;			/* NULL if firmware never loaded */
  	if (wl->current_dev == wldev && wl->hw_registred) {
  		b43_leds_stop(wldev);
  		ieee80211_unregister_hw(wl->hw);



More information about the b43-dev mailing list