diff options
Diffstat (limited to 'arch/powerpc/sysdev/axonram.c')
| -rw-r--r-- | arch/powerpc/sysdev/axonram.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/powerpc/sysdev/axonram.c b/arch/powerpc/sysdev/axonram.c index ada29eaed6e2..f523ac883150 100644 --- a/arch/powerpc/sysdev/axonram.c +++ b/arch/powerpc/sysdev/axonram.c @@ -274,7 +274,9 @@ failed:  			if (bank->disk->major > 0)  				unregister_blkdev(bank->disk->major,  						bank->disk->disk_name); -			del_gendisk(bank->disk); +			if (bank->disk->flags & GENHD_FL_UP) +				del_gendisk(bank->disk); +			put_disk(bank->disk);  		}  		device->dev.platform_data = NULL;  		if (bank->io_addr != 0) @@ -299,6 +301,7 @@ axon_ram_remove(struct platform_device *device)  	device_remove_file(&device->dev, &dev_attr_ecc);  	free_irq(bank->irq_id, device);  	del_gendisk(bank->disk); +	put_disk(bank->disk);  	iounmap((void __iomem *) bank->io_addr);  	kfree(bank);  | 
