[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aXCXSt6_aTmoCnsh@FUE-ALEWI-WINX>
Date: Wed, 21 Jan 2026 10:07:22 +0100
From: Alexander Wilhelm <alexander.wilhelm@...termo.com>
To: David Heidelberg <david@...t.cz>
Cc: Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>, linux-arm-msm@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v5 0/3] soc: qcom: extend interface for big endian support
On Wed, Jan 21, 2026 at 09:22:07AM +0100, David Heidelberg wrote:
> On 19/11/2025 11:40, Alexander Wilhelm wrote:
> > Currently, the QMI interface only works on little endian systems due to how
> > it encodes and decodes data. Most QMI related data structures are defined
> > in CPU native order and do not use endian specific types.
> >
> > Add support for endian conversion of basic element types in the QMI
> > encoding and decoding logic. Fix the handling of QMI_DATA_LEN fields to
> > ensure correct interpretation on big endian systems. These changes are
> > required to allow QMI to operate correctly across architectures with
> > different endianness.
> > ---
>
> Hello,
>
> I recently (next-20260119) started receiving errors on Pixel 3:
>
> [ 21.158943] ipa 1e40000.ipa: received modem running event
> [ 21.164616] qmi_encode: Invalid data length
> [ 21.168930] qcom_q6v5_pas remoteproc-adsp: failed to send subsystem event
> [ 21.175844] qmi_encode: Invalid data length
> [ 21.180494] qcom_q6v5_pas remoteproc-cdsp: failed to send subsystem event
> [ 21.187467] qmi_encode: Invalid data length
> [ 21.191772] qcom-q6v5-mss 4080000.remoteproc: failed to send subsystem
> event
> [ 21.199088] qmi_encode: Invalid data length
> [ 21.203360] qcom-q6v5-mss 4080000.remoteproc: failed to send subsystem
> event
> [ 21.210636] remoteproc remoteproc0: remote processor 4080000.remoteproc
> is now up
>
> Since it's not well tested, I believe there could be problem with
> configuration, but after reverting this series, no errors pop up.
>
> I would believe maybe these errors was previously hidden, but just to be
> sure asking here.
Hi David,
This is exactly the problem I was afraid of. When the endianness fixes for
`ath12k` were rejected, I implemented them in the QMI subsystem instead. I only
tested this with `ath11k` and `ath12k` drivers, both on little-endian and
big-endian platforms. However, other devices, such as your modem, also rely on
QMI, but were not tested.
The difference now is that, instead of using memcpy, basic elements like `u8`,
`u16`, `u32`, and `u64` are handled explicitly in separate switch-cases. This
raises the question of what exactly the modem and its corresponding driver are
doing at this point. Could you please tell me which repository you are working
on? I could not find `next-20260119` in either the `ath` or the `stable`
repositories.
Best regards
Alexander Wilhelm
Powered by blists - more mailing lists