From a48fd7791b0677cf15afda364b8848be8c3e76ce Mon Sep 17 00:00:00 2001 From: Nachiket Kukade Date: Fri, 28 Jul 2017 18:48:57 +0530 Subject: [PATCH] qcacld-3.0: Do not BUG_ON during peer unmap timeout if FW is down During peer detach, driver starts a timer to track unmap events when the sta peer gets deleted. During this duration SSR occurs and BUG_ON or cds recovery is triggered. This should only happen in non-recoverable situation, so this scenario should be avoided. Allow driver to recover from the SSR by checking FW_DOWN bit. Change-Id: Ieca407e5c9c30f3c4716b7d158a903add46b8bd6 CRs-Fixed: 2078395 --- core/dp/txrx/ol_txrx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/dp/txrx/ol_txrx.c b/core/dp/txrx/ol_txrx.c index 8d1334e198..d7c9b330e7 100644 --- a/core/dp/txrx/ol_txrx.c +++ b/core/dp/txrx/ol_txrx.c @@ -3433,7 +3433,7 @@ void peer_unmap_timer_handler(void *data) peer->mac_addr.raw[0], peer->mac_addr.raw[1], peer->mac_addr.raw[2], peer->mac_addr.raw[3], peer->mac_addr.raw[4], peer->mac_addr.raw[5]); - if (!cds_is_driver_recovering()) { + if (!cds_is_driver_recovering() && !cds_is_fw_down()) { qdf_create_work(0, &txrx_pdev->peer_unmap_timer_work, peer_unmap_timer_work_function, NULL);