ipq40xx: migrate wifi configuration device paths for 6.12 kernel
The device tree PCIe host node name has been changed in the new 6.12 kernel[1]. Hence we have to update the wifi device path to make sure it can work properly. This script is based on: target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/ieee80211/05-wifi-migrate [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=07299ba2e7d98045e6b522f7c5b97f402b15bc82 Signed-off-by: Shiji Yang <yangshiji66@outlook.com> Link: https://github.com/openwrt/openwrt/pull/18725 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
8d2744dfe5
commit
ac69d0510a
1 changed files with 47 additions and 0 deletions
|
@ -0,0 +1,47 @@
|
|||
#!/bin/sh
|
||||
|
||||
# This must run before 10-wifi-detect
|
||||
|
||||
[ "${ACTION}" = "add" ] || return
|
||||
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/system.sh
|
||||
|
||||
do_migrate_radio()
|
||||
{
|
||||
local config="$1"
|
||||
|
||||
config_get from "$config" path
|
||||
|
||||
to=${from/pci\//pcie\/}
|
||||
|
||||
# Checks if kernel version is less than 6.12.0, if it is and the path is
|
||||
# using the new format, then path should be migrated to the old format.
|
||||
[ "$(get_linux_version)" -lt "612000" ] && to=${from/pcie\//pci\/}
|
||||
|
||||
[ "$from" = "$to" ] && return
|
||||
|
||||
uci set "wireless.${config}.path=${to}"
|
||||
WIRELESS_CHANGED=true
|
||||
|
||||
logger -t wifi-migrate "Updated path of wireless.${config} from '${from}' to '${to}'"
|
||||
}
|
||||
|
||||
migrate_radio()
|
||||
{
|
||||
config_load wireless
|
||||
|
||||
config_foreach do_migrate_radio wifi-device
|
||||
}
|
||||
|
||||
WIRELESS_CHANGED=false
|
||||
|
||||
case "$(board_name)" in
|
||||
*)
|
||||
migrate_radio
|
||||
;;
|
||||
esac
|
||||
|
||||
$WIRELESS_CHANGED && uci commit wireless
|
||||
|
||||
exit 0
|
Loading…
Reference in a new issue