drivers/scsi/mpt3sas/mpt3sas_ctl.c:678:38: sparse: sparse: incorrect type in assignment (different base types)
From: kernel test robot
Date: Fri Dec 12 2025 - 16:02:31 EST
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 187d0801404f415f22c0b31531982c7ea97fa341
commit: c72be4b5bb7cb1a9059d0b845f87223b52399cc2 scsi: mpt3sas: Add support for MCTP Passthrough commands
date: 10 months ago
config: i386-randconfig-r123-20251212 (https://download.01.org/0day-ci/archive/20251213/202512130428.lGbwgxgy-lkp@xxxxxxxxx/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251213/202512130428.lGbwgxgy-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512130428.lGbwgxgy-lkp@xxxxxxxxx/
sparse warnings: (new ones prefixed by >>)
>> drivers/scsi/mpt3sas/mpt3sas_ctl.c:678:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] H2DLength @@ got int data_out_sz @@
drivers/scsi/mpt3sas/mpt3sas_ctl.c:678:38: sparse: expected restricted __le32 [usertype] H2DLength
drivers/scsi/mpt3sas/mpt3sas_ctl.c:678:38: sparse: got int data_out_sz
drivers/scsi/mpt3sas/mpt3sas_ctl.c:679:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] D2HLength @@ got int data_in_sz @@
drivers/scsi/mpt3sas/mpt3sas_ctl.c:679:38: sparse: expected restricted __le32 [usertype] D2HLength
drivers/scsi/mpt3sas/mpt3sas_ctl.c:679:38: sparse: got int data_in_sz
drivers/scsi/mpt3sas/mpt3sas_ctl.c:2862:40: sparse: sparse: Using plain integer as NULL pointer
vim +678 drivers/scsi/mpt3sas/mpt3sas_ctl.c
657
658 /**
659 * _ctl_send_mctp_passthru_req - Send an MCTP passthru request
660 * @ioc: per adapter object
661 * @mctp_passthru_req: MPI mctp passhthru request from caller
662 * @psge: pointer to the H2DSGL
663 * @data_out_dma: DMA buffer for H2D SGL
664 * @data_out_sz: H2D length
665 * @data_in_dma: DMA buffer for D2H SGL
666 * @data_in_sz: D2H length
667 * @smid: SMID to submit the request
668 *
669 */
670 static void
671 _ctl_send_mctp_passthru_req(
672 struct MPT3SAS_ADAPTER *ioc,
673 Mpi26MctpPassthroughRequest_t *mctp_passthru_req, void *psge,
674 dma_addr_t data_out_dma, int data_out_sz,
675 dma_addr_t data_in_dma, int data_in_sz,
676 u16 smid)
677 {
> 678 mctp_passthru_req->H2DLength = data_out_sz;
679 mctp_passthru_req->D2HLength = data_in_sz;
680
681 /* Build the H2D SGL from the data out buffer */
682 ioc->build_sg(ioc, psge, data_out_dma, data_out_sz, 0, 0);
683
684 psge += ioc->sge_size_ieee;
685
686 /* Build the D2H SGL for the data in buffer */
687 ioc->build_sg(ioc, psge, 0, 0, data_in_dma, data_in_sz);
688
689 ioc->put_smid_default(ioc, smid);
690 }
691
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki