diff options
Diffstat (limited to 'drivers/infiniband/hw/nes/nes_cm.c')
-rw-r--r-- | drivers/infiniband/hw/nes/nes_cm.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/nes/nes_cm.c b/drivers/infiniband/hw/nes/nes_cm.c index a25816812ced..b139806a9667 100644 --- a/drivers/infiniband/hw/nes/nes_cm.c +++ b/drivers/infiniband/hw/nes/nes_cm.c | |||
@@ -52,6 +52,7 @@ | |||
52 | #include <linux/random.h> | 52 | #include <linux/random.h> |
53 | #include <linux/list.h> | 53 | #include <linux/list.h> |
54 | #include <linux/threads.h> | 54 | #include <linux/threads.h> |
55 | #include <linux/highmem.h> | ||
55 | #include <net/arp.h> | 56 | #include <net/arp.h> |
56 | #include <net/neighbour.h> | 57 | #include <net/neighbour.h> |
57 | #include <net/route.h> | 58 | #include <net/route.h> |
@@ -2836,6 +2837,10 @@ int nes_accept(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param) | |||
2836 | cpu_to_le32(conn_param->private_data_len + | 2837 | cpu_to_le32(conn_param->private_data_len + |
2837 | sizeof(struct ietf_mpa_frame)); | 2838 | sizeof(struct ietf_mpa_frame)); |
2838 | wqe->wqe_words[NES_IWARP_SQ_WQE_STAG0_IDX] = ibmr->lkey; | 2839 | wqe->wqe_words[NES_IWARP_SQ_WQE_STAG0_IDX] = ibmr->lkey; |
2840 | if (nesqp->sq_kmapped) { | ||
2841 | nesqp->sq_kmapped = 0; | ||
2842 | kunmap(nesqp->page); | ||
2843 | } | ||
2839 | 2844 | ||
2840 | nesqp->nesqp_context->ird_ord_sizes |= | 2845 | nesqp->nesqp_context->ird_ord_sizes |= |
2841 | cpu_to_le32(NES_QPCONTEXT_ORDIRD_LSMM_PRESENT | | 2846 | cpu_to_le32(NES_QPCONTEXT_ORDIRD_LSMM_PRESENT | |
@@ -3304,6 +3309,11 @@ static void cm_event_connected(struct nes_cm_event *event) | |||
3304 | wqe->wqe_words[NES_IWARP_SQ_WQE_LENGTH0_IDX] = 0; | 3309 | wqe->wqe_words[NES_IWARP_SQ_WQE_LENGTH0_IDX] = 0; |
3305 | wqe->wqe_words[NES_IWARP_SQ_WQE_STAG0_IDX] = 0; | 3310 | wqe->wqe_words[NES_IWARP_SQ_WQE_STAG0_IDX] = 0; |
3306 | 3311 | ||
3312 | if (nesqp->sq_kmapped) { | ||
3313 | nesqp->sq_kmapped = 0; | ||
3314 | kunmap(nesqp->page); | ||
3315 | } | ||
3316 | |||
3307 | /* use the reserved spot on the WQ for the extra first WQE */ | 3317 | /* use the reserved spot on the WQ for the extra first WQE */ |
3308 | nesqp->nesqp_context->ird_ord_sizes &= | 3318 | nesqp->nesqp_context->ird_ord_sizes &= |
3309 | cpu_to_le32(~(NES_QPCONTEXT_ORDIRD_LSMM_PRESENT | | 3319 | cpu_to_le32(~(NES_QPCONTEXT_ORDIRD_LSMM_PRESENT | |