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

rfkill: gpio: fix memory leak in probe error path

commit 4bf01ca2 upstream.

Make sure to free the rfkill device in case registration fails during
probe.

Fixes: 5e7ca393 ("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: default avatarJohan Hovold <johan@kernel.org>
Reviewed-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 63e2ae9d
...@@ -138,13 +138,18 @@ static int rfkill_gpio_probe(struct platform_device *pdev) ...@@ -138,13 +138,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)
......
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