diff options
author | Himangi Saraogi <himangi774@gmail.com> | 2014-08-10 21:59:37 +0200 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2014-08-19 16:21:34 +0200 |
commit | 0c5824083b8ca4aff083dc74024d0bfd46f9da9d (patch) | |
tree | 849240e6829d4db6b51ce93b305cbcb79119da76 /drivers/usb/phy | |
parent | usb: phy: return -ENODEV on failure of try_module_get (diff) | |
download | linux-0c5824083b8ca4aff083dc74024d0bfd46f9da9d.tar.xz linux-0c5824083b8ca4aff083dc74024d0bfd46f9da9d.zip |
usb: phy: drop kfree of devm_kzalloc's data
Using kfree to free data allocated with devm_kzalloc causes double frees.
The Coccinelle semantic patch that fixes this problem is as follows:
// <smpl>
@@
expression x;
@@
x = devm_kzalloc(...)
...
?-kfree(x);
// </smpl>
Reviewed-by: Jingoo Han <jg1.han@samsung.com>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Himangi Saraogi <himangi774@gmail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/phy')
-rw-r--r-- | drivers/usb/phy/phy-gpio-vbus-usb.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/usb/phy/phy-gpio-vbus-usb.c b/drivers/usb/phy/phy-gpio-vbus-usb.c index ea9e705555df..f4b14bd97e14 100644 --- a/drivers/usb/phy/phy-gpio-vbus-usb.c +++ b/drivers/usb/phy/phy-gpio-vbus-usb.c @@ -260,10 +260,8 @@ static int gpio_vbus_probe(struct platform_device *pdev) gpio_vbus->phy.otg = devm_kzalloc(&pdev->dev, sizeof(struct usb_otg), GFP_KERNEL); - if (!gpio_vbus->phy.otg) { - kfree(gpio_vbus); + if (!gpio_vbus->phy.otg) return -ENOMEM; - } platform_set_drvdata(pdev, gpio_vbus); gpio_vbus->dev = &pdev->dev; |