2018-01-26 03:23:40

by Dong Bo

[permalink] [raw]
Subject: [PATCH] Fix compile warning with ATA_DEBUG enabled

From: Dong Bo <[email protected]>

This fixs the following comile warnings with ATA_DEBUG enabled,
which detected by Linaro GCC 5.2-2015.11:

In file included from ./include/linux/printk.h:7:0,
from ./include/linux/kernel.h:14,
from ./include/asm-generic/bug.h:16,
from ./arch/arm64/include/asm/bug.h:37,
from ./include/linux/bug.h:5,
from ./include/linux/mmdebug.h:5,
from ./include/linux/gfp.h:5,
from ./include/linux/slab.h:15,
from drivers/ata/libata-scsi.c:36:
drivers/ata/libata-scsi.c: In function 'ata_scsi_dump_cdb':
./include/linux/kern_levels.h:5:18: warning: format '%d' expects
argument of type 'int', but argument 6 has type 'u64 {aka long
long unsigned int}' [-Wformat=]
#define KERN_SOH "\001" /* ASCII Start Of Header */
^
./include/linux/kern_levels.h:11:18: note: in expansion of macro
'KERN_SOH'
#define KERN_ERR KERN_SOH "3" /* error conditions */
^
./include/linux/libata.h:65:38: note: in expansion of macro 'KERN_ERR'
#define DPRINTK(fmt, args...) printk(KERN_ERR "%s: " fmt,
__func__, ## args)
^
drivers/ata/libata-scsi.c:4284:2: note: in expansion of macro 'DPRINTK'
DPRINTK("CDB (%u:%d,%d,%d) %9ph\n",
^

Signed-off-by: Dong Bo <[email protected]>
---
drivers/ata/libata-scsi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index 66be961..214ecb6 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -4282,7 +4282,7 @@ static inline void ata_scsi_dump_cdb(struct ata_port *ap,
#ifdef ATA_DEBUG
struct scsi_device *scsidev = cmd->device;
- DPRINTK("CDB (%u:%d,%d,%d) %9ph\n",
+ DPRINTK("CDB (%u:%u,%u,%lld) %9ph\n",
ap->print_id,
scsidev->channel, scsidev->id, scsidev->lun,
cmd->cmnd);
--
1.9.1


.




2018-02-12 17:03:29

by Tejun Heo

[permalink] [raw]
Subject: Re: [PATCH] Fix compile warning with ATA_DEBUG enabled

On Fri, Jan 26, 2018 at 11:21:49AM +0800, dongbo (E) wrote:
> From: Dong Bo <[email protected]>
>
> This fixs the following comile warnings with ATA_DEBUG enabled,
> which detected by Linaro GCC 5.2-2015.11:
>
> In file included from ./include/linux/printk.h:7:0,
> from ./include/linux/kernel.h:14,
> from ./include/asm-generic/bug.h:16,
> from ./arch/arm64/include/asm/bug.h:37,
> from ./include/linux/bug.h:5,
> from ./include/linux/mmdebug.h:5,
> from ./include/linux/gfp.h:5,
> from ./include/linux/slab.h:15,
> from drivers/ata/libata-scsi.c:36:
> drivers/ata/libata-scsi.c: In function 'ata_scsi_dump_cdb':
> ./include/linux/kern_levels.h:5:18: warning: format '%d' expects
> argument of type 'int', but argument 6 has type 'u64 {aka long
> long unsigned int}' [-Wformat=]
> #define KERN_SOH "\001" /* ASCII Start Of Header */
> ^
> ./include/linux/kern_levels.h:11:18: note: in expansion of macro
> 'KERN_SOH'
> #define KERN_ERR KERN_SOH "3" /* error conditions */
> ^
> ./include/linux/libata.h:65:38: note: in expansion of macro 'KERN_ERR'
> #define DPRINTK(fmt, args...) printk(KERN_ERR "%s: " fmt,
> __func__, ## args)
> ^
> drivers/ata/libata-scsi.c:4284:2: note: in expansion of macro 'DPRINTK'
> DPRINTK("CDB (%u:%d,%d,%d) %9ph\n",
> ^
>
> Signed-off-by: Dong Bo <[email protected]>

Path didn't apply, probalby because of the tailing part. Hand-applied
to libata/for-4.16-fixes and trimmed the description a bit.

Thanks.

--
tejun