mirror of https://gitee.com/openkylin/linux.git
bnx2fc: Set ELS transfer length correctly for middle path commands.
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Signed-off-by: James Bottomley <JBottomley@Odin.com>
This commit is contained in:
parent
de909d8740
commit
1fffa19991
|
@ -707,6 +707,7 @@ static int bnx2fc_initiate_els(struct bnx2fc_rport *tgt, unsigned int op,
|
|||
els_req->cb_func = cb_func;
|
||||
cb_arg->io_req = els_req;
|
||||
els_req->cb_arg = cb_arg;
|
||||
els_req->data_xfer_len = data_len;
|
||||
|
||||
mp_req = (struct bnx2fc_mp_req *)&(els_req->mp_req);
|
||||
rc = bnx2fc_init_mp_req(els_req);
|
||||
|
|
|
@ -623,8 +623,12 @@ int bnx2fc_init_mp_req(struct bnx2fc_cmd *io_req)
|
|||
mp_req = (struct bnx2fc_mp_req *)&(io_req->mp_req);
|
||||
memset(mp_req, 0, sizeof(struct bnx2fc_mp_req));
|
||||
|
||||
mp_req->req_len = sizeof(struct fcp_cmnd);
|
||||
io_req->data_xfer_len = mp_req->req_len;
|
||||
if (io_req->cmd_type != BNX2FC_ELS) {
|
||||
mp_req->req_len = sizeof(struct fcp_cmnd);
|
||||
io_req->data_xfer_len = mp_req->req_len;
|
||||
} else
|
||||
mp_req->req_len = io_req->data_xfer_len;
|
||||
|
||||
mp_req->req_buf = dma_alloc_coherent(&hba->pcidev->dev, CNIC_PAGE_SIZE,
|
||||
&mp_req->req_buf_dma,
|
||||
GFP_ATOMIC);
|
||||
|
|
Loading…
Reference in New Issue