scsi: qla2xxx: Correction to selection of loopback/echo test
This fixes loopback and echo test options. Link: https://lore.kernel.org/r/20200212214436.25532-18-hmadhani@marvell.com Signed-off-by: Joe Carnuccio <joe.carnuccio@cavium.com> Signed-off-by: Himanshu Madhani <hmadhani@marvell.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
a31056ddc6
commit
64d21b3141
|
@ -728,7 +728,7 @@ qla2x00_process_loopback(struct bsg_job *bsg_job)
|
|||
uint16_t response[MAILBOX_REGISTER_COUNT];
|
||||
uint16_t config[4], new_config[4];
|
||||
uint8_t *fw_sts_ptr;
|
||||
uint8_t *req_data = NULL;
|
||||
void *req_data = NULL;
|
||||
dma_addr_t req_data_dma;
|
||||
uint32_t req_data_len;
|
||||
uint8_t *rsp_data = NULL;
|
||||
|
@ -806,10 +806,11 @@ qla2x00_process_loopback(struct bsg_job *bsg_job)
|
|||
bsg_request->rqst_data.h_vendor.vendor_cmd[2];
|
||||
|
||||
if (atomic_read(&vha->loop_state) == LOOP_READY &&
|
||||
(ha->current_topology == ISP_CFG_F ||
|
||||
(get_unaligned_le32(req_data) == ELS_OPCODE_BYTE &&
|
||||
req_data_len == MAX_ELS_FRAME_PAYLOAD)) &&
|
||||
elreq.options == EXTERNAL_LOOPBACK) {
|
||||
((ha->current_topology == ISP_CFG_F && (elreq.options & 7) >= 2) ||
|
||||
((IS_QLA81XX(ha) || IS_QLA8031(ha) || IS_QLA8044(ha)) &&
|
||||
get_unaligned_le32(req_data) == ELS_OPCODE_BYTE &&
|
||||
req_data_len == MAX_ELS_FRAME_PAYLOAD &&
|
||||
elreq.options == EXTERNAL_LOOPBACK))) {
|
||||
type = "FC_BSG_HST_VENDOR_ECHO_DIAG";
|
||||
ql_dbg(ql_dbg_user, vha, 0x701e,
|
||||
"BSG request type: %s.\n", type);
|
||||
|
|
Loading…
Reference in New Issue