Browse Source

qcacld-3.0: Reset the recovery inprogress post idle_restart

Incase of Firmware crash during the bootup sequence of idle restart
the platform driver calls pld_uevent to indicate the firmware_down
and once the firmware comes back up idle restart callback is invoked
rather than shutdown/re_init. So in this case post idle_restart
the recovery inprogress flag which is set during the fw_down is not
reset, which results in blocking all the north bound operations.

To fix this scenario reset the recovery inprogress flag once
idle_restart is complete.

CRs-Fixed: 3709598
Change-Id: I9aa3e22be7fccc6baffc8fe5d4cdfd64b022bee0
Arun Kumar Khandavalli 1 year ago
parent
commit
bf54fcf8b4
1 changed files with 3 additions and 0 deletions
  1. 3 0
      core/hdd/src/wlan_hdd_main.c

+ 3 - 0
core/hdd/src/wlan_hdd_main.c

@@ -14168,6 +14168,9 @@ static int __hdd_psoc_idle_restart(struct hdd_context *hdd_ctx)
 
 	ret = hdd_wlan_start_modules(hdd_ctx, false);
 
+	if (!qdf_is_fw_down())
+		cds_set_recovery_in_progress(false);
+
 	hdd_soc_idle_restart_unlock();
 
 	return ret;