|
@@ -892,8 +892,10 @@ parport_register_dev_model(struct parport *port, const char *name,
|
|
par_dev->dev.release = free_pardevice;
|
|
par_dev->dev.release = free_pardevice;
|
|
par_dev->devmodel = true;
|
|
par_dev->devmodel = true;
|
|
ret = device_register(&par_dev->dev);
|
|
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 */
|
|
/* Chain this onto the list */
|
|
par_dev->prev = NULL;
|
|
par_dev->prev = NULL;
|
|
@@ -940,8 +942,6 @@ parport_register_dev_model(struct parport *port, const char *name,
|
|
|
|
|
|
return par_dev;
|
|
return par_dev;
|
|
|
|
|
|
-err_put_dev:
|
|
|
|
- put_device(&par_dev->dev);
|
|
|
|
err_free_devname:
|
|
err_free_devname:
|
|
kfree(devname);
|
|
kfree(devname);
|
|
err_free_par_dev:
|
|
err_free_par_dev:
|