scsi: qla2xxx: Change the return type of qla24xx_read_flash_data()
authorBart Van Assche <bvanassche@acm.org>
Fri, 9 Aug 2019 03:01:59 +0000 (20:01 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 13 Aug 2019 01:34:07 +0000 (21:34 -0400)
This change makes it easier to detect qla24xx_read_flash_data() failures
and also to handle such failures. This change does not modify the behavior
of the driver since all callers ignore the qla24xx_read_flash_data()
return value.

Cc: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Tested-by: Himanshu Madhani <hmadhani@marvell.com>
Reviewed-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_gbl.h
drivers/scsi/qla2xxx/qla_sup.c

index 2d9664086f15dcc8ebc1db27e2a4d408b32a076e..aac664da419b493414582592a7624508a169b655 100644 (file)
@@ -554,7 +554,7 @@ fc_port_t *qla2x00_find_fcport_by_nportid(scsi_qla_host_t *, port_id_t *, u8);
  * Global Function Prototypes in qla_sup.c source file.
  */
 extern void qla2x00_release_nvram_protection(scsi_qla_host_t *);
-extern uint32_t *qla24xx_read_flash_data(scsi_qla_host_t *, uint32_t *,
+extern int qla24xx_read_flash_data(scsi_qla_host_t *, uint32_t *,
     uint32_t, uint32_t);
 extern uint8_t *qla2x00_read_nvram_data(scsi_qla_host_t *, void *, uint32_t,
     uint32_t);
index 1eb82384d933ca62f302bfe843e6dd656e053c4a..764e1bb0f6958e531e1db4e3cf13a9aea15156b1 100644 (file)
@@ -473,22 +473,24 @@ qla24xx_read_flash_dword(struct qla_hw_data *ha, uint32_t addr, uint32_t *data)
        return QLA_FUNCTION_TIMEOUT;
 }
 
-uint32_t *
+int
 qla24xx_read_flash_data(scsi_qla_host_t *vha, uint32_t *dwptr, uint32_t faddr,
     uint32_t dwords)
 {
        ulong i;
+       int ret = QLA_SUCCESS;
        struct qla_hw_data *ha = vha->hw;
 
        /* Dword reads to flash. */
        faddr =  flash_data_addr(ha, faddr);
        for (i = 0; i < dwords; i++, faddr++, dwptr++) {
-               if (qla24xx_read_flash_dword(ha, faddr, dwptr))
+               ret = qla24xx_read_flash_dword(ha, faddr, dwptr);
+               if (ret != QLA_SUCCESS)
                        break;
                cpu_to_le32s(dwptr);
        }
 
-       return dwptr;
+       return ret;
 }
 
 static int