summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/parport/share.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/parport/share.c b/drivers/parport/share.c
index 1efec44e03aa..c02b5f27798b 100644
--- a/drivers/parport/share.c
+++ b/drivers/parport/share.c
@@ -892,8 +892,10 @@ parport_register_dev_model(struct parport *port, const char *name,
par_dev->dev.release = free_pardevice;
par_dev->devmodel = true;
ret = device_register(&par_dev->dev);
- if (ret)
- goto err_put_dev;
+ if (ret) {
+ put_device(&par_dev->dev);
+ goto err_put_port;
+ }
/* Chain this onto the list */
par_dev->prev = NULL;
@@ -940,8 +942,6 @@ parport_register_dev_model(struct parport *port, const char *name,
return par_dev;
-err_put_dev:
- put_device(&par_dev->dev);
err_free_devname:
kfree(devname);
err_free_par_dev: