Thanks for the review. That works for us too. Will resend the patch.
On 7/23/2018 10:36 AM, Qing Huang wrote:
Hi Daniel/Parav,Hi Qing, sorry for the delay, I just got back to the office today. I don't agree with the proposed fix, I provided an alternative suggestion below.
Have you got a chance to review this patch? Thanks!
You shouldn't check the mpi field that without holding the lock in the mp structure. Prefer you change the print from a warning in mlx5_ib_bind_slave_port to a debug message.Or.
Reported-by: Gerald Gibson <gerald.gibson@xxxxxxxxxx>
Signed-off-by: Qing Huang <qing.huang@xxxxxxxxxx>
---
 drivers/infiniband/hw/mlx5/main.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
index b3ba9a2..1ddd1d3 100644
--- a/drivers/infiniband/hw/mlx5/main.c
+++ b/drivers/infiniband/hw/mlx5/main.c
@@ -6068,7 +6068,8 @@ static void *mlx5_ib_add_slave_port(struct mlx5_core_dev *mdev, u8 port_num)
ÂÂÂÂÂÂÂÂ mutex_lock(&mlx5_ib_multiport_mutex);
ÂÂÂÂÂÂÂÂ list_for_each_entry(dev, &mlx5_ib_dev_list, ib_dev_list) {
-ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ if (dev->sys_image_guid == mpi->sys_image_guid)
+ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ if (dev->sys_image_guid == mpi->sys_image_guid &&
+ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ !dev->port[mlx5_core_native_port_num(mdev) - 1].mp.mpi)
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ bound = mlx5_ib_bind_slave_port(dev, mpi);
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ if (bound) {
--
2.9.3
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html