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]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to