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

Commit 8a0c797e authored by Kalle Valo's avatar Kalle Valo
Browse files

ath10k: print more driver info when firmware crashes



Sometimes users forget to include important info like firmware version,
so better to print all the info.

Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent 0e9848c0
Loading
Loading
Loading
Loading
+2 −15
Original line number Diff line number Diff line
@@ -815,21 +815,8 @@ int ath10k_core_start(struct ath10k *ar)

	INIT_LIST_HEAD(&ar->arvifs);

	if (!test_bit(ATH10K_FLAG_FIRST_BOOT_DONE, &ar->dev_flags)) {
		ath10k_info("%s (0x%08x, 0x%08x) fw %s api %d htt %d.%d\n",
			    ar->hw_params.name,
			    ar->target_version,
			    ar->chip_id,
			    ar->hw->wiphy->fw_version,
			    ar->fw_api,
			    ar->htt.target_version_major,
			    ar->htt.target_version_minor);
		ath10k_info("debug %d debugfs %d tracing %d dfs %d\n",
			    config_enabled(CONFIG_ATH10K_DEBUG),
			    config_enabled(CONFIG_ATH10K_DEBUGFS),
			    config_enabled(CONFIG_ATH10K_TRACING),
			    config_enabled(CONFIG_ATH10K_DFS_CERTIFIED));
	}
	if (!test_bit(ATH10K_FLAG_FIRST_BOOT_DONE, &ar->dev_flags))
		ath10k_print_driver_info(ar);

	__set_bit(ATH10K_FLAG_FIRST_BOOT_DONE, &ar->dev_flags);

+18 −0
Original line number Diff line number Diff line
@@ -142,6 +142,24 @@ int ath10k_info(const char *fmt, ...)
}
EXPORT_SYMBOL(ath10k_info);

void ath10k_print_driver_info(struct ath10k *ar)
{
	ath10k_info("%s (0x%08x, 0x%08x) fw %s api %d htt %d.%d\n",
		    ar->hw_params.name,
		    ar->target_version,
		    ar->chip_id,
		    ar->hw->wiphy->fw_version,
		    ar->fw_api,
		    ar->htt.target_version_major,
		    ar->htt.target_version_minor);
	ath10k_info("debug %d debugfs %d tracing %d dfs %d\n",
		    config_enabled(CONFIG_ATH10K_DEBUG),
		    config_enabled(CONFIG_ATH10K_DEBUGFS),
		    config_enabled(CONFIG_ATH10K_TRACING),
		    config_enabled(CONFIG_ATH10K_DFS_CERTIFIED));
}
EXPORT_SYMBOL(ath10k_print_driver_info);

int ath10k_err(const char *fmt, ...)
{
	struct va_format vaf = {
+1 −0
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ extern unsigned int ath10k_debug_mask;
__printf(1, 2) int ath10k_info(const char *fmt, ...);
__printf(1, 2) int ath10k_err(const char *fmt, ...);
__printf(1, 2) int ath10k_warn(const char *fmt, ...);
void ath10k_print_driver_info(struct ath10k *ar);

#ifdef CONFIG_ATH10K_DEBUGFS
int ath10k_debug_start(struct ath10k *ar);
+1 −3
Original line number Diff line number Diff line
@@ -879,9 +879,7 @@ static void ath10k_pci_fw_crashed_dump(struct ath10k *ar)
		scnprintf(uuid, sizeof(uuid), "n/a");

	ath10k_err("firmware crashed! (uuid %s)\n", uuid);
	ath10k_err("hardware name %s version 0x%x\n",
		   ar->hw_params.name, ar->target_version);
	ath10k_err("firmware version: %s\n", ar->hw->wiphy->fw_version);
	ath10k_print_driver_info(ar);

	if (!crash_data)
		goto exit;