On Thu, Jun 25, 2015 at 09:58:51AM -0400, Benjamin Romer wrote:
> From: Erik Arfvidson <erik.arfvid...@unisys.com>
> 
<snip>
> +static int
> +visorhid_init(void)
> +{
> +     int rc = 0;
> +
> +     spin_lock_init(&devnopool_lock);
> +     dev_no_pool = kzalloc(BITS_TO_LONGS(MAXDEVICES), GFP_KERNEL);
> +     if (!dev_no_pool) {
> +             rc = -ENOMEM;
> +             goto cleanups;
> +     }
> +     visorbus_register_visor_driver(&visorhid_driver);
> +cleanups:
> +     if (rc < 0)
> +             visorhid_cleanup_guts();
This will be true only if kzalloc fails. And if kzalloc fails then the
visorhid_driver is still not registered. But in the cleanups you are
calling visorhid_cleanup_guts() which will try to unregister the driver
and that should generate a warning by driver_unregister as we are trying
to unregister a driver which is not yet registerd.

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

Reply via email to