ARM: OMAP1: Fix use of possibly uninitialized irq variable
authorMaciej Falkowski <maciej.falkowski9@gmail.com>
Thu, 1 Apr 2021 16:11:27 +0000 (18:11 +0200)
committerTony Lindgren <tony@atomide.com>
Tue, 18 May 2021 06:44:41 +0000 (09:44 +0300)
commit3c4e0147c269738a19c7d70cd32395600bcc0714
tree93218debe159f5d544e9485c0c00e75f6873b6b0
parent6efb943b8616ec53a5e444193dccf1af9ad627b5
ARM: OMAP1: Fix use of possibly uninitialized irq variable

The current control flow of IRQ number assignment to `irq` variable
allows a request of IRQ of unspecified value,
generating a warning under Clang compilation with omap1_defconfig on
linux-next:

arch/arm/mach-omap1/pm.c:656:11: warning: variable 'irq' is used
uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
        else if (cpu_is_omap16xx())
                 ^~~~~~~~~~~~~~~~~
./arch/arm/mach-omap1/include/mach/soc.h:123:30: note: expanded from macro
'cpu_is_omap16xx'
                                        ^~~~~~~~~~~~~
arch/arm/mach-omap1/pm.c:658:18: note: uninitialized use occurs here
        if (request_irq(irq, omap_wakeup_interrupt, 0, "peripheral wakeup",
                        ^~~
arch/arm/mach-omap1/pm.c:656:7: note: remove the 'if' if its condition is
always true
        else if (cpu_is_omap16xx())
             ^~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap1/pm.c:611:9: note: initialize the variable 'irq' to
silence this warning
        int irq;
               ^
                = 0
1 warning generated.

The patch provides a default value to the `irq` variable
along with a validity check.

Signed-off-by: Maciej Falkowski <maciej.falkowski9@gmail.com>
Link: https://github.com/ClangBuiltLinux/linux/issues/1324
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap1/pm.c