From: Ronny Kotzschmar Date: Wed, 6 Jul 2022 13:14:21 +0000 (+0200) Subject: rockchip: reliably distribute net interrupts X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=01b8cd32003408ba3aab7a48b0ffa90b5b720f0d;p=openwrt%2Fstaging%2Fstintel.git 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 (cherry picked from commit 9b00e9795660f53caf1f4f5fd932bbbebd2eeeb1) --- 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/:.*//' }