X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/ef4a1fa271558be940b207a4cec12a6f64df253f..893061736800f46183291aea37815e995a1fb830:/package/hostapd/patches/710-bring_down_interface.patch diff --git a/package/hostapd/patches/710-bring_down_interface.patch b/package/hostapd/patches/710-bring_down_interface.patch index 9ee9925d6..4f3bc5529 100644 --- a/package/hostapd/patches/710-bring_down_interface.patch +++ b/package/hostapd/patches/710-bring_down_interface.patch @@ -1,21 +1,19 @@ --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c -@@ -4904,9 +4904,6 @@ static int wpa_driver_nl80211_set_mode(v - /* Try to set the mode again while the interface is - * down */ +@@ -5867,8 +5867,6 @@ static int wpa_driver_nl80211_set_mode(s ret = nl80211_set_mode(drv, drv->ifindex, nlmode); -- if (linux_set_iface_flags(drv->ioctl_sock, bss->ifname, -- 1)) -- ret = -1; - if (!ret) + if (ret == -EACCES) break; - } else -@@ -4919,6 +4916,8 @@ static int wpa_driver_nl80211_set_mode(v - wpa_printf(MSG_DEBUG, "nl80211: Mode change succeeded while " +- res = linux_set_iface_flags(drv->global->ioctl_sock, +- bss->ifname, 1); + if (res && !ret) + ret = -1; + else if (ret != -EBUSY) +@@ -5884,6 +5882,7 @@ static int wpa_driver_nl80211_set_mode(s "interface is down"); drv->nlmode = nlmode; -+ if (linux_set_iface_flags(drv->ioctl_sock, bss->ifname, 1)) -+ ret = -1; + drv->ignore_if_down_event = 1; ++ linux_set_iface_flags(drv->global->ioctl_sock, bss->ifname, 1); } done: