From ff833227e524c2ca4ee0893fa2f71ce333461e88 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Dhanotiya Date: Tue, 18 Dec 2018 12:12:09 +0530 Subject: [PATCH] qcacld-3.0: Reset recovery in progress flag during probe Currently in driver at load time if probe fails because of any reason, as part of FW down, recovery in progress flag is getting set which is getting reset only in re-init path. Now when probe starts again as this was load time failure, this flag is set and there are checks at many places for this flag in driver where we just don't proceed further if this flag is set. One such example of such incident is reg_process_master_chan_list api where regulatory event is not getting processed because this flag is set. To resolve this issue reset recovery in progress flag during probe. There is no harm in resetting the flag during probe as probe start indicates that FW is ready. Change-Id: Ib681870f869060f4511563aa3255aeb0eb8f9f12 CRs-Fixed: 2365416 --- core/hdd/src/wlan_hdd_driver_ops.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/hdd/src/wlan_hdd_driver_ops.c b/core/hdd/src/wlan_hdd_driver_ops.c index 0b0729a987b87..902f5f1e7c81b 100644 --- a/core/hdd/src/wlan_hdd_driver_ops.c +++ b/core/hdd/src/wlan_hdd_driver_ops.c @@ -461,6 +461,12 @@ static int hdd_soc_probe(struct device *dev, cds_set_load_in_progress(true); cds_set_driver_in_bad_state(false); + /* + * Set Recovery in progress flag to flase + * as probe is started which ensures that FW is ready + */ + cds_set_recovery_in_progress(false); + errno = hdd_init_qdf_ctx(dev, bdev, bus_type, bid); if (errno) goto unlock;