rockchip: reliably distribute net interrupts
[openwrt/staging/aparcar.git] / target / linux / rockchip / armv8 / base-files / etc / hotplug.d / net / 40-net-smp-affinity
index 9e4a4cf4fceb42abfb5f4de0426fd4c128205cd1..c76e62a23a347b9832f224788a82d50b11a1f31e 100644 (file)
@@ -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/:.*//'
 }