Hi Mike, I love your patch! Perhaps something to improve: [auto build test WARNING on mkp-scsi/for-next] [also build test WARNING on jejb-scsi/for-next axboe-block/for-next linus/master v6.3-rc4 next-20230328] [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/block-Add-PR-callouts-for-read-keys-and-reservation/20230325-022314 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next patch link: https://lore.kernel.org/r/20230324181741.13908-12-michael.christie%40oracle.com patch subject: [PATCH v5 11/18] nvme: Add pr_ops read_keys support config: i386-randconfig-s002 (https://download.01.org/0day-ci/archive/20230328/202303281502.U47uzous-lkp@xxxxxxxxx/config) compiler: gcc-11 (Debian 11.3.0-8) 11.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.4-39-gce1a6720-dirty # https://github.com/intel-lab-lkp/linux/commit/fcd2233cf643c550ab3cea2b6102077b1d05b389 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Mike-Christie/block-Add-PR-callouts-for-read-keys-and-reservation/20230325-022314 git checkout fcd2233cf643c550ab3cea2b6102077b1d05b389 # save the config file mkdir build_dir && cp config build_dir/.config make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 olddefconfig make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash drivers/nvme/host/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Link: https://lore.kernel.org/oe-kbuild-all/202303281502.U47uzous-lkp@xxxxxxxxx/ sparse warnings: (new ones prefixed by >>) >> drivers/nvme/host/pr.c:165:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [assigned] [usertype] cdw11 @@ got int @@ drivers/nvme/host/pr.c:165:24: sparse: expected restricted __le32 [assigned] [usertype] cdw11 drivers/nvme/host/pr.c:165:24: sparse: got int >> drivers/nvme/host/pr.c:171:21: sparse: sparse: restricted __le32 degrades to integer vim +165 drivers/nvme/host/pr.c 156 157 static int nvme_pr_resv_report(struct block_device *bdev, void *data, 158 u32 data_len, bool *eds) 159 { 160 struct nvme_command c = { }; 161 int ret; 162 163 c.common.opcode = nvme_cmd_resv_report; 164 c.common.cdw10 = cpu_to_le32(nvme_bytes_to_numd(data_len)); > 165 c.common.cdw11 = NVME_EXTENDED_DATA_STRUCT; 166 *eds = true; 167 168 retry: 169 ret = nvme_send_pr_command(bdev, &c, data, data_len); 170 if (ret == NVME_SC_HOST_ID_INCONSIST && > 171 c.common.cdw11 == NVME_EXTENDED_DATA_STRUCT) { 172 c.common.cdw11 = 0; 173 *eds = false; 174 goto retry; 175 } 176 177 if (ret < 0) 178 return ret; 179 180 return nvme_sc_to_pr_err(ret); 181 } 182 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests