Explorar o código

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 %!s(int64=6) %!d(string=hai) anos
pai
achega
3eb39032e3
Modificáronse 1 ficheiros con 5 adicións e 3 borrados
  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()) {