[SCSI] megaraid_sas: fix a bug for 64 bit arches
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 28 Jun 2013 21:21:04 +0000 (00:21 +0300)
committerJames Bottomley <JBottomley@Parallels.com>
Tue, 9 Jul 2013 11:14:06 +0000 (12:14 +0100)
On 64 bit then -1UL and -1U are not equal, so these conditions don't
work as intended and it breaks error handling.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Sumit Saxena <sumit.saxena@lsi.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/megaraid/megaraid_sas_fp.c

index 8056eac..4f401f7 100644 (file)
@@ -585,7 +585,7 @@ u8 get_arm(struct megasas_instance *instance, u32 ld, u8 span, u64 stripe,
        case 1:
                /* start with logical arm */
                arm = get_arm_from_strip(instance, ld, stripe, map);
-               if (arm != -1UL)
+               if (arm != -1U)
                        arm *= 2;
                break;
        }
@@ -637,7 +637,7 @@ static u8 mr_spanset_get_phy_params(struct megasas_instance *instance, u32 ld,
 
        if (raid->level == 6) {
                logArm = get_arm_from_strip(instance, ld, stripRow, map);
-               if (logArm == -1UL)
+               if (logArm == -1U)
                        return FALSE;
                rowMod = mega_mod64(row, SPAN_ROW_SIZE(map, ld, span));
                armQ = SPAN_ROW_SIZE(map, ld, span) - 1 - rowMod;