aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/iface.c8
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 /*