Page MenuHomeFreeBSD

D47994.diff
No OneTemporary

D47994.diff

diff --git a/sys/contrib/dev/iwlwifi/iwl-drv.c b/sys/contrib/dev/iwlwifi/iwl-drv.c
--- a/sys/contrib/dev/iwlwifi/iwl-drv.c
+++ b/sys/contrib/dev/iwlwifi/iwl-drv.c
@@ -1749,7 +1749,20 @@
goto out_unbind;
}
} else {
+#if defined(__linux__)
request_module_nowait("%s", op->name);
+#elif defined(__FreeBSD__)
+ /*
+ * In FreeBSD if_iwlwifi contains all drv modules in a single
+ * module. SYSINIT will do the job later. We cannot call
+ * into kern_kldload() while being called from kern_kldload():
+ * LinuxKPI request_module[_nowait] will hang hard.
+ * Given this is request_module_nowait() we can simply skip it.
+ */
+ if (bootverbose)
+ printf("%s: module '%s' not yet available; will be"
+ "initialized in a moment\n", __func__, op->name);
+#endif
}
mutex_unlock(&iwlwifi_opmode_table_mtx);

File Metadata

Mime Type
text/plain
Expires
Mon, Jan 27, 8:04 AM (2 h, 25 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15240752
Default Alt Text
D47994.diff (842 B)

Event Timeline