Sfoglia il codice sorgente

qcacld-3.0: Do not collect rddm in irq context

Do not collect ramdump in interrupt/atomic context.

CRs-Fixed: 2392126
Change-Id: I07059808a7e6a8073dde0cd020fa42075d1556cb
Yuanyuan Liu 6 anni fa
parent
commit
3eb39032e3
1 ha cambiato i file con 5 aggiunte e 3 eliminazioni
  1. 5 3
      core/cds/src/cds_api.c

+ 5 - 3
core/cds/src/cds_api.c

@@ -1781,9 +1781,11 @@ static void cds_trigger_recovery_handler(const char *func, const uint32_t line)
 		return;
 	}
 
-	ret = pld_collect_rddm(qdf->dev);
-	if (ret < 0)
-		QDF_DEBUG_PANIC("Fail to collect FW ramdump %d", ret);
+	if (!in_interrupt() && !irqs_disabled()) {
+		ret = pld_collect_rddm(qdf->dev);
+		if (ret < 0)
+			QDF_DEBUG_PANIC("Fail to collect FW ramdump %d", ret);
+	}
 
 	/* if *wlan* recovery is disabled, crash here for debugging */
 	if (!cds_is_self_recovery_enabled()) {