]> git.karo-electronics.de Git - karo-tx-linux.git/commit
drivers/rtc/rtc-spear.c: fix several error checks
authorLars-Peter Clausen <lars@metafoo.de>
Fri, 7 Sep 2012 00:24:58 +0000 (10:24 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Fri, 7 Sep 2012 05:36:31 +0000 (15:36 +1000)
commita438663cf56c24539fc7e5de43c0253f08378040
tree6dcd83d49cfca1c1ce10f9a23151cc89f450a465
parent040ccf4ca9fa6ee39d317d8306950b9c8d0b878f
drivers/rtc/rtc-spear.c: fix several error checks

There are several comparisons of a unsigned int to less than zero int
spear RTC driver.  Such a check will always be true.  In all these cases a
signed int is assigned to the unsigned variable, which is checked, before.
 So the right fix is to make the checked variable signed as well.  In one
case the check can be dropped completely, because all it does it returns
'err' if 'err' is less than zero, otherwise it returns 0.  Since in this
particular case 'err' is always either 0 or less this is the same as just
returning 'err'.

The issue has been 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: Viresh Kumar <viresh.kumar@st.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
drivers/rtc/rtc-spear.c