Re: [PATCH] sata: nv: fix debug format string mismatch

From: Jens Axboe
Date: Mon May 17 2021 - 12:29:52 EST


On 5/14/21 8:01 AM, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> Turning on debugging in this this driver reveals a type mismatch:
>
> In file included from include/linux/kernel.h:17,
> from drivers/ata/sata_nv.c:23:
> drivers/ata/sata_nv.c: In function 'nv_swncq_sdbfis':
> drivers/ata/sata_nv.c:2121:10: error: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'u64' {aka 'long long unsigned int'} [-Werror=format=]
> 2121 | DPRINTK("id 0x%x QC: qc_active 0x%x,"
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ......
> 2124 | ap->print_id, ap->qc_active, pp->qc_active,
> | ~~~~~~~~~~~~~
> | |
> | u64 {aka long long unsigned int}
> include/linux/printk.h:142:10: note: in definition of macro 'no_printk'
> 142 | printk(fmt, ##__VA_ARGS__); \
> | ^~~
> drivers/ata/sata_nv.c:2121:2: note: in expansion of macro 'DPRINTK'
> 2121 | DPRINTK("id 0x%x QC: qc_active 0x%x,"
> | ^~~~~~~
> drivers/ata/sata_nv.c:2121:36: note: format string is defined here
> 2121 | DPRINTK("id 0x%x QC: qc_active 0x%x,"
> | ~^
> | |
> | unsigned int
> | %llx
>
> Use the correct format string for the u64 type.

Applied, thanks.

--
Jens Axboe