[SCSI] pm80xx: Fixed return value issue
pm80xx_get_gsm_dump() was returning "1" in error case instead of negative error value. Signed-off-by: Viswas G <Viswas.G@pmcs.com> Reviewed-by: Jack Wang <jinpu.wang@profitbricks.com> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:

committed by
James Bottomley

parent
859b5d1035
commit
cf370066ac
@@ -5020,7 +5020,7 @@ pm8001_get_gsm_dump(struct device *cdev, u32 length, char *buf)
|
||||
/* check max is 1 Mbytes */
|
||||
if ((length > 0x100000) || (gsm_dump_offset & 3) ||
|
||||
((gsm_dump_offset + length) > 0x1000000))
|
||||
return 1;
|
||||
return -EINVAL;
|
||||
|
||||
if (pm8001_ha->chip_id == chip_8001)
|
||||
bar = 2;
|
||||
@@ -5048,12 +5048,12 @@ pm8001_get_gsm_dump(struct device *cdev, u32 length, char *buf)
|
||||
gsm_base = GSM_BASE;
|
||||
if (-1 == pm8001_bar4_shift(pm8001_ha,
|
||||
(gsm_base + shift_value)))
|
||||
return 1;
|
||||
return -EIO;
|
||||
} else {
|
||||
gsm_base = 0;
|
||||
if (-1 == pm80xx_bar4_shift(pm8001_ha,
|
||||
(gsm_base + shift_value)))
|
||||
return 1;
|
||||
return -EIO;
|
||||
}
|
||||
gsm_dump_offset = (gsm_dump_offset + offset) &
|
||||
0xFFFF0000;
|
||||
@@ -5073,7 +5073,7 @@ pm8001_get_gsm_dump(struct device *cdev, u32 length, char *buf)
|
||||
}
|
||||
/* Shift back to BAR4 original address */
|
||||
if (-1 == pm8001_bar4_shift(pm8001_ha, 0))
|
||||
return 1;
|
||||
return -EIO;
|
||||
pm8001_ha->fatal_forensic_shift_offset += 1024;
|
||||
|
||||
if (pm8001_ha->fatal_forensic_shift_offset >= 0x100000)
|
||||
|
Reference in New Issue
Block a user