summaryrefslogtreecommitdiffstats
path: root/package/hostapd/patches/320-wds_fix.patch
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-11-09 01:36:36 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-11-09 01:36:36 +0000
commitacbc4c5f9530b1e9ef782baaf33c72bd7d775c1b (patch)
tree4eef31c26fcc6e6f251cb7bc2b3da3cd20927dd6 /package/hostapd/patches/320-wds_fix.patch
parent929a8c4e3fdbc1763a917e2b698396fc694f3470 (diff)
hostapd: update to 20101109, reorganize patches
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23932 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/hostapd/patches/320-wds_fix.patch')
-rw-r--r--package/hostapd/patches/320-wds_fix.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/package/hostapd/patches/320-wds_fix.patch b/package/hostapd/patches/320-wds_fix.patch
new file mode 100644
index 000000000..984af95bd
--- /dev/null
+++ b/package/hostapd/patches/320-wds_fix.patch
@@ -0,0 +1,28 @@
+--- a/src/drivers/driver_nl80211.c
++++ b/src/drivers/driver_nl80211.c
+@@ -4987,9 +4987,11 @@ static int i802_set_wds_sta(void *priv,
+ wpa_printf(MSG_DEBUG, "nl80211: Set WDS STA addr=" MACSTR
+ " aid=%d val=%d name=%s", MAC2STR(addr), aid, val, name);
+ if (val) {
+- if (nl80211_create_iface(drv, name, NL80211_IFTYPE_AP_VLAN,
++ if (!if_nametoindex(name)) {
++ if (nl80211_create_iface(drv, name, NL80211_IFTYPE_AP_VLAN,
+ NULL, 1) < 0)
+- return -1;
++ return -1;
++ }
+ linux_set_iface_flags(drv->ioctl_sock, name, 1);
+ return i802_set_sta_vlan(priv, addr, name, 0);
+ } else {
+--- a/src/ap/ieee802_11.c
++++ b/src/ap/ieee802_11.c
+@@ -1659,6 +1659,9 @@ static void handle_assoc_cb(struct hosta
+ "Could not add STA to kernel driver");
+ }
+
++ if (sta->flags & WLAN_STA_WDS)
++ hapd->drv.set_wds_sta(hapd, sta->addr, sta->aid, 1);
++
+ if (sta->eapol_sm == NULL) {
+ /*
+ * This STA does not use RADIUS server for EAP authentication,