Browse Source

nl80211: Fix AP VLAN handling for WDS STA reassociation

When a STA reassociates, the AP VLAN interface is still present,
do not attempt to create it in that case.
Felix Fietkau 14 years ago
parent
commit
4a8c72959e
1 changed files with 2 additions and 1 deletions
  1. 2 1
      src/drivers/driver_nl80211.c

+ 2 - 1
src/drivers/driver_nl80211.c

@@ -4987,7 +4987,8 @@ static int i802_set_wds_sta(void *priv, const u8 *addr, int aid, int val)
 	wpa_printf(MSG_DEBUG, "nl80211: Set WDS STA addr=" MACSTR
 	wpa_printf(MSG_DEBUG, "nl80211: Set WDS STA addr=" MACSTR
 		   " aid=%d val=%d name=%s", MAC2STR(addr), aid, val, name);
 		   " aid=%d val=%d name=%s", MAC2STR(addr), aid, val, name);
 	if (val) {
 	if (val) {
-		if (nl80211_create_iface(drv, name, NL80211_IFTYPE_AP_VLAN,
+		if (!if_nametoindex(name) &&
+		    nl80211_create_iface(drv, name, NL80211_IFTYPE_AP_VLAN,
 					 NULL, 1) < 0)
 					 NULL, 1) < 0)
 			return -1;
 			return -1;
 		linux_set_iface_flags(drv->ioctl_sock, name, 1);
 		linux_set_iface_flags(drv->ioctl_sock, name, 1);