X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/acbc4c5f9530b1e9ef782baaf33c72bd7d775c1b..92cc682c005d54e78db1403dbd8ae4df23f4b996:/package/hostapd/patches/540-optional_rfkill.patch?ds=sidebyside diff --git a/package/hostapd/patches/540-optional_rfkill.patch b/package/hostapd/patches/540-optional_rfkill.patch index 6e86ef0cf..028c16075 100644 --- a/package/hostapd/patches/540-optional_rfkill.patch +++ b/package/hostapd/patches/540-optional_rfkill.patch @@ -1,16 +1,16 @@ --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c -@@ -115,7 +115,9 @@ struct wpa_driver_nl80211_data { - int ifindex; +@@ -198,7 +198,9 @@ struct wpa_driver_nl80211_data { int if_removed; int if_disabled; + int ignore_if_down_event; +#ifdef CONFIG_RFKILL struct rfkill_data *rfkill; +#endif struct wpa_driver_capa capa; int has_capability; -@@ -1630,7 +1632,7 @@ err1: +@@ -2203,7 +2205,7 @@ err3: return -1; } @@ -19,33 +19,33 @@ static void wpa_driver_nl80211_rfkill_blocked(void *ctx) { wpa_printf(MSG_DEBUG, "nl80211: RFKILL blocked"); -@@ -1652,6 +1654,7 @@ static void wpa_driver_nl80211_rfkill_un +@@ -2226,6 +2228,7 @@ static void wpa_driver_nl80211_rfkill_un } /* rtnetlink ifup handler will report interface as enabled */ } +#endif /* CONFIG_RFKILL */ - /** -@@ -1665,7 +1668,9 @@ static void * wpa_driver_nl80211_init(vo + static void nl80211_get_phy_name(struct wpa_driver_nl80211_data *drv) +@@ -2283,7 +2286,9 @@ static void * wpa_driver_nl80211_init(vo + void *global_priv) { struct wpa_driver_nl80211_data *drv; - struct netlink_config *cfg; +#ifdef CONFIG_RFKILL struct rfkill_config *rcfg; +#endif struct i802_bss *bss; drv = os_zalloc(sizeof(*drv)); -@@ -1703,6 +1708,7 @@ static void * wpa_driver_nl80211_init(vo - goto failed; - } +@@ -2311,6 +2316,7 @@ static void * wpa_driver_nl80211_init(vo + + nl80211_get_phy_name(drv); +#ifdef CONFIG_RFKILL rcfg = os_zalloc(sizeof(*rcfg)); if (rcfg == NULL) goto failed; -@@ -1715,6 +1721,7 @@ static void * wpa_driver_nl80211_init(vo +@@ -2323,6 +2329,7 @@ static void * wpa_driver_nl80211_init(vo wpa_printf(MSG_DEBUG, "nl80211: RFKILL status not available"); os_free(rcfg); } @@ -53,17 +53,7 @@ if (wpa_driver_nl80211_finish_drv_init(drv)) goto failed; -@@ -1722,7 +1729,9 @@ static void * wpa_driver_nl80211_init(vo - return bss; - - failed: -+#ifdef CONFIG_RFKILL - rfkill_deinit(drv->rfkill); -+#endif - netlink_deinit(drv->netlink); - if (drv->ioctl_sock >= 0) - close(drv->ioctl_sock); -@@ -1820,10 +1829,12 @@ static int nl80211_register_action_frame +@@ -2445,10 +2452,12 @@ static int nl80211_register_action_frame } @@ -76,10 +66,10 @@ static int -@@ -1842,13 +1853,16 @@ wpa_driver_nl80211_finish_drv_init(struc +@@ -2475,13 +2484,16 @@ wpa_driver_nl80211_finish_drv_init(struc } - if (linux_set_iface_flags(drv->ioctl_sock, bss->ifname, 1)) { + if (linux_set_iface_flags(drv->global->ioctl_sock, bss->ifname, 1)) { +#ifdef CONFIG_RFKILL if (rfkill_is_blocked(drv->rfkill)) { wpa_printf(MSG_DEBUG, "nl80211: Could not yet enable " @@ -94,7 +84,7 @@ wpa_printf(MSG_ERROR, "nl80211: Could not set " "interface '%s' UP", bss->ifname); return -1; -@@ -1873,8 +1887,10 @@ wpa_driver_nl80211_finish_drv_init(struc +@@ -2510,8 +2522,10 @@ wpa_driver_nl80211_finish_drv_init(struc } if (send_rfkill_event) { @@ -105,10 +95,10 @@ } return 0; -@@ -1955,7 +1971,9 @@ static void wpa_driver_nl80211_deinit(vo +@@ -2596,7 +2610,9 @@ static void wpa_driver_nl80211_deinit(vo - netlink_send_oper_ifla(drv->netlink, drv->ifindex, 0, IF_OPER_UP); - netlink_deinit(drv->netlink); + netlink_send_oper_ifla(drv->global->netlink, drv->ifindex, 0, + IF_OPER_UP); +#ifdef CONFIG_RFKILL rfkill_deinit(drv->rfkill); +#endif @@ -117,7 +107,7 @@ --- a/src/drivers/driver_wext.c +++ b/src/drivers/driver_wext.c -@@ -700,7 +700,7 @@ static void wpa_driver_wext_event_rtm_de +@@ -702,7 +702,7 @@ static void wpa_driver_wext_event_rtm_de } } @@ -126,16 +116,16 @@ static void wpa_driver_wext_rfkill_blocked(void *ctx) { wpa_printf(MSG_DEBUG, "WEXT: RFKILL blocked"); -@@ -722,7 +722,7 @@ static void wpa_driver_wext_rfkill_unblo +@@ -724,7 +724,7 @@ static void wpa_driver_wext_rfkill_unblo } /* rtnetlink ifup handler will report interface as enabled */ } - +#endif /* CONFIG_RFKILL */ - /** - * wpa_driver_wext_init - Initialize WE driver interface -@@ -735,7 +735,9 @@ void * wpa_driver_wext_init(void *ctx, c + static void wext_get_phy_name(struct wpa_driver_wext_data *drv) + { +@@ -770,7 +770,9 @@ void * wpa_driver_wext_init(void *ctx, c { struct wpa_driver_wext_data *drv; struct netlink_config *cfg; @@ -145,7 +135,7 @@ char path[128]; struct stat buf; -@@ -769,6 +771,7 @@ void * wpa_driver_wext_init(void *ctx, c +@@ -805,6 +807,7 @@ void * wpa_driver_wext_init(void *ctx, c goto err2; } @@ -153,7 +143,7 @@ rcfg = os_zalloc(sizeof(*rcfg)); if (rcfg == NULL) goto err3; -@@ -781,6 +784,7 @@ void * wpa_driver_wext_init(void *ctx, c +@@ -817,6 +820,7 @@ void * wpa_driver_wext_init(void *ctx, c wpa_printf(MSG_DEBUG, "WEXT: RFKILL status not available"); os_free(rcfg); } @@ -161,7 +151,7 @@ drv->mlme_sock = -1; -@@ -792,7 +796,9 @@ void * wpa_driver_wext_init(void *ctx, c +@@ -828,7 +832,9 @@ void * wpa_driver_wext_init(void *ctx, c return drv; err3: @@ -171,7 +161,7 @@ netlink_deinit(drv->netlink); err2: close(drv->ioctl_sock); -@@ -802,10 +808,12 @@ err1: +@@ -838,10 +844,12 @@ err1: } @@ -184,7 +174,7 @@ static int wpa_driver_wext_finish_drv_init(struct wpa_driver_wext_data *drv) -@@ -813,13 +821,16 @@ static int wpa_driver_wext_finish_drv_in +@@ -849,13 +857,16 @@ static int wpa_driver_wext_finish_drv_in int send_rfkill_event = 0; if (linux_set_iface_flags(drv->ioctl_sock, drv->ifname, 1) < 0) { @@ -202,7 +192,7 @@ wpa_printf(MSG_ERROR, "WEXT: Could not set " "interface '%s' UP", drv->ifname); return -1; -@@ -867,8 +878,10 @@ static int wpa_driver_wext_finish_drv_in +@@ -903,8 +914,10 @@ static int wpa_driver_wext_finish_drv_in 1, IF_OPER_DORMANT); if (send_rfkill_event) { @@ -213,7 +203,7 @@ } return 0; -@@ -898,7 +911,9 @@ void wpa_driver_wext_deinit(void *priv) +@@ -934,7 +947,9 @@ void wpa_driver_wext_deinit(void *priv) netlink_send_oper_ifla(drv->netlink, drv->ifindex, 0, IF_OPER_UP); netlink_deinit(drv->netlink); @@ -240,8 +230,16 @@ -NEED_RFKILL=y endif - ifdef CONFIG_DRIVER_HERMES -@@ -183,6 +181,7 @@ endif + ifdef CONFIG_DRIVER_RALINK +@@ -146,7 +144,6 @@ endif + ifdef CONFIG_WIRELESS_EXTENSION + DRV_CFLAGS += -DCONFIG_WIRELESS_EXTENSION + DRV_OBJS += ../src/drivers/driver_wext.o +-NEED_RFKILL=y + endif + + ifdef NEED_NETLINK +@@ -159,6 +156,7 @@ endif ifdef NEED_RFKILL DRV_OBJS += ../src/drivers/rfkill.o @@ -251,7 +249,7 @@ --- a/src/drivers/driver_wext.h +++ b/src/drivers/driver_wext.h -@@ -27,7 +27,9 @@ struct wpa_driver_wext_data { +@@ -28,7 +28,9 @@ struct wpa_driver_wext_data { int ifindex2; int if_removed; int if_disabled;