diff options
author | Hans de Goede <hdegoede@redhat.com> | 2022-01-08 16:49:47 +0100 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2022-01-08 16:56:01 +0100 |
commit | 02fb09459435add44bb00191ce9b040c6b4f3aae (patch) | |
tree | c64b8d4a94189e356791c5d96d1d094bca2b1bd1 /drivers/platform | |
parent | platform/x86: int3472: Add board data for Surface Go 3 (diff) | |
download | linux-02fb09459435add44bb00191ce9b040c6b4f3aae.tar.xz linux-02fb09459435add44bb00191ce9b040c6b4f3aae.zip |
platform/x86: x86-android-tablets: Fix GPIO lookup leak on error-exit
Fix leaking the registered gpiod_lookup tables when the kcalloc() for the
i2c_clients array fails.
Fixes: ef2ac11493e2 ("platform/x86: x86-android-tablets: Add support for registering GPIO lookup tables")
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20220108154947.136593-1-hdegoede@redhat.com
Diffstat (limited to 'drivers/platform')
-rw-r--r-- | drivers/platform/x86/x86-android-tablets.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/platform/x86/x86-android-tablets.c b/drivers/platform/x86/x86-android-tablets.c index d39da5fca6c5..3ba63ad91b28 100644 --- a/drivers/platform/x86/x86-android-tablets.c +++ b/drivers/platform/x86/x86-android-tablets.c @@ -815,8 +815,10 @@ static __init int x86_android_tablet_init(void) gpiod_add_lookup_table(gpiod_lookup_tables[i]); i2c_clients = kcalloc(dev_info->i2c_client_count, sizeof(*i2c_clients), GFP_KERNEL); - if (!i2c_clients) + if (!i2c_clients) { + x86_android_tablet_cleanup(); return -ENOMEM; + } i2c_client_count = dev_info->i2c_client_count; for (i = 0; i < i2c_client_count; i++) { |