net/mlx5: Avoid reloading already removed devices
authorAlaa Hleihel <alaa@mellanox.com>
Sun, 19 May 2019 08:11:49 +0000 (11:11 +0300)
committerSaeed Mahameed <saeedm@mellanox.com>
Fri, 7 Jun 2019 21:40:36 +0000 (14:40 -0700)
commitdd80857bf388abd0c64dd3aa4fbf7d407deba819
tree6d80419f3b487082c5051f6937bc784504e51539
parent6a6fabbfa3e8c656ff906ae999fb6856410fa4cd
net/mlx5: Avoid reloading already removed devices

Prior to reloading a device we must first verify that it was not already
removed. Otherwise, the attempt to remove the device will do nothing, and
in that case we will end up proceeding with adding an new device that no
one was expecting to remove, leaving behind used resources such as EQs that
causes a failure to destroy comp EQs and syndrome (0x30f433).

Fix that by making sure that we try to remove and add a device (based on a
protocol) only if the device is already added.

Fixes: c5447c70594b ("net/mlx5: E-Switch, Reload IB interface when switching devlink modes")
Signed-off-by: Alaa Hleihel <alaa@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/dev.c