aboutsummaryrefslogtreecommitdiff
path: root/net/ieee80211/softmac
diff options
context:
space:
mode:
Diffstat (limited to 'net/ieee80211/softmac')
-rw-r--r--net/ieee80211/softmac/ieee80211softmac_assoc.c4
-rw-r--r--net/ieee80211/softmac/ieee80211softmac_auth.c2
-rw-r--r--net/ieee80211/softmac/ieee80211softmac_module.c15
3 files changed, 6 insertions, 15 deletions
diff --git a/net/ieee80211/softmac/ieee80211softmac_assoc.c b/net/ieee80211/softmac/ieee80211softmac_assoc.c
index 98487448f2d..085022fd23c 100644
--- a/net/ieee80211/softmac/ieee80211softmac_assoc.c
+++ b/net/ieee80211/softmac/ieee80211softmac_assoc.c
@@ -268,7 +268,7 @@ ieee80211softmac_associated(struct ieee80211softmac_device *mac,
if (mac->set_bssid_filter)
mac->set_bssid_filter(mac->dev, net->bssid);
memcpy(mac->ieee->bssid, net->bssid, ETH_ALEN);
- mac->dev->flags |= IFF_RUNNING;
+ netif_carrier_on(mac->dev);
mac->association_id = le16_to_cpup(&resp->aid);
}
@@ -346,7 +346,7 @@ ieee80211softmac_handle_disassoc(struct net_device * dev,
struct ieee80211softmac_device *mac = ieee80211_priv(dev);
unsigned long flags;
dprintk(KERN_INFO PFX "got disassoc frame\n");
-
+ netif_carrier_off(dev);
spin_lock_irqsave(&mac->lock, flags);
mac->associnfo.bssvalid = 0;
mac->associated = 0;
diff --git a/net/ieee80211/softmac/ieee80211softmac_auth.c b/net/ieee80211/softmac/ieee80211softmac_auth.c
index 5a773528110..6eab2be9187 100644
--- a/net/ieee80211/softmac/ieee80211softmac_auth.c
+++ b/net/ieee80211/softmac/ieee80211softmac_auth.c
@@ -278,6 +278,8 @@ ieee80211softmac_deauth_from_net(struct ieee80211softmac_device *mac,
kfree(net->challenge);
kfree(net);
+ /* can't transmit data right now... */
+ netif_carrier_off(mac->dev);
/* let's try to re-associate */
schedule_work(&mac->associnfo.work);
spin_unlock_irqrestore(&mac->lock, flags);
diff --git a/net/ieee80211/softmac/ieee80211softmac_module.c b/net/ieee80211/softmac/ieee80211softmac_module.c
index 79ef959a2c1..ea4a19e1122 100644
--- a/net/ieee80211/softmac/ieee80211softmac_module.c
+++ b/net/ieee80211/softmac/ieee80211softmac_module.c
@@ -40,21 +40,10 @@ struct net_device *alloc_ieee80211softmac(int sizeof_priv)
softmac->txrates.default_rate = IEEE80211_CCK_RATE_1MB;
softmac->txrates.default_fallback = IEEE80211_CCK_RATE_1MB;
- /* should we also assign softmac->mgmt_xmit here so
- * that it is always valid? If so, we probably want
- * to define a new function for that which just
- * wraps ieee80211_tx_frame
- */
+ /* to start with, we can't send anything ... */
+ netif_carrier_off(dev);
- /* until associated, we're not ready */
- dev->flags &= ~IFF_RUNNING;
-
return dev;
-
-err_free_ieee80211:
- free_ieee80211(dev);
-
- return NULL;
}
/* Clears the pending work queue items, stops all scans, etc. */