diff options
author | Mintz, Yuval <Yuval.Mintz@cavium.com> | 2017-05-18 19:41:04 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-05-18 13:21:40 -0400 |
commit | 7b6859fbdcc4a590c8ef03bcc00d770b42d41c42 (patch) | |
tree | fc96fae837385dd96f6b91c990c01311868cce22 /drivers/scsi/qedi/qedi_fw_api.c | |
parent | b17b8a20c5cd4a264601eacf1fda29008047d05a (diff) | |
download | linux-7b6859fbdcc4a590c8ef03bcc00d770b42d41c42.tar.gz linux-7b6859fbdcc4a590c8ef03bcc00d770b42d41c42.tar.bz2 linux-7b6859fbdcc4a590c8ef03bcc00d770b42d41c42.zip |
qed: Utilize FW 8.20.0.0
This pushes qed [and as result, all qed* drivers] into using 8.20.0.0
firmware. The changes are mostly contained in qed with minor changes
to qedi due to some HSI changes.
Content-wise, the firmware contains fixes to various issues exposed
since the release of the previous firmware, including:
- Corrects iSCSI fast retransmit when data digest is enabled.
- Stop draining packets when receiving several consecutive PFCs.
- Prevent possible assertion when consecutively opening/closing
many connections.
- Prevent possible assertion due to too long BDQ fetch time.
In addition, the new firmware would allow us to later add iWARP support
in qed and qedr.
Changes from previous version
-----------------------------
- V2: Fix warning in qed_debug.c
Signed-off-by: Chad Dupuis <Chad.Dupuis@cavium.com>
Signed-off-by: Ram Amrani <Ram.Amrani@cavium.com>
Signed-off-by: Tomer Tayar <Tomer.Tayar@cavium.com>
Signed-off-by: Manish Rangankar <Manish.Rangankar@cavium.com>
Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/scsi/qedi/qedi_fw_api.c')
-rw-r--r-- | drivers/scsi/qedi/qedi_fw_api.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/qedi/qedi_fw_api.c b/drivers/scsi/qedi/qedi_fw_api.c index fd354d4e03eb..7df32a68bd54 100644 --- a/drivers/scsi/qedi/qedi_fw_api.c +++ b/drivers/scsi/qedi/qedi_fw_api.c @@ -578,7 +578,8 @@ int init_initiator_rw_iscsi_task(struct iscsi_task_params *task_params, (struct iscsi_common_hdr *)cmd_header, tx_sgl_params, cmd_params, dif_task_params); - else if (GET_FIELD(cmd_header->flags_attr, ISCSI_CMD_HDR_READ)) + else if (GET_FIELD(cmd_header->flags_attr, ISCSI_CMD_HDR_READ) || + (task_params->rx_io_size == 0 && task_params->tx_io_size == 0)) return init_rw_iscsi_task(task_params, ISCSI_TASK_TYPE_INITIATOR_READ, conn_params, |