]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
drivers/rtc/rtc-spear.c: fix several error checks
authorLars-Peter Clausen <lars@metafoo.de>
Wed, 26 Sep 2012 01:34:37 +0000 (11:34 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Thu, 27 Sep 2012 07:28:15 +0000 (17:28 +1000)
commit8ceab4f96c9135b768910054bc4414cbf5a8bdf6
tree43e641b83d1a10c8adbbc9e85681a08c5a3c3932
parentee7f89e55f415490bec82407d7baf85cda05e84f
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