[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <i5ci3h2vjkv7tuer3lq3l6f23mfouvq5csipfbycra3hak56e6@6vhnnq7xmabo>
Date: Thu, 9 Jan 2025 15:20:01 +0530
From: Siddharth Vadapalli <s-vadapalli@...com>
To: Sudheer Kumar Doredla <s-doredla@...com>
CC: <s-vadapalli@...com>, <rogerq@...nel.org>, <andrew+netdev@...n.ch>,
<davem@...emloft.net>, <edumazet@...gle.com>, <kuba@...nel.org>,
<pabeni@...hat.com>, <horms@...nel.org>, <gnault@...hat.com>,
<linux-omap@...r.kernel.org>, <netdev@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <t-patil@...com>, <j-keerthy@...com>
Subject: Re: [PATCH v2 net] net: ethernet: ti: cpsw_ale: Fix
cpsw_ale_get_field()
On Wed, Jan 08, 2025 at 10:54:33PM +0530, Sudheer Kumar Doredla wrote:
> CPSW ALE has 75-bit ALE entries stored across three 32-bit words.
> The cpsw_ale_get_field() and cpsw_ale_set_field() functions support
> ALE field entries spanning up to two words at the most.
>
> The cpsw_ale_get_field() and cpsw_ale_set_field() functions work as
> expected when ALE field spanned across word1 and word2, but fails when
> ALE field spanned across word2 and word3.
>
> For example, while reading the ALE field spanned across word2 and word3
> (i.e. bits 62 to 64), the word3 data shifted to an incorrect position
> due to the index becoming zero while flipping.
> The same issue occurred when setting an ALE entry.
>
> This issue has not been seen in practice but will be an issue in the future
> if the driver supports accessing ALE fields spanning word2 and word3
>
> Fix the methods to handle getting/setting fields spanning up to two words.
>
> Fixes: b685f1a58956 ("net: ethernet: ti: cpsw_ale: Fix cpsw_ale_get_field()/cpsw_ale_set_field()")
> Signed-off-by: Sudheer Kumar Doredla <s-doredla@...com>
> Reviewed-by: Simon Horman <horms@...nel.org>
Reviewed-by: Siddharth Vadapalli <s-vadapalli@...com>
Regards,
Siddharth.
Powered by blists - more mailing lists