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