[PATCH 1/2] RTC: JZ4740: Fix IRQ error check

From: Lars-Peter Clausen
Date: Tue Aug 21 2012 - 09:36:45 EST


The irq field of the jz4740_irc struct is unsigned. Yet we assign the result of
platform_get_irq() to it. platform_get_irq() may return a negative error code
and the code checks for this condition by checking if 'irq' is less than zero.
But since 'irq' is unsigned this test will always be false. Fix it by making
'irq' signed.

The issue was found using the following coccinelle semantic patch:

//<smpl>
@@
type T;
unsigned T i;
@@
(
*i < 0
|
*i >= 0
)
//</smpl>

Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
---
drivers/rtc/rtc-jz4740.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/rtc/rtc-jz4740.c b/drivers/rtc/rtc-jz4740.c
index 05ab227..1224182 100644
--- a/drivers/rtc/rtc-jz4740.c
+++ b/drivers/rtc/rtc-jz4740.c
@@ -42,7 +42,7 @@ struct jz4740_rtc {

struct rtc_device *rtc;

- unsigned int irq;
+ int irq;

spinlock_t lock;
};
--
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/