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>

authored by Nishanth Aravamudan and committed by Benjamin Herrenschmidt edea8f6f ffa56e55

+1 -2
+1 -2
arch/powerpc/kernel/vio.c
··· 1254 if (device_register(&viodev->dev)) { 1255 printk(KERN_ERR "%s: failed to register device %s\n", 1256 __func__, dev_name(&viodev->dev)); 1257 - /* XXX free TCE table */ 1258 - kfree(viodev); 1259 return NULL; 1260 } 1261
··· 1254 if (device_register(&viodev->dev)) { 1255 printk(KERN_ERR "%s: failed to register device %s\n", 1256 __func__, dev_name(&viodev->dev)); 1257 + put_device(&viodev->dev); 1258 return NULL; 1259 } 1260