]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
qla4xxx: Wait for disable_acb before doing set_acb
authorVikas Chaudhary <vikas.chaudhary@qlogic.com>
Fri, 2 Dec 2011 06:42:10 +0000 (22:42 -0800)
committerMaxim Uvarov <maxim.uvarov@oracle.com>
Tue, 10 Jan 2012 22:54:15 +0000 (14:54 -0800)
In function qla4xxx_iface_set_param wait for disable_acb to
complete so that set_acb will not fail.

Jira Key: IUEKR2ISCSI-5

Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Signed-off-by: Tej Parkash <tej.parkash@qlogic.com>
Signed-off-by: Chuck Anderson <chuck.anderson@oracle.com>
drivers/scsi/qla4xxx/ql4_os.c

index 0660a577fa33eb38f41a7f64866ce5e411140a6e..b290ae3823726c7db070bad612a5dc79237c9b1b 100644 (file)
@@ -935,7 +935,16 @@ qla4xxx_iface_set_param(struct Scsi_Host *shost, void *data, uint32_t len)
                goto exit_init_fw_cb;
        }
 
-       qla4xxx_disable_acb(ha);
+       rval = qla4xxx_disable_acb(ha);
+       if (rval != QLA_SUCCESS) {
+               ql4_printk(KERN_ERR, ha, "%s: disable acb mbx failed\n",
+                          __func__);
+               rval = -EIO;
+               goto exit_init_fw_cb;
+       }
+
+       wait_for_completion_timeout(&ha->disable_acb_comp,
+                                   DISABLE_ACB_TOV * HZ);
 
        qla4xxx_initcb_to_acb(init_fw_cb);