Thread (30 messages) 30 messages, 8 authors, 2017-01-31

Re: [RFC] ath10k: silence firmware file probing warnings

From: Michal Kazior <hidden>
Date: 2017-01-20 13:04:35

On 20 January 2017 at 13:51, Kalle Valo [off-list ref] wrote:
Michal Kazior [off-list ref] wrote:
quoted
Firmware files are versioned to prevent older
driver instances to load unsupported firmware
blobs. This is reflected with a fallback logic
which attempts to load several firmware files.

This however produced a lot of unnecessary
warnings sometimes confusing users and leading
them to rename firmware files making things even
more confusing.

Hence use request_firmware_direct() which does not
produce extra warnings. This shouldn't really
break anything because most modern systems don't
rely on udev/hotplug helpers to load firmware
files anymore.

Signed-off-by: Michal Kazior <redacted>
This ended into a rather long discussion, see the full thread from the pa=
tchwork link
below, but I'll try to summarise it here:

* Nobody stepped up and mentioned that they need/use the user fallback he=
lper with ath10k.
* Felix confirmed that LEDE creates the calibration file before loading a=
th10k
  so this should not break LEDE.

* This also fixes a 60 second delay per _each_ unexistent firmware/calibr=
ation
  file with distros which have CONFIG_FW_LOADER_USER_HELPER_FALLBACK enab=
led,
  RHEL being a notable example. Using ath10k with firmware-2.bin this mig=
ht
  end up into a five minute delay in boot.

* Luis is working on new drvdata interface for kernel, but that's not mer=
ged yet.
Based on this I think the right approach is to apply this patch. Any conc=
erns?
While writing this I started to suspect is it just by accident that
request_firmware_direct() does not print any error messages and
request_firmware() again does print those? Let's hope nobody decides to c=
hange
that.  And at least Luis' drvdata interface has a documented 'optional' f=
lag,
so we can always switch to using that (once it's merged):

* struct drvdata_req_params - driver data request parameters
* @optional: if true it is not a hard requirement by the caller that this
*       file be present. An error will not be recorded if the file is not
*       found.

Michal, do you mind if I'll add more info to the commit log and submit th=
is RFC
as a proper patch? It still seems to apply and work just fine.
I don't mind :)


Micha=C5=82
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help