From: Christian Marangi <ansuelsmth@gmail.com>
To: "Marek Behún" <kabel@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>,
Paolo Abeni <pabeni@redhat.com>,
netdev@vger.kernel.org
Subject: Re: [PATCH net 1/2] net: dsa: qca8k: fix regmap bulk read/write methods on big endian systems
Date: Mon, 2 Oct 2023 14:03:10 +0200 [thread overview]
Message-ID: <651ab181.050a0220.ad81c.9536@mx.google.com> (raw)
In-Reply-To: <20231002104612.21898-2-kabel@kernel.org>
On Mon, Oct 02, 2023 at 12:46:11PM +0200, Marek Behún wrote:
> Commit c766e077d927 ("net: dsa: qca8k: convert to regmap read/write
> API") introduced bulk read/write methods to qca8k's regmap.
>
> The regmap bulk read/write methods get the register address in a buffer
> passed as a void pointer parameter (the same buffer contains also the
> read/written values). The register address occupies only as many bytes
> as it requires at the beginning of this buffer. For example if the
> .reg_bits member in regmap_config is 16 (as is the case for this
> driver), the register address occupies only the first 2 bytes in this
> buffer, so it can be cast to u16.
>
> But the original commit implementing these bulk read/write methods cast
> the buffer to u32:
> u32 reg = *(u32 *)reg_buf & U16_MAX;
> taking the first 4 bytes. This works on little endian systems where the
> first 2 bytes of the buffer correnspond to the low 16-bits, but it
> obviously cannot work on big endian systems.
>
> Fix this by casting the beginning of the buffer to u16 as
> u32 reg = *(u16 *)reg_buf;
>
> Fixes: c766e077d927 ("net: dsa: qca8k: convert to regmap read/write API")
> Signed-off-by: Marek Behún <kabel@kernel.org>
Reviewed-by: Christian Marangi <ansuelsmth@gmail.com>
--
Ansuel
next prev parent reply other threads:[~2023-10-02 12:03 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-02 10:46 [PATCH net 0/2] net: dsa: qca8k: fix qca8k driver for Turris 1.x Marek Behún
2023-10-02 10:46 ` [PATCH net 1/2] net: dsa: qca8k: fix regmap bulk read/write methods on big endian systems Marek Behún
2023-10-02 12:03 ` Christian Marangi [this message]
2023-10-03 15:22 ` Simon Horman
2023-10-02 10:46 ` [PATCH net 2/2] net: dsa: qca8k: fix potential MDIO bus conflict when accessing internal PHYs via management frames Marek Behún
2023-10-02 12:11 ` Christian Marangi
2023-10-03 10:05 ` Marek Behún
2023-10-03 10:45 ` Christian Marangi
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=651ab181.050a0220.ad81c.9536@mx.google.com \
--to=ansuelsmth@gmail.com \
--cc=davem@davemloft.net \
--cc=kabel@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.