Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 41ba2f64 authored by Yue Ma's avatar Yue Ma
Browse files

cnss2: Clear dump table only when it is valid



Currently dump table will be clear for SSR case no matter it is valid
or not which may cause double free during SSR. Hence fix it by
clearing dump table only when it is valid.

Change-Id: Ie0945548fa50e0d34192d9b5320b4c365a7c73e1
Signed-off-by: default avatarYue Ma <yuem@codeaurora.org>
parent aa28d2b1
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -1551,8 +1551,7 @@ static int cnss_qca6290_powerup(struct cnss_pci_data *pci_priv)
	struct cnss_plat_data *plat_priv = pci_priv->plat_priv;
	unsigned int timeout;

	if (plat_priv->ramdump_info_v2.dump_data_valid ||
	    test_bit(CNSS_DRIVER_RECOVERY, &plat_priv->driver_state)) {
	if (plat_priv->ramdump_info_v2.dump_data_valid) {
		cnss_pci_clear_dump_info(pci_priv);
		cnss_pci_deinit_mhi(pci_priv);
	}
@@ -1639,8 +1638,7 @@ static int cnss_qca6290_shutdown(struct cnss_pci_data *pci_priv)
	ret = cnss_suspend_pci_link(pci_priv);
	if (ret)
		cnss_pr_err("Failed to suspend PCI link, err = %d\n", ret);
	if (!plat_priv->ramdump_info_v2.dump_data_valid &&
	    !test_bit(CNSS_DRIVER_RECOVERY, &plat_priv->driver_state))
	if (!plat_priv->ramdump_info_v2.dump_data_valid)
		cnss_pci_deinit_mhi(pci_priv);

	cnss_power_off_device(plat_priv);