aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuuso Oikarinen <juuso.oikarinen@nokia.com>2010-09-30 04:43:27 -0400
committerLuciano Coelho <luciano.coelho@nokia.com>2010-10-05 09:27:42 -0400
commitd25611da0c75c4b0f72c73d66887d0470aacef40 (patch)
tree398e8a3286718a02d0ab58ce9e8d6f5b813a4fae
parent117b38d0b9d3efb0adc3e636e73fc67bb53a13d1 (diff)
wl1271: Indicate disconnection on hardware failure
In the event of a hardware failure, reconfiguring a live connection back with the wl1271 chip does not work as expected. The chip has management features which require setting up the association from scratch to work correctly. To ensure this is done every time, in managed mode, when associated, indicate connection loss to the mac80211 before asking to reconfigure the hardware. Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com> Tested-by: Tuomas Katila <ext-tuomas.2.katila@nokia.com> Reviewed-by: Luciano Coelho <luciano.coelho@nokia.com> Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
-rw-r--r--drivers/net/wireless/wl12xx/wl1271_main.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1271_main.c b/drivers/net/wireless/wl12xx/wl1271_main.c
index 760a5814d4a4..d826b6684e39 100644
--- a/drivers/net/wireless/wl12xx/wl1271_main.c
+++ b/drivers/net/wireless/wl12xx/wl1271_main.c
@@ -636,6 +636,9 @@ static void wl1271_recovery_work(struct work_struct *work)
636 636
637 wl1271_info("Hardware recovery in progress."); 637 wl1271_info("Hardware recovery in progress.");
638 638
639 if (test_bit(WL1271_FLAG_STA_ASSOCIATED, &wl->flags))
640 ieee80211_connection_loss(wl->vif);
641
639 /* reboot the chipset */ 642 /* reboot the chipset */
640 __wl1271_op_remove_interface(wl); 643 __wl1271_op_remove_interface(wl);
641 ieee80211_restart_hw(wl->hw); 644 ieee80211_restart_hw(wl->hw);