瀏覽代碼

qcacld-3.0: Clear bad state of driver at start of probe

During SSR we check if the driver is in bad state, to decide
whether we should send suspend to the fw. This causes a race
when SSR occurs during driver probe, since the driver state is
still marked as bad.

Clear the flag indicating the driver state as bad during the
start of probe.

CRs-Fixed: 2144058
Change-Id: I13087dc65dbffa6a784395606fac2c41f6ce7591
Rakesh Pillai 7 年之前
父節點
當前提交
0a54fa91df
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      core/hdd/src/wlan_hdd_driver_ops.c

+ 1 - 1
core/hdd/src/wlan_hdd_driver_ops.c

@@ -367,6 +367,7 @@ static int wlan_hdd_probe(struct device *dev, void *bdev,
 		reinit ? "re-" : "", QWLAN_VERSIONSTR);
 
 	mutex_lock(&hdd_init_deinit_lock);
+	cds_set_driver_in_bad_state(false);
 	if (!reinit)
 		hdd_start_driver_ops_timer(eHDD_DRV_OP_PROBE);
 	else
@@ -413,7 +414,6 @@ static int wlan_hdd_probe(struct device *dev, void *bdev,
 	hdd_allow_suspend(WIFI_POWER_EVENT_WAKELOCK_DRIVER_INIT);
 	hdd_remove_pm_qos(dev);
 	cds_set_fw_down(false);
-	cds_set_driver_in_bad_state(false);
 	probe_fail_cnt = 0;
 	re_init_fail_cnt = 0;
 	hdd_stop_driver_ops_timer();