[media] lirc_dev: clarify error handling
authorDavid Härdeman <david@hardeman.nu>
Mon, 1 May 2017 16:04:01 +0000 (13:04 -0300)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Tue, 6 Jun 2017 12:01:29 +0000 (09:01 -0300)
out_sysfs is misleading, sysfs only comes into play after device_add().
Also, calling device_init() before the rest of struct dev is filled out
is clearer.

Signed-off-by: David Härdeman <david@hardeman.nu>
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/rc/lirc_dev.c

index a613970ce159b482a9340e5a40eb519c5e16e368..7d04f83c1ab6f63d6aca3a56081c37b3e84c63b6 100644 (file)
@@ -238,16 +238,16 @@ static int lirc_allocate_driver(struct lirc_driver *d)
 
        ir->d = *d;
 
+       device_initialize(&ir->dev);
        ir->dev.devt = MKDEV(MAJOR(lirc_base_dev), ir->d.minor);
        ir->dev.class = lirc_class;
        ir->dev.parent = d->dev;
        ir->dev.release = lirc_release;
        dev_set_name(&ir->dev, "lirc%d", ir->d.minor);
-       device_initialize(&ir->dev);
 
        err = lirc_cdev_add(ir);
        if (err)
-               goto out_sysfs;
+               goto out_free_dev;
 
        ir->attached = 1;
 
@@ -264,7 +264,7 @@ static int lirc_allocate_driver(struct lirc_driver *d)
        return minor;
 out_cdev:
        cdev_del(&ir->cdev);
-out_sysfs:
+out_free_dev:
        put_device(&ir->dev);
 out_lock:
        mutex_unlock(&lirc_dev_lock);