diff options
author | Felix Fietkau <nbd@openwrt.org> | 2008-10-29 15:52:44 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2008-10-29 15:52:44 +0000 |
commit | 1d9daa849b10a649f48f5f8c70312d806e867ac6 (patch) | |
tree | 23b929aa634208a22e80be62a3a4b955c1127520 /package/hostapd/patches/100-madwifi_fix.patch | |
parent | cd7ac9575ca5b3035c11dcc4b736777a21ea6040 (diff) | |
download | master-187ad058-1d9daa849b10a649f48f5f8c70312d806e867ac6.tar.gz master-187ad058-1d9daa849b10a649f48f5f8c70312d806e867ac6.tar.bz2 master-187ad058-1d9daa849b10a649f48f5f8c70312d806e867ac6.zip |
fix hostapd race condition which breaks wpa with madwifi
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13075 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/hostapd/patches/100-madwifi_fix.patch')
-rw-r--r-- | package/hostapd/patches/100-madwifi_fix.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/package/hostapd/patches/100-madwifi_fix.patch b/package/hostapd/patches/100-madwifi_fix.patch new file mode 100644 index 0000000000..45e9023624 --- /dev/null +++ b/package/hostapd/patches/100-madwifi_fix.patch @@ -0,0 +1,27 @@ +--- a/hostapd/driver_madwifi.c ++++ b/hostapd/driver_madwifi.c +@@ -298,6 +298,7 @@ madwifi_set_iface_flags(void *priv, int + { + struct madwifi_driver_data *drv = priv; + struct ifreq ifr; ++ short flags; + + wpa_printf(MSG_DEBUG, "%s: dev_up=%d", __func__, dev_up); + +@@ -312,10 +313,14 @@ madwifi_set_iface_flags(void *priv, int + return -1; + } + ++ flags = ifr.ifr_flags; + if (dev_up) +- ifr.ifr_flags |= IFF_UP; ++ flags |= IFF_UP; + else +- ifr.ifr_flags &= ~IFF_UP; ++ flags &= ~IFF_UP; ++ ++ if (flags == ifr.ifr_flags) ++ return 0; + + if (ioctl(drv->ioctl_sock, SIOCSIFFLAGS, &ifr) != 0) { + perror("ioctl[SIOCSIFFLAGS]"); |