From: Sven Eckelmann <sven@narfation.org>
To: Kalle Valo <kvalo@kernel.org>, ath11k@lists.infradead.org
Cc: ath11k@lists.infradead.org, linux-wireless@vger.kernel.org,
quic_cjhuang@quicinc.com, Carl Huang <cjhuang@codeaurora.org>
Subject: Re: [PATCH 6/6] ath11k: support GTK rekey offload
Date: Sat, 18 Dec 2021 09:37:02 +0100 [thread overview]
Message-ID: <2102838.219ycuhFCz@sven-l14> (raw)
In-Reply-To: <4f28496abae7743ab2a9fa7150c5d64c@codeaurora.org>
[-- Attachment #1: Type: text/plain, Size: 1710 bytes --]
> On Thursday, 9 December 2021 17:05:14 CET Kalle Valo wrote:
>> Isn't ath11k WMI commands and events supposed to be in CPU
>> endian and the firmware automatically translates them if CPU is little
>> or big endian?
[...]
On Friday, 17 December 2021 12:04:45 CET Carl Huang wrote:
> Both cpu and firmware are supposed to be little endian in ath11k.
I hope this statement is incorrect. But if it isn't:
You cannot limit a non-architecture dependent driver to be only used by little
endian CPUs. This would be grave bug in ath11k.
If your firmware requires wmi messages and similar things in little endian
then you have to mark types correctly as big/little endian. E.g. __le32
instead of u32. And then you have to convert everything manually with
cpu_to_le32 and so on. See the ath10k code for examples.
Tools like sparse can assist you in your search for problematic places when
your kernel has the __CHECK_ENDIAN__ related code activated. This is the
default for kernels >= 4.10.
If Kalle' statement is true that the firmware takes care of endianness
translation of WMI messages to host endianness, then your code would still be
questionable:
>> + /* supplicant expects big-endian replay counter */
>> + replay_ctr = cpu_to_be64(le64_to_cpup((__le64
>> *)ev->replay_counter));
Why isn't the firmware taking care of the conversion at that place?
Why are you defining it as `u8 replay_counter[GTK_REPLAY_COUNTER_BYTES];` in
the struct instead of using `__le64 replay_counter;`?
What ensures that this is value is 64 bit aligned in memory? Wouldn't it be
more correct to (see above) use
replay_ctr = cpu_to_be64(get_unaligned_le64(ev->replay_counter));
Kind regards,
Sven
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2021-12-18 8:37 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-11 19:37 [PATCH 0/6] ath11k: support WoW functionalities Carl Huang
2021-10-11 19:37 ` [PATCH 1/6] ath11k: Add basic " Carl Huang
2021-12-09 14:48 ` Kalle Valo
2021-10-11 19:37 ` [PATCH 2/6] ath11k: Add WoW net-detect functionality Carl Huang
2021-12-09 14:57 ` Kalle Valo
2021-12-09 15:03 ` Kalle Valo
2021-10-11 19:37 ` [PATCH 3/6] ath11k: implement hw data filter Carl Huang
2021-12-09 15:07 ` Kalle Valo
2021-12-09 15:47 ` Kalle Valo
2021-10-11 19:37 ` [PATCH 4/6] ath11k: purge rx pktlog when entering WoW Carl Huang
2021-12-09 15:12 ` Kalle Valo
2021-10-11 19:37 ` [PATCH 5/6] ath11k: support ARP and NS offload Carl Huang
2021-12-09 15:16 ` Kalle Valo
2021-12-09 16:07 ` Kalle Valo
2021-10-11 19:37 ` [PATCH 6/6] ath11k: support GTK rekey offload Carl Huang
2021-12-09 16:05 ` Kalle Valo
2021-12-17 11:04 ` Carl Huang
2021-12-18 8:37 ` Sven Eckelmann [this message]
2021-12-18 8:43 ` Sven Eckelmann
2021-12-18 9:16 ` Sven Eckelmann
2021-12-20 10:03 ` Kalle Valo
2021-12-20 11:50 ` Sven Eckelmann
2021-12-21 14:48 ` Kalle Valo
2021-12-21 20:39 ` Sven Eckelmann
2021-12-09 17:45 ` [PATCH 0/6] ath11k: support WoW functionalities Kalle Valo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2102838.219ycuhFCz@sven-l14 \
--to=sven@narfation.org \
--cc=ath11k@lists.infradead.org \
--cc=cjhuang@codeaurora.org \
--cc=kvalo@kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=quic_cjhuang@quicinc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox