IB/mlx4: Fix RSS's QPC attributes assignments
authorGuy Levi <guyle@mellanox.com>
Wed, 25 Oct 2017 19:39:35 +0000 (22:39 +0300)
committerDoug Ledford <dledford@redhat.com>
Fri, 10 Nov 2017 18:04:09 +0000 (13:04 -0500)
commit108809a0571cd1e1b317c5c083a371e163e1f8f9
treeb5d9a1ca5a44518fdaf488b5e0aaa9825a5542e9
parent09d208b258a2e012aad399b80a9595c4aa95e6dc
IB/mlx4: Fix RSS's QPC attributes assignments

In the modify QP handler the base_qpn_udp field in the RSS QPC is
overwrite later by irrelevant value assignment. Hence, ingress packets
which gets to the RSS QP will be steered then to a garbage QPN.

The patch fixes this by skipping the above assignment when a RSS QP is
modified, also, the RSS context's attributes assignments are relocated
just before the context is posted to avoid future issues like this.

Additionally, this patch takes the opportunity to change the code to be
disciplined to the device's manual and assigns the RSS QP context just at
RESET to INIT transition.

Fixes:3078f5f1bd8b ("IB/mlx4: Add support for RSS QP")
Signed-off-by: Guy Levi <guyle@mellanox.com>
Reviewed-by: Yishai Hadas <yishaih@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/mlx4/qp.c