diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-07-30 13:44:12 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-07-31 10:18:59 -0400 |
commit | c405c6298eacd423098afacf6020ddbda1b0378b (patch) | |
tree | e85dc0a9e88c041a7629c6e77e6e619bbe141704 /net/mac80211/iface.c | |
parent | 2d56577bc68e56097a1cd6599b678e8cab758e64 (diff) |
mac80211: manage carrier state in mesh
Instead of assuming the carrier is on all
the time in mesh manage it with joining
and leaving the mesh.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/iface.c')
-rw-r--r-- | net/mac80211/iface.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index fc8ba83e2c33..c65a03ba809f 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c | |||
@@ -539,12 +539,16 @@ static int ieee80211_do_open(struct net_device *dev, bool coming_up) | |||
539 | changed |= ieee80211_reset_erp_info(sdata); | 539 | changed |= ieee80211_reset_erp_info(sdata); |
540 | ieee80211_bss_info_change_notify(sdata, changed); | 540 | ieee80211_bss_info_change_notify(sdata, changed); |
541 | 541 | ||
542 | if (sdata->vif.type == NL80211_IFTYPE_STATION || | 542 | switch (sdata->vif.type) { |
543 | sdata->vif.type == NL80211_IFTYPE_ADHOC || | 543 | case NL80211_IFTYPE_STATION: |
544 | sdata->vif.type == NL80211_IFTYPE_AP) | 544 | case NL80211_IFTYPE_ADHOC: |
545 | case NL80211_IFTYPE_AP: | ||
546 | case NL80211_IFTYPE_MESH_POINT: | ||
545 | netif_carrier_off(dev); | 547 | netif_carrier_off(dev); |
546 | else | 548 | break; |
549 | default: | ||
547 | netif_carrier_on(dev); | 550 | netif_carrier_on(dev); |
551 | } | ||
548 | 552 | ||
549 | /* | 553 | /* |
550 | * set default queue parameters so drivers don't | 554 | * set default queue parameters so drivers don't |