backport mac80211, hostapd, iw, crda from trunk as of r26369
[openwrt-10.03/.git] / 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
new file mode 100644 (file)
index 0000000..bfd5ef6
--- /dev/null
@@ -0,0 +1,21 @@
+--- a/src/drivers/driver_nl80211.c
++++ b/src/drivers/driver_nl80211.c
+@@ -4883,9 +4883,6 @@ static int wpa_driver_nl80211_set_mode(v
+                       /* Try to set the mode again while the interface is
+                        * down */
+                       ret = nl80211_set_mode(drv, drv->ifindex, nlmode);
+-                      if (linux_set_iface_flags(drv->ioctl_sock, bss->ifname,
+-                                                1))
+-                              ret = -1;
+                       if (!ret)
+                               break;
+               } else
+@@ -4898,6 +4895,8 @@ static int wpa_driver_nl80211_set_mode(v
+               wpa_printf(MSG_DEBUG, "nl80211: Mode change succeeded while "
+                          "interface is down");
+               drv->nlmode = nlmode;
++              if (linux_set_iface_flags(drv->ioctl_sock, bss->ifname, 1))
++                      ret = -1;
+       }
+ done: