@@ -1081,7 +1081,7 @@ lpfc_hba_down_post_s4(struct lpfc_hba *phba)
&aborts);
list_for_each_entry_safe(psb, psb_next, &aborts, list) {
- psb->pCmd = NULL;
+ psb->scsi.pCmd = NULL;
psb->status = IOSTAT_SUCCESS;
cnt++;
}
@@ -1023,18 +1023,18 @@ lpfc_nvme_io_cmd_wqe_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pwqeIn,
/* Guard against abort handler being called at same time */
spin_lock(&lpfc_ncmd->buf_lock);
- if (!lpfc_ncmd->nvmeCmd) {
+ if (!lpfc_ncmd->nvme.nvmeCmd) {
spin_unlock(&lpfc_ncmd->buf_lock);
lpfc_printf_vlog(vport, KERN_ERR, LOG_NODE | LOG_NVME_IOERR,
"6066 Missing cmpl ptrs: lpfc_ncmd x%px, "
"nvmeCmd x%px\n",
- lpfc_ncmd, lpfc_ncmd->nvmeCmd);
+ lpfc_ncmd, lpfc_ncmd->nvme.nvmeCmd);
/* Release the lpfc_ncmd regardless of the missing elements. */
lpfc_release_nvme_buf(phba, lpfc_ncmd);
return;
}
- nCmd = lpfc_ncmd->nvmeCmd;
+ nCmd = lpfc_ncmd->nvme.nvmeCmd;
status = bf_get(lpfc_wcqe_c_status, wcqe);
idx = lpfc_ncmd->cur_iocbq.hba_wqidx;
@@ -1205,7 +1205,7 @@ lpfc_nvme_io_cmd_wqe_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pwqeIn,
if (!(lpfc_ncmd->flags & LPFC_SBUF_XBUSY)) {
freqpriv = nCmd->private;
freqpriv->nvme_buf = NULL;
- lpfc_ncmd->nvmeCmd = NULL;
+ lpfc_ncmd->nvme.nvmeCmd = NULL;
spin_unlock(&lpfc_ncmd->buf_lock);
nCmd->done(nCmd);
} else
@@ -1239,7 +1239,7 @@ lpfc_nvme_prep_io_cmd(struct lpfc_vport *vport,
struct lpfc_fc4_ctrl_stat *cstat)
{
struct lpfc_hba *phba = vport->phba;
- struct nvmefc_fcp_req *nCmd = lpfc_ncmd->nvmeCmd;
+ struct nvmefc_fcp_req *nCmd = lpfc_ncmd->nvme.nvmeCmd;
struct lpfc_iocbq *pwqeq = &(lpfc_ncmd->cur_iocbq);
union lpfc_wqe128 *wqe = &pwqeq->wqe;
uint32_t req_len;
@@ -1264,7 +1264,7 @@ lpfc_nvme_prep_io_cmd(struct lpfc_vport *vport,
/* Word 5 */
if ((phba->cfg_nvme_enable_fb) &&
(pnode->nlp_flag & NLP_FIRSTBURST)) {
- req_len = lpfc_ncmd->nvmeCmd->payload_length;
+ req_len = lpfc_ncmd->nvme.nvmeCmd->payload_length;
if (req_len < pnode->nvme_fb_size)
wqe->fcp_iwrite.initial_xfer_len =
req_len;
@@ -1346,7 +1346,7 @@ lpfc_nvme_prep_io_dma(struct lpfc_vport *vport,
struct lpfc_io_buf *lpfc_ncmd)
{
struct lpfc_hba *phba = vport->phba;
- struct nvmefc_fcp_req *nCmd = lpfc_ncmd->nvmeCmd;
+ struct nvmefc_fcp_req *nCmd = lpfc_ncmd->nvme.nvmeCmd;
union lpfc_wqe128 *wqe = &lpfc_ncmd->cur_iocbq.wqe;
struct sli4_sge *sgl = lpfc_ncmd->dma_sgl;
struct sli4_hybrid_sgl *sgl_xtra = NULL;
@@ -1694,9 +1694,9 @@ lpfc_nvme_fcp_io_submit(struct nvme_fc_local_port *pnvme_lport,
* an abort so inform the FW of the maximum IO pending time.
*/
freqpriv->nvme_buf = lpfc_ncmd;
- lpfc_ncmd->nvmeCmd = pnvme_fcreq;
+ lpfc_ncmd->nvme.nvmeCmd = pnvme_fcreq;
lpfc_ncmd->ndlp = ndlp;
- lpfc_ncmd->qidx = lpfc_queue_info->qidx;
+ lpfc_ncmd->nvme.qidx = lpfc_queue_info->qidx;
/*
* Issue the IO on the WQ indicated by index in the hw_queue_handle.
@@ -1761,8 +1761,8 @@ lpfc_nvme_fcp_io_submit(struct nvme_fc_local_port *pnvme_lport,
return 0;
out_free_nvme_buf:
- if (lpfc_ncmd->nvmeCmd->sg_cnt) {
- if (lpfc_ncmd->nvmeCmd->io_dir == NVMEFC_FCP_WRITE)
+ if (lpfc_ncmd->nvme.nvmeCmd->sg_cnt) {
+ if (lpfc_ncmd->nvme.nvmeCmd->io_dir == NVMEFC_FCP_WRITE)
cstat->output_requests--;
else
cstat->input_requests--;
@@ -1885,7 +1885,7 @@ lpfc_nvme_fcp_abort(struct nvme_fc_local_port *pnvme_lport,
"6140 NVME IO req has no matching lpfc nvme "
"io buffer. Skipping abort req.\n");
return;
- } else if (!lpfc_nbuf->nvmeCmd) {
+ } else if (!lpfc_nbuf->nvme.nvmeCmd) {
spin_unlock_irqrestore(&phba->hbalock, flags);
lpfc_printf_vlog(vport, KERN_ERR, LOG_NVME_ABTS,
"6141 lpfc NVME IO req has no nvme_fcreq "
@@ -1904,12 +1904,12 @@ lpfc_nvme_fcp_abort(struct nvme_fc_local_port *pnvme_lport,
* has already completed the NVME IO and the nvme transport
* has not seen it yet.
*/
- if (lpfc_nbuf->nvmeCmd != pnvme_fcreq) {
+ if (lpfc_nbuf->nvme.nvmeCmd != pnvme_fcreq) {
lpfc_printf_vlog(vport, KERN_ERR, LOG_NVME_ABTS,
"6143 NVME req mismatch: "
"lpfc_nbuf x%px nvmeCmd x%px, "
"pnvme_fcreq x%px. Skipping Abort xri x%x\n",
- lpfc_nbuf, lpfc_nbuf->nvmeCmd,
+ lpfc_nbuf, lpfc_nbuf->nvme.nvmeCmd,
pnvme_fcreq, nvmereq_wqe->sli4_xritag);
goto out_unlock;
}
@@ -2655,17 +2655,17 @@ lpfc_sli4_nvme_xri_aborted(struct lpfc_hba *phba,
lpfc_printf_log(phba, KERN_INFO, LOG_NVME_ABTS,
"6311 nvme_cmd %p xri x%x tag x%x abort complete and "
"xri released\n",
- lpfc_ncmd->nvmeCmd, xri,
+ lpfc_ncmd->nvme.nvmeCmd, xri,
lpfc_ncmd->cur_iocbq.iotag);
/* Aborted NVME commands are required to not complete
* before the abort exchange command fully completes.
* Once completed, it is available via the put list.
*/
- if (lpfc_ncmd->nvmeCmd) {
- nvme_cmd = lpfc_ncmd->nvmeCmd;
+ if (lpfc_ncmd->nvme.nvmeCmd) {
+ nvme_cmd = lpfc_ncmd->nvme.nvmeCmd;
nvme_cmd->done(nvme_cmd);
- lpfc_ncmd->nvmeCmd = NULL;
+ lpfc_ncmd->nvme.nvmeCmd = NULL;
}
lpfc_release_nvme_buf(phba, lpfc_ncmd);
}
@@ -2738,13 +2738,13 @@ lpfc_nvme_cancel_iocb(struct lpfc_hba *phba, struct lpfc_iocbq *pwqeIn)
lpfc_ncmd = (struct lpfc_io_buf *)pwqeIn->context1;
spin_lock(&lpfc_ncmd->buf_lock);
- if (!lpfc_ncmd->nvmeCmd) {
+ if (!lpfc_ncmd->nvme.nvmeCmd) {
spin_unlock(&lpfc_ncmd->buf_lock);
lpfc_release_nvme_buf(phba, lpfc_ncmd);
return;
}
- nCmd = lpfc_ncmd->nvmeCmd;
+ nCmd = lpfc_ncmd->nvme.nvmeCmd;
lpfc_printf_log(phba, KERN_INFO, LOG_NVME_IOERR,
"6194 NVME Cancel xri %x\n",
lpfc_ncmd->cur_iocbq.sli4_xritag);
@@ -2754,7 +2754,7 @@ lpfc_nvme_cancel_iocb(struct lpfc_hba *phba, struct lpfc_iocbq *pwqeIn)
nCmd->status = NVME_SC_INTERNAL;
freqpriv = nCmd->private;
freqpriv->nvme_buf = NULL;
- lpfc_ncmd->nvmeCmd = NULL;
+ lpfc_ncmd->nvme.nvmeCmd = NULL;
spin_unlock(&lpfc_ncmd->buf_lock);
nCmd->done(nCmd);
@@ -146,7 +146,7 @@ lpfc_update_stats(struct lpfc_vport *vport, struct lpfc_io_buf *lpfc_cmd)
struct lpfc_hba *phba = vport->phba;
struct lpfc_rport_data *rdata;
struct lpfc_nodelist *pnode;
- struct scsi_cmnd *cmd = lpfc_cmd->pCmd;
+ struct scsi_cmnd *cmd = lpfc_cmd->scsi.pCmd;
unsigned long flags;
struct Scsi_Host *shost = lpfc_shost_from_vport(vport);
unsigned long latency;
@@ -158,7 +158,7 @@ lpfc_update_stats(struct lpfc_vport *vport, struct lpfc_io_buf *lpfc_cmd)
return;
latency = jiffies_to_msecs((long)jiffies - (long)lpfc_cmd->start_time);
- rdata = lpfc_cmd->rdata;
+ rdata = lpfc_cmd->scsi.rdata;
pnode = rdata->pnode;
spin_lock_irqsave(shost->host_lock, flags);
@@ -377,8 +377,8 @@ lpfc_new_scsi_buf_s3(struct lpfc_vport *vport, int num_to_alloc)
}
psb->cur_iocbq.iocb_flag |= LPFC_IO_FCP;
- psb->fcp_cmnd = psb->data;
- psb->fcp_rsp = psb->data + sizeof(struct fcp_cmnd);
+ psb->scsi.fcp_cmnd = psb->data;
+ psb->scsi.fcp_rsp = psb->data + sizeof(struct fcp_cmnd);
psb->dma_sgl = psb->data + sizeof(struct fcp_cmnd) +
sizeof(struct fcp_rsp);
@@ -484,9 +484,9 @@ lpfc_sli4_vport_delete_fcp_xri_aborted(struct lpfc_vport *vport)
if (psb->cur_iocbq.iocb_flag == LPFC_IO_NVME)
continue;
- if (psb->rdata && psb->rdata->pnode &&
- psb->rdata->pnode->vport == vport)
- psb->rdata = NULL;
+ if (psb->scsi.rdata && psb->scsi.rdata->pnode &&
+ psb->scsi.rdata->pnode->vport == vport)
+ psb->scsi.rdata = NULL;
}
spin_unlock(&qp->abts_io_buf_list_lock);
}
@@ -538,8 +538,8 @@ lpfc_sli4_io_xri_aborted(struct lpfc_hba *phba,
qp->abts_scsi_io_bufs--;
spin_unlock(&qp->abts_io_buf_list_lock);
- if (psb->rdata && psb->rdata->pnode)
- ndlp = psb->rdata->pnode;
+ if (psb->scsi.rdata && psb->scsi.rdata->pnode)
+ ndlp = psb->scsi.rdata->pnode;
else
ndlp = NULL;
@@ -660,22 +660,22 @@ lpfc_get_scsi_buf_s4(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp,
* if other protocols used this buffer.
*/
lpfc_cmd->cur_iocbq.iocb_flag = LPFC_IO_FCP;
- lpfc_cmd->prot_seg_cnt = 0;
+ lpfc_cmd->scsi.prot_seg_cnt = 0;
lpfc_cmd->seg_cnt = 0;
lpfc_cmd->timeout = 0;
lpfc_cmd->flags = 0;
lpfc_cmd->start_time = jiffies;
- lpfc_cmd->waitq = NULL;
+ lpfc_cmd->scsi.waitq = NULL;
lpfc_cmd->cpu = cpu;
#ifdef CONFIG_SCSI_LPFC_DEBUG_FS
- lpfc_cmd->prot_data_type = 0;
+ lpfc_cmd->scsi.prot_data_type = 0;
#endif
tmp = lpfc_get_cmd_rsp_buf_per_hdwq(phba, lpfc_cmd);
if (!tmp)
return NULL;
- lpfc_cmd->fcp_cmnd = tmp->fcp_cmnd;
- lpfc_cmd->fcp_rsp = tmp->fcp_rsp;
+ lpfc_cmd->scsi.fcp_cmnd = tmp->fcp_cmnd;
+ lpfc_cmd->scsi.fcp_rsp = tmp->fcp_rsp;
/*
* The first two SGEs are the FCP_CMD and FCP_RSP.
@@ -757,10 +757,10 @@ lpfc_release_scsi_buf_s3(struct lpfc_hba *phba, struct lpfc_io_buf *psb)
unsigned long iflag = 0;
psb->seg_cnt = 0;
- psb->prot_seg_cnt = 0;
+ psb->scsi.prot_seg_cnt = 0;
spin_lock_irqsave(&phba->scsi_buf_list_put_lock, iflag);
- psb->pCmd = NULL;
+ psb->scsi.pCmd = NULL;
psb->cur_iocbq.iocb_flag = LPFC_IO_FCP;
list_add_tail(&psb->list, &phba->lpfc_scsi_buf_list_put);
spin_unlock_irqrestore(&phba->scsi_buf_list_put_lock, iflag);
@@ -783,12 +783,12 @@ lpfc_release_scsi_buf_s4(struct lpfc_hba *phba, struct lpfc_io_buf *psb)
unsigned long iflag = 0;
psb->seg_cnt = 0;
- psb->prot_seg_cnt = 0;
+ psb->scsi.prot_seg_cnt = 0;
qp = psb->hdwq;
if (psb->exch_busy) {
spin_lock_irqsave(&qp->abts_io_buf_list_lock, iflag);
- psb->pCmd = NULL;
+ psb->scsi.pCmd = NULL;
list_add_tail(&psb->list, &qp->lpfc_abts_io_buf_list);
qp->abts_scsi_io_bufs++;
spin_unlock_irqrestore(&qp->abts_io_buf_list_lock, iflag);
@@ -832,9 +832,9 @@ lpfc_release_scsi_buf(struct lpfc_hba *phba, struct lpfc_io_buf *psb)
static int
lpfc_scsi_prep_dma_buf_s3(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_cmd)
{
- struct scsi_cmnd *scsi_cmnd = lpfc_cmd->pCmd;
+ struct scsi_cmnd *scsi_cmnd = lpfc_cmd->scsi.pCmd;
struct scatterlist *sgel = NULL;
- struct fcp_cmnd *fcp_cmnd = lpfc_cmd->fcp_cmnd;
+ struct fcp_cmnd *fcp_cmnd = lpfc_cmd->scsi.fcp_cmnd;
struct ulp_bde64 *bpl = (struct ulp_bde64 *)lpfc_cmd->dma_sgl;
struct lpfc_iocbq *iocbq = &lpfc_cmd->cur_iocbq;
IOCB_t *iocb_cmd = &lpfc_cmd->cur_iocbq.iocb;
@@ -1070,11 +1070,11 @@ lpfc_bg_err_inject(struct lpfc_hba *phba, struct scsi_cmnd *sc,
* restore it on completion.
*/
if (lpfc_cmd) {
- lpfc_cmd->prot_data_type =
+ lpfc_cmd->scsi.prot_data_type =
LPFC_INJERR_REFTAG;
- lpfc_cmd->prot_data_segment =
+ lpfc_cmd->scsi.prot_data_segment =
src;
- lpfc_cmd->prot_data =
+ lpfc_cmd->scsi.prot_data =
src->ref_tag;
}
src->ref_tag = cpu_to_be32(0xDEADBEEF);
@@ -1190,11 +1190,11 @@ lpfc_bg_err_inject(struct lpfc_hba *phba, struct scsi_cmnd *sc,
* restore it on completion.
*/
if (lpfc_cmd) {
- lpfc_cmd->prot_data_type =
+ lpfc_cmd->scsi.prot_data_type =
LPFC_INJERR_APPTAG;
- lpfc_cmd->prot_data_segment =
+ lpfc_cmd->scsi.prot_data_segment =
src;
- lpfc_cmd->prot_data =
+ lpfc_cmd->scsi.prot_data =
src->app_tag;
}
src->app_tag = cpu_to_be16(0xDEAD);
@@ -2473,7 +2473,7 @@ static int
lpfc_bg_scsi_adjust_dl(struct lpfc_hba *phba,
struct lpfc_io_buf *lpfc_cmd)
{
- struct scsi_cmnd *sc = lpfc_cmd->pCmd;
+ struct scsi_cmnd *sc = lpfc_cmd->scsi.pCmd;
int fcpdl;
fcpdl = scsi_bufflen(sc);
@@ -2516,8 +2516,8 @@ static int
lpfc_bg_scsi_prep_dma_buf_s3(struct lpfc_hba *phba,
struct lpfc_io_buf *lpfc_cmd)
{
- struct scsi_cmnd *scsi_cmnd = lpfc_cmd->pCmd;
- struct fcp_cmnd *fcp_cmnd = lpfc_cmd->fcp_cmnd;
+ struct scsi_cmnd *scsi_cmnd = lpfc_cmd->scsi.pCmd;
+ struct fcp_cmnd *fcp_cmnd = lpfc_cmd->scsi.fcp_cmnd;
struct ulp_bde64 *bpl = (struct ulp_bde64 *)lpfc_cmd->dma_sgl;
IOCB_t *iocb_cmd = &lpfc_cmd->cur_iocbq.iocb;
uint32_t num_bde = 0;
@@ -2588,13 +2588,13 @@ lpfc_bg_scsi_prep_dma_buf_s3(struct lpfc_hba *phba,
return 1;
}
- lpfc_cmd->prot_seg_cnt = protsegcnt;
+ lpfc_cmd->scsi.prot_seg_cnt = protsegcnt;
/*
* There is a minimun of 4 BPLs used for every
* protection data segment.
*/
- if ((lpfc_cmd->prot_seg_cnt * 4) >
+ if ((lpfc_cmd->scsi.prot_seg_cnt * 4) >
(phba->cfg_total_seg_cnt - 2)) {
ret = 2;
goto err;
@@ -2654,7 +2654,7 @@ lpfc_bg_scsi_prep_dma_buf_s3(struct lpfc_hba *phba,
err:
if (lpfc_cmd->seg_cnt)
scsi_dma_unmap(scsi_cmnd);
- if (lpfc_cmd->prot_seg_cnt)
+ if (lpfc_cmd->scsi.prot_seg_cnt)
dma_unmap_sg(&phba->pcidev->dev, scsi_prot_sglist(scsi_cmnd),
scsi_prot_sg_count(scsi_cmnd),
scsi_cmnd->sc_data_direction);
@@ -2662,12 +2662,12 @@ lpfc_bg_scsi_prep_dma_buf_s3(struct lpfc_hba *phba,
lpfc_printf_log(phba, KERN_ERR, LOG_FCP,
"9023 Cannot setup S/G List for HBA"
"IO segs %d/%d BPL %d SCSI %d: %d %d\n",
- lpfc_cmd->seg_cnt, lpfc_cmd->prot_seg_cnt,
+ lpfc_cmd->seg_cnt, lpfc_cmd->scsi.prot_seg_cnt,
phba->cfg_total_seg_cnt, phba->cfg_sg_seg_cnt,
prot_group_type, num_bde);
lpfc_cmd->seg_cnt = 0;
- lpfc_cmd->prot_seg_cnt = 0;
+ lpfc_cmd->scsi.prot_seg_cnt = 0;
return ret;
}
@@ -2710,7 +2710,7 @@ lpfc_calc_bg_err(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_cmd)
{
struct scatterlist *sgpe; /* s/g prot entry */
struct scatterlist *sgde; /* s/g data entry */
- struct scsi_cmnd *cmd = lpfc_cmd->pCmd;
+ struct scsi_cmnd *cmd = lpfc_cmd->scsi.pCmd;
struct scsi_dif_tuple *src = NULL;
uint8_t *data_src = NULL;
uint16_t guard_tag;
@@ -2740,7 +2740,7 @@ lpfc_calc_bg_err(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_cmd)
/* Setup a ptr to the protection data provided by the SCSI host */
sgpe = scsi_prot_sglist(cmd);
- protsegcnt = lpfc_cmd->prot_seg_cnt;
+ protsegcnt = lpfc_cmd->scsi.prot_seg_cnt;
if (sgpe && protsegcnt) {
@@ -2894,7 +2894,7 @@ static int
lpfc_parse_bg_err(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_cmd,
struct lpfc_iocbq *pIocbOut)
{
- struct scsi_cmnd *cmd = lpfc_cmd->pCmd;
+ struct scsi_cmnd *cmd = lpfc_cmd->scsi.pCmd;
struct sli3_bg_fields *bgf = &pIocbOut->iocb.unsli3.sli3_bg;
int ret = 0;
uint32_t bghm = bgf->bghm;
@@ -3041,9 +3041,9 @@ lpfc_parse_bg_err(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_cmd,
static int
lpfc_scsi_prep_dma_buf_s4(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_cmd)
{
- struct scsi_cmnd *scsi_cmnd = lpfc_cmd->pCmd;
+ struct scsi_cmnd *scsi_cmnd = lpfc_cmd->scsi.pCmd;
struct scatterlist *sgel = NULL;
- struct fcp_cmnd *fcp_cmnd = lpfc_cmd->fcp_cmnd;
+ struct fcp_cmnd *fcp_cmnd = lpfc_cmd->scsi.fcp_cmnd;
struct sli4_sge *sgl = (struct sli4_sge *)lpfc_cmd->dma_sgl;
struct sli4_sge *first_data_sgl;
IOCB_t *iocb_cmd = &lpfc_cmd->cur_iocbq.iocb;
@@ -3254,8 +3254,8 @@ static int
lpfc_bg_scsi_prep_dma_buf_s4(struct lpfc_hba *phba,
struct lpfc_io_buf *lpfc_cmd)
{
- struct scsi_cmnd *scsi_cmnd = lpfc_cmd->pCmd;
- struct fcp_cmnd *fcp_cmnd = lpfc_cmd->fcp_cmnd;
+ struct scsi_cmnd *scsi_cmnd = lpfc_cmd->scsi.pCmd;
+ struct fcp_cmnd *fcp_cmnd = lpfc_cmd->scsi.fcp_cmnd;
struct sli4_sge *sgl = (struct sli4_sge *)(lpfc_cmd->dma_sgl);
IOCB_t *iocb_cmd = &lpfc_cmd->cur_iocbq.iocb;
uint32_t num_sge = 0;
@@ -3335,12 +3335,12 @@ lpfc_bg_scsi_prep_dma_buf_s4(struct lpfc_hba *phba,
return 1;
}
- lpfc_cmd->prot_seg_cnt = protsegcnt;
+ lpfc_cmd->scsi.prot_seg_cnt = protsegcnt;
/*
* There is a minimun of 3 SGEs used for every
* protection data segment.
*/
- if (((lpfc_cmd->prot_seg_cnt * 3) >
+ if (((lpfc_cmd->scsi.prot_seg_cnt * 3) >
(phba->cfg_total_seg_cnt - 2)) &&
!phba->cfg_xpsgl) {
ret = 2;
@@ -3415,7 +3415,7 @@ lpfc_bg_scsi_prep_dma_buf_s4(struct lpfc_hba *phba,
err:
if (lpfc_cmd->seg_cnt)
scsi_dma_unmap(scsi_cmnd);
- if (lpfc_cmd->prot_seg_cnt)
+ if (lpfc_cmd->scsi.prot_seg_cnt)
dma_unmap_sg(&phba->pcidev->dev, scsi_prot_sglist(scsi_cmnd),
scsi_prot_sg_count(scsi_cmnd),
scsi_cmnd->sc_data_direction);
@@ -3423,12 +3423,12 @@ lpfc_bg_scsi_prep_dma_buf_s4(struct lpfc_hba *phba,
lpfc_printf_log(phba, KERN_ERR, LOG_FCP,
"9084 Cannot setup S/G List for HBA"
"IO segs %d/%d SGL %d SCSI %d: %d %d\n",
- lpfc_cmd->seg_cnt, lpfc_cmd->prot_seg_cnt,
+ lpfc_cmd->seg_cnt, lpfc_cmd->scsi.prot_seg_cnt,
phba->cfg_total_seg_cnt, phba->cfg_sg_seg_cnt,
prot_group_type, num_sge);
lpfc_cmd->seg_cnt = 0;
- lpfc_cmd->prot_seg_cnt = 0;
+ lpfc_cmd->scsi.prot_seg_cnt = 0;
return ret;
}
@@ -3482,13 +3482,13 @@ lpfc_bg_scsi_prep_dma_buf(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_cmd)
static void
lpfc_send_scsi_error_event(struct lpfc_hba *phba, struct lpfc_vport *vport,
struct lpfc_io_buf *lpfc_cmd, struct lpfc_iocbq *rsp_iocb) {
- struct scsi_cmnd *cmnd = lpfc_cmd->pCmd;
- struct fcp_rsp *fcprsp = lpfc_cmd->fcp_rsp;
+ struct scsi_cmnd *cmnd = lpfc_cmd->scsi.pCmd;
+ struct fcp_rsp *fcprsp = lpfc_cmd->scsi.fcp_rsp;
uint32_t resp_info = fcprsp->rspStatus2;
uint32_t scsi_status = fcprsp->rspStatus3;
uint32_t fcpi_parm = rsp_iocb->iocb.un.fcpi.fcpi_parm;
struct lpfc_fast_path_event *fast_path_evt = NULL;
- struct lpfc_nodelist *pnode = lpfc_cmd->rdata->pnode;
+ struct lpfc_nodelist *pnode = lpfc_cmd->scsi.rdata->pnode;
unsigned long flags;
if (!pnode || !NLP_CHK_NODE_ACT(pnode))
@@ -3582,11 +3582,11 @@ lpfc_scsi_unprep_dma_buf(struct lpfc_hba *phba, struct lpfc_io_buf *psb)
* case, but it does not require resource deallocation.
*/
if (psb->seg_cnt > 0)
- scsi_dma_unmap(psb->pCmd);
- if (psb->prot_seg_cnt > 0)
- dma_unmap_sg(&phba->pcidev->dev, scsi_prot_sglist(psb->pCmd),
- scsi_prot_sg_count(psb->pCmd),
- psb->pCmd->sc_data_direction);
+ scsi_dma_unmap(psb->scsi.pCmd);
+ if (psb->scsi.prot_seg_cnt > 0)
+ dma_unmap_sg(&phba->pcidev->dev, scsi_prot_sglist(psb->scsi.pCmd),
+ scsi_prot_sg_count(psb->scsi.pCmd),
+ psb->scsi.pCmd->sc_data_direction);
}
/**
@@ -3604,9 +3604,9 @@ lpfc_handle_fcp_err(struct lpfc_vport *vport, struct lpfc_io_buf *lpfc_cmd,
struct lpfc_iocbq *rsp_iocb)
{
struct lpfc_hba *phba = vport->phba;
- struct scsi_cmnd *cmnd = lpfc_cmd->pCmd;
- struct fcp_cmnd *fcpcmd = lpfc_cmd->fcp_cmnd;
- struct fcp_rsp *fcprsp = lpfc_cmd->fcp_rsp;
+ struct scsi_cmnd *cmnd = lpfc_cmd->scsi.pCmd;
+ struct fcp_cmnd *fcpcmd = lpfc_cmd->scsi.fcp_cmnd;
+ struct fcp_rsp *fcprsp = lpfc_cmd->scsi.fcp_rsp;
uint32_t fcpi_parm = rsp_iocb->iocb.un.fcpi.fcpi_parm;
uint32_t resp_info = fcprsp->rspStatus2;
uint32_t scsi_status = fcprsp->rspStatus3;
@@ -3795,7 +3795,7 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
struct lpfc_io_buf *lpfc_cmd =
(struct lpfc_io_buf *) pIocbIn->context1;
struct lpfc_vport *vport = pIocbIn->vport;
- struct lpfc_rport_data *rdata = lpfc_cmd->rdata;
+ struct lpfc_rport_data *rdata = lpfc_cmd->scsi.rdata;
struct lpfc_nodelist *pnode = rdata->pnode;
struct scsi_cmnd *cmd;
unsigned long flags;
@@ -3811,7 +3811,7 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
spin_lock(&lpfc_cmd->buf_lock);
/* Sanity check on return of outstanding command */
- cmd = lpfc_cmd->pCmd;
+ cmd = lpfc_cmd->scsi.pCmd;
if (!cmd || !phba) {
lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT,
"2621 IO completion: Not an active IO\n");
@@ -3838,34 +3838,34 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
lpfc_cmd->exch_busy = pIocbOut->iocb_flag & LPFC_EXCHANGE_BUSY;
#ifdef CONFIG_SCSI_LPFC_DEBUG_FS
- if (lpfc_cmd->prot_data_type) {
+ if (lpfc_cmd->scsi.prot_data_type) {
struct scsi_dif_tuple *src = NULL;
- src = (struct scsi_dif_tuple *)lpfc_cmd->prot_data_segment;
+ src = (struct scsi_dif_tuple *)lpfc_cmd->scsi.prot_data_segment;
/*
* Used to restore any changes to protection
* data for error injection.
*/
- switch (lpfc_cmd->prot_data_type) {
+ switch (lpfc_cmd->scsi.prot_data_type) {
case LPFC_INJERR_REFTAG:
src->ref_tag =
- lpfc_cmd->prot_data;
+ lpfc_cmd->scsi.prot_data;
break;
case LPFC_INJERR_APPTAG:
src->app_tag =
- (uint16_t)lpfc_cmd->prot_data;
+ (uint16_t)lpfc_cmd->scsi.prot_data;
break;
case LPFC_INJERR_GUARD:
src->guard_tag =
- (uint16_t)lpfc_cmd->prot_data;
+ (uint16_t)lpfc_cmd->scsi.prot_data;
break;
default:
break;
}
- lpfc_cmd->prot_data = 0;
- lpfc_cmd->prot_data_type = 0;
- lpfc_cmd->prot_data_segment = NULL;
+ lpfc_cmd->scsi.prot_data = 0;
+ lpfc_cmd->scsi.prot_data_type = 0;
+ lpfc_cmd->scsi.prot_data_segment = NULL;
}
#endif
@@ -3876,8 +3876,8 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
else if (lpfc_cmd->status >= IOSTAT_CNT)
lpfc_cmd->status = IOSTAT_DEFAULT;
if (lpfc_cmd->status == IOSTAT_FCP_RSP_ERROR &&
- !lpfc_cmd->fcp_rsp->rspStatus3 &&
- (lpfc_cmd->fcp_rsp->rspStatus2 & RESID_UNDER) &&
+ !lpfc_cmd->scsi.fcp_rsp->rspStatus3 &&
+ (lpfc_cmd->scsi.fcp_rsp->rspStatus2 & RESID_UNDER) &&
!(vport->cfg_log_verbose & LOG_FCP_UNDER))
logit = 0;
else
@@ -3991,7 +3991,7 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
} else
cmd->result = DID_OK << 16;
- if (cmd->result || lpfc_cmd->fcp_rsp->rspSnsLen) {
+ if (cmd->result || lpfc_cmd->scsi.fcp_rsp->rspSnsLen) {
uint32_t *lp = (uint32_t *)cmd->sense_buffer;
lpfc_printf_vlog(vport, KERN_INFO, LOG_FCP,
@@ -4023,7 +4023,7 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
}
lpfc_scsi_unprep_dma_buf(phba, lpfc_cmd);
- lpfc_cmd->pCmd = NULL;
+ lpfc_cmd->scsi.pCmd = NULL;
spin_unlock(&lpfc_cmd->buf_lock);
/* The sdev is not guaranteed to be valid post scsi_done upcall. */
@@ -4035,8 +4035,8 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
*/
spin_lock(&lpfc_cmd->buf_lock);
lpfc_cmd->cur_iocbq.iocb_flag &= ~LPFC_DRIVER_ABORTED;
- if (lpfc_cmd->waitq)
- wake_up(lpfc_cmd->waitq);
+ if (lpfc_cmd->scsi.waitq)
+ wake_up(lpfc_cmd->scsi.waitq);
spin_unlock(&lpfc_cmd->buf_lock);
lpfc_release_scsi_buf(phba, lpfc_cmd);
@@ -4074,8 +4074,8 @@ lpfc_scsi_prep_cmnd(struct lpfc_vport *vport, struct lpfc_io_buf *lpfc_cmd,
struct lpfc_nodelist *pnode)
{
struct lpfc_hba *phba = vport->phba;
- struct scsi_cmnd *scsi_cmnd = lpfc_cmd->pCmd;
- struct fcp_cmnd *fcp_cmnd = lpfc_cmd->fcp_cmnd;
+ struct scsi_cmnd *scsi_cmnd = lpfc_cmd->scsi.pCmd;
+ struct fcp_cmnd *fcp_cmnd = lpfc_cmd->scsi.fcp_cmnd;
IOCB_t *iocb_cmd = &lpfc_cmd->cur_iocbq.iocb;
struct lpfc_iocbq *piocbq = &(lpfc_cmd->cur_iocbq);
struct lpfc_sli4_hdw_queue *hdwq = NULL;
@@ -4088,12 +4088,12 @@ lpfc_scsi_prep_cmnd(struct lpfc_vport *vport, struct lpfc_io_buf *lpfc_cmd,
if (!pnode || !NLP_CHK_NODE_ACT(pnode))
return;
- lpfc_cmd->fcp_rsp->rspSnsLen = 0;
+ lpfc_cmd->scsi.fcp_rsp->rspSnsLen = 0;
/* clear task management bits */
- lpfc_cmd->fcp_cmnd->fcpCntl2 = 0;
+ lpfc_cmd->scsi.fcp_cmnd->fcpCntl2 = 0;
- int_to_scsilun(lpfc_cmd->pCmd->device->lun,
- &lpfc_cmd->fcp_cmnd->fcp_lun);
+ int_to_scsilun(lpfc_cmd->scsi.pCmd->device->lun,
+ &lpfc_cmd->scsi.fcp_cmnd->fcp_lun);
ptr = &fcp_cmnd->fcpCdb[0];
memcpy(ptr, scsi_cmnd->cmnd, scsi_cmnd->cmd_len);
@@ -4193,7 +4193,7 @@ lpfc_scsi_prep_task_mgmt_cmd(struct lpfc_vport *vport,
struct lpfc_iocbq *piocbq;
IOCB_t *piocb;
struct fcp_cmnd *fcp_cmnd;
- struct lpfc_rport_data *rdata = lpfc_cmd->rdata;
+ struct lpfc_rport_data *rdata = lpfc_cmd->scsi.rdata;
struct lpfc_nodelist *ndlp = rdata->pnode;
if (!ndlp || !NLP_CHK_NODE_ACT(ndlp) ||
@@ -4205,7 +4205,7 @@ lpfc_scsi_prep_task_mgmt_cmd(struct lpfc_vport *vport,
piocb = &piocbq->iocb;
- fcp_cmnd = lpfc_cmd->fcp_cmnd;
+ fcp_cmnd = lpfc_cmd->scsi.fcp_cmnd;
/* Clear out any old data in the FCP command area */
memset(fcp_cmnd, 0, sizeof(struct fcp_cmnd));
int_to_scsilun(lun, &fcp_cmnd->fcp_lun);
@@ -4578,8 +4578,8 @@ lpfc_queuecommand(struct Scsi_Host *shost, struct scsi_cmnd *cmnd)
* Store the midlayer's command structure for the completion phase
* and complete the command initialization.
*/
- lpfc_cmd->pCmd = cmnd;
- lpfc_cmd->rdata = rdata;
+ lpfc_cmd->scsi.pCmd = cmnd;
+ lpfc_cmd->scsi.rdata = rdata;
lpfc_cmd->ndlp = ndlp;
cmnd->host_scribble = (unsigned char *)lpfc_cmd;
@@ -4668,7 +4668,7 @@ lpfc_queuecommand(struct Scsi_Host *shost, struct scsi_cmnd *cmnd)
idx = lpfc_cmd->hdwq_no;
lpfc_scsi_unprep_dma_buf(phba, lpfc_cmd);
if (phba->sli4_hba.hdwq) {
- switch (lpfc_cmd->fcp_cmnd->fcpCntl3) {
+ switch (lpfc_cmd->scsi.fcp_cmnd->fcpCntl3) {
case WRITE_DATA:
phba->sli4_hba.hdwq[idx].scsi_cstat.output_requests--;
break;
@@ -4742,7 +4742,7 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd)
/* Guard against IO completion being called at same time */
spin_lock(&lpfc_cmd->buf_lock);
- if (!lpfc_cmd->pCmd) {
+ if (!lpfc_cmd->scsi.pCmd) {
lpfc_printf_vlog(vport, KERN_WARNING, LOG_FCP,
"2873 SCSI Layer I/O Abort Request IO CMPL Status "
"x%x ID %d LUN %llu\n",
@@ -4773,7 +4773,7 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd)
* already completed this command, but the midlayer did not
* see the completion before the eh fired. Just return SUCCESS.
*/
- if (lpfc_cmd->pCmd != cmnd) {
+ if (lpfc_cmd->scsi.pCmd != cmnd) {
lpfc_printf_vlog(vport, KERN_WARNING, LOG_FCP,
"3170 SCSI Layer abort requested I/O has been "
"completed by LLD.\n");
@@ -4833,7 +4833,7 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd)
abtsiocb->iocb_cmpl = lpfc_sli_abort_fcp_cmpl;
abtsiocb->vport = vport;
- lpfc_cmd->waitq = &waitq;
+ lpfc_cmd->scsi.waitq = &waitq;
if (phba->sli_rev == LPFC_SLI_REV4) {
/* Note: both hbalock and ring_lock must be set here */
ret_val = __lpfc_sli_issue_iocb(phba, pring_s4->ringno,
@@ -4849,7 +4849,7 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd)
if (ret_val == IOCB_ERROR) {
/* Indicate the IO is not being aborted by the driver. */
iocb->iocb_flag &= ~LPFC_DRIVER_ABORTED;
- lpfc_cmd->waitq = NULL;
+ lpfc_cmd->scsi.waitq = NULL;
spin_unlock(&lpfc_cmd->buf_lock);
lpfc_sli_release_iocbq(phba, abtsiocb);
ret = FAILED;
@@ -4865,12 +4865,12 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd)
wait_for_cmpl:
/* Wait for abort to complete */
wait_event_timeout(waitq,
- (lpfc_cmd->pCmd != cmnd),
+ (lpfc_cmd->scsi.pCmd != cmnd),
msecs_to_jiffies(2*vport->cfg_devloss_tmo*1000));
spin_lock(&lpfc_cmd->buf_lock);
- if (lpfc_cmd->pCmd == cmnd) {
+ if (lpfc_cmd->scsi.pCmd == cmnd) {
ret = FAILED;
lpfc_printf_vlog(vport, KERN_ERR, LOG_FCP,
"0748 abort handler timed out waiting "
@@ -4880,7 +4880,7 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd)
cmnd->device->id, cmnd->device->lun);
}
- lpfc_cmd->waitq = NULL;
+ lpfc_cmd->scsi.waitq = NULL;
spin_unlock(&lpfc_cmd->buf_lock);
goto out;
@@ -4938,7 +4938,7 @@ lpfc_taskmgmt_name(uint8_t task_mgmt_cmd)
static int
lpfc_check_fcp_rsp(struct lpfc_vport *vport, struct lpfc_io_buf *lpfc_cmd)
{
- struct fcp_rsp *fcprsp = lpfc_cmd->fcp_rsp;
+ struct fcp_rsp *fcprsp = lpfc_cmd->scsi.fcp_rsp;
uint32_t rsp_info;
uint32_t rsp_len;
uint8_t rsp_info_code;
@@ -5033,8 +5033,8 @@ lpfc_send_taskmgmt(struct lpfc_vport *vport, struct scsi_cmnd *cmnd,
if (lpfc_cmd == NULL)
return FAILED;
lpfc_cmd->timeout = phba->cfg_task_mgmt_tmo;
- lpfc_cmd->rdata = rdata;
- lpfc_cmd->pCmd = cmnd;
+ lpfc_cmd->scsi.rdata = rdata;
+ lpfc_cmd->scsi.pCmd = cmnd;
lpfc_cmd->ndlp = pnode;
status = lpfc_scsi_prep_task_mgmt_cmd(vport, lpfc_cmd, lun_id,
@@ -1157,7 +1157,7 @@ __lpfc_sli_get_els_sglq(struct lpfc_hba *phba, struct lpfc_iocbq *piocbq)
if (piocbq->iocb_flag & LPFC_IO_FCP) {
lpfc_cmd = (struct lpfc_io_buf *) piocbq->context1;
- ndlp = lpfc_cmd->rdata->pnode;
+ ndlp = lpfc_cmd->scsi.rdata->pnode;
} else if ((piocbq->iocb.ulpCommand == CMD_GEN_REQUEST64_CR) &&
!(piocbq->iocb_flag & LPFC_IO_LIBDFC)) {
ndlp = piocbq->context_un.ndlp;
@@ -9531,7 +9531,7 @@ lpfc_sli4_iocb2wqe(struct lpfc_hba *phba, struct lpfc_iocbq *iocbq,
lpfc_cmd = iocbq->context1;
sgl = (struct sli4_sge *)lpfc_cmd->dma_sgl;
- fcp_cmnd = lpfc_cmd->fcp_cmnd;
+ fcp_cmnd = lpfc_cmd->scsi.fcp_cmnd;
/* Word 0-2 - FCP_CMND */
wqe->generic.bde.tus.f.bdeFlags =
@@ -9595,7 +9595,7 @@ lpfc_sli4_iocb2wqe(struct lpfc_hba *phba, struct lpfc_iocbq *iocbq,
lpfc_cmd = iocbq->context1;
sgl = (struct sli4_sge *)lpfc_cmd->dma_sgl;
- fcp_cmnd = lpfc_cmd->fcp_cmnd;
+ fcp_cmnd = lpfc_cmd->scsi.fcp_cmnd;
/* Word 0-2 - FCP_CMND */
wqe->generic.bde.tus.f.bdeFlags =
@@ -9652,7 +9652,7 @@ lpfc_sli4_iocb2wqe(struct lpfc_hba *phba, struct lpfc_iocbq *iocbq,
lpfc_cmd = iocbq->context1;
sgl = (struct sli4_sge *)lpfc_cmd->dma_sgl;
- fcp_cmnd = lpfc_cmd->fcp_cmnd;
+ fcp_cmnd = lpfc_cmd->scsi.fcp_cmnd;
/* Word 0-2 - FCP_CMND */
wqe->generic.bde.tus.f.bdeFlags =
@@ -11371,19 +11371,19 @@ lpfc_sli_validate_fcp_iocb(struct lpfc_iocbq *iocbq, struct lpfc_vport *vport,
lpfc_cmd = container_of(iocbq, struct lpfc_io_buf, cur_iocbq);
- if (lpfc_cmd->pCmd == NULL)
+ if (lpfc_cmd->scsi.pCmd == NULL)
return rc;
switch (ctx_cmd) {
case LPFC_CTX_LUN:
- if ((lpfc_cmd->rdata) && (lpfc_cmd->rdata->pnode) &&
- (lpfc_cmd->rdata->pnode->nlp_sid == tgt_id) &&
- (scsilun_to_int(&lpfc_cmd->fcp_cmnd->fcp_lun) == lun_id))
+ if ((lpfc_cmd->scsi.rdata) && (lpfc_cmd->scsi.rdata->pnode) &&
+ (lpfc_cmd->scsi.rdata->pnode->nlp_sid == tgt_id) &&
+ (scsilun_to_int(&lpfc_cmd->scsi.fcp_cmnd->fcp_lun) == lun_id))
rc = 0;
break;
case LPFC_CTX_TGT:
- if ((lpfc_cmd->rdata) && (lpfc_cmd->rdata->pnode) &&
- (lpfc_cmd->rdata->pnode->nlp_sid == tgt_id))
+ if ((lpfc_cmd->scsi.rdata) && (lpfc_cmd->scsi.rdata->pnode) &&
+ (lpfc_cmd->scsi.rdata->pnode->nlp_sid == tgt_id))
rc = 0;
break;
case LPFC_CTX_HOST:
@@ -11625,7 +11625,7 @@ lpfc_sli_abort_taskmgmt(struct lpfc_vport *vport, struct lpfc_sli_ring *pring,
lpfc_cmd = container_of(iocbq, struct lpfc_io_buf, cur_iocbq);
spin_lock(&lpfc_cmd->buf_lock);
- if (!lpfc_cmd->pCmd) {
+ if (!lpfc_cmd->scsi.pCmd) {
spin_unlock(&lpfc_cmd->buf_lock);
continue;
}
@@ -11681,7 +11681,7 @@ lpfc_sli_abort_taskmgmt(struct lpfc_vport *vport, struct lpfc_sli_ring *pring,
if (iocbq->iocb_flag & LPFC_IO_FOF)
abtsiocbq->iocb_flag |= LPFC_IO_FOF;
- ndlp = lpfc_cmd->rdata->pnode;
+ ndlp = lpfc_cmd->scsi.rdata->pnode;
if (lpfc_is_link_up(phba) &&
(ndlp && ndlp->nlp_state == NLP_STE_MAPPED_NODE))
@@ -20132,7 +20132,7 @@ void lpfc_release_io_buf(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_ncmd,
u32 abts_io_bufs;
/* MUST zero fields if buffer is reused by another protocol */
- lpfc_ncmd->nvmeCmd = NULL;
+ lpfc_ncmd->nvme.nvmeCmd = NULL;
lpfc_ncmd->cur_iocbq.wqe_cmpl = NULL;
lpfc_ncmd->cur_iocbq.iocb_cmpl = NULL;
@@ -434,13 +434,13 @@ struct lpfc_io_buf {
#define LPFC_INJERR_APPTAG 2
#define LPFC_INJERR_GUARD 3
#endif
- };
+ } scsi;
/* NVME specific fields */
struct {
struct nvmefc_fcp_req *nvmeCmd;
uint16_t qidx;
- };
+ } nvme;
};
#ifdef CONFIG_SCSI_LPFC_DEBUG_FS
uint64_t ts_cmd_start;
Use named structures in the combined I/O buffer to annotate the fields with the intended protocol usage. Signed-off-by: Hannes Reinecke <hare@suse.com> --- drivers/scsi/lpfc/lpfc_init.c | 2 +- drivers/scsi/lpfc/lpfc_nvme.c | 42 +++++----- drivers/scsi/lpfc/lpfc_scsi.c | 190 +++++++++++++++++++++--------------------- drivers/scsi/lpfc/lpfc_sli.c | 26 +++--- drivers/scsi/lpfc/lpfc_sli.h | 4 +- 5 files changed, 132 insertions(+), 132 deletions(-)