From: Andrew Boyer Date: Mon, 28 Aug 2017 20:11:59 +0000 (-0400) Subject: IB/rxe: Handle NETDEV_CHANGE events X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=5c50f1d18f6bdd8ff8d274479b8bf0d89ab5a47d;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git IB/rxe: Handle NETDEV_CHANGE events Without this fix, ports configured on top of ixgbe miss link up notifications. ibv_query_port() will continue to return IBV_PORT_DOWN even though the port is up and working. Fixes: 8700e3e7c485 ("Soft RoCE driver") Signed-off-by: Andrew Boyer Signed-off-by: Doug Ledford --- diff --git a/drivers/infiniband/sw/rxe/rxe_net.c b/drivers/infiniband/sw/rxe/rxe_net.c index 3ba76e7c7a38..59dee10bebcb 100644 --- a/drivers/infiniband/sw/rxe/rxe_net.c +++ b/drivers/infiniband/sw/rxe/rxe_net.c @@ -651,8 +651,13 @@ static int rxe_notify(struct notifier_block *not_blk, pr_info("%s changed mtu to %d\n", ndev->name, ndev->mtu); rxe_set_mtu(rxe, ndev->mtu); break; - case NETDEV_REBOOT: case NETDEV_CHANGE: + if (netif_running(ndev) && netif_carrier_ok(ndev)) + rxe_port_up(rxe); + else + rxe_port_down(rxe); + break; + case NETDEV_REBOOT: case NETDEV_GOING_DOWN: case NETDEV_CHANGEADDR: case NETDEV_CHANGENAME: