When the 'nb' value allocated from 'bl_ida' is greater than or equal to 100, it will not be released. In fact, we can simplify operations by limiting the range of idas that can be applied for. By the way, delete the const modifier of the local variable 'nb'. Fixes: db1a0ae21461 ("drm/nouveau/bl: Assign different names to interfaces") Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx> --- drivers/gpu/drm/nouveau/nouveau_backlight.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_backlight.c b/drivers/gpu/drm/nouveau/nouveau_backlight.c index 72f35a2babcb20e..d1c998e645fb4b6 100644 --- a/drivers/gpu/drm/nouveau/nouveau_backlight.c +++ b/drivers/gpu/drm/nouveau/nouveau_backlight.c @@ -51,8 +51,9 @@ static bool nouveau_get_backlight_name(char backlight_name[BL_NAME_SIZE], struct nouveau_backlight *bl) { - const int nb = ida_simple_get(&bl_ida, 0, 0, GFP_KERNEL); - if (nb < 0 || nb >= 100) + int nb = ida_simple_get(&bl_ida, 0, 100, GFP_KERNEL); + + if (nb < 0) return false; if (nb > 0) snprintf(backlight_name, BL_NAME_SIZE, "nv_backlight%d", nb); -- 2.26.0.106.g9fadedd