powerpc/vio: Use put_device() on device_register failure
The kernel doc for device_register (and device_initialize) very clearly state to call put_device not kfree after calling, even on error. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Acked-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
committed by
Benjamin Herrenschmidt
parent
ffa56e555a
commit
edea8f6f48
@@ -1254,8 +1254,7 @@ struct vio_dev *vio_register_device_node(struct device_node *of_node)
|
|||||||
if (device_register(&viodev->dev)) {
|
if (device_register(&viodev->dev)) {
|
||||||
printk(KERN_ERR "%s: failed to register device %s\n",
|
printk(KERN_ERR "%s: failed to register device %s\n",
|
||||||
__func__, dev_name(&viodev->dev));
|
__func__, dev_name(&viodev->dev));
|
||||||
/* XXX free TCE table */
|
put_device(&viodev->dev);
|
||||||
kfree(viodev);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user