Message ID | 2fec6004-8191-c117-94c3-86524cfb4780@users.sourceforge.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sun, 26 Jun 2016, SF Markus Elfring wrote: > From: Markus Elfring <elfring@users.sourceforge.net> > Date: Sun, 26 Jun 2016 13:40:35 +0200 > > The platform_device_put() function was called in one case by the > add_child() function during error handling even if the passed > variable "pdev" contained a null pointer. > Return directly in this case. > > This issue was detected by using the Coccinelle software. > > Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> > --- > drivers/mfd/dm355evm_msp.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) Applied, thanks. > diff --git a/drivers/mfd/dm355evm_msp.c b/drivers/mfd/dm355evm_msp.c > index 14661ec..270e19c 100644 > --- a/drivers/mfd/dm355evm_msp.c > +++ b/drivers/mfd/dm355evm_msp.c > @@ -199,11 +199,8 @@ static struct device *add_child(struct i2c_client *client, const char *name, > int status; > > pdev = platform_device_alloc(name, -1); > - if (!pdev) { > - dev_dbg(&client->dev, "can't alloc dev\n"); > - status = -ENOMEM; > - goto err; > - } > + if (!pdev) > + return ERR_PTR(-ENOMEM); > > device_init_wakeup(&pdev->dev, can_wakeup); > pdev->dev.parent = &client->dev;
diff --git a/drivers/mfd/dm355evm_msp.c b/drivers/mfd/dm355evm_msp.c index 14661ec..270e19c 100644 --- a/drivers/mfd/dm355evm_msp.c +++ b/drivers/mfd/dm355evm_msp.c @@ -199,11 +199,8 @@ static struct device *add_child(struct i2c_client *client, const char *name, int status; pdev = platform_device_alloc(name, -1); - if (!pdev) { - dev_dbg(&client->dev, "can't alloc dev\n"); - status = -ENOMEM; - goto err; - } + if (!pdev) + return ERR_PTR(-ENOMEM); device_init_wakeup(&pdev->dev, can_wakeup); pdev->dev.parent = &client->dev;