Hi Richard,

kernel test robot noticed the following build warnings:

[auto build test WARNING on tnguy-next-queue/dev-queue]
[also build test WARNING on tnguy-net-queue/dev-queue linus/master v6.10-rc3 
next-20240607]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    
https://github.com/intel-lab-lkp/linux/commits/Richard-chien/igb-Add-support-for-firmware-update/20240609-162047
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue.git 
dev-queue
patch link:    
https://lore.kernel.org/r/20240609081526.5621-1-richard.chien%40hpe.com
patch subject: [PATCH] igb: Add support for firmware update
config: alpha-randconfig-r112-20240610 
(https://download.01.org/0day-ci/archive/20240610/202406101404.owwqbjmg-...@intel.com/config)
compiler: alpha-linux-gcc (GCC) 13.2.0
reproduce: 
(https://download.01.org/0day-ci/archive/20240610/202406101404.owwqbjmg-...@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <l...@intel.com>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/202406101404.owwqbjmg-...@intel.com/

sparse warnings: (new ones prefixed by >>)
>> drivers/net/ethernet/intel/igb/igb_ethtool.c:923:34: sparse: sparse: cast to 
>> restricted __le16
   drivers/net/ethernet/intel/igb/igb_ethtool.c: note: in included file 
(through include/linux/mmzone.h, include/linux/gfp.h, 
include/linux/stackdepot.h, ...):
   include/linux/page-flags.h:240:46: sparse: sparse: self-comparison always 
evaluates to false
   include/linux/page-flags.h:240:46: sparse: sparse: self-comparison always 
evaluates to false

vim +923 drivers/net/ethernet/intel/igb/igb_ethtool.c

   874  
   875  static int igb_get_eeprom(struct net_device *netdev,
   876                            struct ethtool_eeprom *eeprom, u8 *bytes)
   877  {
   878          struct igb_adapter *adapter = netdev_priv(netdev);
   879          struct e1000_hw *hw = &adapter->hw;
   880          u16 *eeprom_buff;
   881          int first_word, last_word;
   882          int ret_val = 0;
   883          struct e1000_nvm_access *nvm;
   884          u32 magic;
   885          u16 i;
   886  
   887          if (eeprom->len == 0)
   888                  return -EINVAL;
   889  
   890          magic = hw->vendor_id | (hw->device_id << 16);
   891          if (eeprom->magic && eeprom->magic != magic) {
   892                  nvm = (struct e1000_nvm_access *)eeprom;
   893                  ret_val = igb_nvmupd_command(hw, nvm, bytes);
   894                  return ret_val;
   895          }
   896            
   897          /* normal ethtool get_eeprom support */
   898          eeprom->magic = hw->vendor_id | (hw->device_id << 16);
   899  
   900          first_word = eeprom->offset >> 1;
   901          last_word = (eeprom->offset + eeprom->len - 1) >> 1;
   902  
   903          eeprom_buff = kmalloc(sizeof(u16) *
   904                          (last_word - first_word + 1), GFP_KERNEL);
   905          if (!eeprom_buff)
   906                  return -ENOMEM;
   907  
   908          if (hw->nvm.type == e1000_nvm_eeprom_spi)
   909                  ret_val = e1000_read_nvm(hw, first_word,
   910                                           last_word - first_word + 1,
   911                                           eeprom_buff);
   912          else {
   913                  for (i = 0; i < last_word - first_word + 1; i++) {
   914                          ret_val = e1000_read_nvm(hw, first_word + i, 1,
   915                                                   &eeprom_buff[i]);
   916                          if (ret_val)
   917                                  break;
   918                  }
   919          }
   920  
   921          /* Device's eeprom is always little-endian, word addressable */
   922          for (i = 0; i < last_word - first_word + 1; i++)
 > 923                  eeprom_buff[i] = le16_to_cpu(eeprom_buff[i]);
   924  
   925          memcpy(bytes, (u8 *)eeprom_buff + (eeprom->offset & 1),
   926                          eeprom->len);
   927          kfree(eeprom_buff);
   928  
   929          return ret_val;
   930  }
   931  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Reply via email to