From: Roland Dreier InfiniBand spec rev 1.2 compliance: add local qp number to work completion structure. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton --- 25-akpm/drivers/infiniband/core/mad.c | 1 + 25-akpm/drivers/infiniband/hw/mthca/mthca_cq.c | 2 ++ 25-akpm/drivers/infiniband/include/ib_verbs.h | 1 + 3 files changed, 4 insertions(+) diff -puN drivers/infiniband/core/mad.c~infiniband-core-add-qp-number-to-work-completion-struct drivers/infiniband/core/mad.c --- 25/drivers/infiniband/core/mad.c~infiniband-core-add-qp-number-to-work-completion-struct Wed Jan 12 16:31:48 2005 +++ 25-akpm/drivers/infiniband/core/mad.c Wed Jan 12 16:31:48 2005 @@ -2025,6 +2025,7 @@ static void local_completions(void *data wc.slid = IB_LID_PERMISSIVE; wc.sl = 0; wc.dlid_path_bits = 0; + wc.qp_num = IB_QP0; local->mad_priv->header.recv_wc.wc = &wc; local->mad_priv->header.recv_wc.mad_len = sizeof(struct ib_mad); diff -puN drivers/infiniband/hw/mthca/mthca_cq.c~infiniband-core-add-qp-number-to-work-completion-struct drivers/infiniband/hw/mthca/mthca_cq.c --- 25/drivers/infiniband/hw/mthca/mthca_cq.c~infiniband-core-add-qp-number-to-work-completion-struct Wed Jan 12 16:31:48 2005 +++ 25-akpm/drivers/infiniband/hw/mthca/mthca_cq.c Wed Jan 12 16:31:48 2005 @@ -444,6 +444,8 @@ static inline int mthca_poll_one(struct spin_lock(&(*cur_qp)->lock); } + entry->qp_num = (*cur_qp)->qpn; + if (is_send) { wq = &(*cur_qp)->sq; wqe_index = ((be32_to_cpu(cqe->wqe) - (*cur_qp)->send_wqe_offset) diff -puN drivers/infiniband/include/ib_verbs.h~infiniband-core-add-qp-number-to-work-completion-struct drivers/infiniband/include/ib_verbs.h --- 25/drivers/infiniband/include/ib_verbs.h~infiniband-core-add-qp-number-to-work-completion-struct Wed Jan 12 16:31:48 2005 +++ 25-akpm/drivers/infiniband/include/ib_verbs.h Wed Jan 12 16:31:48 2005 @@ -352,6 +352,7 @@ struct ib_wc { u32 vendor_err; u32 byte_len; __be32 imm_data; + u32 qp_num; u32 src_qp; int wc_flags; u16 pkey_index; _