IB/mlx5: Change logic for dispatching IB events for port state
authorMoni Shoua <monis@mellanox.com>
Tue, 30 May 2017 06:56:05 +0000 (09:56 +0300)
committerDoug Ledford <dledford@redhat.com>
Mon, 24 Jul 2017 14:29:18 +0000 (10:29 -0400)
commitfd65f1b8eefdd20bd70cc920a7306e1e1b113d81
tree2078f9fac6593c3cd61931f409d37f80f9d0cc7b
parent2c43c5a036be7d03232a2b28f4a440a8cafe699f
IB/mlx5: Change logic for dispatching IB events for port state

The old logic ignored link state. This led to missing IB events like
when link goes down on the switch while admin state is up or to redundant
events like when admin state goes up while link is down.
To fix that, probe the port state on NETDEV events and compare to last
known state to decide if IB events needs to be dispatched.

FIxes: 5ec8c83e3ad3 ("IB/mlx5: Port events in RoCE now rely on netdev events")
Signed-off-by: Moni Shoua <monis@mellanox.com>
Reviewed-by: Noa Osherovich <noaos@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/mlx5/main.c
drivers/infiniband/hw/mlx5/mlx5_ib.h