diff options
author | Thomson Kang <thomson.kang@broadcom.corp-partner.google.com> | 2020-08-28 14:00:58 +0900 |
---|---|---|
committer | Ahmed ElArabawy <arabawy@google.com> | 2020-09-08 19:47:03 -0700 |
commit | 23754b98678e9621e0d4b3ec4be248ead5346e99 (patch) | |
tree | 6a95278670ecc9584c94924508a9f1d4d1d4f331 | |
parent | d138f50ff91889f3305f1f00ee91eea9c920b37f (diff) | |
download | bcm43752-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-x | dhd_linux.c | 3 | ||||
-rwxr-xr-x | wl_cfgscan.c | 2 |
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; |