From e01799a285e34c65d41ac315dd29544fc40acf19 Mon Sep 17 00:00:00 2001 From: jow Date: Fri, 17 Feb 2012 00:36:25 +0000 Subject: [package] iwinfo: implement proper hardware detection for ar23xx SoC devices like the NanoStation 2 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30605 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/iwinfo/src/iwinfo_nl80211.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'package/iwinfo/src/iwinfo_nl80211.c') diff --git a/package/iwinfo/src/iwinfo_nl80211.c b/package/iwinfo/src/iwinfo_nl80211.c index e8cfb902f..5c6f7a8ef 100644 --- a/package/iwinfo/src/iwinfo_nl80211.c +++ b/package/iwinfo/src/iwinfo_nl80211.c @@ -1646,7 +1646,7 @@ int nl80211_get_hardware_id(const char *ifname, char *buf) /* Reuse existing interface */ if ((res = nl80211_phy2ifname(ifname)) != NULL) { - return wext_get_hardware_id(res, buf); + rv = wext_get_hardware_id(res, buf); } /* Need to spawn a temporary iface for finding IDs */ @@ -1654,11 +1654,20 @@ int nl80211_get_hardware_id(const char *ifname, char *buf) { rv = wext_get_hardware_id(res, buf); nl80211_ifdel(res); - return rv; } } + else + { + rv = wext_get_hardware_id(ifname, buf); + } - return wext_get_hardware_id(ifname, buf); + /* Failed to obtain hardware IDs, search board config */ + if (rv) + { + rv = iwinfo_hardware_id_from_mtd(buf); + } + + return rv; } static const struct iwinfo_hardware_entry * -- cgit v1.2.3