diff options
| -rw-r--r-- | drivers/parport/share.c | 8 |
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 | ||
| 943 | err_put_dev: | ||
| 944 | put_device(&par_dev->dev); | ||
| 945 | err_free_devname: | 945 | err_free_devname: |
| 946 | kfree(devname); | 946 | kfree(devname); |
| 947 | err_free_par_dev: | 947 | err_free_par_dev: |
