> -----Original Message----- > From: Wentao Liang <vulab@xxxxxxxxxxx> > Sent: Sunday, 6 April 2025 19:42 > To: Korenblit, Miriam Rachel <miriam.rachel.korenblit@xxxxxxxxx>; > kvalo@xxxxxxxxxx > Cc: Berg, Johannes <johannes.berg@xxxxxxxxx>; Grumbach, Emmanuel > <emmanuel.grumbach@xxxxxxxxx>; Ben Ami, Golan <golan.ben.ami@xxxxxxxxx>; > linux-wireless@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Wentao Liang > <vulab@xxxxxxxxxxx> > 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@xxxxxxxxxxx> > --- > 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'.