From: Naveen Singh Date: Thu, 21 Apr 2011 20:30:39 +0000 (-0700) Subject: ath6kl: fix scan operation while disconnect X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=3c9d2f6c14ebbfdc97945f8f8c023f1fde86732b;p=mv-sheeva.git 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 Signed-off-by: Luis R. Rodriguez Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/ath6kl/os/linux/cfg80211.c b/drivers/staging/ath6kl/os/linux/cfg80211.c index 1f799c1d002..d5e554ecf29 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,