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.li...@gmail.com>
---
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

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to