drivers/firmware: Add missing platform_device_put() in sysfb_create_simplefb
authorMiaoqian Lin <linmq006@gmail.com>
Fri, 31 Dec 2021 08:04:25 +0000 (08:04 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jan 2022 10:03:55 +0000 (11:03 +0100)
[ Upstream commit 0589e8889dce8e0f0ea5bbf757f38865e2a469c1 ]

Add the missing platform_device_put() before return from
sysfb_create_simplefb() in the error handling case.

Fixes: 8633ef82f101 ("drivers/firmware: consolidate EFI framebuffer setup for all arches")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Link: https://lore.kernel.org/r/20211231080431.15385-1-linmq006@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/firmware/sysfb_simplefb.c

index b867619..303a491 100644 (file)
@@ -113,12 +113,16 @@ __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)
+       if (ret) {
+               platform_device_put(pd);
                return ret;
+       }
 
        ret = platform_device_add_data(pd, mode, sizeof(*mode));
-       if (ret)
+       if (ret) {
+               platform_device_put(pd);
                return ret;
+       }
 
        return platform_device_add(pd);
 }