diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2006-01-06 12:11:23 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2006-03-22 22:16:52 -0500 |
commit | 2dd50801b3ac95988bd5789e4ec576f3480ecc59 (patch) | |
tree | 462bcac55a35cc701f7e56000df433bdaba270ee | |
parent | 5c4df6da580b9317dc0856e235232b95cbc8251c (diff) |
[PATCH] softmac: correctly use netif_carrier_{on,off}
TODO: add callbacks for ifup/ifdown (see mailing list)
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | net/ieee80211/softmac/ieee80211softmac_assoc.c | 4 | ||||
-rw-r--r-- | net/ieee80211/softmac/ieee80211softmac_auth.c | 2 | ||||
-rw-r--r-- | net/ieee80211/softmac/ieee80211softmac_module.c | 15 |
3 files changed, 6 insertions, 15 deletions
diff --git a/net/ieee80211/softmac/ieee80211softmac_assoc.c b/net/ieee80211/softmac/ieee80211softmac_assoc.c index 98487448f2d3..085022fd23c0 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, | |||
268 | if (mac->set_bssid_filter) | 268 | if (mac->set_bssid_filter) |
269 | mac->set_bssid_filter(mac->dev, net->bssid); | 269 | mac->set_bssid_filter(mac->dev, net->bssid); |
270 | memcpy(mac->ieee->bssid, net->bssid, ETH_ALEN); | 270 | memcpy(mac->ieee->bssid, net->bssid, ETH_ALEN); |
271 | mac->dev->flags |= IFF_RUNNING; | 271 | netif_carrier_on(mac->dev); |
272 | 272 | ||
273 | mac->association_id = le16_to_cpup(&resp->aid); | 273 | mac->association_id = le16_to_cpup(&resp->aid); |
274 | } | 274 | } |
@@ -346,7 +346,7 @@ ieee80211softmac_handle_disassoc(struct net_device * dev, | |||
346 | struct ieee80211softmac_device *mac = ieee80211_priv(dev); | 346 | struct ieee80211softmac_device *mac = ieee80211_priv(dev); |
347 | unsigned long flags; | 347 | unsigned long flags; |
348 | dprintk(KERN_INFO PFX "got disassoc frame\n"); | 348 | dprintk(KERN_INFO PFX "got disassoc frame\n"); |
349 | 349 | netif_carrier_off(dev); | |
350 | spin_lock_irqsave(&mac->lock, flags); | 350 | spin_lock_irqsave(&mac->lock, flags); |
351 | mac->associnfo.bssvalid = 0; | 351 | mac->associnfo.bssvalid = 0; |
352 | mac->associated = 0; | 352 | mac->associated = 0; |
diff --git a/net/ieee80211/softmac/ieee80211softmac_auth.c b/net/ieee80211/softmac/ieee80211softmac_auth.c index 5a773528110f..6eab2be91870 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, | |||
278 | kfree(net->challenge); | 278 | kfree(net->challenge); |
279 | kfree(net); | 279 | kfree(net); |
280 | 280 | ||
281 | /* can't transmit data right now... */ | ||
282 | netif_carrier_off(mac->dev); | ||
281 | /* let's try to re-associate */ | 283 | /* let's try to re-associate */ |
282 | schedule_work(&mac->associnfo.work); | 284 | schedule_work(&mac->associnfo.work); |
283 | spin_unlock_irqrestore(&mac->lock, flags); | 285 | spin_unlock_irqrestore(&mac->lock, flags); |
diff --git a/net/ieee80211/softmac/ieee80211softmac_module.c b/net/ieee80211/softmac/ieee80211softmac_module.c index 79ef959a2c11..ea4a19e1122c 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) | |||
40 | softmac->txrates.default_rate = IEEE80211_CCK_RATE_1MB; | 40 | softmac->txrates.default_rate = IEEE80211_CCK_RATE_1MB; |
41 | softmac->txrates.default_fallback = IEEE80211_CCK_RATE_1MB; | 41 | softmac->txrates.default_fallback = IEEE80211_CCK_RATE_1MB; |
42 | 42 | ||
43 | /* should we also assign softmac->mgmt_xmit here so | 43 | /* to start with, we can't send anything ... */ |
44 | * that it is always valid? If so, we probably want | 44 | netif_carrier_off(dev); |
45 | * to define a new function for that which just | ||
46 | * wraps ieee80211_tx_frame | ||
47 | */ | ||
48 | 45 | ||
49 | /* until associated, we're not ready */ | ||
50 | dev->flags &= ~IFF_RUNNING; | ||
51 | |||
52 | return dev; | 46 | return dev; |
53 | |||
54 | err_free_ieee80211: | ||
55 | free_ieee80211(dev); | ||
56 | |||
57 | return NULL; | ||
58 | } | 47 | } |
59 | 48 | ||
60 | /* Clears the pending work queue items, stops all scans, etc. */ | 49 | /* Clears the pending work queue items, stops all scans, etc. */ |