aboutsummaryrefslogtreecommitdiffstats
path: root/net/ieee80211/softmac/ieee80211softmac_assoc.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ieee80211/softmac/ieee80211softmac_assoc.c')
-rw-r--r--net/ieee80211/softmac/ieee80211softmac_assoc.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/net/ieee80211/softmac/ieee80211softmac_assoc.c b/net/ieee80211/softmac/ieee80211softmac_assoc.c
index cf51c87a971d..614aa8d32985 100644
--- a/net/ieee80211/softmac/ieee80211softmac_assoc.c
+++ b/net/ieee80211/softmac/ieee80211softmac_assoc.c
@@ -427,6 +427,17 @@ ieee80211softmac_handle_assoc_response(struct net_device * dev,
427 return 0; 427 return 0;
428} 428}
429 429
430void
431ieee80211softmac_try_reassoc(struct ieee80211softmac_device *mac)
432{
433 unsigned long flags;
434
435 spin_lock_irqsave(&mac->lock, flags);
436 mac->associnfo.associating = 1;
437 schedule_work(&mac->associnfo.work);
438 spin_unlock_irqrestore(&mac->lock, flags);
439}
440
430int 441int
431ieee80211softmac_handle_disassoc(struct net_device * dev, 442ieee80211softmac_handle_disassoc(struct net_device * dev,
432 struct ieee80211_disassoc *disassoc) 443 struct ieee80211_disassoc *disassoc)
@@ -445,8 +456,7 @@ ieee80211softmac_handle_disassoc(struct net_device * dev,
445 dprintk(KERN_INFO PFX "got disassoc frame\n"); 456 dprintk(KERN_INFO PFX "got disassoc frame\n");
446 ieee80211softmac_disassoc(mac); 457 ieee80211softmac_disassoc(mac);
447 458
448 /* try to reassociate */ 459 ieee80211softmac_try_reassoc(mac);
449 schedule_work(&mac->associnfo.work);
450 460
451 return 0; 461 return 0;
452} 462}