--- a/x86-32/src/wl/sys/wl_linux.c
+++ b/x86-32/src/wl/sys/wl_linux.c
@@ -99,6 +99,10 @@ static void wl_dpc_rxwork(struct wl_task *task);

 #endif

+#ifndef init_MUTEX
+#define init_MUTEX(sem) sema_init(sem, 1)
+#endif
+
 static int wl_linux_watchdog(void *ctx);
 static
 int wl_found = 0;

--- a/x86-64/src/wl/sys/wl_linux.c
+++ b/x86-64/src/wl/sys/wl_linux.c
@@ -99,6 +99,10 @@ static void wl_dpc_rxwork(struct wl_task *task);

 #endif

+#ifndef init_MUTEX
+#define init_MUTEX(sem) sema_init(sem, 1)
+#endif
+
 static int wl_linux_watchdog(void *ctx);
 static
 int wl_found = 0;

