diff options
Diffstat (limited to 'drivers/slimbus/core.c')
-rw-r--r-- | drivers/slimbus/core.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/slimbus/core.c b/drivers/slimbus/core.c index 63ee96eb58c6..42a233fc5dc6 100644 --- a/drivers/slimbus/core.c +++ b/drivers/slimbus/core.c @@ -327,8 +327,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); |