scsi: arcmsr: remove redundant check for secs < 0
authorColin Ian King <colin.king@canonical.com>
Sat, 9 Dec 2017 00:34:14 +0000 (00:34 +0000)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 12 Dec 2017 02:37:08 +0000 (21:37 -0500)
The check for secs being less than zero is redundant for two reasons.
Firstly, secs is unsigned so the check is always going to be false.
Secondly, if secs was signed the proceeding calculation of secs is never
going to be negative.  Hence we can remove this redundant check and day
and secs re-adjustment.

Detected by static analysis with smatch:
arcmsr_set_iop_datetime() warn: unsigned 'secs' is never less than zero.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Acked-by: Ching Huang <ching2048@areca.com.tw>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/arcmsr/arcmsr_hba.c

index 0707a60..e4258b6 100644 (file)
@@ -3679,10 +3679,6 @@ static void arcmsr_set_iop_datetime(struct timer_list *t)
        secs = (u32)(tv.tv_sec - (sys_tz.tz_minuteswest * 60));
        days = secs / 86400;
        secs = secs - 86400 * days;
-       if (secs < 0) {
-               days = days - 1;
-               secs = secs + 86400;
-       }
        j = days / 146097;
        i = days - 146097 * j;
        a = i + 719468;