• Lars-Peter Clausen's avatar
    drivers/rtc/rtc-spear.c: fix several error checks · a16e8393
    Lars-Peter Clausen authored
    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: default avatarLars-Peter Clausen <lars@metafoo.de>
    Cc: Viresh Kumar <viresh.kumar@st.com>
    Cc: Alessandro Zummo <a.zummo@towertech.it>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    a16e8393
rtc-spear.c 13.7 KB