[PATCH v2] staging: pi433: add missing call to cdev_del()

From: Michael Straube
Date: Mon Nov 26 2018 - 13:18:37 EST


If cdev_add() fails, cdev_del() should be called.
Add the missing cdev_del() call as pointed out by
Dan Carpenter.

Signed-off-by: Michael Straube <straube.linux@xxxxxxxxx>
---
v1 -> v2
Use goto and label.

drivers/staging/pi433/pi433_if.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/pi433/pi433_if.c b/drivers/staging/pi433/pi433_if.c
index d72de2105053..b2314636dc89 100644
--- a/drivers/staging/pi433/pi433_if.c
+++ b/drivers/staging/pi433/pi433_if.c
@@ -1254,7 +1254,7 @@ static int pi433_probe(struct spi_device *spi)
retval = cdev_add(device->cdev, device->devt, 1);
if (retval) {
dev_dbg(device->dev, "register of cdev failed");
- goto cdev_failed;
+ goto del_cdev;
}

/* spi setup */
@@ -1262,6 +1262,8 @@ static int pi433_probe(struct spi_device *spi)

return 0;

+del_cdev:
+ cdev_del(device->cdev);
cdev_failed:
kthread_stop(device->tx_task_struct);
send_thread_failed:
--
2.19.2