aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2012-10-04 17:14:00 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2012-10-06 03:05:03 +0900
commit7c6a52a090ce7f680077ed42326e11cf17e713dc (patch)
treec04511e2e8078c4ef540d59406f3d16d46a390e8
parent6b8029fab64164b5895d58d23229b75c82e3a6fc (diff)
downloadkernel_goldelico_gta04-7c6a52a090ce7f680077ed42326e11cf17e713dc.zip
kernel_goldelico_gta04-7c6a52a090ce7f680077ed42326e11cf17e713dc.tar.gz
kernel_goldelico_gta04-7c6a52a090ce7f680077ed42326e11cf17e713dc.tar.bz2
drivers/rtc/rtc-jz4740.c: fix IRQ error check
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@metafoo.de> Cc: Alessandro Zummo <a.zummo@towertech.it> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--drivers/rtc/rtc-jz4740.c2
1 files changed, 1 insertions, 1 deletions
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;
};