On Wed, 7 Mar 2018 15:31:30 +0530 Arvind Yadav <arvind.yadav.cs@xxxxxxxxx> wrote: > if device_register() returned an error! Always use put_device() > to give up the reference initialized. > > Signed-off-by: Arvind Yadav <arvind.yadav.cs@xxxxxxxxx> > --- > drivers/ssb/main.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/ssb/main.c b/drivers/ssb/main.c > index 65420a9..c4449e0 100644 > --- a/drivers/ssb/main.c > +++ b/drivers/ssb/main.c > @@ -521,6 +521,7 @@ static int ssb_devices_register(struct ssb_bus *bus) > ssb_err("Could not register %s\n", dev_name(dev)); > /* Set dev to NULL to not unregister > * dev on error unwinding. */ > + put_device(dev); > sdev->dev = NULL; > kfree(devwrap); > goto error; I don't think this is correct. The dev structure is allocated as part of devwrap, which is freed here. Why do you think we need put_device here? -- Michael
Attachment:
pgpipVzcKkLnA.pgp
Description: OpenPGP digital signature