Message ID | 20170607214333.23110-7-himanshu.madhani@cavium.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Quinn, [auto build test ERROR on scsi/for-next] [also build test ERROR on next-20170608] [cannot apply to v4.12-rc4] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Himanshu-Madhani/qla2xxx-Add-Target-Multiqueue-support/20170608-063551 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: x86_64-acpi-redef (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 Note: the linux-review/Himanshu-Madhani/qla2xxx-Add-Target-Multiqueue-support/20170608-063551 HEAD 71026a5288a1cc5580ca466af592e9c9fd157c78 builds fine. It only hurts bisectibility. All errors (new ones prefixed by >>): drivers/scsi/qla2xxx/qla_target.c: In function 'qlt_xmit_response': >> drivers/scsi/qla2xxx/qla_target.c:3088:53: error: 'struct qla_qpair' has no member named 'chip_reset' if (!qpair->fw_started || cmd->reset_count != qpair->chip_reset) { ^~ >> drivers/scsi/qla2xxx/qla_target.c:3098:22: error: 'ha' undeclared (first use in this function) cmd->reset_count, ha->chip_reset); ^~ drivers/scsi/qla2xxx/qla_target.c:3098:22: note: each undeclared identifier is reported only once for each function it appears in drivers/scsi/qla2xxx/qla_target.c: In function 'qlt_rdy_to_xfer': drivers/scsi/qla2xxx/qla_target.c:3224:54: error: 'struct qla_qpair' has no member named 'chip_reset' if (!qpair->fw_started || (cmd->reset_count != qpair->chip_reset) || ^~ drivers/scsi/qla2xxx/qla_target.c:3235:22: error: 'ha' undeclared (first use in this function) cmd->reset_count, ha->chip_reset); ^~ vim +3088 drivers/scsi/qla2xxx/qla_target.c 3082 3083 if (xmit_type == QLA_TGT_XMIT_STATUS) 3084 vha->tgt_counters.core_qla_snd_status++; 3085 else 3086 vha->tgt_counters.core_qla_que_buf++; 3087 > 3088 if (!qpair->fw_started || cmd->reset_count != qpair->chip_reset) { 3089 /* 3090 * Either the port is not online or this request was from 3091 * previous life, just abort the processing. 3092 */ 3093 cmd->state = QLA_TGT_STATE_PROCESSED; 3094 qlt_abort_cmd_on_host_reset(cmd->vha, cmd); 3095 ql_dbg(ql_dbg_async, vha, 0xe101, 3096 "RESET-RSP online/active/old-count/new-count = %d/%d/%d/%d.\n", 3097 vha->flags.online, qla2x00_reset_active(vha), > 3098 cmd->reset_count, ha->chip_reset); 3099 spin_unlock_irqrestore(qpair->qp_lock_ptr, flags); 3100 return 0; 3101 } --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h index 18b37c864250..0dec148a4580 100644 --- a/drivers/scsi/qla2xxx/qla_def.h +++ b/drivers/scsi/qla2xxx/qla_def.h @@ -3262,6 +3262,7 @@ struct qla_qpair { /* move vha->flags.difdix_supported here */ uint32_t difdix_supported:1; uint32_t delete_in_progress:1; + uint32_t fw_started:1; uint16_t id; /* qp number used with FW */ uint16_t vp_idx; /* vport ID */ @@ -4183,6 +4184,26 @@ struct qla2_sgx { srb_t *sp; }; +#define QLA_FW_STARTED(_ha) { \ + int i; \ + _ha->flags.fw_started = 1; \ + _ha->base_qpair->fw_started = 1; \ + for (i = 0; i < _ha->max_qpairs; i++) { \ + if (_ha->queue_pair_map[i]) \ + _ha->queue_pair_map[i]->fw_started = 1; \ + } \ +} + +#define QLA_FW_STOPPED(_ha) { \ + int i; \ + _ha->flags.fw_started = 0; \ + _ha->base_qpair->fw_started = 0; \ + for (i = 0; i < _ha->max_qpairs; i++) { \ + if (_ha->queue_pair_map[i]) \ + _ha->queue_pair_map[i]->fw_started = 0; \ + } \ +} + /* * Macros to help code, maintain, etc. */ diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index dcc306121a3d..e6a1f9ca0e95 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c @@ -3207,7 +3207,7 @@ qla2x00_init_rings(scsi_qla_host_t *vha) } else { ql_dbg(ql_dbg_init, vha, 0x00d3, "Init Firmware -- success.\n"); - ha->flags.fw_started = 1; + QLA_FW_STARTED(ha); } return (rval); @@ -6841,7 +6841,7 @@ qla2x00_try_to_stop_firmware(scsi_qla_host_t *vha) ret = qla2x00_stop_firmware(vha); } - ha->flags.fw_started = 0; + QLA_FW_STOPPED(ha); ha->flags.fw_init_done = 0; } diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c index 3c9f9aa7f2c2..7ebd92ee94c3 100644 --- a/drivers/scsi/qla2xxx/qla_isr.c +++ b/drivers/scsi/qla2xxx/qla_isr.c @@ -710,7 +710,7 @@ qla2x00_async_event(scsi_qla_host_t *vha, struct rsp_que *rsp, uint16_t *mb) ha->isp_ops->fw_dump(vha, 1); ha->flags.fw_init_done = 0; - ha->flags.fw_started = 0; + QLA_FW_STOPPED(ha); if (IS_FWI2_CAPABLE(ha)) { if (mb[1] == 0 && mb[2] == 0) { @@ -2759,7 +2759,7 @@ void qla24xx_process_response_queue(struct scsi_qla_host *vha, struct sts_entry_24xx *pkt; struct qla_hw_data *ha = vha->hw; - if (!ha->flags.fw_started) + if (!rsp->qpair->fw_started) return; if (rsp->qpair->cpuid != smp_processor_id()) diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c index cbe6ff9f663e..8e855093740c 100644 --- a/drivers/scsi/qla2xxx/qla_target.c +++ b/drivers/scsi/qla2xxx/qla_target.c @@ -3047,7 +3047,6 @@ int qlt_xmit_response(struct qla_tgt_cmd *cmd, int xmit_type, uint8_t scsi_status) { struct scsi_qla_host *vha = cmd->vha; - struct qla_hw_data *ha = vha->hw; struct qla_qpair *qpair = cmd->qpair; struct ctio7_to_24xx *pkt; struct qla_tgt_prm prm; @@ -3086,7 +3085,7 @@ int qlt_xmit_response(struct qla_tgt_cmd *cmd, int xmit_type, else vha->tgt_counters.core_qla_que_buf++; - if (!ha->flags.fw_started || cmd->reset_count != ha->chip_reset) { + if (!qpair->fw_started || cmd->reset_count != qpair->chip_reset) { /* * Either the port is not online or this request was from * previous life, just abort the processing. @@ -3206,7 +3205,6 @@ int qlt_rdy_to_xfer(struct qla_tgt_cmd *cmd) { struct ctio7_to_24xx *pkt; struct scsi_qla_host *vha = cmd->vha; - struct qla_hw_data *ha = vha->hw; struct qla_tgt *tgt = cmd->tgt; struct qla_tgt_prm prm; unsigned long flags = 0; @@ -3223,7 +3221,7 @@ int qlt_rdy_to_xfer(struct qla_tgt_cmd *cmd) if (qlt_pci_map_calc_cnt(&prm) != 0) return -EAGAIN; - if (!ha->flags.fw_started || (cmd->reset_count != ha->chip_reset) || + if (!qpair->fw_started || (cmd->reset_count != qpair->chip_reset) || (cmd->sess && cmd->sess->deleted)) { /* * Either the port is not online or this request was from