mirror of
https://github.com/SCST-project/scst.git
synced 2026-07-25 01:23:14 +00:00
Merge branch 'svn-trunk' into master
This commit is contained in:
@@ -15,9 +15,7 @@
|
||||
# GNU General Public License for more details.
|
||||
|
||||
LINUXINCLUDE := $(ISER_CFLAGS) $(LINUXINCLUDE)
|
||||
ifdef CONFIG_CC_IS_CLANG
|
||||
KBUILD_EXTRA_SYMBOLS+=$(src)/../../../scst/src/Module.symvers
|
||||
endif
|
||||
KBUILD_EXTRA_SYMBOLS+= \
|
||||
$(src)/../../kernel/Module.symvers \
|
||||
$(shell for d in /usr/src/ofa_kernel/default/Module.symvers; do \
|
||||
|
||||
@@ -380,5 +380,8 @@ extern int qla24xx_soft_reset(struct qla_hw_data *);
|
||||
static inline int
|
||||
ql_mask_match(uint level)
|
||||
{
|
||||
if (ql2xextended_error_logging == 1)
|
||||
ql2xextended_error_logging = QL_DBG_DEFAULT1_MASK;
|
||||
|
||||
return (level & ql2xextended_error_logging) == level;
|
||||
}
|
||||
|
||||
@@ -3907,6 +3907,7 @@ struct qla_hw_data {
|
||||
uint32_t scm_supported_f:1;
|
||||
/* Enabled in Driver */
|
||||
uint32_t scm_enabled:1;
|
||||
uint32_t max_req_queue_warned:1;
|
||||
} flags;
|
||||
|
||||
uint16_t max_exchg;
|
||||
|
||||
+43
-11
@@ -177,7 +177,7 @@ qla2x00_chk_ms_status(scsi_qla_host_t *vha, ms_iocb_entry_t *ms_pkt,
|
||||
break;
|
||||
case CS_TIMEOUT:
|
||||
rval = QLA_FUNCTION_TIMEOUT;
|
||||
/* fall through */
|
||||
fallthrough;
|
||||
default:
|
||||
ql_dbg(ql_dbg_disc, vha, 0x2033,
|
||||
"%s failed, completion status (%x) on port_id: "
|
||||
@@ -1505,11 +1505,11 @@ qla2x00_prep_ct_fdmi_req(struct ct_sns_pkt *p, uint16_t cmd,
|
||||
static uint
|
||||
qla25xx_fdmi_port_speed_capability(struct qla_hw_data *ha)
|
||||
{
|
||||
uint speeds = 0;
|
||||
|
||||
if (IS_CNA_CAPABLE(ha))
|
||||
return FDMI_PORT_SPEED_10GB;
|
||||
if (IS_QLA28XX(ha) || IS_QLA27XX(ha)) {
|
||||
uint speeds = 0;
|
||||
|
||||
if (ha->max_supported_speed == 2) {
|
||||
if (ha->min_supported_speed <= 6)
|
||||
speeds |= FDMI_PORT_SPEED_64GB;
|
||||
@@ -1536,9 +1536,16 @@ qla25xx_fdmi_port_speed_capability(struct qla_hw_data *ha)
|
||||
}
|
||||
return speeds;
|
||||
}
|
||||
if (IS_QLA2031(ha))
|
||||
return FDMI_PORT_SPEED_16GB|FDMI_PORT_SPEED_8GB|
|
||||
FDMI_PORT_SPEED_4GB;
|
||||
if (IS_QLA2031(ha)) {
|
||||
if ((ha->pdev->subsystem_vendor == 0x103C) &&
|
||||
(ha->pdev->subsystem_device == 0x8002)) {
|
||||
speeds = FDMI_PORT_SPEED_16GB;
|
||||
} else {
|
||||
speeds = FDMI_PORT_SPEED_16GB|FDMI_PORT_SPEED_8GB|
|
||||
FDMI_PORT_SPEED_4GB;
|
||||
}
|
||||
return speeds;
|
||||
}
|
||||
if (IS_QLA25XX(ha))
|
||||
return FDMI_PORT_SPEED_8GB|FDMI_PORT_SPEED_4GB|
|
||||
FDMI_PORT_SPEED_2GB|FDMI_PORT_SPEED_1GB;
|
||||
@@ -3436,7 +3443,6 @@ void qla24xx_async_gnnft_done(scsi_qla_host_t *vha, srb_t *sp)
|
||||
list_for_each_entry(fcport, &vha->vp_fcports, list) {
|
||||
if ((fcport->flags & FCF_FABRIC_DEVICE) != 0) {
|
||||
fcport->scan_state = QLA_FCPORT_SCAN;
|
||||
fcport->logout_on_delete = 0;
|
||||
}
|
||||
}
|
||||
goto login_logout;
|
||||
@@ -3496,7 +3502,9 @@ void qla24xx_async_gnnft_done(scsi_qla_host_t *vha, srb_t *sp)
|
||||
qla2x00_clear_loop_id(fcport);
|
||||
fcport->flags |= FCF_FABRIC_DEVICE;
|
||||
} else if (fcport->d_id.b24 != rp->id.b24 ||
|
||||
fcport->scan_needed) {
|
||||
(fcport->scan_needed &&
|
||||
fcport->port_type != FCT_INITIATOR &&
|
||||
fcport->port_type != FCT_NVME_INITIATOR)) {
|
||||
qlt_schedule_sess_for_deletion(fcport);
|
||||
}
|
||||
fcport->d_id.b24 = rp->id.b24;
|
||||
@@ -3530,10 +3538,22 @@ login_logout:
|
||||
}
|
||||
|
||||
if (fcport->scan_state != QLA_FCPORT_FOUND) {
|
||||
bool do_delete = false;
|
||||
|
||||
if (fcport->scan_needed &&
|
||||
fcport->disc_state == DSC_LOGIN_PEND) {
|
||||
/* Cable got disconnected after we sent
|
||||
* a login. Do delete to prevent timeout.
|
||||
*/
|
||||
fcport->logout_on_delete = 1;
|
||||
do_delete = true;
|
||||
}
|
||||
|
||||
fcport->scan_needed = 0;
|
||||
if ((qla_dual_mode_enabled(vha) ||
|
||||
qla_ini_mode_enabled(vha)) &&
|
||||
atomic_read(&fcport->state) == FCS_ONLINE) {
|
||||
if (((qla_dual_mode_enabled(vha) ||
|
||||
qla_ini_mode_enabled(vha)) &&
|
||||
atomic_read(&fcport->state) == FCS_ONLINE) ||
|
||||
do_delete) {
|
||||
if (fcport->loop_id != FC_NO_LOOP_ID) {
|
||||
if (fcport->flags & FCF_FCP2_DEVICE)
|
||||
fcport->logout_on_delete = 0;
|
||||
@@ -3734,6 +3754,18 @@ static void qla2x00_async_gpnft_gnnft_sp_done(srb_t *sp, int res)
|
||||
unsigned long flags;
|
||||
const char *name = sp->name;
|
||||
|
||||
if (res == QLA_OS_TIMER_EXPIRED) {
|
||||
/* switch is ignoring all commands.
|
||||
* This might be a zone disable behavior.
|
||||
* This means we hit 64s timeout.
|
||||
* 22s GPNFT + 44s Abort = 64s
|
||||
*/
|
||||
ql_dbg(ql_dbg_disc, vha, 0xffff,
|
||||
"%s: Switch Zone check please .\n",
|
||||
name);
|
||||
qla2x00_mark_all_devices_lost(vha);
|
||||
}
|
||||
|
||||
/*
|
||||
* We are in an Interrupt context, queue up this
|
||||
* sp for GNNFT_DONE work. This will allow all
|
||||
|
||||
@@ -857,7 +857,7 @@ static void qla24xx_handle_gnl_done_event(scsi_qla_host_t *vha,
|
||||
fcport);
|
||||
break;
|
||||
}
|
||||
/* fall through */
|
||||
fallthrough;
|
||||
default:
|
||||
if (fcport_is_smaller(fcport)) {
|
||||
/* local adapter is bigger */
|
||||
@@ -5944,7 +5944,7 @@ qla2x00_find_all_fabric_devs(scsi_qla_host_t *vha)
|
||||
break;
|
||||
}
|
||||
|
||||
if (NVME_TARGET(vha->hw, fcport)) {
|
||||
if (found && NVME_TARGET(vha->hw, fcport)) {
|
||||
if (fcport->disc_state == DSC_DELETE_PEND) {
|
||||
qla2x00_set_fcport_disc_state(fcport, DSC_GNL);
|
||||
vha->fcport_count--;
|
||||
|
||||
@@ -2880,7 +2880,7 @@ static void qla2x00_els_dcmd2_sp_done(srb_t *sp, int res)
|
||||
&vha->dpc_flags);
|
||||
qla2xxx_wake_dpc(vha);
|
||||
}
|
||||
/* fall through */
|
||||
fallthrough;
|
||||
default:
|
||||
ql_dbg(ql_dbg_disc, vha, 0x20eb,
|
||||
"%s %8phC cmd error fw_status 0x%x 0x%x 0x%x\n",
|
||||
|
||||
@@ -1592,11 +1592,11 @@ global_port_update:
|
||||
qla2xxx_wake_dpc(vha);
|
||||
}
|
||||
}
|
||||
/* fall through */
|
||||
fallthrough;
|
||||
case MBA_IDC_COMPLETE:
|
||||
if (ha->notify_lb_portup_comp && !vha->vp_idx)
|
||||
complete(&ha->lb_portup_comp);
|
||||
/* Fallthru */
|
||||
fallthrough;
|
||||
case MBA_IDC_TIME_EXT:
|
||||
if (IS_QLA81XX(vha->hw) || IS_QLA8031(vha->hw) ||
|
||||
IS_QLA8044(ha))
|
||||
@@ -2044,8 +2044,8 @@ qla24xx_els_ct_entry(scsi_qla_host_t *vha, struct req_que *req,
|
||||
res = DID_ERROR << 16;
|
||||
}
|
||||
}
|
||||
ql_dbg(ql_dbg_user, vha, 0x503f,
|
||||
"ELS IOCB Done -%s error hdl=%x comp_status=0x%x error subcode 1=0x%x error subcode 2=0x%x total_byte=0x%x\n",
|
||||
ql_dbg(ql_dbg_disc, vha, 0x503f,
|
||||
"ELS IOCB Done -%s hdl=%x comp_status=0x%x error subcode 1=0x%x error subcode 2=0x%x total_byte=0x%x\n",
|
||||
type, sp->handle, comp_status, fw_status[1], fw_status[2],
|
||||
le32_to_cpu(ese->total_byte_count));
|
||||
goto els_ct_done;
|
||||
@@ -2208,7 +2208,7 @@ qla24xx_logio_entry(scsi_qla_host_t *vha, struct req_que *req,
|
||||
set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
|
||||
qla2xxx_wake_dpc(vha);
|
||||
}
|
||||
/* fall through */
|
||||
fallthrough;
|
||||
default:
|
||||
data[0] = MBS_COMMAND_ERROR;
|
||||
break;
|
||||
@@ -2399,7 +2399,7 @@ static void qla24xx_nvme_iocb_entry(scsi_qla_host_t *vha, struct req_que *req,
|
||||
case CS_PORT_UNAVAILABLE:
|
||||
case CS_PORT_LOGGED_OUT:
|
||||
fcport->nvme_flag |= NVME_FLAG_RESETTING;
|
||||
/* fall through */
|
||||
fallthrough;
|
||||
case CS_ABORTED:
|
||||
case CS_PORT_BUSY:
|
||||
fd->transferred_length = 0;
|
||||
@@ -3520,7 +3520,7 @@ process_err:
|
||||
} else {
|
||||
qlt_24xx_process_atio_queue(vha, 1);
|
||||
}
|
||||
/* fall through */
|
||||
fallthrough;
|
||||
case ABTS_RESP_24XX:
|
||||
case CTIO_TYPE7:
|
||||
case CTIO_CRC2:
|
||||
|
||||
@@ -334,14 +334,6 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp)
|
||||
if (time_after(jiffies, wait_time))
|
||||
break;
|
||||
|
||||
/*
|
||||
* Check if it's UNLOADING, cause we cannot poll in
|
||||
* this case, or else a NULL pointer dereference
|
||||
* is triggered.
|
||||
*/
|
||||
if (unlikely(test_bit(UNLOADING, &base_vha->dpc_flags)))
|
||||
return QLA_FUNCTION_TIMEOUT;
|
||||
|
||||
/* Check for pending interrupts. */
|
||||
qla2x00_poll(ha->rsp_q_map[0]);
|
||||
|
||||
@@ -4933,8 +4925,6 @@ qla25xx_set_els_cmds_supported(scsi_qla_host_t *vha)
|
||||
return QLA_MEMORY_ALLOC_FAILED;
|
||||
}
|
||||
|
||||
memset(els_cmd_map, 0, ELS_CMD_MAP_SIZE);
|
||||
|
||||
/* List of Purex ELS */
|
||||
cmd_opcode[0] = ELS_FPIN;
|
||||
cmd_opcode[1] = ELS_RDP;
|
||||
@@ -4966,7 +4956,7 @@ qla25xx_set_els_cmds_supported(scsi_qla_host_t *vha)
|
||||
"Done %s.\n", __func__);
|
||||
}
|
||||
|
||||
dma_free_coherent(&ha->pdev->dev, DMA_POOL_SIZE,
|
||||
dma_free_coherent(&ha->pdev->dev, ELS_CMD_MAP_SIZE,
|
||||
els_cmd_map, els_cmd_map_dma);
|
||||
|
||||
return rval;
|
||||
@@ -5240,7 +5230,7 @@ qla2x00_read_ram_word(scsi_qla_host_t *vha, uint32_t risc_addr, uint32_t *data)
|
||||
mcp->mb[8] = MSW(risc_addr);
|
||||
mcp->out_mb = MBX_8|MBX_1|MBX_0;
|
||||
mcp->in_mb = MBX_3|MBX_2|MBX_0;
|
||||
mcp->tov = 30;
|
||||
mcp->tov = MBX_TOV_SECONDS;
|
||||
mcp->flags = 0;
|
||||
rval = qla2x00_mailbox_command(vha, mcp);
|
||||
if (rval != QLA_SUCCESS) {
|
||||
@@ -5428,7 +5418,7 @@ qla2x00_write_ram_word(scsi_qla_host_t *vha, uint32_t risc_addr, uint32_t data)
|
||||
mcp->mb[8] = MSW(risc_addr);
|
||||
mcp->out_mb = MBX_8|MBX_3|MBX_2|MBX_1|MBX_0;
|
||||
mcp->in_mb = MBX_1|MBX_0;
|
||||
mcp->tov = 30;
|
||||
mcp->tov = MBX_TOV_SECONDS;
|
||||
mcp->flags = 0;
|
||||
rval = qla2x00_mailbox_command(vha, mcp);
|
||||
if (rval != QLA_SUCCESS) {
|
||||
@@ -5700,7 +5690,7 @@ qla24xx_set_fcp_prio(scsi_qla_host_t *vha, uint16_t loop_id, uint16_t priority,
|
||||
mcp->mb[9] = vha->vp_idx;
|
||||
mcp->out_mb = MBX_9|MBX_4|MBX_3|MBX_2|MBX_1|MBX_0;
|
||||
mcp->in_mb = MBX_4|MBX_3|MBX_1|MBX_0;
|
||||
mcp->tov = 30;
|
||||
mcp->tov = MBX_TOV_SECONDS;
|
||||
mcp->flags = 0;
|
||||
rval = qla2x00_mailbox_command(vha, mcp);
|
||||
if (mb != NULL) {
|
||||
@@ -5787,7 +5777,7 @@ qla82xx_mbx_intr_enable(scsi_qla_host_t *vha)
|
||||
|
||||
mcp->out_mb = MBX_1|MBX_0;
|
||||
mcp->in_mb = MBX_0;
|
||||
mcp->tov = 30;
|
||||
mcp->tov = MBX_TOV_SECONDS;
|
||||
mcp->flags = 0;
|
||||
|
||||
rval = qla2x00_mailbox_command(vha, mcp);
|
||||
@@ -5822,7 +5812,7 @@ qla82xx_mbx_intr_disable(scsi_qla_host_t *vha)
|
||||
|
||||
mcp->out_mb = MBX_1|MBX_0;
|
||||
mcp->in_mb = MBX_0;
|
||||
mcp->tov = 30;
|
||||
mcp->tov = MBX_TOV_SECONDS;
|
||||
mcp->flags = 0;
|
||||
|
||||
rval = qla2x00_mailbox_command(vha, mcp);
|
||||
@@ -6014,7 +6004,7 @@ qla81xx_set_led_config(scsi_qla_host_t *vha, uint16_t *led_cfg)
|
||||
if (IS_QLA8031(ha))
|
||||
mcp->out_mb |= MBX_6|MBX_5|MBX_4|MBX_3;
|
||||
mcp->in_mb = MBX_0;
|
||||
mcp->tov = 30;
|
||||
mcp->tov = MBX_TOV_SECONDS;
|
||||
mcp->flags = 0;
|
||||
|
||||
rval = qla2x00_mailbox_command(vha, mcp);
|
||||
@@ -6050,7 +6040,7 @@ qla81xx_get_led_config(scsi_qla_host_t *vha, uint16_t *led_cfg)
|
||||
mcp->in_mb = MBX_2|MBX_1|MBX_0;
|
||||
if (IS_QLA8031(ha))
|
||||
mcp->in_mb |= MBX_6|MBX_5|MBX_4|MBX_3;
|
||||
mcp->tov = 30;
|
||||
mcp->tov = MBX_TOV_SECONDS;
|
||||
mcp->flags = 0;
|
||||
|
||||
rval = qla2x00_mailbox_command(vha, mcp);
|
||||
|
||||
@@ -150,11 +150,12 @@ static void qla_nvme_release_fcp_cmd_kref(struct kref *kref)
|
||||
sp->priv = NULL;
|
||||
if (priv->comp_status == QLA_SUCCESS) {
|
||||
fd->rcv_rsplen = le16_to_cpu(nvme->u.nvme.rsp_pyld_len);
|
||||
fd->status = NVME_SC_SUCCESS;
|
||||
} else {
|
||||
fd->rcv_rsplen = 0;
|
||||
fd->transferred_length = 0;
|
||||
fd->status = NVME_SC_INTERNAL;
|
||||
}
|
||||
fd->status = 0;
|
||||
spin_unlock_irqrestore(&priv->cmd_lock, flags);
|
||||
|
||||
fd->done(fd);
|
||||
@@ -546,6 +547,11 @@ static int qla_nvme_post_cmd(struct nvme_fc_local_port *lport,
|
||||
struct nvme_private *priv = fd->private;
|
||||
struct qla_nvme_rport *qla_rport = rport->private;
|
||||
|
||||
if (!priv) {
|
||||
/* nvme association has been torn down */
|
||||
return rval;
|
||||
}
|
||||
|
||||
fcport = qla_rport->fcport;
|
||||
|
||||
if (!qpair || !fcport || (qpair && !qpair->fw_started) ||
|
||||
@@ -698,7 +704,7 @@ int qla_nvme_register_hba(struct scsi_qla_host *vha)
|
||||
struct nvme_fc_port_template *tmpl;
|
||||
struct qla_hw_data *ha;
|
||||
struct nvme_fc_port_info pinfo;
|
||||
int ret = EINVAL;
|
||||
int ret = -EINVAL;
|
||||
|
||||
if (!IS_ENABLED(CONFIG_NVME_FC))
|
||||
return ret;
|
||||
@@ -707,7 +713,15 @@ int qla_nvme_register_hba(struct scsi_qla_host *vha)
|
||||
tmpl = &qla_nvme_fc_transport;
|
||||
|
||||
WARN_ON(vha->nvme_local_port);
|
||||
WARN_ON(ha->max_req_queues < 3);
|
||||
|
||||
if (ha->max_req_queues < 3) {
|
||||
if (!ha->flags.max_req_queue_warned)
|
||||
ql_log(ql_log_info, vha, 0x2120,
|
||||
"%s: Disabling FC-NVME due to lack of free queue pairs (%d).\n",
|
||||
__func__, ha->max_req_queues);
|
||||
ha->flags.max_req_queue_warned = 1;
|
||||
return ret;
|
||||
}
|
||||
|
||||
qla_nvme_fc_transport.max_hw_queues =
|
||||
min((uint8_t)(qla_nvme_fc_transport.max_hw_queues),
|
||||
|
||||
@@ -1931,7 +1931,7 @@ qla2x00_config_dma_addressing(struct qla_hw_data *ha)
|
||||
if (!dma_set_mask(&ha->pdev->dev, DMA_BIT_MASK(64))) {
|
||||
/* Any upper-dword bits set? */
|
||||
if (MSD(dma_get_required_mask(&ha->pdev->dev)) &&
|
||||
!pci_set_consistent_dma_mask(ha->pdev, DMA_BIT_MASK(64))) {
|
||||
!dma_set_coherent_mask(&ha->pdev->dev, DMA_BIT_MASK(64))) {
|
||||
/* Ok, a 64bit DMA mask is applicable. */
|
||||
ha->flags.enable_64bit_addressing = 1;
|
||||
ha->isp_ops->calc_req_entries = qla2x00_calc_iocbs_64;
|
||||
@@ -1941,7 +1941,7 @@ qla2x00_config_dma_addressing(struct qla_hw_data *ha)
|
||||
}
|
||||
|
||||
dma_set_mask(&ha->pdev->dev, DMA_BIT_MASK(32));
|
||||
pci_set_consistent_dma_mask(ha->pdev, DMA_BIT_MASK(32));
|
||||
dma_set_coherent_mask(&ha->pdev->dev, DMA_BIT_MASK(32));
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -2063,6 +2063,11 @@ skip_pio:
|
||||
/* Determine queue resources */
|
||||
ha->max_req_queues = ha->max_rsp_queues = 1;
|
||||
ha->msix_count = QLA_BASE_VECTORS;
|
||||
|
||||
/* Check if FW supports MQ or not */
|
||||
if (!(ha->fw_attributes & BIT_6))
|
||||
goto mqiobase_exit;
|
||||
|
||||
if (!ql2xmqsupport || !ql2xnvmeenable ||
|
||||
(!IS_QLA25XX(ha) && !IS_QLA81XX(ha)))
|
||||
goto mqiobase_exit;
|
||||
@@ -2875,10 +2880,6 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
|
||||
/* This may fail but that's ok */
|
||||
pci_enable_pcie_error_reporting(pdev);
|
||||
|
||||
/* Turn off T10-DIF when FC-NVMe is enabled */
|
||||
if (ql2xnvmeenable)
|
||||
ql2xenabledif = 0;
|
||||
|
||||
ha = kzalloc(sizeof(struct qla_hw_data), GFP_KERNEL);
|
||||
if (!ha) {
|
||||
ql_log_pci(ql_log_fatal, pdev, 0x0009,
|
||||
|
||||
@@ -2457,7 +2457,7 @@ qla2x00_write_optrom_data(struct scsi_qla_host *vha, void *buf,
|
||||
sec_mask = 0x10000;
|
||||
break;
|
||||
}
|
||||
/* Fall through... */
|
||||
fallthrough;
|
||||
|
||||
case 0x1f: /* Atmel flash. */
|
||||
/* 512k sector size. */
|
||||
@@ -2466,7 +2466,7 @@ qla2x00_write_optrom_data(struct scsi_qla_host *vha, void *buf,
|
||||
sec_mask = 0x80000000;
|
||||
break;
|
||||
}
|
||||
/* Fall through... */
|
||||
fallthrough;
|
||||
|
||||
case 0x01: /* AMD flash. */
|
||||
if (flash_id == 0x38 || flash_id == 0x40 ||
|
||||
@@ -2499,7 +2499,7 @@ qla2x00_write_optrom_data(struct scsi_qla_host *vha, void *buf,
|
||||
sec_mask = 0x1e000;
|
||||
break;
|
||||
}
|
||||
/* fall through */
|
||||
fallthrough;
|
||||
default:
|
||||
/* Default to 16 kb sector size. */
|
||||
rest_addr = 0x3fff;
|
||||
|
||||
@@ -457,7 +457,7 @@ void qlt_response_pkt_all_vps(struct scsi_qla_host *vha,
|
||||
ql_dbg(ql_dbg_tgt, vha, 0xe073,
|
||||
"qla_target(%d):%s: CRC2 Response pkt\n",
|
||||
vha->vp_idx, __func__);
|
||||
/* fall through */
|
||||
fallthrough;
|
||||
case CTIO_TYPE7:
|
||||
{
|
||||
struct ctio7_from_24xx *entry = (struct ctio7_from_24xx *)pkt;
|
||||
@@ -1285,7 +1285,7 @@ void qlt_schedule_sess_for_deletion(struct fc_port *sess)
|
||||
|
||||
qla24xx_chk_fcp_state(sess);
|
||||
|
||||
ql_dbg(ql_dbg_tgt, sess->vha, 0xe001,
|
||||
ql_dbg(ql_dbg_disc, sess->vha, 0xe001,
|
||||
"Scheduling sess %p for deletion %8phC\n",
|
||||
sess, sess->port_name);
|
||||
|
||||
@@ -2040,7 +2040,7 @@ static void qlt_do_tmr_work(struct work_struct *work)
|
||||
struct qla_tgt_mgmt_cmd *mcmd =
|
||||
container_of(work, struct qla_tgt_mgmt_cmd, work);
|
||||
struct qla_hw_data *ha = mcmd->vha->hw;
|
||||
int rc = EIO;
|
||||
int rc;
|
||||
uint32_t tag;
|
||||
unsigned long flags;
|
||||
|
||||
@@ -4485,7 +4485,7 @@ static int qlt_issue_task_mgmt(struct fc_port *sess, u64 lun,
|
||||
case QLA_TGT_CLEAR_TS:
|
||||
case QLA_TGT_ABORT_TS:
|
||||
abort_cmds_for_lun(vha, lun, a->u.isp24.fcp_hdr.s_id);
|
||||
/* fall through */
|
||||
fallthrough;
|
||||
case QLA_TGT_CLEAR_ACA:
|
||||
h = qlt_find_qphint(vha, mcmd->unpacked_lun);
|
||||
mcmd->qpair = h->qpair;
|
||||
@@ -5125,7 +5125,7 @@ static int qlt_24xx_handle_els(struct scsi_qla_host *vha,
|
||||
res = 1;
|
||||
break;
|
||||
}
|
||||
/* fall through */
|
||||
fallthrough;
|
||||
case ELS_LOGO:
|
||||
case ELS_PRLO:
|
||||
spin_lock_irqsave(&ha->tgt.sess_lock, flags);
|
||||
@@ -5736,7 +5736,7 @@ static int qlt_chk_unresolv_exchg(struct scsi_qla_host *vha,
|
||||
/* found existing exchange */
|
||||
qpair->retry_term_cnt++;
|
||||
if (qpair->retry_term_cnt >= 5) {
|
||||
rc = EIO;
|
||||
rc = -EIO;
|
||||
qpair->retry_term_cnt = 0;
|
||||
ql_log(ql_log_warn, vha, 0xffff,
|
||||
"Unable to send ABTS Respond. Dumping firmware.\n");
|
||||
|
||||
Reference in New Issue
Block a user