linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: James Smart <jsmart2021@gmail.com>
Cc: kbuild-all@lists.01.org, linux-scsi@vger.kernel.org,
	maier@linux.ibm.com, dwagner@suse.de, bvanassche@acm.org,
	James Smart <jsmart2021@gmail.com>,
	Ram Vegesna <ram.vegesna@broadcom.com>
Subject: Re: [PATCH v2 32/32] elx: efct: Tie into kernel Kconfig and build process
Date: Tue, 24 Dec 2019 15:45:22 +0800	[thread overview]
Message-ID: <201912241509.I0YjqP4r%lkp@intel.com> (raw)
In-Reply-To: <20191220223723.26563-33-jsmart2021@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 9211 bytes --]

Hi James,

I love your patch! Perhaps something to improve:

[auto build test WARNING on mkp-scsi/for-next]
[also build test WARNING on scsi/for-next linus/master v5.5-rc3 next-20191220]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/James-Smart/efct-Broadcom-Emulex-FC-Target-driver/20191224-054519
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next
config: i386-allyesconfig (attached as .config)
compiler: gcc-7 (Debian 7.5.0-3) 7.5.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   In file included from include/linux/pci.h:37:0,
                    from drivers/scsi/elx/efct/efct_driver.h:23,
                    from drivers/scsi/elx/efct/efct_driver.c:7:
   drivers/scsi/elx/efct/efct_driver.c: In function 'efct_request_firmware_update':
>> drivers/scsi/elx/efct/efct_driver.c:530:10: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'size_t {aka const unsigned int}' [-Wformat=]
             "Invalid FW image found Magic: 0x%x Size: %ld\n",
             ^
   include/linux/device.h:1691:22: note: in definition of macro 'dev_fmt'
    #define dev_fmt(fmt) fmt
                         ^~~
