summaryrefslogtreecommitdiff
path: root/arch/powerpc/sysdev/axonram.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2017-04-03 01:06:59 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2017-04-03 01:06:59 -0400
commita8e28440016bfb23bec266c4c66eacca6ea2d48b (patch)
tree27d528294f7886c434c8072a034d211acc06d077 /arch/powerpc/sysdev/axonram.c
parent2b5efc089769cd2aa583880d29416d00e7441f39 (diff)
parent3209f68b3ca4667069923a325c88b21131bfdf9f (diff)
Merge branch 'work.statx' into for-next
Diffstat (limited to 'arch/powerpc/sysdev/axonram.c')
-rw-r--r--arch/powerpc/sysdev/axonram.c5
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);