From 554899595c018f4075db6f3a3d0f0221ceaec053 Mon Sep 17 00:00:00 2001 From: Yuanyuan Liu Date: Thu, 30 Nov 2017 11:11:42 -0800 Subject: icnss: Reject register_driver request when WLAN FW is down Reject regsiter_driver request when WLAN FW is already down as WLAN FW is in a bad state and can't communicate with host driver. Change-Id: I57ba839101f5c0a361e74060b18b45f87c71634c CRs-Fixed: 2151726 Signed-off-by: Yuanyuan Liu --- drivers/soc/qcom/icnss.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/soc/qcom/icnss.c b/drivers/soc/qcom/icnss.c index 73d6bea83b95..e7f83ed1307b 100644 --- a/drivers/soc/qcom/icnss.c +++ b/drivers/soc/qcom/icnss.c @@ -2246,6 +2246,12 @@ static int icnss_driver_event_register_driver(void *data) if (test_bit(SKIP_QMI, &quirks)) set_bit(ICNSS_FW_READY, &penv->state); + if (test_bit(ICNSS_FW_DOWN, &penv->state)) { + icnss_pr_err("FW is in bad state, state: 0x%lx\n", + penv->state); + return -ENODEV; + } + if (!test_bit(ICNSS_FW_READY, &penv->state)) { icnss_pr_dbg("FW is not ready yet, state: 0x%lx\n", penv->state); -- cgit v1.2.3