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

Commit acb07c14 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "cnss2: Ignore ramdump init failure"

parents 2f4b3f0c 52aaef06
Loading
Loading
Loading
Loading
+24 −1
Original line number Diff line number Diff line
@@ -1710,6 +1710,27 @@ static void cnss_unregister_ramdump_v1(struct cnss_plat_data *plat_priv)
				  ramdump_info->ramdump_pa);
}

/**
 * cnss_ignore_dump_data_reg_fail - Ignore Ramdump table register failure
 * @ret: Error returned by msm_dump_data_register_nominidump
 *
 * For Lahaina GKI boot, we dont have support for mem dump feature. So
 * ignore failure.
 *
 * Return: Same given error code if mem dump feature enabled, 0 otherwise
 */
#ifdef CONFIG_QCOM_MEMORY_DUMP_V2
static int cnss_ignore_dump_data_reg_fail(int ret)
{
	return ret;
}
#else
static int cnss_ignore_dump_data_reg_fail(int ret)
{
	return 0;
}
#endif

static int cnss_register_ramdump_v2(struct cnss_plat_data *plat_priv)
{
	int ret = 0;
@@ -1746,7 +1767,9 @@ static int cnss_register_ramdump_v2(struct cnss_plat_data *plat_priv)
	ret = msm_dump_data_register_nominidump(MSM_DUMP_TABLE_APPS,
						&dump_entry);
	if (ret) {
		cnss_pr_err("Failed to setup dump table, err = %d\n", ret);
		ret = cnss_ignore_dump_data_reg_fail(ret);
		cnss_pr_err("Failed to setup dump table, %s (%d)\n",
			    ret ? "Error" : "Ignoring", ret);
		goto free_ramdump;
	}

+10 −1
Original line number Diff line number Diff line
@@ -1894,7 +1894,7 @@ static int cnss_qca6290_ramdump(struct cnss_pci_data *pci_priv)
	struct cnss_dump_meta_info meta_info = {0};
	int i, ret = 0;

	if (!info_v2->dump_data_valid ||
	if (!info_v2->dump_data_valid || !dump_seg ||
	    dump_data->nentries == 0)
		return 0;

@@ -3818,6 +3818,11 @@ void cnss_pci_collect_dump_info(struct cnss_pci_data *pci_priv, bool in_panic)
	rddm_image = pci_priv->mhi_ctrl->rddm_image;
	dump_data->nentries = 0;

	if (!dump_seg) {
		cnss_pr_warn("FW image dump collection not setup");
		goto skip_dump;
	}

	cnss_pr_dbg("Collect FW image dump segment, nentries %d\n",
		    fw_image->entries);

@@ -3863,6 +3868,7 @@ void cnss_pci_collect_dump_info(struct cnss_pci_data *pci_priv, bool in_panic)
	if (dump_data->nentries > 0)
		plat_priv->ramdump_info_v2.dump_data_valid = true;

skip_dump:
	cnss_pci_set_mhi_state(pci_priv, CNSS_MHI_RDDM_DONE);
	complete(&plat_priv->rddm_complete);
}
@@ -3876,6 +3882,9 @@ void cnss_pci_clear_dump_info(struct cnss_pci_data *pci_priv)
	struct cnss_fw_mem *fw_mem = plat_priv->fw_mem;
	int i, j;

	if (!dump_seg)
		return;

	fw_image = pci_priv->mhi_ctrl->fbc_image;
	rddm_image = pci_priv->mhi_ctrl->rddm_image;