Errors are correctly handled in oz_cdev_register() and oz_protocol_init(), but then they are ignored in ozwpan_init(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> --- drivers/staging/ozwpan/ozmain.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/drivers/staging/ozwpan/ozmain.c b/drivers/staging/ozwpan/ozmain.c index 7d6ef4cadf1a..74ef34815b98 100644 --- a/drivers/staging/ozwpan/ozmain.c +++ b/drivers/staging/ozwpan/ozmain.c @@ -34,11 +34,21 @@ MODULE_PARM_DESC(g_net_dev, "The device(s) to bind to; " */ static int __init ozwpan_init(void) { - oz_cdev_register(); - oz_protocol_init(g_net_dev); + int err; + + err = oz_cdev_register(); + if (err) + return err; + err = oz_protocol_init(g_net_dev); + if (err) + goto err_protocol; oz_app_enable(OZ_APPID_USB, 1); oz_apps_init(); return 0; + +err_protocol: + oz_cdev_deregister(); + return err; } /* -- 1.9.1 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel