Message ID | 20170519215344.2168-4-himanshu.madhani@cavium.com (mailing list archive) |
---|---|
State | Changes Requested, archived |
Headers | show |
On Fri, 2017-05-19 at 14:53 -0700, Himanshu Madhani wrote: > From: Quinn Tran <quinn.tran@cavium.com> > > Allow ABTS RX, RIDA to be moved to ATIO Queue only for > ISP83XX and ISP27XX. Hello Himanshu, Sorry but this description sounds rather mysterious to me? Bart.
Hi Bart, > On May 19, 2017, at 3:42 PM, Bart Van Assche <bart.vanassche@sandisk.com> wrote: > > On Fri, 2017-05-19 at 14:53 -0700, Himanshu Madhani wrote: >> From: Quinn Tran <quinn.tran@cavium.com> >> >> Allow ABTS RX, RIDA to be moved to ATIO Queue only for >> ISP83XX and ISP27XX. > > Hello Himanshu, > > Sorry but this description sounds rather mysterious to me? > > Bart. we had added module parameter “ ql2xmvasynctoatio” as part of the Improve RSCN handling patch https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/scsi/qla2xxx?id=41dc529a4602ac737020f423f84686a81de38e6d At the time when we submitted patch, we were setting bit for all ISPs which is not correct. Only ISP83XX/27XX should be allowed to set this bit. Setting this Bit will allow firmware to post ABTS/PUREX/RIDA IOCB’s via ATIO queue only when target/dual mode is operational. Thanks, - Himanshu
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index 034743309ada..a017a1af1707 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c @@ -2946,7 +2946,8 @@ qla24xx_update_fw_options(scsi_qla_host_t *vha) } /* Move PUREX, ABTS RX & RIDA to ATIOQ */ - if (ql2xmvasynctoatio) { + if (ql2xmvasynctoatio && + (IS_QLA83XX(ha) || IS_QLA27XX(ha))) { if (qla_tgt_mode_enabled(vha) || qla_dual_mode_enabled(vha)) ha->fw_options[2] |= BIT_11; @@ -2958,7 +2959,9 @@ qla24xx_update_fw_options(scsi_qla_host_t *vha) "%s, add FW options 1-3 = 0x%04x 0x%04x 0x%04x mode %x\n", __func__, ha->fw_options[1], ha->fw_options[2], ha->fw_options[3], vha->host->active_mode); - qla2x00_set_fw_options(vha, ha->fw_options); + + if (ha->fw_options[1] || ha->fw_options[2] || ha->fw_options[3]) + qla2x00_set_fw_options(vha, ha->fw_options); /* Update Serial Link options. */ if ((le16_to_cpu(ha->fw_seriallink_options24[0]) & BIT_0) == 0)