On 7/23/2018 10:36 AM, Qing Huang wrote: > > Hi Daniel/Parav, > > Have you got a chance to review this patch? Thanks! 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. > >>> 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) 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. >>>> 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 > -- 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