Messages in this thread Patch in this message | | | From | nizamhaider786@gmail ... | Subject | [PATCH v2 1/2] char: pcmcia: cm4000_cs: Fix failure handling | Date | Tue, 25 May 2021 04:32:34 +0530 |
| |
From: Nijam Haider <nizamhaider786@gmail.com>
Handled failure cases of device_create()
Signed-off-by: Nijam Haider <nizamhaider786@gmail.com> --- V1 -> V2: Added description and changelog --- drivers/char/pcmcia/cm4000_cs.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/char/pcmcia/cm4000_cs.c b/drivers/char/pcmcia/cm4000_cs.c index 89681f07bc78..1ed4eac6b8ef 100644 --- a/drivers/char/pcmcia/cm4000_cs.c +++ b/drivers/char/pcmcia/cm4000_cs.c @@ -1783,6 +1783,7 @@ static int cm4000_probe(struct pcmcia_device *link) { struct cm4000_dev *dev; int i, ret; + struct device *dev_ret; for (i = 0; i < CM4000_MAX_DEV; i++) if (dev_table[i] == NULL) @@ -1814,8 +1815,14 @@ static int cm4000_probe(struct pcmcia_device *link) return ret; } - device_create(cmm_class, NULL, MKDEV(major, i), NULL, "cmm%d", i); - + dev_ret = device_create(cmm_class, NULL, MKDEV(major, i), NULL, "cmm%d", i); + if (IS_ERR(dev_ret)) { + dev_err(&link->dev, "device_create failed for %d\n", i); + cm4000_release(link); + dev_table[i] = NULL; + kfree(dev); + return -ENODEV; + } return 0; } -- 2.7.4
| |