diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-19 18:50:43 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-19 18:50:43 -0700 |
| commit | 2090af718014f3d434fb8b85b00eeea01ebcec19 (patch) | |
| tree | 97eb6e655a3c2d90c212de79b563fa35837a341f /net/ieee80211/softmac/ieee80211softmac_auth.c | |
| parent | 557240b48e2dc4f6fa878afc3fc767ad745ca7ed (diff) | |
| parent | 4b6ace7f02cddb8c363ad27bb1e5014c6791e34a (diff) | |
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (166 commits)
[PATCH] net: au1000_eth: PHY framework conversion
[PATCH] 3c5zz ethernet: fix section warnings
[PATCH] smc ethernet: fix section mismatch warnings
[PATCH] hp ethernet: fix section mismatches
[PATCH] Section mismatch in drivers/net/ne.o during modpost
[PATCH] e1000: prevent statistics from getting garbled during reset
[PATCH] smc911x Kconfig fix
[PATCH] forcedeth: new device ids
[PATCH] forcedeth config: version
[PATCH] forcedeth config: module parameters
[PATCH] forcedeth config: diagnostics
[PATCH] forcedeth config: move functions
[PATCH] forcedeth config: statistics
[PATCH] forcedeth config: csum
[PATCH] forcedeth config: wol
[PATCH] forcedeth config: phy
[PATCH] forcedeth config: flow control
[PATCH] forcedeth config: ring sizes
[PATCH] forcedeth config: tso cleanup
[DOC] Update bonding documentation with sysfs info
...
Diffstat (limited to 'net/ieee80211/softmac/ieee80211softmac_auth.c')
| -rw-r--r-- | net/ieee80211/softmac/ieee80211softmac_auth.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/net/ieee80211/softmac/ieee80211softmac_auth.c b/net/ieee80211/softmac/ieee80211softmac_auth.c index 06e332624665..90b8484e509b 100644 --- a/net/ieee80211/softmac/ieee80211softmac_auth.c +++ b/net/ieee80211/softmac/ieee80211softmac_auth.c @@ -107,6 +107,7 @@ ieee80211softmac_auth_queue(void *data) printkl(KERN_WARNING PFX "Authentication timed out with "MAC_FMT"\n", MAC_ARG(net->bssid)); /* Remove this item from the queue */ spin_lock_irqsave(&mac->lock, flags); + net->authenticating = 0; ieee80211softmac_call_events_locked(mac, IEEE80211SOFTMAC_EVENT_AUTH_TIMEOUT, net); cancel_delayed_work(&auth->work); /* just to make sure... */ list_del(&auth->list); @@ -212,13 +213,13 @@ ieee80211softmac_auth_resp(struct net_device *dev, struct ieee80211_auth *auth) aq->state = IEEE80211SOFTMAC_AUTH_SHARED_RESPONSE; spin_unlock_irqrestore(&mac->lock, flags); - /* Switch to correct channel for this network */ - mac->set_channel(mac->dev, net->channel); - - /* Send our response (How to encrypt?) */ + /* Send our response */ ieee80211softmac_send_mgt_frame(mac, aq->net, IEEE80211_STYPE_AUTH, aq->state); - break; + return 0; case IEEE80211SOFTMAC_AUTH_SHARED_PASS: + kfree(net->challenge); + net->challenge = NULL; + net->challenge_len = 0; /* Check the status code of the response */ switch(auth->status) { case WLAN_STATUS_SUCCESS: @@ -229,6 +230,7 @@ ieee80211softmac_auth_resp(struct net_device *dev, struct ieee80211_auth *auth) spin_unlock_irqrestore(&mac->lock, flags); printkl(KERN_NOTICE PFX "Shared Key Authentication completed with "MAC_FMT"\n", MAC_ARG(net->bssid)); + ieee80211softmac_call_events(mac, IEEE80211SOFTMAC_EVENT_AUTHENTICATED, net); break; default: printkl(KERN_NOTICE PFX "Shared Key Authentication with "MAC_FMT" failed, error code: %i\n", @@ -279,6 +281,9 @@ ieee80211softmac_deauth_from_net(struct ieee80211softmac_device *mac, struct list_head *list_ptr; unsigned long flags; + /* deauthentication implies disassociation */ + ieee80211softmac_disassoc(mac); + /* Lock and reset status flags */ spin_lock_irqsave(&mac->lock, flags); net->authenticating = 0; |
