Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5d208dc2 authored by Hardik Kantilal Patel's avatar Hardik Kantilal Patel Committed by Gerrit - the friendly Code Review server
Browse files

icnss: block modem shutdown during driver remove



During WLAN driver remove sequence host is removing allocated
copy engine buffer while at the same time modem graceful shutdown occurs
then host is not sending WMI PDEV suspend command to FW. Due to
this still WLAN FW can access the host buffer which already
freed by host driver which lead to stability issue.

To address this defer modem graceful shutdown during driver remove.

Change-Id: If7be3e6fa5d3ae6cfa151b3af092d2026466838a
Signed-off-by: default avatarHardik Kantilal Patel <hkpatel@codeaurora.org>
parent 39d17ebe
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -2461,9 +2461,14 @@ static int icnss_driver_event_unregister_driver(void *data)
	}
	}


	set_bit(ICNSS_DRIVER_UNLOADING, &penv->state);
	set_bit(ICNSS_DRIVER_UNLOADING, &penv->state);

	icnss_block_shutdown(true);

	if (penv->ops)
	if (penv->ops)
		penv->ops->remove(&penv->pdev->dev);
		penv->ops->remove(&penv->pdev->dev);


	icnss_block_shutdown(false);

	clear_bit(ICNSS_DRIVER_UNLOADING, &penv->state);
	clear_bit(ICNSS_DRIVER_UNLOADING, &penv->state);
	clear_bit(ICNSS_DRIVER_PROBED, &penv->state);
	clear_bit(ICNSS_DRIVER_PROBED, &penv->state);