>> drivers/scsi/elx/efct/../include/efc_common.h:32:3: note: in expansion of macro 'dev_warn'
      dev_warn(&((efc)->pcidev)->dev, fmt, ##args)
      ^~~~~~~~
>> drivers/scsi/elx/efct/efct_driver.c:529:3: note: in expansion of macro 'efc_log_warn'
      efc_log_warn(efct,
      ^~~~~~~~~~~~
--
   In file included from include/linux/pci.h:37:0,
                    from drivers/scsi/elx/efct/efct_driver.h:23,
                    from drivers/scsi/elx/efct/efct_scsi.c:7:
   drivers/scsi/elx/efct/efct_scsi.c: In function 'efct_scsi_build_sgls':
>> drivers/scsi/elx/efct/efct_scsi.c:346:13: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'size_t {aka unsigned int}' [-Wformat=]
                "sgl[%d] len of %ld is not multiple of blocksize\n",
                ^
   include/linux/device.h:1691:22: note: in definition of macro 'dev_fmt'
    #define dev_fmt(fmt) fmt
                         ^~~
>> drivers/scsi/elx/efct/../include/efc_common.h:38:3: note: in expansion of macro 'dev_dbg'
      dev_dbg(&((efc)->pcidev)->dev, fmt, ##args)
      ^~~~~~~
>> drivers/scsi/elx/efct/efct_scsi.c:345:6: note: in expansion of macro 'efc_log_test'
         efc_log_test(efct,
         ^~~~~~~~~~~~
--
   In file included from include/linux/pci.h:37:0,
                    from drivers/scsi/elx/libefc_sli/sli4.h:15,
                    from drivers/scsi/elx/libefc_sli/sli4.c:11:
   drivers/scsi/elx/libefc_sli/sli4.c: In function 'sli_cmd_read_topology':
>> drivers/scsi/elx/libefc_sli/sli4.c:3753:23: warning: format '%jd' expects argument of type 'intmax_t', but argument 3 has type 'size_t {aka unsigned int}' [-Wformat=]
       efc_log_info(sli4, "loop map buffer too small %jd\n",
                          ^
   include/linux/device.h:1691:22: note: in definition of macro 'dev_fmt'
    #define dev_fmt(fmt) fmt
                         ^~~
>> drivers/scsi/elx/libefc_sli/../include/efc_common.h:35:3: note: in expansion of macro 'dev_info'
      dev_info(&((efc)->pcidev)->dev, fmt, ##args)
      ^~~~~~~~
>> drivers/scsi/elx/libefc_sli/sli4.c:3753:4: note: in expansion of macro 'efc_log_info'
       efc_log_info(sli4, "loop map buffer too small %jd\n",
       ^~~~~~~~~~~~

vim +530 drivers/scsi/elx/efct/efct_driver.c

3bd67f890edb8f James Smart 2019-12-20  507  
3bd67f890edb8f James Smart 2019-12-20  508  static int
3bd67f890edb8f James Smart 2019-12-20  509  efct_request_firmware_update(struct efct *efct)
3bd67f890edb8f James Smart 2019-12-20  510  {
3bd67f890edb8f James Smart 2019-12-20  511  	int rc = 0;
3bd67f890edb8f James Smart 2019-12-20  512  	u8 file_name[256], fw_change_status = 0;
3bd67f890edb8f James Smart 2019-12-20  513  	const struct firmware *fw;
3bd67f890edb8f James Smart 2019-12-20  514  	struct efct_hw_grp_hdr *fw_image;
3bd67f890edb8f James Smart 2019-12-20  515  
3bd67f890edb8f James Smart 2019-12-20  516  	snprintf(file_name, 256, "%s.grp", efct->model);
3bd67f890edb8f James Smart 2019-12-20  517  	rc = request_firmware(&fw, file_name, &efct->pcidev->dev);
3bd67f890edb8f James Smart 2019-12-20  518  	if (rc) {
3bd67f890edb8f James Smart 2019-12-20  519  		efc_log_err(efct, "Firmware file(%s) not found.\n", file_name);
3bd67f890edb8f James Smart 2019-12-20  520  		return rc;
3bd67f890edb8f James Smart 2019-12-20  521  	}
3bd67f890edb8f James Smart 2019-12-20  522  	fw_image = (struct efct_hw_grp_hdr *)fw->data;
3bd67f890edb8f James Smart 2019-12-20  523  
3bd67f890edb8f James Smart 2019-12-20  524  	/* Check if firmware provided is compatible with this particular
3bd67f890edb8f James Smart 2019-12-20  525  	 * Adapter of not
3bd67f890edb8f James Smart 2019-12-20  526  	 */
3bd67f890edb8f James Smart 2019-12-20  527  	if ((be32_to_cpu(fw_image->magic_number) != EFCT_HW_OBJECT_G5) &&
3bd67f890edb8f James Smart 2019-12-20  528  	    (be32_to_cpu(fw_image->magic_number) != EFCT_HW_OBJECT_G6)) {
3bd67f890edb8f James Smart 2019-12-20 @529  		efc_log_warn(efct,
3bd67f890edb8f James Smart 2019-12-20 @530  			      "Invalid FW image found Magic: 0x%x Size: %ld\n",
3bd67f890edb8f James Smart 2019-12-20  531  			be32_to_cpu(fw_image->magic_number), fw->size);
3bd67f890edb8f James Smart 2019-12-20  532  		rc = -1;
3bd67f890edb8f James Smart 2019-12-20  533  		goto exit;
3bd67f890edb8f James Smart 2019-12-20  534  	}
3bd67f890edb8f James Smart 2019-12-20  535  
3bd67f890edb8f James Smart 2019-12-20  536  	if (!strncmp(efct->fw_version, fw_image->revision,
3bd67f890edb8f James Smart 2019-12-20  537  		     strnlen(fw_image->revision, 16))) {
3bd67f890edb8f James Smart 2019-12-20  538  		efc_log_debug(efct,
3bd67f890edb8f James Smart 2019-12-20  539  			       "No update req. Firmware is already up to date.\n");
3bd67f890edb8f James Smart 2019-12-20  540  		rc = 0;
3bd67f890edb8f James Smart 2019-12-20  541  		goto exit;
3bd67f890edb8f James Smart 2019-12-20  542  	}
3bd67f890edb8f James Smart 2019-12-20  543  	rc = efct_firmware_write(efct, fw->data, fw->size, &fw_change_status);
3bd67f890edb8f James Smart 2019-12-20  544  	if (rc) {
3bd67f890edb8f James Smart 2019-12-20  545  		efc_log_err(efct,
3bd67f890edb8f James Smart 2019-12-20  546  			     "Firmware update failed. Return code = %d\n", rc);
3bd67f890edb8f James Smart 2019-12-20  547  	} else {
3bd67f890edb8f James Smart 2019-12-20  548  		efc_log_info(efct, "Firmware updated successfully\n");
3bd67f890edb8f James Smart 2019-12-20  549  		switch (fw_change_status) {
3bd67f890edb8f James Smart 2019-12-20  550  		case 0x00:
3bd67f890edb8f James Smart 2019-12-20  551  			efc_log_debug(efct,
3bd67f890edb8f James Smart 2019-12-20  552  				       "No reset needed, new firmware is active.\n");
3bd67f890edb8f James Smart 2019-12-20  553  			break;
3bd67f890edb8f James Smart 2019-12-20  554  		case 0x01:
3bd67f890edb8f James Smart 2019-12-20  555  			efc_log_warn(efct,
3bd67f890edb8f James Smart 2019-12-20  556  				      "A physical device reset (host reboot) is needed to activate the new firmware\n");
3bd67f890edb8f James Smart 2019-12-20  557  			break;
3bd67f890edb8f James Smart 2019-12-20  558  		case 0x02:
3bd67f890edb8f James Smart 2019-12-20  559  		case 0x03:
3bd67f890edb8f James Smart 2019-12-20  560  			efc_log_debug(efct,
3bd67f890edb8f James Smart 2019-12-20  561  				       "firmware is resetting to activate the new firmware\n");
3bd67f890edb8f James Smart 2019-12-20  562  			efct_fw_reset(efct);
3bd67f890edb8f James Smart 2019-12-20  563  			break;
3bd67f890edb8f James Smart 2019-12-20  564  		default:
3bd67f890edb8f James Smart 2019-12-20  565  			efc_log_debug(efct,
3bd67f890edb8f James Smart 2019-12-20  566  				       "Unexected value change_status: %d\n",
3bd67f890edb8f James Smart 2019-12-20  567  				fw_change_status);
3bd67f890edb8f James Smart 2019-12-20  568  			break;
3bd67f890edb8f James Smart 2019-12-20  569  		}
3bd67f890edb8f James Smart 2019-12-20  570  	}
3bd67f890edb8f James Smart 2019-12-20  571  
3bd67f890edb8f James Smart 2019-12-20  572  exit:
3bd67f890edb8f James Smart 2019-12-20  573  	release_firmware(fw);
3bd67f890edb8f James Smart 2019-12-20  574  
3bd67f890edb8f James Smart 2019-12-20  575  	return rc;
3bd67f890edb8f James Smart 2019-12-20  576  }
3bd67f890edb8f James Smart 2019-12-20  577  

:::::: The code at line 530 was first introduced by commit
:::::: 3bd67f890edb8fd4fc7c9902b8f11e2041571d9a elx: efct: Driver initialization routines

:::::: TO: James Smart <jsmart2021@gmail.com>
:::::: CC: 0day robot <lkp@intel.com>

---
0-DAY kernel test infrastructure                 Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 70326 bytes --]

  reply	other threads:[~2019-12-24  7:46 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-20 22:36 [PATCH v2 00/32] [NEW] efct: Broadcom (Emulex) FC Target driver James Smart
2019-12-20 22:36 ` [PATCH v2 01/32] elx: libefc_sli: SLI-4 register offsets and field definitions James Smart
2020-01-08  7:11   ` Hannes Reinecke
2020-01-09  0:59     ` James Smart
2019-12-20 22:36 ` [PATCH v2 02/32] elx: libefc_sli: SLI Descriptors and Queue entries James Smart
2020-01-08  7:24   ` Hannes Reinecke
2020-01-09  1:00     ` James Smart
2019-12-20 22:36 ` [PATCH v2 03/32] elx: libefc_sli: Data structures and defines for mbox commands James Smart
2020-01-08  7:32   ` Hannes Reinecke
2020-01-09  1:03     ` James Smart
2019-12-20 22:36 ` [PATCH v2 04/32] elx: libefc_sli: queue create/destroy/parse routines James Smart
2020-01-08  7:45   ` Hannes Reinecke
2020-01-09  1:04     ` James Smart
2019-12-20 22:36 ` [PATCH v2 05/32] elx: libefc_sli: Populate and post different WQEs James Smart
2020-01-08  7:54   ` Hannes Reinecke
2020-01-09  1:04     ` James Smart
2019-12-20 22:36 ` [PATCH v2 06/32] elx: libefc_sli: bmbx routines and SLI config commands James Smart
2020-01-08  8:05   ` Hannes Reinecke
2019-12-20 22:36 ` [PATCH v2 07/32] elx: libefc_sli: APIs to setup SLI library James Smart
2020-01-08  8:22   ` Hannes Reinecke
2020-01-09  1:29     ` James Smart
2019-12-20 22:36 ` [PATCH v2 08/32] elx: libefc: Generic state machine framework James Smart
2020-01-09  7:05   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 09/32] elx: libefc: Emulex FC discovery library APIs and definitions James Smart
2020-01-09  7:16   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 10/32] elx: libefc: FC Domain state machine interfaces James Smart
2020-01-09  7:27   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 11/32] elx: libefc: SLI and FC PORT " James Smart
2020-01-09  7:34   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 12/32] elx: libefc: Remote node " James Smart
2020-01-09  8:31   ` Hannes Reinecke
2020-01-09  9:57   ` Daniel Wagner
2019-12-20 22:37 ` [PATCH v2 13/32] elx: libefc: Fabric " James Smart
2020-01-09  8:34   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 14/32] elx: libefc: FC node ELS and state handling James Smart
2020-01-09  8:39   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 15/32] elx: efct: Data structures and defines for hw operations James Smart
2020-01-09  8:41   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 16/32] elx: efct: Driver initialization routines James Smart
2020-01-09  9:01   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 17/32] elx: efct: Hardware queues creation and deletion James Smart
2020-01-09  9:10   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 18/32] elx: efct: RQ buffer, memory pool allocation and deallocation APIs James Smart
2020-01-09  9:13   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 19/32] elx: efct: Hardware IO and SGL initialization James Smart
2020-01-09  9:22   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 20/32] elx: efct: Hardware queues processing James Smart
2020-01-09  9:24   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 21/32] elx: efct: Unsolicited FC frame processing routines James Smart
2020-01-09  9:26   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 22/32] elx: efct: Extended link Service IO handling James Smart
2020-01-09  9:38   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 23/32] elx: efct: SCSI IO handling routines James Smart
2020-01-09  9:41   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 24/32] elx: efct: LIO backend interface routines James Smart
2020-01-09  3:56   ` Bart Van Assche
2019-12-20 22:37 ` [PATCH v2 25/32] elx: efct: Hardware IO submission routines James Smart
2020-01-09  9:52   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 26/32] elx: efct: link statistics and SFP data James Smart
2020-01-09 10:12   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 27/32] elx: efct: xport and hardware teardown routines James Smart
2020-01-09 10:14   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 28/32] elx: efct: IO timeout handling routines James Smart
2020-01-09 11:27   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 29/32] elx: efct: Firmware update, async link processing James Smart
2020-01-09 11:45   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 30/32] elx: efct: scsi_transport_fc host interface support James Smart
2020-01-09 11:46   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 31/32] elx: efct: Add Makefile and Kconfig for efct driver James Smart
2019-12-20 23:17   ` Randy Dunlap
2020-01-09 11:47   ` Hannes Reinecke
2019-12-20 22:37 ` [PATCH v2 32/32] elx: efct: Tie into kernel Kconfig and build process James Smart
2019-12-24  7:45   ` kbuild test robot [this message]
2019-12-24 21:01   ` Nathan Chancellor
2019-12-25 16:09     ` James Smart
2020-01-09 11:47   ` Hannes Reinecke
2019-12-29 18:27 ` [PATCH v2 00/32] [NEW] efct: Broadcom (Emulex) FC Target driver Sebastian Herbszt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201912241509.I0YjqP4r%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=bvanassche@acm.org \
    --cc=dwagner@suse.de \
    --cc=jsmart2021@gmail.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=maier@linux.ibm.com \
    --cc=ram.vegesna@broadcom.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).