[PATCH] rt2x00: fix oops in config_interface

DORMANTno replies

From: Jiri Benc <hidden>
Date: 2006-05-11 15:06:44

BSSID passed to config_interface callback is NULL in modes other than STA or
IBSS.

Signed-off-by: Jiri Benc <redacted>

---

 drivers/net/wireless/d80211/rt2x00/rt2400pci.c |    3 ++-
 drivers/net/wireless/d80211/rt2x00/rt2500pci.c |    3 ++-
 drivers/net/wireless/d80211/rt2x00/rt2500usb.c |    3 ++-
 drivers/net/wireless/d80211/rt2x00/rt61pci.c   |    3 ++-
 drivers/net/wireless/d80211/rt2x00/rt73usb.c   |    3 ++-
 5 files changed, 10 insertions(+), 5 deletions(-)
--- dscape.orig/drivers/net/wireless/d80211/rt2x00/rt2400pci.c
+++ dscape/drivers/net/wireless/d80211/rt2x00/rt2400pci.c
@@ -1848,7 +1848,8 @@ rt2400pci_config_interface(struct net_de
 	if (rt2x00pci->type == IEEE80211_IF_TYPE_MNTR)
 		return 0;
 
-	rt2400pci_config_bssid(rt2x00pci, conf->bssid);
+	if (conf->bssid)
+		rt2400pci_config_bssid(rt2x00pci, conf->bssid);
 
 	return 0;
 }
--- dscape.orig/drivers/net/wireless/d80211/rt2x00/rt2500pci.c
+++ dscape/drivers/net/wireless/d80211/rt2x00/rt2500pci.c
@@ -1971,7 +1971,8 @@ rt2500pci_config_interface(struct net_de
 	if (conf->type == IEEE80211_IF_TYPE_MNTR)
 		return 0;
 
-	rt2500pci_config_bssid(rt2x00pci, conf->bssid);
+	if (conf->bssid)
+		rt2500pci_config_bssid(rt2x00pci, conf->bssid);
 
 	return 0;
 }
--- dscape.orig/drivers/net/wireless/d80211/rt2x00/rt2500usb.c
+++ dscape/drivers/net/wireless/d80211/rt2x00/rt2500usb.c
@@ -1636,7 +1636,8 @@ rt2500usb_config_interface(struct net_de
 	if (conf->type == IEEE80211_IF_TYPE_MNTR)
 		return 0;
 
-	rt2500usb_config_bssid(rt2x00usb, conf->bssid);
+	if (conf->bssid)
+		rt2500usb_config_bssid(rt2x00usb, conf->bssid);
 
 	return 0;
 }
--- dscape.orig/drivers/net/wireless/d80211/rt2x00/rt61pci.c
+++ dscape/drivers/net/wireless/d80211/rt2x00/rt61pci.c
@@ -2434,7 +2434,8 @@ rt61pci_config_interface(struct net_devi
 	if (conf->type == IEEE80211_IF_TYPE_MNTR)
 		return 0;
 
-	rt61pci_config_bssid(rt2x00pci, conf->bssid);
+	if (conf->bssid)
+		rt61pci_config_bssid(rt2x00pci, conf->bssid);
 
 	return 0;
 }
--- dscape.orig/drivers/net/wireless/d80211/rt2x00/rt73usb.c
+++ dscape/drivers/net/wireless/d80211/rt2x00/rt73usb.c
@@ -1935,7 +1935,8 @@ rt73usb_config_interface(struct net_devi
 	if (conf->type == IEEE80211_IF_TYPE_MNTR)
 		return 0;
 
-	rt73usb_config_bssid(rt2x00usb, conf->bssid);
+	if (conf->bssid)
+		rt73usb_config_bssid(rt2x00usb, conf->bssid);
 
 	return 0;
 }

-- 
Jiri Benc
SUSE Labs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help