On Fri, Jun 12, 2009 at 12:25:13PM +0000, bugzilla-daemon@xxxxxxxxxxxxxxxxxxx wrote: > i have detected a wrong macro call in file qla_sup.c. To detect this issue i > used the static code analysis tool cppcheck. It prints the following output: > > [linux-2.6.30/drivers/scsi/qla2xxx/qla_sup.c:352]: (error) Syntax error. Not > enough parameters for macro 'qla_printk'. > > Take a look at file qla_sup.c line 352 > > DEBUG9_10(qla_printk( > "NVRAM didn't go ready...\n")); > > > The maro definition is in file qla_def.h (2657): > > #define qla_printk(level, ha, format, arg...) \ > dev_printk(level , &((ha)->pdev->dev) , format , ## arg) > > As you can see, it needs more than one parameter. I believe your tool is defective. As I understand the way variadic macros work, if there is no 'arg', the ## operator swallows up the preceeding symbol (ie the ',') and so you'll get: dev_printk(level , &((ha)->pdev->dev) , format); which is perfectly fine. -- Matthew Wilcox Intel Open Source Technology Centre "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step." -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html