[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210927220110.1066271-7-mcgrof@kernel.org>
Date: Mon, 27 Sep 2021 15:01:01 -0700
From: Luis Chamberlain <mcgrof@...nel.org>
To: axboe@...nel.dk, justin@...aid.com, geert@...ux-m68k.org,
ulf.hansson@...aro.org, hare@...e.de, tj@...nel.org,
philipp.reisner@...bit.com, lars.ellenberg@...bit.com,
jdike@...toit.com, richard@....at, anton.ivanov@...bridgegreys.com,
johannes.berg@...el.com, chris.obbard@...labora.com,
krisman@...labora.com, zhuyifei1999@...il.com, thehajime@...il.com,
chris@...kel.net, jcmvbkbc@...il.com, tim@...erelk.net
Cc: linux-xtensa@...ux-xtensa.org, linux-um@...ts.infradead.org,
linux-m68k@...ts.linux-m68k.org, drbd-dev@...ts.linbit.com,
linux-block@...r.kernel.org, linux-kernel@...r.kernel.org,
Luis Chamberlain <mcgrof@...nel.org>
Subject: [PATCH v2 06/15] xtensa/platforms/iss/simdisk: 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.
Signed-off-by: Luis Chamberlain <mcgrof@...nel.org>
---
arch/xtensa/platforms/iss/simdisk.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/arch/xtensa/platforms/iss/simdisk.c b/arch/xtensa/platforms/iss/simdisk.c
index 3cdfa00738e0..ad85c554cd45 100644
--- a/arch/xtensa/platforms/iss/simdisk.c
+++ b/arch/xtensa/platforms/iss/simdisk.c
@@ -259,6 +259,7 @@ static int __init simdisk_setup(struct simdisk *dev, int which,
struct proc_dir_entry *procdir)
{
char tmp[2] = { '0' + which, 0 };
+ int err = -ENOMEM;
dev->fd = -1;
dev->filename = NULL;
@@ -267,7 +268,7 @@ static int __init simdisk_setup(struct simdisk *dev, int which,
dev->gd = blk_alloc_disk(NUMA_NO_NODE);
if (!dev->gd)
- return -ENOMEM;
+ goto out;
dev->gd->major = simdisk_major;
dev->gd->first_minor = which;
dev->gd->minors = SIMDISK_MINORS;
@@ -275,10 +276,18 @@ static int __init simdisk_setup(struct simdisk *dev, int which,
dev->gd->private_data = dev;
snprintf(dev->gd->disk_name, 32, "simdisk%d", which);
set_capacity(dev->gd, 0);
- add_disk(dev->gd);
+ err = add_disk(dev->gd);
+ if (err)
+ goto out_cleanup_disk;
dev->procfile = proc_create_data(tmp, 0644, procdir, &simdisk_proc_ops, dev);
+
return 0;
+
+out_cleanup_disk:
+ blk_cleanup_disk(dev->gd);
+out:
+ return err;
}
static int __init simdisk_init(void)
--
2.30.2
Powered by blists - more mailing lists