Re: [B.A.T.M.A.N.] [PATCH v2 05/26] batman-adv: init, Add some error handling

Markus Pargmann
2015-01-14T15:24:17Z

[-- Attachment #1: Type: text/plain, Size: 2115 bytes --]

On Sun, Jan 11, 2015 at 08:38:10PM +0800, Marek Lindner wrote:
> On Friday 26 December 2014 12:41:22 Markus Pargmann wrote:
> > static int __init batadv_init(void)
> > {
> > + int ret;
> > +
> > INIT_LIST_HEAD(&batadv_hardif_list);
> > INIT_HLIST_HEAD(&batadv_algo_list);
> >
> > batadv_recv_handler_init();
> >
> > - batadv_iv_init();
> > - batadv_nc_init();
> > + ret = batadv_iv_init();
> > + if (ret)
> > + return ret;
> > +
> > + ret = batadv_nc_init();
> > + if (ret)
> > + return ret;
> >
> > batadv_event_workqueue =
> > create_singlethread_workqueue("bat_events"); -
> > if (!batadv_event_workqueue)
> > return -ENOMEM;
> >
> > batadv_socket_init();
> > batadv_debugfs_init();
> >
> > - register_netdevice_notifier(&batadv_hard_if_notifier);
> > - rtnl_link_register(&batadv_link_ops);
> > + ret = register_netdevice_notifier(&batadv_hard_if_notifier);
> > + if (ret)
> > + goto err_netdev_notifier;
> > +
> > + ret = rtnl_link_register(&batadv_link_ops);
> > + if (ret)
> > + goto err_link_register;
> >
> > pr_info("B.A.T.M.A.N. advanced %s (compatibility version %i)
> > loaded\n", BATADV_SOURCE_VERSION, BATADV_COMPAT_VERSION);
> >
> > return 0;
> > +
> > +err_link_register:
> > + unregister_netdevice_notifier(&batadv_hard_if_notifier);
> > +err_netdev_notifier:
> > + batadv_debugfs_destroy();
> > +
> > + return ret;
> > }
>
> To be truely clean, I guess the workqueue should be destroyed as well ?

Yes, thanks, added destroy_workqueue() for v3.

Best Regards,

Markus

--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]