[openwrt/openwrt] rockchip: reliably distribute net interrupts
LEDE Commits
lede-commits at lists.infradead.org
Fri Jul 15 04:32:43 PDT 2022
ansuel pushed a commit to openwrt/openwrt.git, branch openwrt-22.03:
https://git.openwrt.org/01b8cd32003408ba3aab7a48b0ffa90b5b720f0d
commit 01b8cd32003408ba3aab7a48b0ffa90b5b720f0d
Author: Ronny Kotzschmar <ro.ok at me.com>
AuthorDate: Wed Jul 6 15:14:21 2022 +0200
rockchip: reliably distribute net interrupts
On the NanoPI R4S it takes an average of 3..5 seconds for the network devices
to appear in '/proc/interrupts'.
Wait up to 10 seconds to ensure that the distribution of the interrupts
really happens.
Signed-off-by: Ronny Kotzschmar <ro.ok at me.com>
(cherry picked from commit 9b00e9795660f53caf1f4f5fd932bbbebd2eeeb1)
---
.../armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity b/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity
index 9e4a4cf4fc..c76e62a23a 100644
--- a/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity
+++ b/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity
@@ -4,8 +4,15 @@
get_device_irq() {
local device="$1"
-
- local line=$(grep -m 1 "${device}\$" /proc/interrupts)
+ local line
+ local seconds="0"
+
+ # wait up to 10 seconds for the irq/device to appear
+ while [ "${seconds}" -le 10 ]; do
+ line=$(grep -m 1 "${device}\$" /proc/interrupts) && break
+ seconds="$(( seconds + 2 ))"
+ sleep 2
+ done
echo ${line} | sed 's/:.*//'
}
More information about the lede-commits
mailing list