OSDN Git Service

scsi: lpfc: fix 32-bit format string warning
authorArnd Bergmann <arnd@arndb.de>
Mon, 4 Mar 2019 19:39:09 +0000 (20:39 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 7 Mar 2019 00:26:46 +0000 (19:26 -0500)
On 32-bit architectures, we see a warning when %ld is used to print a
size_t:

In file included from drivers/scsi/lpfc/lpfc_init.c:62:
drivers/scsi/lpfc/lpfc_init.c: In function 'lpfc_new_io_buf':
drivers/scsi/lpfc/lpfc_logmsg.h:62:45: error: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Werror=format=]

This is harmless, but portable code should just use %zd to avoid the
warning.

Fixes: 0794d601d174 ("scsi: lpfc: Implement common IO buffers between NVME and SCSI")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_init.c

index cd09b21..707dbe7 100644 (file)
@@ -4090,7 +4090,7 @@ lpfc_new_io_buf(struct lpfc_hba *phba, int num_to_alloc)
        /* Sanity check to ensure our sizing is right for both SCSI and NVME */
        if (sizeof(struct lpfc_io_buf) > LPFC_COMMON_IO_BUF_SZ) {
                lpfc_printf_log(phba, KERN_ERR, LOG_FCP,
-                               "6426 Common buffer size %ld exceeds %d\n",
+                               "6426 Common buffer size %zd exceeds %d\n",
                                sizeof(struct lpfc_io_buf),
                                LPFC_COMMON_IO_BUF_SZ);
                return 0;