aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2021-06-09 14:32:32 +0200
committerFelix Fietkau <nbd@nbd.name>2021-06-10 10:15:39 +0200
commite1d57d4d4349efaa0d0cb4246456d1433b71ce7e (patch)
treeb207013c30412cdecf9ab20996716f1655708d19 /package/kernel
parent6e8475bbd0c841043c1187fb5a42d835071ad502 (diff)
downloadupstream-e1d57d4d4349efaa0d0cb4246456d1433b71ce7e.tar.gz
upstream-e1d57d4d4349efaa0d0cb4246456d1433b71ce7e.tar.bz2
upstream-e1d57d4d4349efaa0d0cb4246456d1433b71ce7e.zip
mac80211: rely on iwinfo for phy->path and path->phy lookups
This avoids inconsistencies from having multiple implementations do the same thing Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'package/kernel')
-rw-r--r--package/kernel/mac80211/Makefile1
-rw-r--r--package/kernel/mac80211/files/lib/netifd/mac80211.sh36
-rw-r--r--package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh3
-rw-r--r--package/kernel/mac80211/files/lib/wifi/mac80211.sh5
4 files changed, 3 insertions, 42 deletions
diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile
index a8a84f843a..0ade95e35e 100644
--- a/package/kernel/mac80211/Makefile
+++ b/package/kernel/mac80211/Makefile
@@ -549,7 +549,6 @@ endef
define KernelPackage/cfg80211/install
$(INSTALL_DIR) $(1)/lib/wifi $(1)/lib/netifd/wireless
$(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
- $(INSTALL_DATA) ./files/lib/netifd/mac80211.sh $(1)/lib/netifd
$(INSTALL_BIN) ./files/lib/netifd/wireless/mac80211.sh $(1)/lib/netifd/wireless
$(INSTALL_DIR) $(1)/etc/hotplug.d/ieee80211
$(INSTALL_DATA) ./files/mac80211.hotplug $(1)/etc/hotplug.d/ieee80211/10-wifi-detect
diff --git a/package/kernel/mac80211/files/lib/netifd/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/mac80211.sh
deleted file mode 100644
index 92e5c0e395..0000000000
--- a/package/kernel/mac80211/files/lib/netifd/mac80211.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-mac80211_phy_to_path() {
- local phy="$1"
-
- [ -x /usr/bin/readlink -a -h /sys/class/ieee80211/${phy} ] || return
-
- local path="$(readlink -f /sys/class/ieee80211/${phy}/device)"
- [ -n "$path" ] || return
-
- path="${path##/sys/devices/}"
- case "$path" in
- platform*/pci*) path="${path##platform/}";;
- esac
-
- local p
- local seq=""
- for p in $(ls /sys/class/ieee80211/$phy/device/ieee80211); do
- [ "$p" = "$phy" ] && {
- echo "$path${seq:++$seq}"
- break
- }
-
- seq=$((${seq:-0} + 1))
- done
-}
-
-mac80211_path_to_phy() {
- local path="$1"
-
- local p
- for p in $(ls /sys/class/ieee80211); do
- local cur="$(mac80211_phy_to_path "$p")"
- case "$cur" in
- *$path) echo "$p"; return;;
- esac
- done
-}
diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
index f1ed47802a..c9a0fe542a 100644
--- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
+++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
@@ -1,7 +1,6 @@
#!/bin/sh
. /lib/netifd/netifd-wireless.sh
. /lib/netifd/hostapd.sh
-. /lib/netifd/mac80211.sh
init_wireless_driver "$@"
@@ -546,7 +545,7 @@ mac80211_generate_mac() {
find_phy() {
[ -n "$phy" -a -d /sys/class/ieee80211/$phy ] && return 0
[ -n "$path" ] && {
- phy="$(mac80211_path_to_phy "$path")"
+ phy="$(iwinfo nl80211 phyname "path=$path")"
[ -n "$phy" ] && return 0
}
[ -n "$macaddr" ] && {
diff --git a/package/kernel/mac80211/files/lib/wifi/mac80211.sh b/package/kernel/mac80211/files/lib/wifi/mac80211.sh
index 5eb7cc4c61..6aa46b0c74 100644
--- a/package/kernel/mac80211/files/lib/wifi/mac80211.sh
+++ b/package/kernel/mac80211/files/lib/wifi/mac80211.sh
@@ -1,5 +1,4 @@
#!/bin/sh
-. /lib/netifd/mac80211.sh
append DRIVERS "mac80211"
@@ -11,7 +10,7 @@ lookup_phy() {
local devpath
config_get devpath "$device" path
[ -n "$devpath" ] && {
- phy="$(mac80211_path_to_phy "$devpath")"
+ phy="$(iwinfo nl80211 phyname "path=$devpath")"
[ -n "$phy" ] && return
}
@@ -161,7 +160,7 @@ detect_mac80211() {
get_band_defaults "$dev"
- path="$(mac80211_phy_to_path "$dev")"
+ path="$(iwinfo nl80211 path "$dev")"
if [ -n "$path" ]; then
dev_id="set wireless.radio${devidx}.path='$path'"
else