staging: comedi: call comedi_release_hardware_device() on error
authorIan Abbott <abbotti@mev.co.uk>
Thu, 4 Apr 2013 13:58:48 +0000 (14:58 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Apr 2013 21:33:17 +0000 (14:33 -0700)
If `comedi_auto_config()` fails after allocating the minor device, call
`comedi_release_hardware_device()` instead of
`comedi_free_board_minor()` to free the minor device.  That's the same
call that `comedi_auto_unconfig()` uses, and is slightly safer as it
checks the minor device number is still tied to the same hardware
device.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers.c

index 29c8f5037065f390b9b0325446ef27d8e65ef43a..5a506a5bab687b9aad70d16c3d7580bf34e3748b 100644 (file)
@@ -452,7 +452,7 @@ int comedi_auto_config(struct device *hardware_device,
        mutex_unlock(&comedi_dev->mutex);
 
        if (ret < 0)
-               comedi_free_board_minor(minor);
+               comedi_release_hardware_device(hardware_device);
        return ret;
 }
 EXPORT_SYMBOL_GPL(comedi_auto_config);