aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/iface.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/iface.c')
-rw-r--r--net/mac80211/iface.c23
1 files changed, 5 insertions, 18 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index 87aeb4f21ffd..58c2ab3d483a 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -57,9 +57,6 @@ static int ieee80211_change_mtu(struct net_device *dev, int new_mtu)
57 return -EINVAL; 57 return -EINVAL;
58 } 58 }
59 59
60#ifdef CONFIG_MAC80211_VERBOSE_DEBUG
61 pr_debug("%s: setting MTU %d\n", dev->name, new_mtu);
62#endif /* CONFIG_MAC80211_VERBOSE_DEBUG */
63 dev->mtu = new_mtu; 60 dev->mtu = new_mtu;
64 return 0; 61 return 0;
65} 62}
@@ -100,15 +97,12 @@ static int ieee80211_check_concurrent_iface(struct ieee80211_sub_if_data *sdata,
100{ 97{
101 struct ieee80211_local *local = sdata->local; 98 struct ieee80211_local *local = sdata->local;
102 struct ieee80211_sub_if_data *nsdata; 99 struct ieee80211_sub_if_data *nsdata;
103 struct net_device *dev = sdata->dev;
104 100
105 ASSERT_RTNL(); 101 ASSERT_RTNL();
106 102
107 /* we hold the RTNL here so can safely walk the list */ 103 /* we hold the RTNL here so can safely walk the list */
108 list_for_each_entry(nsdata, &local->interfaces, list) { 104 list_for_each_entry(nsdata, &local->interfaces, list) {
109 struct net_device *ndev = nsdata->dev; 105 if (nsdata != sdata && ieee80211_sdata_running(nsdata)) {
110
111 if (ndev != dev && ieee80211_sdata_running(nsdata)) {
112 /* 106 /*
113 * Allow only a single IBSS interface to be up at any 107 * Allow only a single IBSS interface to be up at any
114 * time. This is restricted because beacon distribution 108 * time. This is restricted because beacon distribution
@@ -127,7 +121,8 @@ static int ieee80211_check_concurrent_iface(struct ieee80211_sub_if_data *sdata,
127 * The remaining checks are only performed for interfaces 121 * The remaining checks are only performed for interfaces
128 * with the same MAC address. 122 * with the same MAC address.
129 */ 123 */
130 if (!ether_addr_equal(dev->dev_addr, ndev->dev_addr)) 124 if (!ether_addr_equal(sdata->vif.addr,
125 nsdata->vif.addr))
131 continue; 126 continue;
132 127
133 /* 128 /*
@@ -808,7 +803,7 @@ static u16 ieee80211_monitor_select_queue(struct net_device *dev,
808 803
809 hdr = (void *)((u8 *)skb->data + le16_to_cpu(rtap->it_len)); 804 hdr = (void *)((u8 *)skb->data + le16_to_cpu(rtap->it_len));
810 805
811 return ieee80211_select_queue_80211(local, skb, hdr); 806 return ieee80211_select_queue_80211(sdata, skb, hdr);
812} 807}
813 808
814static const struct net_device_ops ieee80211_monitorif_ops = { 809static const struct net_device_ops ieee80211_monitorif_ops = {
@@ -1223,7 +1218,7 @@ static void ieee80211_assign_perm_addr(struct ieee80211_local *local,
1223 1218
1224 if (__ffs64(mask) + hweight64(mask) != fls64(mask)) { 1219 if (__ffs64(mask) + hweight64(mask) != fls64(mask)) {
1225 /* not a contiguous mask ... not handled now! */ 1220 /* not a contiguous mask ... not handled now! */
1226 pr_debug("not contiguous\n"); 1221 pr_info("not contiguous\n");
1227 break; 1222 break;
1228 } 1223 }
1229 1224
@@ -1414,10 +1409,6 @@ static u32 ieee80211_idle_off(struct ieee80211_local *local,
1414 if (!(local->hw.conf.flags & IEEE80211_CONF_IDLE)) 1409 if (!(local->hw.conf.flags & IEEE80211_CONF_IDLE))
1415 return 0; 1410 return 0;
1416 1411
1417#ifdef CONFIG_MAC80211_VERBOSE_DEBUG
1418 wiphy_debug(local->hw.wiphy, "device no longer idle - %s\n", reason);
1419#endif
1420
1421 local->hw.conf.flags &= ~IEEE80211_CONF_IDLE; 1412 local->hw.conf.flags &= ~IEEE80211_CONF_IDLE;
1422 return IEEE80211_CONF_CHANGE_IDLE; 1413 return IEEE80211_CONF_CHANGE_IDLE;
1423} 1414}
@@ -1427,10 +1418,6 @@ static u32 ieee80211_idle_on(struct ieee80211_local *local)
1427 if (local->hw.conf.flags & IEEE80211_CONF_IDLE) 1418 if (local->hw.conf.flags & IEEE80211_CONF_IDLE)
1428 return 0; 1419 return 0;
1429 1420
1430#ifdef CONFIG_MAC80211_VERBOSE_DEBUG
1431 wiphy_debug(local->hw.wiphy, "device now idle\n");
1432#endif
1433
1434 drv_flush(local, false); 1421 drv_flush(local, false);
1435 1422
1436 local->hw.conf.flags |= IEEE80211_CONF_IDLE; 1423 local->hw.conf.flags |= IEEE80211_CONF_IDLE;