diff options
| -rw-r--r-- | drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c index 6d3990f28772..dd554a2ffe56 100644 --- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c +++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | |||
| @@ -2027,8 +2027,8 @@ static int ocrdma_build_fr(struct ocrdma_qp *qp, struct ocrdma_hdr_wqe *hdr, | |||
| 2027 | fast_reg->num_sges = wr->wr.fast_reg.page_list_len; | 2027 | fast_reg->num_sges = wr->wr.fast_reg.page_list_len; |
| 2028 | fast_reg->size_sge = | 2028 | fast_reg->size_sge = |
| 2029 | get_encoded_page_size(1 << wr->wr.fast_reg.page_shift); | 2029 | get_encoded_page_size(1 << wr->wr.fast_reg.page_shift); |
| 2030 | mr = (struct ocrdma_mr *)qp->dev->stag_arr[(hdr->lkey >> 8) & | 2030 | mr = (struct ocrdma_mr *) (unsigned long) |
| 2031 | (OCRDMA_MAX_STAG - 1)]; | 2031 | qp->dev->stag_arr[(hdr->lkey >> 8) & (OCRDMA_MAX_STAG - 1)]; |
| 2032 | build_frmr_pbes(wr, mr->hwmr.pbl_table, &mr->hwmr); | 2032 | build_frmr_pbes(wr, mr->hwmr.pbl_table, &mr->hwmr); |
| 2033 | return 0; | 2033 | return 0; |
| 2034 | } | 2034 | } |
| @@ -2862,7 +2862,8 @@ struct ib_mr *ocrdma_alloc_frmr(struct ib_pd *ibpd, int max_page_list_len) | |||
| 2862 | goto mbx_err; | 2862 | goto mbx_err; |
| 2863 | mr->ibmr.rkey = mr->hwmr.lkey; | 2863 | mr->ibmr.rkey = mr->hwmr.lkey; |
| 2864 | mr->ibmr.lkey = mr->hwmr.lkey; | 2864 | mr->ibmr.lkey = mr->hwmr.lkey; |
| 2865 | dev->stag_arr[(mr->hwmr.lkey >> 8) & (OCRDMA_MAX_STAG - 1)] = (u64)mr; | 2865 | dev->stag_arr[(mr->hwmr.lkey >> 8) & (OCRDMA_MAX_STAG - 1)] = |
| 2866 | (unsigned long) mr; | ||
| 2866 | return &mr->ibmr; | 2867 | return &mr->ibmr; |
| 2867 | mbx_err: | 2868 | mbx_err: |
| 2868 | ocrdma_free_mr_pbl_tbl(dev, &mr->hwmr); | 2869 | ocrdma_free_mr_pbl_tbl(dev, &mr->hwmr); |
