summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNishanth Aravamudan <nacc@us.ibm.com>2010-09-15 08:05:47 +0000
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2010-10-13 16:19:21 +1100
commitedea8f6f48416d9a6fd1babb76c19cf05c802325 (patch)
tree07e531b594c3493206d119fd068aa2e5f902e97c
parentffa56e555a6e4c205e879636e6cd6104ce03421f (diff)
downloadlwn-edea8f6f48416d9a6fd1babb76c19cf05c802325.tar.gz
lwn-edea8f6f48416d9a6fd1babb76c19cf05c802325.zip
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>
-rw-r--r--arch/powerpc/kernel/vio.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/vio.c b/arch/powerpc/kernel/vio.c
index fa3469ddaef8..72db4b021762 100644
--- a/arch/powerpc/kernel/vio.c
+++ b/arch/powerpc/kernel/vio.c
@@ -1254,8 +1254,7 @@ struct vio_dev *vio_register_device_node(struct device_node *of_node)
if (device_register(&viodev->dev)) {
printk(KERN_ERR "%s: failed to register device %s\n",
__func__, dev_name(&viodev->dev));
- /* XXX free TCE table */
- kfree(viodev);
+ put_device(&viodev->dev);
return NULL;
}