Includes code refactoring in the device init/deinit path and use the new driver unregistration APIs. Please apply to for-next. Thanks, Selvin v3-> v4: - Added netdev state query and report the correct link state during device registration - Removed GID event during device registration v2 -> v3: - Droped the patch which was adding more state macros - To prevent addition of any device during driver removal, unregister netdev notifier and delete the driver's workqueu before calling ib_unregister_driver v1-> v2: - Remove the patches 1,2 and 6 from the v1 series. They are already merged. - Added ASSERT_RTNL instead of comment in Patch 2 - For Patch 3, explicitly queue the removal of the VF devices before calling ib_unregister_driver. This can avoid command timeouts seen, if the PFs gets removed before the VFs. Previous discussion - https://patchwork.kernel.org/patch/11260013/ Selvin Xavier (2): RDMA/bnxt_re: Refactor device add/remove functionalities RDMA/bnxt_re: Use driver_unregister and unregistration API drivers/infiniband/hw/bnxt_re/main.c | 213 ++++++++++++++++++----------------- 1 file changed, 108 insertions(+), 105 deletions(-) -- 2.5.5