mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-01 06:33:07 +00:00
rfkill: gpio: fix memory leak in probe error path
Make sure to free the rfkill device in case registration fails during
probe.
Fixes: 5e7ca3937f
("net: rfkill: gpio: convert to resource managed allocation")
Cc: stable <stable@vger.kernel.org> # 3.13
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
e8f90c74e6
commit
4bf01ca21e
1 changed files with 6 additions and 1 deletions
|
@ -137,13 +137,18 @@ static int rfkill_gpio_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
ret = rfkill_register(rfkill->rfkill_dev);
|
ret = rfkill_register(rfkill->rfkill_dev);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
goto err_destroy;
|
||||||
|
|
||||||
platform_set_drvdata(pdev, rfkill);
|
platform_set_drvdata(pdev, rfkill);
|
||||||
|
|
||||||
dev_info(&pdev->dev, "%s device registered.\n", rfkill->name);
|
dev_info(&pdev->dev, "%s device registered.\n", rfkill->name);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
err_destroy:
|
||||||
|
rfkill_destroy(rfkill->rfkill_dev);
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rfkill_gpio_remove(struct platform_device *pdev)
|
static int rfkill_gpio_remove(struct platform_device *pdev)
|
||||||
|
|
Loading…
Reference in a new issue