summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomson Kang <thomson.kang@broadcom.corp-partner.google.com>2020-08-28 14:00:58 +0900
committerAhmed ElArabawy <arabawy@google.com>2020-09-08 19:47:03 -0700
commit23754b98678e9621e0d4b3ec4be248ead5346e99 (patch)
tree6a95278670ecc9584c94924508a9f1d4d1d4f331
parentd138f50ff91889f3305f1f00ee91eea9c920b37f (diff)
downloadbcm43752-23754b98678e9621e0d4b3ec4be248ead5346e99.tar.gz
bcmdhd: Fixed the ASSERT issue for happening timeout.
issues) 1. Didn't clear SCANNING bit after scan timeout. 2. Didn't clear DHD_BUS_BUSY_IN_NAPI bit. fixed) 1. Added clear SCANNING bit in wl_scan_timeout. 2. Added clear DHD_BUS_BUSY_IN_NAPI in interface down routin. Becuase, somtimes didn't schedule npi_poll deu to disable npi so cleariing bit after disable npai. Bug: 166182383 Test: WiFi basic function works fine. Signed-off-by: Thomson Kang <thomson.kang@broadcom.corp-partner.google.com> Change-Id: I46a09c4fe6234695926a866179e4ad6d73c60f53
-rwxr-xr-xdhd_linux.c3
-rwxr-xr-xwl_cfgscan.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/dhd_linux.c b/dhd_linux.c
index 9310979..63c6432 100755
--- a/dhd_linux.c
+++ b/dhd_linux.c
@@ -7114,6 +7114,9 @@ dhd_stop(struct net_device *net)
skb_queue_purge(&dhd->rx_napi_queue);
napi_disable(&dhd->rx_napi_struct);
netif_napi_del(&dhd->rx_napi_struct);
+ DHD_GENERAL_LOCK(&dhd->pub, flags);
+ DHD_BUS_BUSY_CLEAR_IN_NAPI(&dhd->pub);
+ DHD_GENERAL_UNLOCK(&dhd->pub, flags);
dhd->rx_napi_netdev = NULL;
}
#endif /* DHD_LB_RXP */
diff --git a/wl_cfgscan.c b/wl_cfgscan.c
index c7fcb49..b757666 100755
--- a/wl_cfgscan.c
+++ b/wl_cfgscan.c
@@ -3778,6 +3778,8 @@ static void wl_scan_timeout(unsigned long data)
*/
dhdp->scan_timeout_occurred = FALSE;
#endif /* DHD_FW_COREDUMP */
+ wl_clr_drv_status(cfg, SCANNING, ndev);
+
msg.event_type = hton32(WLC_E_ESCAN_RESULT);
msg.status = hton32(WLC_E_STATUS_TIMEOUT);
msg.reason = 0xFFFFFFFF;