summaryrefslogtreecommitdiff
path: root/drivers/staging/ath6kl/os
diff options
context:
space:
mode:
authorNaveen Singh <nsingh@atheros.com>2011-04-21 13:30:39 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2011-04-25 16:24:24 -0700
commit3c9d2f6c14ebbfdc97945f8f8c023f1fde86732b (patch)
tree95a0c9cbc1f8191972d60558c34c81eac28374a8 /drivers/staging/ath6kl/os
parent26e58b517487c30f8a7251a3ec76ec569588cc89 (diff)
ath6kl: fix scan operation while disconnect
If a scan operation is pending and in between a disconnect event is received from firmware the scan results never get sent back to cfg80211. This causes a scan failure and yields a device/resource busy state upon retries. If a disconnect event is received and scan is pending return the scan done to the cfg80211 to enable futher scans to be issued. Signed-off-by: Naveen Singh <nsingh@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/ath6kl/os')
-rw-r--r--drivers/staging/ath6kl/os/linux/cfg80211.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/staging/ath6kl/os/linux/cfg80211.c b/drivers/staging/ath6kl/os/linux/cfg80211.c
index 1f799c1d002b..d5e554ecf29c 100644
--- a/drivers/staging/ath6kl/os/linux/cfg80211.c
+++ b/drivers/staging/ath6kl/os/linux/cfg80211.c
@@ -627,6 +627,10 @@ ar6k_cfg80211_disconnect_event(struct ar6_softc *ar, u8 reason,
AR_DEBUG_PRINTF(ATH_DEBUG_INFO, ("%s: reason=%u\n", __func__, reason));
+ if (ar->scan_request) {
+ cfg80211_scan_done(ar->scan_request, true);
+ ar->scan_request = NULL;
+ }
if((ADHOC_NETWORK & ar->arNetworkType)) {
if(NL80211_IFTYPE_ADHOC != ar->wdev->iftype) {
AR_DEBUG_PRINTF(ATH_DEBUG_INFO,