diff options
author | Vikas Chaudhary <vikas.chaudhary@qlogic.com> | 2011-12-02 01:42:10 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2011-12-15 01:57:42 -0500 |
commit | ce505f9d1d9701f02b124ba1ee6caec21c2100e2 (patch) | |
tree | ddbb1e8bdf0f0e371d58828ab212ed8b0c06f774 /drivers/scsi/qla4xxx | |
parent | 8e0f3a66a2833eaad618584c2bac89a8ae2efce7 (diff) |
[SCSI] qla4xxx: Wait for disable_acb before doing set_acb
In function qla4xxx_iface_set_param wait for disable_acb to
complete so that set_acb will not fail.
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>
Diffstat (limited to 'drivers/scsi/qla4xxx')
-rw-r--r-- | drivers/scsi/qla4xxx/ql4_os.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c index 064d67282f59..0c9ee9378094 100644 --- a/drivers/scsi/qla4xxx/ql4_os.c +++ b/drivers/scsi/qla4xxx/ql4_os.c | |||
@@ -935,7 +935,16 @@ qla4xxx_iface_set_param(struct Scsi_Host *shost, void *data, uint32_t len) | |||
935 | goto exit_init_fw_cb; | 935 | goto exit_init_fw_cb; |
936 | } | 936 | } |
937 | 937 | ||
938 | qla4xxx_disable_acb(ha); | 938 | rval = qla4xxx_disable_acb(ha); |
939 | if (rval != QLA_SUCCESS) { | ||
940 | ql4_printk(KERN_ERR, ha, "%s: disable acb mbx failed\n", | ||
941 | __func__); | ||
942 | rval = -EIO; | ||
943 | goto exit_init_fw_cb; | ||
944 | } | ||
945 | |||
946 | wait_for_completion_timeout(&ha->disable_acb_comp, | ||
947 | DISABLE_ACB_TOV * HZ); | ||
939 | 948 | ||
940 | qla4xxx_initcb_to_acb(init_fw_cb); | 949 | qla4xxx_initcb_to_acb(init_fw_cb); |
941 | 950 | ||