Messages in this thread | | | Date | Tue, 14 Feb 2023 11:27:18 +0300 | From | Dan Carpenter <> | Subject | drivers/net/wireless/intel/iwlwifi/mvm/d3.c:2789 iwl_mvm_resume_firmware() error: uninitialized symbol 'd3_status'. |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: f6feea56f66d34259c4222fa02e8171c4f2673d1 commit: b75dac847c9453d017d463a97e253416abf93d36 wifi: iwlwifi: mvm: trigger resume flow before wait for notifications config: x86_64-randconfig-m001-20230213 (https://download.01.org/0day-ci/archive/20230214/202302140947.nQROevUz-lkp@intel.com/config) compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> | Reported-by: Dan Carpenter <error27@gmail.com> | Link: https://lore.kernel.org/r/202302140947.nQROevUz-lkp@intel.com/
smatch warnings: drivers/net/wireless/intel/iwlwifi/mvm/d3.c:2789 iwl_mvm_resume_firmware() error: uninitialized symbol 'd3_status'.
vim +/d3_status +2789 drivers/net/wireless/intel/iwlwifi/mvm/d3.c
4da46a06d4430a Haim Dreyfuss 2022-09-06 2773 b75dac847c9453 Haim, Dreyfuss 2022-09-06 2774 static int iwl_mvm_resume_firmware(struct iwl_mvm *mvm, bool test) b75dac847c9453 Haim, Dreyfuss 2022-09-06 2775 { b75dac847c9453 Haim, Dreyfuss 2022-09-06 2776 int ret; b75dac847c9453 Haim, Dreyfuss 2022-09-06 2777 enum iwl_d3_status d3_status; b75dac847c9453 Haim, Dreyfuss 2022-09-06 2778 struct iwl_host_cmd cmd = { b75dac847c9453 Haim, Dreyfuss 2022-09-06 2779 .id = D0I3_END_CMD, b75dac847c9453 Haim, Dreyfuss 2022-09-06 2780 .flags = CMD_WANT_SKB | CMD_SEND_IN_D3, b75dac847c9453 Haim, Dreyfuss 2022-09-06 2781 }; b75dac847c9453 Haim, Dreyfuss 2022-09-06 2782 bool reset = fw_has_capa(&mvm->fw->ucode_capa, b75dac847c9453 Haim, Dreyfuss 2022-09-06 2783 IWL_UCODE_TLV_CAPA_CNSLDTD_D3_D0_IMG); b75dac847c9453 Haim, Dreyfuss 2022-09-06 2784 b75dac847c9453 Haim, Dreyfuss 2022-09-06 2785 ret = iwl_trans_d3_resume(mvm->trans, &d3_status, test, !reset); b75dac847c9453 Haim, Dreyfuss 2022-09-06 2786 if (ret) b75dac847c9453 Haim, Dreyfuss 2022-09-06 2787 return ret; b75dac847c9453 Haim, Dreyfuss 2022-09-06 2788 b75dac847c9453 Haim, Dreyfuss 2022-09-06 @2789 if (d3_status != IWL_D3_STATUS_ALIVE) {
The iwl_trans_d3_resume() function does not initialize d3_status if trans->ops->d3_resume is NULL.
b75dac847c9453 Haim, Dreyfuss 2022-09-06 2790 IWL_INFO(mvm, "Device was reset during suspend\n"); b75dac847c9453 Haim, Dreyfuss 2022-09-06 2791 return -ENOENT; b75dac847c9453 Haim, Dreyfuss 2022-09-06 2792 } b75dac847c9453 Haim, Dreyfuss 2022-09-06 2793 b75dac847c9453 Haim, Dreyfuss 2022-09-06 2794 /* b75dac847c9453 Haim, Dreyfuss 2022-09-06 2795 * We should trigger resume flow using command only for 22000 family b75dac847c9453 Haim, Dreyfuss 2022-09-06 2796 * AX210 and above don't need the command since they have b75dac847c9453 Haim, Dreyfuss 2022-09-06 2797 * the doorbell interrupt. b75dac847c9453 Haim, Dreyfuss 2022-09-06 2798 */ b75dac847c9453 Haim, Dreyfuss 2022-09-06 2799 if (mvm->trans->trans_cfg->device_family <= IWL_DEVICE_FAMILY_22000 && b75dac847c9453 Haim, Dreyfuss 2022-09-06 2800 fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_D0I3_END_FIRST)) { b75dac847c9453 Haim, Dreyfuss 2022-09-06 2801 ret = iwl_mvm_send_cmd(mvm, &cmd); b75dac847c9453 Haim, Dreyfuss 2022-09-06 2802 if (ret < 0) b75dac847c9453 Haim, Dreyfuss 2022-09-06 2803 IWL_ERR(mvm, "Failed to send D0I3_END_CMD first (%d)\n", b75dac847c9453 Haim, Dreyfuss 2022-09-06 2804 ret); b75dac847c9453 Haim, Dreyfuss 2022-09-06 2805 } b75dac847c9453 Haim, Dreyfuss 2022-09-06 2806 b75dac847c9453 Haim, Dreyfuss 2022-09-06 2807 return ret; b75dac847c9453 Haim, Dreyfuss 2022-09-06 2808 }
-- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests
| |