scsi: qla2xxx: Make qla82xx_flash_wait_write_finish() easier to read
authorBart Van Assche <bvanassche@acm.org>
Mon, 29 Jun 2020 22:54:48 +0000 (15:54 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 1 Jul 2020 03:12:19 +0000 (23:12 -0400)
Return early instead of having a single return statement at the end of this
function. This patch fixes the following sparse warning:

qla_nx.c:1018: qla82xx_flash_wait_write_finish() error: uninitialized symbol 'val'.

Link: https://lore.kernel.org/r/20200629225454.22863-4-bvanassche@acm.org
Cc: Nilesh Javali <njavali@marvell.com>
Cc: Quinn Tran <qutran@marvell.com>
Cc: Himanshu Madhani <himanshu.madhani@oracle.com>
Cc: Martin Wilck <mwilck@suse.com>
Cc: Roman Bolshakov <r.bolshakov@yadro.com>
Reviewed-by: Daniel Wagner <dwagner@suse.de>
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_nx.c

index 0baf55b..ff365b4 100644 (file)
@@ -966,26 +966,21 @@ qla82xx_read_status_reg(struct qla_hw_data *ha, uint32_t *val)
 static int
 qla82xx_flash_wait_write_finish(struct qla_hw_data *ha)
 {
-       long timeout = 0;
-       uint32_t done = 1 ;
        uint32_t val;
-       int ret = 0;
+       int i, ret;
        scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev);
 
        qla82xx_wr_32(ha, QLA82XX_ROMUSB_ROM_ABYTE_CNT, 0);
-       while ((done != 0) && (ret == 0)) {
+       for (i = 0; i < 50000; i++) {
                ret = qla82xx_read_status_reg(ha, &val);
-               done = val & 1;
-               timeout++;
+               if (ret < 0 || (val & 1) == 0)
+                       return ret;
                udelay(10);
                cond_resched();
-               if (timeout >= 50000) {
-                       ql_log(ql_log_warn, vha, 0xb00d,
-                           "Timeout reached waiting for write finish.\n");
-                       return -1;
-               }
        }
-       return ret;
+       ql_log(ql_log_warn, vha, 0xb00d,
+              "Timeout reached waiting for write finish.\n");
+       return -1;
 }
 
 static int