Thread (8 messages) 8 messages, 4 authors, 2025-11-25

Re: [PATCH] ath10k: Introduce a devicetree quirk to skip host cap QMI requests

From: Amit Pundir <hidden>
Date: 2020-09-30 11:10:24
Also in: linux-devicetree, linux-wireless, lkml

On Wed, 30 Sep 2020 at 00:38, Rob Herring [off-list ref] wrote:
On Fri, Sep 25, 2020 at 11:59:41PM +0530, Amit Pundir wrote:
quoted
There are firmware versions which do not support host capability
QMI request. We suspect either the host cap is not implemented or
there may be firmware specific issues, but apparently there seem
to be a generation of firmware that has this particular behavior.

For example, firmware build on Xiaomi Poco F1 (sdm845) phone:
"QC_IMAGE_VERSION_STRING=WLAN.HL.2.0.c3-00257-QCAHLSWMTPLZ-1"

If we do not skip the host cap QMI request on Poco F1, then we
get a QMI_ERR_MALFORMED_MSG_V01 error message in the
ath10k_qmi_host_cap_send_sync(). But this error message is not
fatal to the firmware nor to the ath10k driver and we can still
bring up the WiFi services successfully if we just ignore it.

Hence introducing this DeviceTree quirk to skip host capability
QMI request for the firmware versions which do not support this
feature.
So if you change the WiFi firmware, you may force a DT change too. Those
are pretty independent things otherwise.
This is a valid concern and I'm not sure about the other devices, but
on PocoF1 I have tried all the three released firmware version updates:

WLAN.HL.2.0.c3-00257-QCAHLSWMTPLZ-1
WLAN.HL.2.0.c3-00445-QCAHLSWMTPLZ-1
WLAN.HL.2.0.c3-00534-QCAHLSWMTPLZ-1

and none of them works without this skip host-cap patch or equivalent
hack. PocoF1 is already 2+ years old device and sadly I do not expect
any major vendor update coming its way.
Why can't you just always ignore this error? If you can't deal with this
entirely in the driver, then it should be part of the WiFi firmware so
it's always in sync.
I don't know the technical details of the ath10k/qmi driver, but I'm
OK if we just ignore the return value of
ath10k_qmi_host_cap_send_sync() and move along.

Regards,
Amit Pundir
Rob
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help