with handling all hotplug events, we ran into some kind of race condition
which resulted only one of the two bnx2 devices to appear working:
[ 16.425932] bnx2: Firmware file "bnx2/bnx2-rv2p-06-6.0.15.fw" is invalid
after inspecting bnx2.c sourcecode, appears that this error is printed only if
firmware file is too short and the firmware itself is and has always been 5696
bytes (in pld packages).
internally in firmware loader, the race appeared as:
+ '[' ! -e /sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/0000:03:00.0/firmware/0000:03:00.0/loading ']'
+ '[' -e /lib/firmware/updates/3.4.83-1/bnx2/bnx2-rv2p-06-6.0.15.fw ']'
+ continue
+ '[' -e /lib/firmware/updates/bnx2/bnx2-rv2p-06-6.0.15.fw ']'
+ continue
+ '[' -e /lib/firmware/3.4.83-1/bnx2/bnx2-rv2p-06-6.0.15.fw ']'
+ >/sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/0000:03:00.0/firmware/0000:03:00.0/loading
+ echo 1
+ >/sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/0000:03:00.0/firmware/0000:03:00.0/data
+ cat /lib/firmware/3.4.83-1/bnx2/bnx2-rv2p-06-6.0.15.fw
/lib/firmware/firmware-loader.sh[29]: cat: <stdout>: No such device