--- linux-2.6.18.noarch/net/mac80211/mlme.c.orig 2009-04-07 10:19:06.000000000 -0400 +++ linux-2.6.18.noarch/net/mac80211/mlme.c 2009-04-07 10:20:24.000000000 -0400 @@ -3868,13 +3868,15 @@ void ieee80211_scan_completed(struct iee rcu_read_unlock(); done: - sdata = IEEE80211_DEV_TO_SUB_IF(dev); - if (sdata->vif.type == IEEE80211_IF_TYPE_IBSS) { - struct ieee80211_if_sta *ifsta = &sdata->u.sta; - if (!(ifsta->flags & IEEE80211_STA_BSSID_SET) || - (!ifsta->state == IEEE80211_IBSS_JOINED && - !ieee80211_sta_active_ibss(dev))) - ieee80211_sta_find_ibss(dev, ifsta); + if (dev) { + sdata = IEEE80211_DEV_TO_SUB_IF(dev); + if (sdata->vif.type == IEEE80211_IF_TYPE_IBSS) { + struct ieee80211_if_sta *ifsta = &sdata->u.sta; + if (!(ifsta->flags & IEEE80211_STA_BSSID_SET) || + (!ifsta->state == IEEE80211_IBSS_JOINED && + !ieee80211_sta_active_ibss(dev))) + ieee80211_sta_find_ibss(dev, ifsta); + } } } EXPORT_SYMBOL(ieee80211_scan_completed);