Signedness issue in drivers/scsi/ipr.c
Subsystems (2)
PATCH 1/1 Signedness issue in drivers/scsi/ipr.c
hi,
gcc 4.1 with some extra warnings show the following:
drivers/scsi/ipr.c:6361: warning: comparison of unsigned expression < 0 is always false drivers/scsi/ipr.c:6385: warning: comparison of unsigned expression < 0 is always false drivers/scsi/ipr.c:6415: warning: comparison of unsigned expression < 0 is always false
The problem is that rc is of the type u32, which can never be smaller than zero, therefore all three error handling checks get useless. This patch changes it to a normal int, because all usages / all functions it get used with expect an int.
drivers/scsi/ipr.c renamed from drivers/scsi/ipr.c.orig +1 -1
@@ -6324,7 +6324,7 @@ static int __devinit ipr_probe_ioa(strucstruct Scsi_Host *host;unsigned long ipr_regs_pci;void __iomem *ipr_regs; -u32 rc =PCIBIOS_SUCCESSFUL ; +int rc =PCIBIOS_SUCCESSFUL ;volatile u32 mask, uproc;ENTER ;
Ar Sad, 2006-08-19 am 21:13 +0200, ysgrifennodd Eric Sesterhenn:
Quoted 8 lines
hi,
gcc 4.1 with some extra warnings show the following:
drivers/scsi/ipr.c:6361: warning: comparison of unsigned expression < 0 is always falsedrivers/scsi/ipr.c:6385: warning: comparison of unsigned expression < 0 is always falsedrivers/scsi/ipr.c:6415: warning: comparison of unsigned expression < 0 is always false
Quoted 7 lines · Eric Sesterhenn
hi,
gcc 4.1 with some extra warnings show the following:
drivers/scsi/ipr.c:6361: warning: comparison of unsigned expression < 0 is always falsedrivers/scsi/ipr.c:6385: warning: comparison of unsigned expression < 0 is always falsedrivers/scsi/ipr.c:6415: warning: comparison of unsigned expression < 0 is always false
Quoted 20 lines
The problem is that rc is of the type u32, which can never be smaller than zero, therefore all three error handling checks get useless. This patch changes it to a normal int, because all usages / all functions it get used with expect an int.
Signed-off-by Eric Sesterhenn <[email protected]>drivers/scsi/ipr.c renamed from drivers/scsi/ipr.c.orig +1
-1@@ -6324,7 +6324,7 @@ static int __devinit ipr_probe_ioa(strucstruct Scsi_Host *host;unsigned long ipr_regs_pci;void __iomem *ipr_regs; -u32 rc =PCIBIOS_SUCCESSFUL ; +int rc =PCIBIOS_SUCCESSFUL ;volatile u32 mask, uproc;ENTER ;