RDMA/mlx5: Verify that DM operation is reasonable
[linux-2.6-microblaze.git] / drivers / slimbus / core.c
index ae1e248..1d2bc18 100644 (file)
@@ -301,8 +301,6 @@ int slim_unregister_controller(struct slim_controller *ctrl)
 {
        /* Remove all clients */
        device_for_each_child(ctrl->dev, NULL, slim_ctrl_remove_device);
-       /* Enter Clock Pause */
-       slim_ctrl_clk_pause(ctrl, false, 0);
        ida_simple_remove(&ctrl_ida, ctrl->id);
 
        return 0;
@@ -326,8 +324,8 @@ void slim_report_absent(struct slim_device *sbdev)
        mutex_lock(&ctrl->lock);
        sbdev->is_laddr_valid = false;
        mutex_unlock(&ctrl->lock);
-
-       ida_simple_remove(&ctrl->laddr_ida, sbdev->laddr);
+       if (!ctrl->get_laddr)
+               ida_simple_remove(&ctrl->laddr_ida, sbdev->laddr);
        slim_device_update_status(sbdev, SLIM_DEVICE_STATUS_DOWN);
 }
 EXPORT_SYMBOL_GPL(slim_report_absent);