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@me.com>
(cherry picked from commit
9b00e9795660f53caf1f4f5fd932bbbebd2eeeb1)
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/:.*//'
}