mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2025-01-03 19:02:34 +01:00
main: move module init into nl80211_appeared
In preparation for integrating IWD_MODULE into modules which require nl80211 we move the module init into the nl80211_appeared callback. This will guarentee that the nl80211 is available during module init and allow modules to get their own copy of nl80211 rather than needing a set function (e.g. netdev_set_nl80211). Since the dbus name request callback happens before this as well any dbus module can also use IWD_MODULE and simply assume the dbus object is ready. plugin_init was also deferred to nl80211_appeared since some plugins depend on modules being initialized.
This commit is contained in:
parent
046fe96537
commit
df8fc5f918
12
src/main.c
12
src/main.c
@ -147,6 +147,13 @@ static void nl80211_appeared(const struct l_genl_family_info *info,
|
|||||||
l_debug("Found nl80211 interface");
|
l_debug("Found nl80211 interface");
|
||||||
nl80211 = l_genl_family_new(genl, NL80211_GENL_NAME);
|
nl80211 = l_genl_family_new(genl, NL80211_GENL_NAME);
|
||||||
|
|
||||||
|
if (iwd_modules_init() < 0) {
|
||||||
|
l_main_quit();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
plugin_init(plugins, noplugins);
|
||||||
|
|
||||||
manager_init(nl80211, interfaces, nointerfaces);
|
manager_init(nl80211, interfaces, nointerfaces);
|
||||||
anqp_init(nl80211);
|
anqp_init(nl80211);
|
||||||
|
|
||||||
@ -482,14 +489,9 @@ int main(int argc, char *argv[])
|
|||||||
if (!netdev_init())
|
if (!netdev_init())
|
||||||
goto fail_netdev;
|
goto fail_netdev;
|
||||||
|
|
||||||
if (iwd_modules_init() < 0)
|
|
||||||
goto fail_modules;
|
|
||||||
|
|
||||||
plugin_init(plugins, noplugins);
|
|
||||||
exit_status = l_main_run_with_signal(signal_handler, NULL);
|
exit_status = l_main_run_with_signal(signal_handler, NULL);
|
||||||
plugin_exit();
|
plugin_exit();
|
||||||
|
|
||||||
fail_modules:
|
|
||||||
iwd_modules_exit();
|
iwd_modules_exit();
|
||||||
netdev_exit();
|
netdev_exit();
|
||||||
fail_netdev:
|
fail_netdev:
|
||||||
|
Loading…
Reference in New Issue
Block a user