From: Alex Elder <elder@linaro.org>
To: subashab@codeaurora.org, stranche@codeaurora.org,
davem@davemloft.net, kuba@kernel.org
Cc: sharathv@codeaurora.org, bjorn.andersson@linaro.org,
evgreen@chromium.org, cpratapa@codeaurora.org,
David.Laight@ACULAB.COM, elder@kernel.org,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next v3 0/6] net: qualcomm: rmnet: stop using C bit-fields
Date: Tue, 9 Mar 2021 17:39:20 -0600 [thread overview]
Message-ID: <bb7608cc-4a83-0e1d-0124-656246ec4a1f@linaro.org> (raw)
In-Reply-To: <20210309124848.238327-1-elder@linaro.org>
On 3/9/21 6:48 AM, Alex Elder wrote:
> Version 3 of this series uses BIT() rather than GENMASK() to define
> single-bit masks. It then uses a simple AND (&) operation rather
> than (e.g.) u8_get_bits() to access such flags. This was suggested
> by David Laight and really prefer the result. With Bjorn's
> permission I have preserved his Reviewed-by tags on the first five
> patches.
Nice as all this looks, it doesn't *work*. I did some very basic
testing before sending out version 3, but not enough. (More on
the problem, below).
--> I retract this series <--
I will send out an update (version 4). But I won't be doing it
for a few more days.
The problem is that the BIT() flags are defined in host byte
order. But the values they're compared against are not always
(or perhaps, never) in host byte order.
I regret the error, and will do a complete set of testing on
version 4 before sending it out for review.
-Alex
> Version 2 fixed bugs in the way the value written into the header
> was computed.
>
> The series was first posted here:
> https://lore.kernel.org/netdev/20210304223431.15045-1-elder@linaro.org/
> Below is a summary of the original description.
>
> This series converts data structures defined in <linux/if_rmnet.h>
> so they use integral field values with bitfield masks rather than
> relying on C bit-fields.
> - The first three patches lay the ground work for the others.
> - The first adds endianness notation to a structure.
> - The second simplifies a bit of complicated code.
> - The third open-codes some macros that needlessly
> obscured some simple code.
> - Each of the last three patches converts one of the structures
> defined in <linux/if_rmnet.h> so it no longer uses C bit-fields.
>
> -Alex
>
> Alex Elder (6):
> net: qualcomm: rmnet: mark trailer field endianness
> net: qualcomm: rmnet: simplify some byte order logic
> net: qualcomm: rmnet: kill RMNET_MAP_GET_*() accessor macros
> net: qualcomm: rmnet: use field masks instead of C bit-fields
> net: qualcomm: rmnet: don't use C bit-fields in rmnet checksum trailer
> net: qualcomm: rmnet: don't use C bit-fields in rmnet checksum header
>
> .../ethernet/qualcomm/rmnet/rmnet_handlers.c | 11 ++--
> .../net/ethernet/qualcomm/rmnet/rmnet_map.h | 12 ----
> .../qualcomm/rmnet/rmnet_map_command.c | 11 +++-
> .../ethernet/qualcomm/rmnet/rmnet_map_data.c | 60 ++++++++---------
> include/linux/if_rmnet.h | 65 +++++++++----------
> 5 files changed, 70 insertions(+), 89 deletions(-)
>
next prev parent reply other threads:[~2021-03-09 23:40 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-09 12:48 Alex Elder
2021-03-09 12:48 ` [PATCH net-next v3 1/6] net: qualcomm: rmnet: mark trailer field endianness Alex Elder
2021-03-09 12:48 ` [PATCH net-next v3 2/6] net: qualcomm: rmnet: simplify some byte order logic Alex Elder
2021-03-09 12:48 ` [PATCH net-next v3 3/6] net: qualcomm: rmnet: kill RMNET_MAP_GET_*() accessor macros Alex Elder
2021-03-09 12:48 ` [PATCH net-next v3 4/6] net: qualcomm: rmnet: use field masks instead of C bit-fields Alex Elder
2021-03-09 12:48 ` [PATCH net-next v3 5/6] net: qualcomm: rmnet: don't use C bit-fields in rmnet checksum trailer Alex Elder
2021-03-10 0:13 ` Alex Elder
2021-03-09 12:48 ` [PATCH net-next v3 6/6] net: qualcomm: rmnet: don't use C bit-fields in rmnet checksum header Alex Elder
2021-03-09 23:39 ` Alex Elder [this message]
2021-03-10 0:27 ` [PATCH net-next v3 0/6] net: qualcomm: rmnet: stop using C bit-fields Vladimir Oltean
2021-03-11 17:26 ` Alex Elder
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=bb7608cc-4a83-0e1d-0124-656246ec4a1f@linaro.org \
--to=elder@linaro.org \
--cc=David.Laight@ACULAB.COM \
--cc=bjorn.andersson@linaro.org \
--cc=cpratapa@codeaurora.org \
--cc=davem@davemloft.net \
--cc=elder@kernel.org \
--cc=evgreen@chromium.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=sharathv@codeaurora.org \
--cc=stranche@codeaurora.org \
--cc=subashab@codeaurora.org \
/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
all inboxes | Powered by JetHome®