diff options
Diffstat (limited to 'net/mac80211/iface.c')
| -rw-r--r-- | net/mac80211/iface.c | 23 |
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 | ||
| 814 | static const struct net_device_ops ieee80211_monitorif_ops = { | 809 | static 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; |
