CC: [email protected] CC: [email protected] TO: Emmanuel Grumbach <[email protected]> CC: Luca Coelho <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 2734d6c1b1a089fb593ef6a23d4b70903526fe0c commit: 3b25f1aff503bddd7911b62bbbcacc114cd04b8f iwlwifi: mvm: remove the read_nvm from iwl_run_init_mvm_ucode date: 7 months ago :::::: branch date: 30 hours ago :::::: commit date: 7 months ago config: x86_64-randconfig-m001-20210720 (attached as .config) compiler: gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> New smatch warnings: drivers/net/wireless/intel/iwlwifi/mvm/fw.c:699 iwl_run_init_mvm_ucode() error: we previously assumed 'mvm->nvm_data' could be null (see line 687) Old smatch warnings: drivers/net/wireless/intel/iwlwifi/mvm/fw.c:1063 iwl_mvm_ppag_send_cmd() error: buffer overflow 'gain' 11 <= 21 drivers/net/wireless/intel/iwlwifi/mvm/fw.c:1487 iwl_mvm_up() warn: missing error code 'ret' vim +699 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 649 3b25f1aff503bd drivers/net/wireless/intel/iwlwifi/mvm/fw.c Emmanuel Grumbach 2020-12-09 650 int iwl_run_init_mvm_ucode(struct iwl_mvm *mvm) 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 651 { 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 652 struct iwl_notification_wait calib_wait; 6eb031d2fe2d9a drivers/net/wireless/iwlwifi/mvm/fw.c Sara Sharon 2015-07-13 653 static const u16 init_complete[] = { 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 654 INIT_COMPLETE_NOTIF, 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 655 CALIB_RES_NOTIF_PHY_DB 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 656 }; 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 657 int ret; 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 658 7d6222e27013a1 drivers/net/wireless/intel/iwlwifi/mvm/fw.c Johannes Berg 2017-06-08 659 if (iwl_mvm_has_unified_ucode(mvm)) 8c5f47b15c5c15 drivers/net/wireless/intel/iwlwifi/mvm/fw.c Johannes Berg 2017-02-20 660 return iwl_run_unified_mvm_ucode(mvm, true); 8c5f47b15c5c15 drivers/net/wireless/intel/iwlwifi/mvm/fw.c Johannes Berg 2017-02-20 661 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 662 lockdep_assert_held(&mvm->mutex); 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 663 940225628652b3 drivers/net/wireless/intel/iwlwifi/mvm/fw.c Emmanuel Grumbach 2019-05-22 664 mvm->rfkill_safe_init_done = false; 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 665 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 666 iwl_init_notification_wait(&mvm->notif_wait, 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 667 &calib_wait, 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 668 init_complete, 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 669 ARRAY_SIZE(init_complete), 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 670 iwl_wait_phy_db_entry, 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 671 mvm->phy_db); 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 672 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 673 /* Will also start the device */ 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 674 ret = iwl_mvm_load_ucode_wait_alive(mvm, IWL_UCODE_INIT); 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 675 if (ret) { 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 676 IWL_ERR(mvm, "Failed to start INIT ucode: %d\n", ret); 00e0c6c8fe8833 drivers/net/wireless/intel/iwlwifi/mvm/fw.c Luca Coelho 2017-07-24 677 goto remove_notif; 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 678 } 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 679 7d34a7d7da97bc drivers/net/wireless/intel/iwlwifi/mvm/fw.c Luca Coelho 2019-07-12 680 if (mvm->trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_8000) { b3de3ef48aa3fe drivers/net/wireless/intel/iwlwifi/mvm/fw.c Emmanuel Grumbach 2017-05-29 681 ret = iwl_mvm_send_bt_init_conf(mvm); 931d416049cdb6 drivers/net/wireless/iwlwifi/mvm/fw.c Emmanuel Grumbach 2013-01-17 682 if (ret) 00e0c6c8fe8833 drivers/net/wireless/intel/iwlwifi/mvm/fw.c Luca Coelho 2017-07-24 683 goto remove_notif; b3de3ef48aa3fe drivers/net/wireless/intel/iwlwifi/mvm/fw.c Emmanuel Grumbach 2017-05-29 684 } 931d416049cdb6 drivers/net/wireless/iwlwifi/mvm/fw.c Emmanuel Grumbach 2013-01-17 685 81a67e32c444f0 drivers/net/wireless/iwlwifi/mvm/fw.c Eytan Lifshitz 2013-09-11 686 /* Read the NVM only at driver load time, no need to do this twice */ 3b25f1aff503bd drivers/net/wireless/intel/iwlwifi/mvm/fw.c Emmanuel Grumbach 2020-12-09 @687 if (!mvm->nvm_data) { 5bd1d2c1ea9d0f drivers/net/wireless/intel/iwlwifi/mvm/fw.c Luca Coelho 2017-08-15 688 ret = iwl_nvm_init(mvm); 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 689 if (ret) { 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 690 IWL_ERR(mvm, "Failed to read NVM: %d\n", ret); 00e0c6c8fe8833 drivers/net/wireless/intel/iwlwifi/mvm/fw.c Luca Coelho 2017-07-24 691 goto remove_notif; 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 692 } 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 693 } 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 694 81a67e32c444f0 drivers/net/wireless/iwlwifi/mvm/fw.c Eytan Lifshitz 2013-09-11 695 /* In case we read the NVM from external file, load it to the NIC */ e02a9d606d4f03 drivers/net/wireless/iwlwifi/mvm/fw.c Eran Harary 2014-05-07 696 if (mvm->nvm_file_name) 81a67e32c444f0 drivers/net/wireless/iwlwifi/mvm/fw.c Eytan Lifshitz 2013-09-11 697 iwl_mvm_load_nvm_to_nic(mvm); 81a67e32c444f0 drivers/net/wireless/iwlwifi/mvm/fw.c Eytan Lifshitz 2013-09-11 698 64866e5da1eabd drivers/net/wireless/intel/iwlwifi/mvm/fw.c Luca Coelho 2018-08-16 @699 WARN_ONCE(mvm->nvm_data->nvm_version < mvm->trans->cfg->nvm_ver, 64866e5da1eabd drivers/net/wireless/intel/iwlwifi/mvm/fw.c Luca Coelho 2018-08-16 700 "Too old NVM version (0x%0x, required = 0x%0x)", 64866e5da1eabd drivers/net/wireless/intel/iwlwifi/mvm/fw.c Luca Coelho 2018-08-16 701 mvm->nvm_data->nvm_version, mvm->trans->cfg->nvm_ver); 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 702 4f59334bb4a626 drivers/net/wireless/iwlwifi/mvm/fw.c Eran Harary 2013-05-13 703 /* 4f59334bb4a626 drivers/net/wireless/iwlwifi/mvm/fw.c Eran Harary 2013-05-13 704 * abort after reading the nvm in case RF Kill is on, we will complete 4f59334bb4a626 drivers/net/wireless/iwlwifi/mvm/fw.c Eran Harary 2013-05-13 705 * the init seq later when RF kill will switch to off 4f59334bb4a626 drivers/net/wireless/iwlwifi/mvm/fw.c Eran Harary 2013-05-13 706 */ 1a3fe0b2b6778b drivers/net/wireless/iwlwifi/mvm/fw.c Arik Nemtsov 2015-09-30 707 if (iwl_mvm_is_radio_hw_killed(mvm)) { 4f59334bb4a626 drivers/net/wireless/iwlwifi/mvm/fw.c Eran Harary 2013-05-13 708 IWL_DEBUG_RF_KILL(mvm, 4f59334bb4a626 drivers/net/wireless/iwlwifi/mvm/fw.c Eran Harary 2013-05-13 709 "jump over all phy activities due to RF kill\n"); 00e0c6c8fe8833 drivers/net/wireless/intel/iwlwifi/mvm/fw.c Luca Coelho 2017-07-24 710 goto remove_notif; 4f59334bb4a626 drivers/net/wireless/iwlwifi/mvm/fw.c Eran Harary 2013-05-13 711 } 4f59334bb4a626 drivers/net/wireless/iwlwifi/mvm/fw.c Eran Harary 2013-05-13 712 b3500b472c880b drivers/net/wireless/intel/iwlwifi/mvm/fw.c Emmanuel Grumbach 2019-05-29 713 mvm->rfkill_safe_init_done = true; 31b8b343e019e0 drivers/net/wireless/iwlwifi/mvm/fw.c Emmanuel Grumbach 2014-11-02 714 e07cbb536acb24 drivers/net/wireless/iwlwifi/mvm/fw.c Dor Shaish 2013-02-27 715 /* Send TX valid antennas before triggering calibrations */ a0544272441585 drivers/net/wireless/iwlwifi/mvm/fw.c Moshe Harel 2014-12-08 716 ret = iwl_send_tx_ant_cfg(mvm, iwl_mvm_get_valid_tx_ant(mvm)); e07cbb536acb24 drivers/net/wireless/iwlwifi/mvm/fw.c Dor Shaish 2013-02-27 717 if (ret) 00e0c6c8fe8833 drivers/net/wireless/intel/iwlwifi/mvm/fw.c Luca Coelho 2017-07-24 718 goto remove_notif; e07cbb536acb24 drivers/net/wireless/iwlwifi/mvm/fw.c Dor Shaish 2013-02-27 719 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 720 ret = iwl_send_phy_cfg_cmd(mvm); 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 721 if (ret) { 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 722 IWL_ERR(mvm, "Failed to run INIT calibrations: %d\n", 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 723 ret); 00e0c6c8fe8833 drivers/net/wireless/intel/iwlwifi/mvm/fw.c Luca Coelho 2017-07-24 724 goto remove_notif; 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 725 } 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 726 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 727 /* 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 728 * Some things may run in the background now, but we 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 729 * just wait for the calibration complete notification. 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 730 */ 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 731 ret = iwl_wait_notification(&mvm->notif_wait, &calib_wait, 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 732 MVM_UCODE_CALIB_TIMEOUT); 00e0c6c8fe8833 drivers/net/wireless/intel/iwlwifi/mvm/fw.c Luca Coelho 2017-07-24 733 if (!ret) 00e0c6c8fe8833 drivers/net/wireless/intel/iwlwifi/mvm/fw.c Luca Coelho 2017-07-24 734 goto out; 31b8b343e019e0 drivers/net/wireless/iwlwifi/mvm/fw.c Emmanuel Grumbach 2014-11-02 735 00e0c6c8fe8833 drivers/net/wireless/intel/iwlwifi/mvm/fw.c Luca Coelho 2017-07-24 736 if (iwl_mvm_is_radio_hw_killed(mvm)) { 31b8b343e019e0 drivers/net/wireless/iwlwifi/mvm/fw.c Emmanuel Grumbach 2014-11-02 737 IWL_DEBUG_RF_KILL(mvm, "RFKILL while calibrating.\n"); 00e0c6c8fe8833 drivers/net/wireless/intel/iwlwifi/mvm/fw.c Luca Coelho 2017-07-24 738 ret = 0; 00e0c6c8fe8833 drivers/net/wireless/intel/iwlwifi/mvm/fw.c Luca Coelho 2017-07-24 739 } else { 00e0c6c8fe8833 drivers/net/wireless/intel/iwlwifi/mvm/fw.c Luca Coelho 2017-07-24 740 IWL_ERR(mvm, "Failed to run INIT calibrations: %d\n", 00e0c6c8fe8833 drivers/net/wireless/intel/iwlwifi/mvm/fw.c Luca Coelho 2017-07-24 741 ret); 31b8b343e019e0 drivers/net/wireless/iwlwifi/mvm/fw.c Emmanuel Grumbach 2014-11-02 742 } 00e0c6c8fe8833 drivers/net/wireless/intel/iwlwifi/mvm/fw.c Luca Coelho 2017-07-24 743 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 744 goto out; 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 745 00e0c6c8fe8833 drivers/net/wireless/intel/iwlwifi/mvm/fw.c Luca Coelho 2017-07-24 746 remove_notif: 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 747 iwl_remove_notification(&mvm->notif_wait, &calib_wait); 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 748 out: b3500b472c880b drivers/net/wireless/intel/iwlwifi/mvm/fw.c Emmanuel Grumbach 2019-05-29 749 mvm->rfkill_safe_init_done = false; a4082843674000 drivers/net/wireless/iwlwifi/mvm/fw.c Arik Nemtsov 2013-11-24 750 if (iwlmvm_mod_params.init_dbg && !mvm->nvm_data) { 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 751 /* we want to debug INIT and we have no NVM - fake */ 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 752 mvm->nvm_data = kzalloc(sizeof(struct iwl_nvm_data) + 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 753 sizeof(struct ieee80211_channel) + 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 754 sizeof(struct ieee80211_rate), 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 755 GFP_KERNEL); 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 756 if (!mvm->nvm_data) 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 757 return -ENOMEM; 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 758 mvm->nvm_data->bands[0].channels = mvm->nvm_data->channels; 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 759 mvm->nvm_data->bands[0].n_channels = 1; 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 760 mvm->nvm_data->bands[0].n_bitrates = 1; 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 761 mvm->nvm_data->bands[0].bitrates = 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 762 (void *)mvm->nvm_data->channels + 1; 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 763 mvm->nvm_data->bands[0].bitrates->hw_value = 10; 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 764 } 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 765 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 766 return ret; 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 767 } 8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/fw.c Johannes Berg 2013-01-24 768 :::::: The code at line 699 was first introduced by commit :::::: 64866e5da1eabd0c52ff45029b245f5465920031 iwlwifi: move iwl_nvm_check_version() into dvm :::::: TO: Luca Coelho <[email protected]> :::::: CC: Luca Coelho <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
