drivers/scsi/mpt3sas/mpt3sas_base.c:4323:16: sparse: sparse: incorrect type in argument 1 (different base types)

kernel test robot
2023-11-10T18:01:21Z

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 89cdf9d556016a54ff6ddd62324aa5ec790c05cc
commit: f920642e406cfa17ebecf03d5b83a02273ec718e scsi: mpt3sas: Revert "scsi: mpt3sas: Fix writel() use"
date: 1 year, 2 months ago
config: sparc-randconfig-r121-20231110 (https://download.01.org/0day-ci/archive/20231110/202311101302.nsMeQMm1-lkp@intel.com/config)
compiler: sparc64-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231110/202311101302.nsMeQMm1-lkp@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 <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311101302.nsMeQMm1-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> drivers/scsi/mpt3sas/mpt3sas_base.c:4323:16: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] l @@ got restricted __le32 [usertype] @@
drivers/scsi/mpt3sas/mpt3sas_base.c:4323:16: sparse: expected unsigned int [usertype] l
drivers/scsi/mpt3sas/mpt3sas_base.c:4323:16: sparse: got restricted __le32 [usertype]
drivers/scsi/mpt3sas/mpt3sas_base.c:4345:16: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] l @@ got restricted __le32 [usertype] @@
drivers/scsi/mpt3sas/mpt3sas_base.c:4345:16: sparse: expected unsigned int [usertype] l
drivers/scsi/mpt3sas/mpt3sas_base.c:4345:16: sparse: got restricted __le32 [usertype]
drivers/scsi/mpt3sas/mpt3sas_base.c:4368:16: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] l @@ got restricted __le32 [usertype] @@
drivers/scsi/mpt3sas/mpt3sas_base.c:4368:16: sparse: expected unsigned int [usertype] l
drivers/scsi/mpt3sas/mpt3sas_base.c:4368:16: sparse: got restricted __le32 [usertype]
drivers/scsi/mpt3sas/mpt3sas_base.c:4389:16: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] l @@ got restricted __le32 [usertype] @@
drivers/scsi/mpt3sas/mpt3sas_base.c:4389:16: sparse: expected unsigned int [usertype] l
drivers/scsi/mpt3sas/mpt3sas_base.c:4389:16: sparse: got restricted __le32 [usertype]
drivers/scsi/mpt3sas/mpt3sas_base.c:7066:24: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] l @@ got restricted __le32 [usertype] @@
drivers/scsi/mpt3sas/mpt3sas_base.c:7066:24: sparse: expected unsigned int [usertype] l
drivers/scsi/mpt3sas/mpt3sas_base.c:7066:24: sparse: got restricted __le32 [usertype]

vim +4323 drivers/scsi/mpt3sas/mpt3sas_base.c

4302
4303 /**
4304 * _base_put_smid_scsi_io_atomic - send SCSI_IO request to firmware using
4305 * Atomic Request Descriptor
4306 * @ioc: per adapter object
4307 * @smid: system request message index
4308 * @handle: device handle, unused in this function, for function type match
4309 *
4310 * Return: nothing.
4311 */
4312 static void
4313 _base_put_smid_scsi_io_atomic(struct MPT3SAS_ADAPTER *ioc, u16 smid,
4314 u16 handle)
4315 {
4316 Mpi26AtomicRequestDescriptor_t descriptor;
4317 u32 *request = (u32 *)&descriptor;
4318
4319 descriptor.RequestFlags = MPI2_REQ_DESCRIPT_FLAGS_SCSI_IO;
4320 descriptor.MSIxIndex = _base_set_and_get_msix_index(ioc, smid);
4321 descriptor.SMID = cpu_to_le16(smid);
4322
> 4323 writel(cpu_to_le32(*request), &ioc->chip->AtomicRequestDescriptorPost);
4324 }
4325

--
0-DAY CI Kernel Test Service