diff options
author | Chad Dupuis <chad.dupuis@qlogic.com> | 2014-09-25 13:16:59 +0400 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2014-09-25 16:25:04 +0400 |
commit | e05fe2924892a6c3c23dc818e94ce80dbceb86b1 (patch) | |
tree | 1e12e068afb1bf09dd8bc0db09b1ff0945dbb47f /drivers/scsi/qla2xxx/qla_inline.h | |
parent | 9a6e6400a9bef4a7fb11ccddf932e1868f566a73 (diff) | |
download | linux-e05fe2924892a6c3c23dc818e94ce80dbceb86b1.tar.xz |
qla2xxx: Honor FCP_RSP retry delay timer field.
Parse the retry delay timer field from the FCP response data and if:
- It is not zero
- The SCSI status is busy or queue full
return SCSI_MLQUEUE_TARGET_BUSY for the number of milliseconds specified
in the retry delay timer field.
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_inline.h')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_inline.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_inline.h b/drivers/scsi/qla2xxx/qla_inline.h index b3b1d6fc2d6c..fee9eb7c8a60 100644 --- a/drivers/scsi/qla2xxx/qla_inline.h +++ b/drivers/scsi/qla2xxx/qla_inline.h @@ -279,3 +279,11 @@ qla2x00_handle_mbx_completion(struct qla_hw_data *ha, int status) complete(&ha->mbx_intr_comp); } } + +static inline void +qla2x00_set_retry_delay_timestamp(fc_port_t *fcport, uint16_t retry_delay) +{ + if (retry_delay) + fcport->retry_delay_timestamp = jiffies + + (retry_delay * HZ / 10); +} |