diff mbox

[03/25] qla2xxx: Allow ABTS RX, RIDA on ATIOQ for ISP83XX/27XX

Message ID 20170519215344.2168-4-himanshu.madhani@cavium.com (mailing list archive)
State Changes Requested, archived
Headers show

Commit Message

Madhani, Himanshu May 19, 2017, 9:53 p.m. UTC
From: Quinn Tran <quinn.tran@cavium.com>

Allow ABTS RX, RIDA to be moved to ATIO Queue only for
ISP83XX and ISP27XX.

Cc: <stable@vger.kernel.org>
Signed-off-by: Quinn Tran <quinn.tran@cavium.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>
---
 drivers/scsi/qla2xxx/qla_init.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Comments

Bart Van Assche May 19, 2017, 10:42 p.m. UTC | #1
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.
Madhani, Himanshu May 22, 2017, 5:35 p.m. UTC | #2
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 mbox

Patch

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)