[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <MW5PR11MB58104BFF8F49CB7D5A2EA54CA3AA2@MW5PR11MB5810.namprd11.prod.outlook.com>
Date: Mon, 7 Apr 2025 06:47:58 +0000
From: "Korenblit, Miriam Rachel" <miriam.rachel.korenblit@...el.com>
To: Wentao Liang <vulab@...as.ac.cn>, "kvalo@...nel.org" <kvalo@...nel.org>
CC: "Berg, Johannes" <johannes.berg@...el.com>, "Grumbach, Emmanuel"
<emmanuel.grumbach@...el.com>, "Ben Ami, Golan" <golan.ben.ami@...el.com>,
"linux-wireless@...r.kernel.org" <linux-wireless@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] wifi: iwlwifi: mvm: Add error logging for
iwl_finish_nic_init()
> -----Original Message-----
> From: Wentao Liang <vulab@...as.ac.cn>
> Sent: Sunday, 6 April 2025 19:42
> To: Korenblit, Miriam Rachel <miriam.rachel.korenblit@...el.com>;
> kvalo@...nel.org
> Cc: Berg, Johannes <johannes.berg@...el.com>; Grumbach, Emmanuel
> <emmanuel.grumbach@...el.com>; Ben Ami, Golan <golan.ben.ami@...el.com>;
> linux-wireless@...r.kernel.org; linux-kernel@...r.kernel.org; Wentao Liang
> <vulab@...as.ac.cn>
> Subject: [PATCH] wifi: iwlwifi: mvm: Add error logging for iwl_finish_nic_init()
>
> The function iwl_pci_resume() calls the function iwl_finish_nic_init(), but does not
> check their return values.
>
> Log a detailed error message with the error code to aid in diagnosing root causes
> if encountering irreparable errors. While this does not fix the underlying problem,
> it avoids silent failures by making the failure visible in logs.
>
> Signed-off-by: Wentao Liang <vulab@...as.ac.cn>
> ---
> drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
> b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
> index 8fb2aa282242..f577f8c1d5b0 100644
> --- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
> +++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
> @@ -1616,6 +1616,7 @@ static int _iwl_pci_resume(struct device *device, bool
> restore)
> struct iwl_trans *trans = pci_get_drvdata(pdev);
> struct iwl_trans_pcie *trans_pcie =
> IWL_TRANS_GET_PCIE_TRANS(trans);
> bool device_was_powered_off = false;
> + int err;
>
> /* Before you put code here, think about WoWLAN. You cannot check
> here
> * whether WoWLAN is enabled or not, and your code will run even if
> @@ -1647,7 +1648,9 @@ static int _iwl_pci_resume(struct device *device, bool
> restore)
> * won't really know how to recover.
> */
> iwl_pcie_prepare_card_hw(trans);
> - iwl_finish_nic_init(trans);
> + err = iwl_finish_nic_init(trans);
> + if (err)
> + pr_err("NIC initialization failed after power-off (error
> %d).",
> +err);
> iwl_op_mode_device_powered_off(trans->op_mode);
> }
>
> --
> 2.42.0.windows.2
iwl_finish_nic_init has a print inside when it fails. You can enable that debug level
while it can be a good idea to have that log as a 'IWL_ERR'.
Powered by blists - more mailing lists