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

Commit 3a3ff72c authored by Wey-Yi Guy's avatar Wey-Yi Guy Committed by John W. Linville
Browse files

iwlwifi: dump error log when uCode error occurred



uCode error log contain information as to what the error was and where
it occurred necessary to debug any uCode issues.

Always log the information without special debug flag, this can help to
capture the important information when error happened.

Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
Acked-by: default avatarBen Cahill <ben.m.cahill@intel.com>
Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 5ade1e4d
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1604,7 +1604,6 @@ static int iwl_read_ucode(struct iwl_priv *priv)
	return ret;
}

#ifdef CONFIG_IWLWIFI_DEBUG
static const char *desc_lookup_text[] = {
	"OK",
	"FAIL",
@@ -1697,6 +1696,8 @@ void iwl_dump_nic_error_log(struct iwl_priv *priv)

}

#ifdef CONFIG_IWLWIFI_DEBUG

#define EVENT_START_OFFSET  (4 * sizeof(u32))

/**
+1 −1
Original line number Diff line number Diff line
@@ -1361,9 +1361,9 @@ void iwl_irq_handle_error(struct iwl_priv *priv)
	/* Cancel currently queued command. */
	clear_bit(STATUS_HCMD_ACTIVE, &priv->status);

	priv->cfg->ops->lib->dump_nic_error_log(priv);
#ifdef CONFIG_IWLWIFI_DEBUG
	if (iwl_get_debug_level(priv) & IWL_DL_FW_ERRORS) {
		priv->cfg->ops->lib->dump_nic_error_log(priv);
		priv->cfg->ops->lib->dump_nic_event_log(priv);
		iwl_print_rx_config_cmd(priv);
	}
+1 −5
Original line number Diff line number Diff line
@@ -578,19 +578,15 @@ int iwl_pci_resume(struct pci_dev *pdev);
/*****************************************************
*  Error Handling Debugging
******************************************************/
void iwl_dump_nic_error_log(struct iwl_priv *priv);
#ifdef CONFIG_IWLWIFI_DEBUG
void iwl_dump_nic_event_log(struct iwl_priv *priv);
void iwl_dump_nic_error_log(struct iwl_priv *priv);
void iwl_print_rx_config_cmd(struct iwl_priv *priv);
#else
static inline void iwl_dump_nic_event_log(struct iwl_priv *priv)
{
}

static inline void iwl_dump_nic_error_log(struct iwl_priv *priv)
{
}

static inline void iwl_print_rx_config_cmd(struct iwl_priv *priv)
{
}