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 08386c102954..eec1a1dd91da 100644
--- a/net/ieee80211/softmac/ieee80211softmac_assoc.c
+++ b/net/ieee80211/softmac/ieee80211softmac_assoc.c
@@ -431,6 +431,17 @@ ieee80211softmac_handle_assoc_response(struct net_device * dev,
431 return 0; 431 return 0;
432} 432}
433 433
434void
435ieee80211softmac_try_reassoc(struct ieee80211softmac_device *mac)
436{
437 unsigned long flags;
438
439 spin_lock_irqsave(&mac->lock, flags);
440 mac->associnfo.associating = 1;
441 schedule_work(&mac->associnfo.work);
442 spin_unlock_irqrestore(&mac->lock, flags);
443}
444
434int 445int
435ieee80211softmac_handle_disassoc(struct net_device * dev, 446ieee80211softmac_handle_disassoc(struct net_device * dev,
436 struct ieee80211_disassoc *disassoc) 447 struct ieee80211_disassoc *disassoc)
@@ -449,8 +460,7 @@ ieee80211softmac_handle_disassoc(struct net_device * dev,
449 dprintk(KERN_INFO PFX "got disassoc frame\n"); 460 dprintk(KERN_INFO PFX "got disassoc frame\n");
450 ieee80211softmac_disassoc(mac); 461 ieee80211softmac_disassoc(mac);
451 462
452 /* try to reassociate */ 463 ieee80211softmac_try_reassoc(mac);
453 schedule_delayed_work(&mac->associnfo.work, 0);
454 464
455 return 0; 465 return 0;
456} 466}