Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1fffa199 authored by Chad Dupuis's avatar Chad Dupuis Committed by James Bottomley
Browse files

bnx2fc: Set ELS transfer length correctly for middle path commands.

parent de909d87
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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);
+6 −2
Original line number Diff line number Diff line
@@ -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));

	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);