diff options
Diffstat (limited to 'net/hostapd-devel/files/patch-src_ap_hostapd.c')
-rw-r--r-- | net/hostapd-devel/files/patch-src_ap_hostapd.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/net/hostapd-devel/files/patch-src_ap_hostapd.c b/net/hostapd-devel/files/patch-src_ap_hostapd.c new file mode 100644 index 000000000000..5219cb3a0da8 --- /dev/null +++ b/net/hostapd-devel/files/patch-src_ap_hostapd.c @@ -0,0 +1,31 @@ +--- src/ap/hostapd.c.orig 2024-02-18 01:24:29.000000000 -0800 ++++ src/ap/hostapd.c 2024-02-26 20:25:50.505205000 -0800 +@@ -2029,6 +2029,20 @@ + iface->wait_channel_update = 0; + iface->is_no_ir = false; + ++#ifdef __FreeBSD ++ /* XXX hostapd_get_hw_features() is an inline that always returns -1 ++ * because MLME will not build under FreeBSD due to its use of ++ * Linux definitions. Normally FreeBSD would uncondionally execute the ++ * "Not all drivers support..." block. Instead we #ifdef out the entire ++ * block of code instead of maintaining the fallacy that ++ * hostapd_get_hw_features() returns anything meaninful. ++ * ++ * Ideally WANT_AP_MLME should be taught about FreeBSD data structures ++ * and defintions. Instead we do this to enable channel selection in ++ * hostapd.conf. ++ */ ++ iface->freq = iface->conf->channel; ++#else + if (hostapd_get_hw_features(iface)) { + /* Not all drivers support this yet, so continue without hw + * feature data. */ +@@ -2080,6 +2094,7 @@ + if (iface->conf->ieee80211h) + wpa_printf(MSG_DEBUG, "DFS support is enabled"); + } ++#endif + return hostapd_setup_interface_complete(iface, 0); + + fail: |