diff options
| author | Luis Chamberlain <mcgrof@kernel.org> | 2021-07-14 00:21:39 +0000 |
|---|---|---|
| committer | Luis Chamberlain <mcgrof@kernel.org> | 2021-07-14 20:57:37 -0700 |
| commit | 32410056e36f4457d51df601c9a6ebc24b564652 (patch) | |
| tree | d8703423741745cda6887c1c8e927930eba492bc | |
| parent | 6259d97633c5582bcdac8677b36251d7d11872d2 (diff) | |
| download | linux-next-32410056e36f4457d51df601c9a6ebc24b564652.tar.gz | |
nvdimm/blk: add error handling support for add_disk()
We never checked for errors on add_disk() as this function
returned void. Now that this is fixed, use the shiny new
error handling.
Since ndimm/blk uses devm we just adjust the release call
to check if the disk was registered before calling
del_gendisk().
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
| -rw-r--r-- | drivers/nvdimm/blk.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/nvdimm/blk.c b/drivers/nvdimm/blk.c index 088d3dd6f6fac..ad52164bd7203 100644 --- a/drivers/nvdimm/blk.c +++ b/drivers/nvdimm/blk.c @@ -230,7 +230,8 @@ static const struct block_device_operations nd_blk_fops = { static void nd_blk_release_disk(void *disk) { - del_gendisk(disk); + if (disk->flags & GENHD_FL_UP) + del_gendisk(disk); blk_cleanup_disk(disk); } @@ -267,7 +268,9 @@ static int nsblk_attach_disk(struct nd_namespace_blk *nsblk) } set_capacity(disk, available_disk_size >> SECTOR_SHIFT); - device_add_disk(dev, disk, NULL); + rc = device_add_disk(dev, disk, NULL); + if (rc) + return rc; nvdimm_check_and_set_ro(disk); return 0; } |
