IB/mlx4: Follow mirror sequence of device add during device removal
authorParav Pandit <parav@mellanox.com>
Thu, 12 Dec 2019 09:12:13 +0000 (11:12 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jan 2020 09:17:52 +0000 (10:17 +0100)
commit556f40b79de5e23fba28f5e35831d1526df52a26
tree1d9716315d92d128d1907774a2b1c0bda5f40739
parent29f57767bfc3ab9b3c6f6638692ebc5158a46ead
IB/mlx4: Follow mirror sequence of device add during device removal

[ Upstream commit 89f988d93c62384758b19323c886db917a80c371 ]

Current code device add sequence is:

ib_register_device()
ib_mad_init()
init_sriov_init()
register_netdev_notifier()

Therefore, the remove sequence should be,

unregister_netdev_notifier()
close_sriov()
mad_cleanup()
ib_unregister_device()

However it is not above.
Hence, make do above remove sequence.

Fixes: fa417f7b520ee ("IB/mlx4: Add support for IBoE")
Signed-off-by: Parav Pandit <parav@mellanox.com>
Reviewed-by: Maor Gottlieb <maorg@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Link: https://lore.kernel.org/r/20191212091214.315005-3-leon@kernel.org
Signed-off-by: Doug Ledford <dledford@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/infiniband/hw/mlx4/main.c