]> 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>
Mon, 10 Sep 2012 06:18:20 +0000 (16:18 +1000)
commit49baf016f27ba6ae30adc61fab79307647e8f4d1
tree0035a323ba6925882061718a2f8633c93f54c771
parent04a5be79356834ead661514d87b9b7f2ea6ef310
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