Browse Source

qcacld-3.0: Add if check before calling cds_force_assert_target()

If CNSS function pld_force_collect_target_dump() returns 0, this means
that FW is already asserted and should not call cds_force_assert_target().
Add an if check for pld_force_collect_target_dump() to only call
cds_force_assert_target() when it is not 0.

Change-Id: Ib784c1a406b93327942164a975994065149aed90
CRs-Fixed: 2799461
Alan Chen 4 years ago
parent
commit
d0f9829c04
2 changed files with 3 additions and 2 deletions
  1. 2 1
      core/cds/src/cds_api.c
  2. 1 1
      core/pld/src/pld_pcie.h

+ 2 - 1
core/cds/src/cds_api.c

@@ -1935,7 +1935,8 @@ static void cds_trigger_recovery_handler(const char *func, const uint32_t line)
 
 	cds_set_recovery_in_progress(true);
 	cds_set_assert_target_in_progress(true);
-	cds_force_assert_target(qdf);
+	if (pld_collect_rddm(qdf->dev))
+		cds_force_assert_target(qdf);
 	cds_set_assert_target_in_progress(false);
 
 	/*

+ 1 - 1
core/pld/src/pld_pcie.h

@@ -625,7 +625,7 @@ static inline int pld_pcie_idle_shutdown(struct device *dev)
 
 static inline int pld_pcie_force_assert_target(struct device *dev)
 {
-	return cnss_force_collect_rddm(dev);
+	return cnss_force_fw_assert(dev);
 }
 
 static inline int pld_pcie_get_user_msi_assignment(struct device *dev,