diff options
author | Dotan Barak <dotanb@dev.mellanox.co.il> | 2008-01-07 02:01:25 -0500 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2008-01-08 15:05:53 -0500 |
commit | e1bb7843e4c25e6e331890a2ca512581e844bbaa (patch) | |
tree | 7bbbf893b743468e8d1b4d4b914a612721f6acb8 /drivers | |
parent | ed96f2470bf5d315770dc199f0250c1b8d3c2f3c (diff) |
IB/mlx4: Fix value of pkey_index in QP1 completions
Fix the value of pkey_index in completions to get a valid value for
GSI QPs. Without this fix, incoming GSI packets on port 2 get an
invalid P_Key index in the completion, which prevents the MAD layer
from sending back a response, which can make the second port of
ConnectX HCAs completely useless.
Signed-off-by: Dotan Barak <dotanb@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/infiniband/hw/mlx4/cq.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/mlx4/cq.c b/drivers/infiniband/hw/mlx4/cq.c index 8bf44daf45ec..9d32c49cc651 100644 --- a/drivers/infiniband/hw/mlx4/cq.c +++ b/drivers/infiniband/hw/mlx4/cq.c | |||
@@ -430,7 +430,7 @@ static int mlx4_ib_poll_one(struct mlx4_ib_cq *cq, | |||
430 | wc->dlid_path_bits = (be32_to_cpu(cqe->g_mlpath_rqpn) >> 24) & 0x7f; | 430 | wc->dlid_path_bits = (be32_to_cpu(cqe->g_mlpath_rqpn) >> 24) & 0x7f; |
431 | wc->wc_flags |= be32_to_cpu(cqe->g_mlpath_rqpn) & 0x80000000 ? | 431 | wc->wc_flags |= be32_to_cpu(cqe->g_mlpath_rqpn) & 0x80000000 ? |
432 | IB_WC_GRH : 0; | 432 | IB_WC_GRH : 0; |
433 | wc->pkey_index = be32_to_cpu(cqe->immed_rss_invalid) >> 16; | 433 | wc->pkey_index = be32_to_cpu(cqe->immed_rss_invalid) & 0x7f; |
434 | } | 434 | } |
435 | 435 | ||
436 | return 0; | 436 | return 0; |