From: Larry Finger <Larry.Finger@lwfinger.net> To: John Linville <linville@tuxdriver.com> Cc: Michael Buesch <mb@bu3sch.de>, netdev@vger.kernel.org, Bcm43xx-dev@lists.berlios.de, linux-wireless@vger.kernel.org Subject: [PATCH] bcm43xx: Fix loss of association after resume Date: Fri, 09 Feb 2007 10:18:03 -0600 [thread overview] Message-ID: <45cc9ebb.+9O/IXvs/C9RyFnk%Larry.Finger@lwfinger.net> (raw) After a suspend/resume cycle, bcm43xx-softmac has lost its association with the AP and requires manual intervention. This situation is fixed by making one of softmac's internal routines public and calling it. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> --- Index: linux-2.6/drivers/net/wireless/bcm43xx/bcm43xx_main.c =================================================================== --- linux-2.6.orig/drivers/net/wireless/bcm43xx/bcm43xx_main.c +++ linux-2.6/drivers/net/wireless/bcm43xx/bcm43xx_main.c @@ -4278,6 +4278,7 @@ static int bcm43xx_resume(struct pci_dev { struct net_device *net_dev = pci_get_drvdata(pdev); struct bcm43xx_private *bcm = bcm43xx_priv(net_dev); + struct ieee80211softmac_device *mac = ieee80211_priv(net_dev); int err = 0; dprintk(KERN_INFO PFX "Resuming...\n"); @@ -4299,6 +4300,9 @@ static int bcm43xx_resume(struct pci_dev } netif_device_attach(net_dev); + if (mac->associnfo.associated) + ieee80211softmac_try_reassoc(mac); + dprintk(KERN_INFO PFX "Device resumed.\n"); return 0; Index: linux-2.6/include/net/ieee80211softmac.h =================================================================== --- linux-2.6.orig/include/net/ieee80211softmac.h +++ linux-2.6/include/net/ieee80211softmac.h @@ -254,6 +254,7 @@ struct ieee80211softmac_device { }; extern void ieee80211softmac_scan_finished(struct ieee80211softmac_device *sm); +extern void ieee80211softmac_try_reassoc(struct ieee80211softmac_device *mac); static inline void * ieee80211softmac_priv(struct net_device *dev) { Index: linux-2.6/net/ieee80211/softmac/ieee80211softmac_assoc.c =================================================================== --- linux-2.6.orig/net/ieee80211/softmac/ieee80211softmac_assoc.c +++ linux-2.6/net/ieee80211/softmac/ieee80211softmac_assoc.c @@ -441,6 +441,7 @@ ieee80211softmac_try_reassoc(struct ieee schedule_delayed_work(&mac->associnfo.work, 0); spin_unlock_irqrestore(&mac->lock, flags); } +EXPORT_SYMBOL_GPL(ieee80211softmac_try_reassoc); int ieee80211softmac_handle_disassoc(struct net_device * dev,
WARNING: multiple messages have this Message-ID
From: Larry Finger <Larry.Finger-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org> To: John Linville <linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org> Cc: netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Bcm43xx-dev-0fE9KPoRgkgATYTw5x5z8w@public.gmane.org, Michael Buesch <mb-fseUSCV1ubazQB+pC5nmwQ@public.gmane.org> Subject: [PATCH] bcm43xx: Fix loss of association after resume Date: Fri, 09 Feb 2007 10:18:03 -0600 [thread overview] Message-ID: <45cc9ebb.+9O/IXvs/C9RyFnk%Larry.Finger@lwfinger.net> (raw) After a suspend/resume cycle, bcm43xx-softmac has lost its association with the AP and requires manual intervention. This situation is fixed by making one of softmac's internal routines public and calling it. Signed-off-by: Larry Finger <Larry.Finger-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org> --- Index: linux-2.6/drivers/net/wireless/bcm43xx/bcm43xx_main.c =================================================================== --- linux-2.6.orig/drivers/net/wireless/bcm43xx/bcm43xx_main.c +++ linux-2.6/drivers/net/wireless/bcm43xx/bcm43xx_main.c @@ -4278,6 +4278,7 @@ static int bcm43xx_resume(struct pci_dev { struct net_device *net_dev = pci_get_drvdata(pdev); struct bcm43xx_private *bcm = bcm43xx_priv(net_dev); + struct ieee80211softmac_device *mac = ieee80211_priv(net_dev); int err = 0; dprintk(KERN_INFO PFX "Resuming...\n"); @@ -4299,6 +4300,9 @@ static int bcm43xx_resume(struct pci_dev } netif_device_attach(net_dev); + if (mac->associnfo.associated) + ieee80211softmac_try_reassoc(mac); + dprintk(KERN_INFO PFX "Device resumed.\n"); return 0; Index: linux-2.6/include/net/ieee80211softmac.h =================================================================== --- linux-2.6.orig/include/net/ieee80211softmac.h +++ linux-2.6/include/net/ieee80211softmac.h @@ -254,6 +254,7 @@ struct ieee80211softmac_device { }; extern void ieee80211softmac_scan_finished(struct ieee80211softmac_device *sm); +extern void ieee80211softmac_try_reassoc(struct ieee80211softmac_device *mac); static inline void * ieee80211softmac_priv(struct net_device *dev) { Index: linux-2.6/net/ieee80211/softmac/ieee80211softmac_assoc.c =================================================================== --- linux-2.6.orig/net/ieee80211/softmac/ieee80211softmac_assoc.c +++ linux-2.6/net/ieee80211/softmac/ieee80211softmac_assoc.c @@ -441,6 +441,7 @@ ieee80211softmac_try_reassoc(struct ieee schedule_delayed_work(&mac->associnfo.work, 0); spin_unlock_irqrestore(&mac->lock, flags); } +EXPORT_SYMBOL_GPL(ieee80211softmac_try_reassoc); int ieee80211softmac_handle_disassoc(struct net_device * dev,
next reply other threads:[~2007-02-09 16:19 UTC|newest] Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top 2007-02-09 16:18 Larry Finger [this message] 2007-02-09 16:18 ` Larry Finger 2007-02-09 16:53 ` Michael Buesch 2007-02-09 16:53 ` Michael Buesch 2007-02-10 17:11 ` Rafael J. Wysocki 2007-02-10 17:11 ` Rafael J. Wysocki 2007-02-10 20:33 ` Larry Finger 2007-02-11 12:56 ` Rafael J. Wysocki 2007-02-11 13:07 ` Michael Buesch 2007-02-11 14:02 ` Rafael J. Wysocki 2007-02-11 14:14 ` Michael Buesch 2007-02-11 14:41 ` Johannes Berg 2007-02-11 14:45 ` Rafael J. Wysocki 2007-02-11 14:48 ` Johannes Berg 2007-02-11 15:59 ` Larry Finger 2007-02-11 16:03 ` Michael Buesch 2007-02-11 16:16 ` Michael Buesch 2007-02-11 16:17 ` Larry Finger 2007-02-12 0:50 ` Rafael J. Wysocki 2007-02-12 1:18 ` Larry Finger 2007-02-12 20:48 ` Rafael J. Wysocki 2007-02-12 22:20 ` Larry Finger 2007-02-12 23:08 ` Rafael J. Wysocki 2007-02-12 23:18 ` Larry Finger 2007-02-12 23:24 ` Michael Buesch 2007-02-13 16:25 ` Rafael J. Wysocki
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=45cc9ebb.+9O/IXvs/C9RyFnk%Larry.Finger@lwfinger.net \ --to=larry.finger@lwfinger.net \ --cc=Bcm43xx-dev@lists.berlios.de \ --cc=linux-wireless@vger.kernel.org \ --cc=linville@tuxdriver.com \ --cc=mb@bu3sch.de \ --cc=netdev@vger.kernel.org \ --subject='Re: [PATCH] bcm43xx: Fix loss of association after resume' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.