Re: [PATCH 07/12] bnxt: Read VPD with pci_vpd_alloc()
From: kernel test robot <hidden>
Date: 2021-08-22 18:40:50
Also in:
linux-pci, oe-kbuild-all
Hi Heiner, I love your patch! Perhaps something to improve: [auto build test WARNING on scsi/for-next] [also build test WARNING on pci/next mkp-scsi/for-next linus/master v5.14-rc6 next-20210820] [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] url: https://github.com/0day-ci/linux/commits/Heiner-Kallweit/PCI-VPD-Convert-more-users-to-the-new-VPD-API-functions/20210822-220229 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: xtensa-allyesconfig (attached as .config) compiler: xtensa-linux-gcc (GCC) 11.2.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/5658a697843355ac5fbf26ae3b7c57dd0d794238 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Heiner-Kallweit/PCI-VPD-Convert-more-users-to-the-new-VPD-API-functions/20210822-220229 git checkout 5658a697843355ac5fbf26ae3b7c57dd0d794238 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=xtensa If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <redacted> All warnings (new ones prefixed by >>): drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_request_irq': drivers/net/ethernet/broadcom/bnxt/bnxt.c:9000:16: warning: variable 'j' set but not used [-Wunused-but-set-variable] 9000 | int i, j, rc = 0; | ^ drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_vpd_read_info': drivers/net/ethernet/broadcom/bnxt/bnxt.c:12987:20: error: implicit declaration of function 'pci_vpd_alloc'; did you mean 'pci_pool_alloc'? [-Werror=implicit-function-declaration] 12987 | vpd_data = pci_vpd_alloc(pdev, &vpd_size); | ^~~~~~~~~~~~~ | pci_pool_alloc
quoted
drivers/net/ethernet/broadcom/bnxt/bnxt.c:12987:18: warning: assignment to 'u8 *' {aka 'unsigned char *'} from 'int' makes pointer from integer without a cast [-Wint-conversion]
12987 | vpd_data = pci_vpd_alloc(pdev, &vpd_size);
| ^
cc1: some warnings being treated as errors
vim +12987 drivers/net/ethernet/broadcom/bnxt/bnxt.c
12979
12980 static void bnxt_vpd_read_info(struct bnxt *bp)
12981 {
12982 struct pci_dev *pdev = bp->pdev;
12983 int i, len, pos, ro_size, size;
12984 unsigned int vpd_size;
12985 u8 *vpd_data;
12986
12987 vpd_data = pci_vpd_alloc(pdev, &vpd_size);
12988 if (IS_ERR(vpd_data)) {
12989 pci_warn(pdev, "Unable to read VPD\n");
12990 return;
12991 }
12992
12993 i = pci_vpd_find_tag(vpd_data, vpd_size, PCI_VPD_LRDT_RO_DATA);
12994 if (i < 0) {
12995 netdev_err(bp->dev, "VPD READ-Only not found\n");
12996 goto exit;
12997 }
12998
12999 ro_size = pci_vpd_lrdt_size(&vpd_data[i]);
13000 i += PCI_VPD_LRDT_TAG_SIZE;
13001 if (i + ro_size > vpd_size)
13002 goto exit;
13003
13004 pos = pci_vpd_find_info_keyword(vpd_data, i, ro_size,
13005 PCI_VPD_RO_KEYWORD_PARTNO);
13006 if (pos < 0)
13007 goto read_sn;
13008
13009 len = pci_vpd_info_field_size(&vpd_data[pos]);
13010 pos += PCI_VPD_INFO_FLD_HDR_SIZE;
13011 if (len + pos > vpd_size)
13012 goto read_sn;
13013
13014 size = min(len, BNXT_VPD_FLD_LEN - 1);
13015 memcpy(bp->board_partno, &vpd_data[pos], size);
13016
13017 read_sn:
13018 pos = pci_vpd_find_info_keyword(vpd_data, i, ro_size,
13019 PCI_VPD_RO_KEYWORD_SERIALNO);
13020 if (pos < 0)
13021 goto exit;
13022
13023 len = pci_vpd_info_field_size(&vpd_data[pos]);
13024 pos += PCI_VPD_INFO_FLD_HDR_SIZE;
13025 if (len + pos > vpd_size)
13026 goto exit;
13027
13028 size = min(len, BNXT_VPD_FLD_LEN - 1);
13029 memcpy(bp->board_serialno, &vpd_data[pos], size);
13030 exit:
13031 kfree(vpd_data);
13032 }
13033
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Attachments
- .config.gz [application/gzip] 68217 bytes