Commit 202c0891 authored by Johan Hovold's avatar Johan Hovold Committed by Greg Kroah-Hartman

firmware: sysfb: fix platform-device leak in error path

Make sure to free the platform device also in the unlikely event that
registration fails.

Fixes: 0589e888 ("drivers/firmware: Add missing platform_device_put() in sysfb_create_simplefb")
Fixes: 8633ef82 ("drivers/firmware: consolidate EFI framebuffer setup for all arches")
Cc: stable@vger.kernel.org      # 5.14
Cc: Miaoqian Lin <linmq006@gmail.com>
Cc: Javier Martinez Canillas <javierm@redhat.com>
Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20220303180519.3117-1-johan@kernel.orgSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent b850b7a8
......@@ -113,16 +113,21 @@ __init int sysfb_create_simplefb(const struct screen_info *si,
sysfb_apply_efi_quirks(pd);
ret = platform_device_add_resources(pd, &res, 1);
if (ret) {
platform_device_put(pd);
return ret;
}
if (ret)
goto err_put_device;
ret = platform_device_add_data(pd, mode, sizeof(*mode));
if (ret) {
platform_device_put(pd);
return ret;
}
if (ret)
goto err_put_device;
ret = platform_device_add(pd);
if (ret)
goto err_put_device;
return 0;
err_put_device:
platform_device_put(pd);
return platform_device_add(pd);
return ret;
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment