diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/iface.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index 576880317d0e..58c2ab3d483a 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c | |||
@@ -97,15 +97,12 @@ static int ieee80211_check_concurrent_iface(struct ieee80211_sub_if_data *sdata, | |||
97 | { | 97 | { |
98 | struct ieee80211_local *local = sdata->local; | 98 | struct ieee80211_local *local = sdata->local; |
99 | struct ieee80211_sub_if_data *nsdata; | 99 | struct ieee80211_sub_if_data *nsdata; |
100 | struct net_device *dev = sdata->dev; | ||
101 | 100 | ||
102 | ASSERT_RTNL(); | 101 | ASSERT_RTNL(); |
103 | 102 | ||
104 | /* we hold the RTNL here so can safely walk the list */ | 103 | /* we hold the RTNL here so can safely walk the list */ |
105 | list_for_each_entry(nsdata, &local->interfaces, list) { | 104 | list_for_each_entry(nsdata, &local->interfaces, list) { |
106 | struct net_device *ndev = nsdata->dev; | 105 | if (nsdata != sdata && ieee80211_sdata_running(nsdata)) { |
107 | |||
108 | if (ndev != dev && ieee80211_sdata_running(nsdata)) { | ||
109 | /* | 106 | /* |
110 | * Allow only a single IBSS interface to be up at any | 107 | * Allow only a single IBSS interface to be up at any |
111 | * time. This is restricted because beacon distribution | 108 | * time. This is restricted because beacon distribution |
@@ -124,7 +121,8 @@ static int ieee80211_check_concurrent_iface(struct ieee80211_sub_if_data *sdata, | |||
124 | * The remaining checks are only performed for interfaces | 121 | * The remaining checks are only performed for interfaces |
125 | * with the same MAC address. | 122 | * with the same MAC address. |
126 | */ | 123 | */ |
127 | if (!ether_addr_equal(dev->dev_addr, ndev->dev_addr)) | 124 | if (!ether_addr_equal(sdata->vif.addr, |
125 | nsdata->vif.addr)) | ||
128 | continue; | 126 | continue; |
129 | 127 | ||
130 | /* | 128 | /* |