]> 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, 21 Sep 2012 01:02:18 +0000 (11:02 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Fri, 21 Sep 2012 05:59:18 +0000 (15:59 +1000)
commite386173bdfcd3dac5c9a37542e900c12a05c5771
treeb364bcf3cbed34a837d06b9149093c9bd3092dfa
parentc4107445470237eac85494c446ccd6839c743a56
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