diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2014-07-25 14:11:50 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2014-07-25 14:11:50 +0000 |
commit | 833820dc8bd380d4bb6812c663cae58c7a24aecd (patch) | |
tree | e3cc26adfc4a941f3ecda62afaef347a741213dd | |
parent | ae50480d774e5ee5e229639904955b1677126621 (diff) | |
download | upstream-833820dc8bd380d4bb6812c663cae58c7a24aecd.tar.gz upstream-833820dc8bd380d4bb6812c663cae58c7a24aecd.tar.bz2 upstream-833820dc8bd380d4bb6812c663cae58c7a24aecd.zip |
iwinfo: continue scanning even if temporary mac cannot be changed
So far iwinfo aborted a wifi scan attempt if the mac of the spawned
interface could not be changed. Change the code to try anyway - this
should fix wifi scanning on RaLink devices.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 41826
-rw-r--r-- | package/network/utils/iwinfo/Makefile | 2 | ||||
-rw-r--r-- | package/network/utils/iwinfo/src/iwinfo_nl80211.c | 3 | ||||
-rw-r--r-- | package/network/utils/iwinfo/src/iwinfo_utils.c | 1 |
3 files changed, 3 insertions, 3 deletions
diff --git a/package/network/utils/iwinfo/Makefile b/package/network/utils/iwinfo/Makefile index 9efb9c974c..e4ee73a112 100644 --- a/package/network/utils/iwinfo/Makefile +++ b/package/network/utils/iwinfo/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libiwinfo -PKG_RELEASE:=49 +PKG_RELEASE:=50 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) PKG_CONFIG_DEPENDS := \ diff --git a/package/network/utils/iwinfo/src/iwinfo_nl80211.c b/package/network/utils/iwinfo/src/iwinfo_nl80211.c index 4a52d5ca8d..c8b167b32a 100644 --- a/package/network/utils/iwinfo/src/iwinfo_nl80211.c +++ b/package/network/utils/iwinfo/src/iwinfo_nl80211.c @@ -2003,8 +2003,7 @@ static int nl80211_get_scanlist(const char *ifname, char *buf, int *len) if (!(res = nl80211_ifadd(ifname))) goto out; - if (!iwinfo_ifmac(res)) - goto out; + iwinfo_ifmac(res); /* if we can take the new interface up, the driver supports an * additional interface and there's no need to tear down the ap */ diff --git a/package/network/utils/iwinfo/src/iwinfo_utils.c b/package/network/utils/iwinfo/src/iwinfo_utils.c index dd49303f8a..1702ce88f6 100644 --- a/package/network/utils/iwinfo/src/iwinfo_utils.c +++ b/package/network/utils/iwinfo/src/iwinfo_utils.c @@ -113,6 +113,7 @@ int iwinfo_ifmac(const char *ifname) if (iwinfo_ioctl(SIOCGIFHWADDR, &ifr)) return 0; + ifr.ifr_hwaddr.sa_data[0] |= 0x02; ifr.ifr_hwaddr.sa_data[1]++; ifr.ifr_hwaddr.sa_data[2]++; |