Browse Source

qcacld-3.0: update the new pld event for smmu fault

There is a time involved between the smmu fault initiated
and the eventual system panic. In this time there is a
possibility of the nbuf history being overwritten losing
the information on the nbuf which might has actually caused
the SMMU fault.

Set the ssmu state and dont track the nbuf's when the smmu
fault is detected

Change-Id: Ia9f422861cbb7bde1b498d8a88967616be99bb6e
CRs-Fixed: 2960063
Arun Kumar Khandavalli 4 years ago
parent
commit
d95e93def5
2 changed files with 5 additions and 0 deletions
  1. 4 0
      core/hdd/src/wlan_hdd_driver_ops.c
  2. 1 0
      core/hdd/src/wlan_hdd_power.c

+ 4 - 0
core/hdd/src/wlan_hdd_driver_ops.c

@@ -2042,6 +2042,10 @@ wlan_hdd_pld_uevent(struct device *dev, struct pld_uevent_data *event_data)
 	bus_type = pld_get_bus_type(dev);
 
 	switch (event_data->uevent) {
+	case PLD_SMMU_FAULT:
+		qdf_set_smmu_fault_state(true);
+		hdd_debug("Received smmu fault indication");
+		break;
 	case PLD_FW_DOWN:
 		hdd_debug("Received firmware down indication");
 		hdd_dump_log_buffer();

+ 1 - 0
core/hdd/src/wlan_hdd_power.c

@@ -1674,6 +1674,7 @@ QDF_STATUS hdd_wlan_shutdown(void)
 
 	hdd_lpass_notify_stop(hdd_ctx);
 
+	qdf_set_smmu_fault_state(false);
 	hdd_info("WLAN driver shutdown complete");
 
 	return QDF_STATUS_SUCCESS;