scsi: mpi3mr: Fix printk() format strings
authorArnd Bergmann <arnd@arndb.de>
Thu, 7 Dec 2023 14:28:06 +0000 (15:28 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 8 Dec 2023 17:04:56 +0000 (12:04 -0500)
The newly introduced error messages get multiple format strings wrong:
size_t must be printed using the %z modifier rather than %l and dma_addr_t
must be printed by reference using the special %pad pointer type:

drivers/scsi/mpi3mr/mpi3mr_app.c: In function 'mpi3mr_build_nvme_prp':
include/linux/kern_levels.h:5:25: error: format '%llx' expects argument of type 'long long unsigned int', but argument 4 has type 'dma_addr_t' {aka 'unsigned int'} [-Werror=format=]
drivers/scsi/mpi3mr/mpi3mr_app.c:949:25: note: in expansion of macro 'dprint_bsg_err'
  949 |                         dprint_bsg_err(mrioc,
      |                         ^~~~~~~~~~~~~~
include/linux/kern_levels.h:5:25: error: format '%ld' expects argument of type 'long int', but argument 4 has type 'size_t' {aka 'unsigned int'} [-Werror=format=]
drivers/scsi/mpi3mr/mpi3mr_app.c:1112:41: note: in expansion of macro 'dprint_bsg_err'
 1112 |                                         dprint_bsg_err(mrioc,
      |                                         ^~~~~~~~~~~~~~

Fixes: 9536af615dc9 ("scsi: mpi3mr: Support for preallocation of SGL BSG data buffers part-3")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20231207142813.935717-1-arnd@kernel.org
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/mpi3mr/mpi3mr_app.c

index 4b93b7440da6e80eb66f080ac1ce7cf6dd70e046..0380996b5ad27aee4740f03431b4157b3526f6bf 100644 (file)
@@ -947,8 +947,8 @@ static int mpi3mr_build_nvme_prp(struct mpi3mr_ioc *mrioc,
                dma_addr = drv_buf_iter->dma_desc[count].dma_addr;
                if (dma_addr & page_mask) {
                        dprint_bsg_err(mrioc,
-                                      "%s:dma_addr 0x%llx is not aligned with page size 0x%x\n",
-                                      __func__,  dma_addr, dev_pgsz);
+                                      "%s:dma_addr %pad is not aligned with page size 0x%x\n",
+                                      __func__,  &dma_addr, dev_pgsz);
                        return -1;
                }
        }
@@ -1110,7 +1110,7 @@ static int mpi3mr_build_nvme_prp(struct mpi3mr_ioc *mrioc,
                                if ((++desc_count) >=
                                   drv_buf_iter->num_dma_desc) {
                                        dprint_bsg_err(mrioc,
-                                                      "%s: Invalid len %ld while building PRP\n",
+                                                      "%s: Invalid len %zd while building PRP\n",
                                                       __func__, length);
                                        goto err_out;
                                }