]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
Net:bcmdhd: Fix persistent scan failures
authornagaraj <nannaiah@nvidia.com>
Sat, 15 Aug 2015 02:44:15 +0000 (19:44 -0700)
committermobile promotions <svcmobile_promotions@nvidia.com>
Sat, 5 Sep 2015 00:40:55 +0000 (17:40 -0700)
Handle escan failure from firmware and
reduce scan retry count for faster recovery.

Bug 200130449

Change-Id: I758d85a4544b0752d883cf997e5b0509ce45a625
Signed-off-by: nagaraj <nannaiah@nvidia.com>
Reviewed-on: http://git-master/r/783962
Reviewed-by: Michael Hsu <mhsu@nvidia.com>
Tested-by: Michael Hsu <mhsu@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
Reviewed-on: http://git-master/r/788301
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
drivers/net/wireless/bcmdhd/wl_cfg80211.c

index 28a24b59e6d26d512729e861c1e843ee987af7e7..e349b0fe723cc1565a683ec5a218ca2a3ee78172 100644 (file)
@@ -2762,7 +2762,7 @@ scan_out:
                err = -EBUSY;
        }
 
-#define SCAN_EBUSY_RETRY_LIMIT 10
+#define SCAN_EBUSY_RETRY_LIMIT 1
        if (err == -EBUSY) {
                if (busy_count++ > SCAN_EBUSY_RETRY_LIMIT) {
                        struct ether_addr bssid;
@@ -2798,6 +2798,10 @@ scan_out:
        if (timer_pending(&cfg->scan_timeout))
                del_timer_sync(&cfg->scan_timeout);
        spin_lock_irqsave(&cfg->cfgdrv_lock, flags);
+#ifdef CONFIG_BCMDHD_CUSTOM_SYSFS_TEGRA
+       TEGRA_SCAN_DONE(cfg->scan_request, true)
+       skip_cfg80211_scan_done: ;
+#endif
        cfg->scan_request = NULL;
        spin_unlock_irqrestore(&cfg->cfgdrv_lock, flags);