Bug 209853

Summary: [ath10] firmware loading attempted prior root mounted
Product: Drivers Reporter: vtolkm
Component: network-wirelessAssignee: drivers_network-wireless (drivers_network-wireless)
Status: RESOLVED WILL_NOT_FIX    
Severity: high    
Priority: P1    
Hardware: ARM   
OS: Linux   
Kernel Version: 5.9.1 & next-20201023 Subsystem:
Regression: No Bisected commit-id:
Attachments: kernel config next-20201023

Description vtolkm 2020-10-25 22:09:54 UTC
Created attachment 293189 [details]
kernel config next-20201023

device: Turris Omnia (armv7l)
root FS: BTRFS

kernel compiled with all-in (no kmods) - kconfig attached

----

according to the dmesg timestamps the ath10 driver is attempting to load the firmware earlier than the root FS being mounted and subsequent fails with:

2      /* No such file or directory */ 


dmesg | grep 'ath\|btrfs'

[    2.338741] ath9k 0000:03:00.0: assign IRQ: got 60
[    2.355432] ath9k 0000:03:00.0: enabling device (0140 -> 0142)
[    2.361292] ath9k 0000:03:00.0: enabling bus mastering
[    2.448305] ath: EEPROM regdomain sanitized
[    2.448309] ath: EEPROM regdomain: 0x64
[    2.448312] ath: EEPROM indicates we should expect a direct regpair map
[    2.448318] ath: Country alpha2 being used: 00
[    2.448321] ath: Regpair used: 0x64
[    2.466438] ath10k_pci 0000:02:00.0: assign IRQ: got 61
[    2.469779] ath10k_pci 0000:02:00.0: enabling device (0140 -> 0142)
[    2.476147] ath10k_pci 0000:02:00.0: enabling bus mastering
[    2.476610] ath10k_pci 0000:02:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[    2.623888] ath10k_pci 0000:02:00.0: Failed to find firmware-N.bin (N between 2 and 6) from ath10k/QCA988X/hw2.0: -2
[    2.635848] ath10k_pci 0000:02:00.0: could not fetch firmware files (-2)
[    2.635852] ath10k_pci 0000:02:00.0: could not probe fw (-2)
[    4.551486] VFS: Mounted root (btrfs filesystem) on device 0:18.

----

firmware location:


ls /lib/firmware/ath10k/QCA988X/hw2.0/

board.bin       firmware-5.bin

______

It would be expected that the ath10 driver tries to load the firmware only after the root FS being mounted but not prior to it, at least that would be seem logical.