kfree(vio_bus_device); 
static int __init vio_bus_init(void){	int err;	err = bus_register(&vio_bus_type);	if (err) {		printk(KERN_ERR "failed to register VIO bus\n");		return err;	}	/* the fake parent of all vio devices, just to give us a nice directory */	vio_bus_device = kmalloc(sizeof(struct vio_dev), GFP_KERNEL);	if (!vio_bus_device) {		return 1;	}	memset(vio_bus_device, 0, sizeof(struct vio_dev));	strcpy(vio_bus_device->dev.bus_id, "vio");	err = device_register(&vio_bus_device->dev);	if (err) {		printk(KERN_WARNING "%s: device_register returned %i\n", __FUNCTION__,			err);		kfree(vio_bus_device);		return err;	}#ifdef CONFIG_PPC_PSERIES	probe_bus_pseries();#endif#ifdef CONFIG_PPC_ISERIES	probe_bus_iseries();#endif	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/ac5b33c9bcf1c05ae949b026a51d7f8f9573591c/vio.c/buggy/arch/ppc64/kernel/vio.c