--- net/mac80211/ieee80211_sta.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) --- wireless-dev.orig/net/mac80211/ieee80211_sta.c 2007-07-19 15:55:13.103857384 +0200 +++ wireless-dev/net/mac80211/ieee80211_sta.c 2007-07-19 16:02:04.003857384 +0200 @@ -2135,7 +2135,7 @@ static void ieee80211_rx_bss_info(struct int channel, invalid = 0, clen; struct ieee80211_sta_bss *bss; struct sta_info *sta; - struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); + struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF_NW(dev); u64 timestamp; if (!beacon && memcmp(mgmt->da, dev->dev_addr, ETH_ALEN)) @@ -2371,6 +2371,9 @@ static void ieee80211_rx_bss_info(struct * channels, so map the channel into frequency. */ bss->freq = freq_list[channel - 1]; } + printk(KERN_DEBUG "bss " MAC_FMT " updated from %s\n", MAC_ARG(mgmt->bssid), dev->name); + if (local->mdev == dev) + printk(KERN_DEBUG "remind me, why can this code be invoked for the master device?\n"); bss->timestamp = timestamp; bss->last_update = jiffies; bss->rssi = rx_status->ssi; @@ -2403,7 +2406,7 @@ static void ieee80211_rx_mgmt_beacon(str ieee80211_rx_bss_info(dev, mgmt, len, rx_status, 1); - sdata = IEEE80211_DEV_TO_SUB_IF(dev); + sdata = IEEE80211_DEV_TO_SUB_IF_NW(dev); if (sdata->type != IEEE80211_IF_TYPE_STA) return; ifsta = &sdata->u.sta;