Hi Mike, I love your patch! Yet something to improve: [auto build test ERROR on mkp-scsi/for-next] [also build test ERROR on jejb-scsi/for-next groeck-staging/hwmon-next linus/master v6.1-rc8 next-20221208] [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/Mike-Christie/scsi-Add-struct-for-args-to-execution-functions/20221209-141751 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next patch link: https://lore.kernel.org/r/20221209061325.705999-6-michael.christie%40oracle.com patch subject: [PATCH v2 05/15] scsi: scsi_dh: Convert to scsi_execute_args config: i386-randconfig-a002 compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1) 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/intel-lab-lkp/linux/commit/ffdc00dd8a793937de0c817ac52ad58d9f7a36a4 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Mike-Christie/scsi-Add-struct-for-args-to-execution-functions/20221209-141751 git checkout ffdc00dd8a793937de0c817ac52ad58d9f7a36a4 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/scsi/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All errors (new ones prefixed by >>): >> drivers/scsi/device_handler/scsi_dh_hp_sw.c:134:8: error: call to __compiletime_assert_266 declared with 'error' attribute: BUILD_BUG_ON failed: exec_args.sense && exec_args.sense_len != SCSI_SENSE_BUFFERSIZE res = scsi_execute_args(sdev, cmd, opf, NULL, 0, HP_SW_TIMEOUT, ^ include/scsi/scsi_device.h:475:2: note: expanded from macro 'scsi_execute_args' BUILD_BUG_ON(args.sense && \ ^ include/linux/build_bug.h:50:2: note: expanded from macro 'BUILD_BUG_ON' BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition) ^ include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^ note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:345:2: note: expanded from macro '_compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ include/linux/compiler_types.h:338:4: note: expanded from macro '__compiletime_assert' prefix ## suffix(); \ ^ :239:1: note: expanded from here __compiletime_assert_266 ^ drivers/scsi/device_handler/scsi_dh_hp_sw.c:93:8: error: call to __compiletime_assert_265 declared with 'error' attribute: BUILD_BUG_ON failed: exec_args.sense && exec_args.sense_len != SCSI_SENSE_BUFFERSIZE res = scsi_execute_args(sdev, cmd, opf, NULL, 0, HP_SW_TIMEOUT, ^ include/scsi/scsi_device.h:475:2: note: expanded from macro 'scsi_execute_args' BUILD_BUG_ON(args.sense && \ ^ include/linux/build_bug.h:50:2: note: expanded from macro 'BUILD_BUG_ON' BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition) ^ include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^ note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:345:2: note: expanded from macro '_compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ include/linux/compiler_types.h:338:4: note: expanded from macro '__compiletime_assert' prefix ## suffix(); \ ^ :235:1: note: expanded from here __compiletime_assert_265 ^ 2 errors generated. vim +/error +134 drivers/scsi/device_handler/scsi_dh_hp_sw.c 113 114 /* 115 * hp_sw_start_stop - Send START STOP UNIT command 116 * @sdev: sdev command should be sent to 117 * 118 * Sending START STOP UNIT activates the SP. 119 */ 120 static int hp_sw_start_stop(struct hp_sw_dh_data *h) 121 { 122 unsigned char cmd[6] = { START_STOP, 0, 0, 0, 1, 0 }; 123 struct scsi_sense_hdr sshdr; 124 struct scsi_device *sdev = h->sdev; 125 int res, rc = SCSI_DH_OK; 126 int retry_cnt = HP_SW_RETRIES; 127 blk_opf_t opf = REQ_OP_DRV_IN | REQ_FAILFAST_DEV | 128 REQ_FAILFAST_TRANSPORT | REQ_FAILFAST_DRIVER; 129 const struct scsi_exec_args exec_args = { 130 .sshdr = &sshdr, 131 }; 132 133 retry: > 134 res = scsi_execute_args(sdev, cmd, opf, NULL, 0, HP_SW_TIMEOUT, 135 HP_SW_RETRIES, exec_args); 136 if (res) { 137 if (!scsi_sense_valid(&sshdr)) { 138 sdev_printk(KERN_WARNING, sdev, 139 "%s: sending start_stop_unit failed, " 140 "no sense available\n", HP_SW_NAME); 141 return SCSI_DH_IO; 142 } 143 switch (sshdr.sense_key) { 144 case NOT_READY: 145 if (sshdr.asc == 0x04 && sshdr.ascq == 3) { 146 /* 147 * LUN not ready - manual intervention required 148 * 149 * Switch-over in progress, retry. 150 */ 151 if (--retry_cnt) 152 goto retry; 153 rc = SCSI_DH_RETRY; 154 break; 155 } 156 fallthrough; 157 default: 158 sdev_printk(KERN_WARNING, sdev, 159 "%s: sending start_stop_unit failed, " 160 "sense %x/%x/%x\n", HP_SW_NAME, 161 sshdr.sense_key, sshdr.asc, sshdr.ascq); 162 rc = SCSI_DH_IO; 163 } 164 } 165 return rc; 166 } 167 -- 0-DAY CI Kernel Test Service https://01.org/lkp