aboutsummaryrefslogtreecommitdiffstats
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,
892 par_dev->dev.release = free_pardevice; 892 par_dev->dev.release = free_pardevice;
893 par_dev->devmodel = true; 893 par_dev->devmodel = true;
894 ret = device_register(&par_dev->dev); 894 ret = device_register(&par_dev->dev);
895 if (ret) 895 if (ret) {
896 goto err_put_dev; 896 put_device(&par_dev->dev);
897 goto err_put_port;
898 }
897 899
898 /* Chain this onto the list */ 900 /* Chain this onto the list */
899 par_dev->prev = NULL; 901 par_dev->prev = NULL;
@@ -940,8 +942,6 @@ parport_register_dev_model(struct parport *port, const char *name,
940 942
941 return par_dev; 943 return par_dev;
942 944
943err_put_dev:
944 put_device(&par_dev->dev);
945err_free_devname: 945err_free_devname:
946 kfree(devname); 946 kfree(devname);
947err_free_par_dev: 947err_free_par_dev: