* [PATCH net v3] net: renesas: rswitch: fix forwarding offload statemachine
@ 2026-02-06 13:41 Michael Dege
2026-02-11 8:03 ` Paolo Abeni
2026-02-11 8:10 ` patchwork-bot+netdevbpf
0 siblings, 2 replies; 3+ messages in thread
From: Michael Dege @ 2026-02-06 13:41 UTC (permalink / raw)
To: Yoshihiro Shimoda, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Nikita Yushchenko
Cc: netdev, linux-renesas-soc, linux-kernel, Michael Dege
A change of the port state of one port, caused the state of another
port to change. This behvior was unintended.
Fixes: b7502b1043de ("net: renesas: rswitch: add offloading for L2 switching")
Signed-off-by: Michael Dege <michael.dege@renesas.com>
---
A change of the port state of one port, caused the state of another
port to change. This behvior was unintended.
Changes in v3:
- Fix cover letter.
- Link to v2: https://lore.kernel.org/r/20260205-fix-offloading-statemachine-v2-1-fafcf0c6eb1d@renesas.com
Changes in v2:
- Implemented suggested improvements to the function.
- Addded missing condition to an if statement.
- introduced bool variable, to reduce the the logic in the if
statements.
- Link to v1: https://lore.kernel.org/r/20260205-fix-offloading-statemachine-v1-1-640224a531d0@renesas.com
---
---
drivers/net/ethernet/renesas/rswitch_l2.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ethernet/renesas/rswitch_l2.c b/drivers/net/ethernet/renesas/rswitch_l2.c
index 4a69ec77d69c..9433cd8adced 100644
--- a/drivers/net/ethernet/renesas/rswitch_l2.c
+++ b/drivers/net/ethernet/renesas/rswitch_l2.c
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
/* Renesas Ethernet Switch device driver
*
- * Copyright (C) 2025 Renesas Electronics Corporation
+ * Copyright (C) 2025 - 2026 Renesas Electronics Corporation
*/
#include <linux/err.h>
@@ -60,6 +60,7 @@ static void rswitch_update_l2_hw_learning(struct rswitch_private *priv)
static void rswitch_update_l2_hw_forwarding(struct rswitch_private *priv)
{
struct rswitch_device *rdev;
+ bool new_forwarding_offload;
unsigned int fwd_mask;
/* calculate fwd_mask with zeroes in bits corresponding to ports that
@@ -73,8 +74,9 @@ static void rswitch_update_l2_hw_forwarding(struct rswitch_private *priv)
}
rswitch_for_all_ports(priv, rdev) {
- if ((rdev_for_l2_offload(rdev) && rdev->forwarding_requested) ||
- rdev->forwarding_offloaded) {
+ new_forwarding_offload = (rdev_for_l2_offload(rdev) && rdev->forwarding_requested);
+
+ if (new_forwarding_offload || rdev->forwarding_offloaded) {
/* Update allowed offload destinations even for ports
* with L2 offload enabled earlier.
*
@@ -84,13 +86,10 @@ static void rswitch_update_l2_hw_forwarding(struct rswitch_private *priv)
priv->addr + FWPC2(rdev->port));
}
- if (rdev_for_l2_offload(rdev) &&
- rdev->forwarding_requested &&
- !rdev->forwarding_offloaded) {
+ if (new_forwarding_offload && !rdev->forwarding_offloaded)
rswitch_change_l2_hw_offloading(rdev, true, false);
- } else if (rdev->forwarding_offloaded) {
+ else if (!new_forwarding_offload && rdev->forwarding_offloaded)
rswitch_change_l2_hw_offloading(rdev, false, false);
- }
}
}
---
base-commit: f14faaf3a1fb3b9e4cf2e56269711fb85fba9458
change-id: 20260205-fix-offloading-statemachine-1d301630a08d
Best regards,
--
Michael Dege <michael.dege@renesas.com>
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH net v3] net: renesas: rswitch: fix forwarding offload statemachine
2026-02-06 13:41 [PATCH net v3] net: renesas: rswitch: fix forwarding offload statemachine Michael Dege
@ 2026-02-11 8:03 ` Paolo Abeni
2026-02-11 8:10 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 3+ messages in thread
From: Paolo Abeni @ 2026-02-11 8:03 UTC (permalink / raw)
To: Michael Dege, Yoshihiro Shimoda, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Nikita Yushchenko
Cc: netdev, linux-renesas-soc, linux-kernel
On 2/6/26 2:41 PM, Michael Dege wrote:
> A change of the port state of one port, caused the state of another
> port to change. This behvior was unintended.
>
> Fixes: b7502b1043de ("net: renesas: rswitch: add offloading for L2 switching")
>
You should not have inserted an empty line above. I'll fix it while
applying the patch, but please have a better look at the process
documentation.
/P
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH net v3] net: renesas: rswitch: fix forwarding offload statemachine
2026-02-06 13:41 [PATCH net v3] net: renesas: rswitch: fix forwarding offload statemachine Michael Dege
2026-02-11 8:03 ` Paolo Abeni
@ 2026-02-11 8:10 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 3+ messages in thread
From: patchwork-bot+netdevbpf @ 2026-02-11 8:10 UTC (permalink / raw)
To: Michael Dege
Cc: yoshihiro.shimoda.uh, andrew+netdev, davem, edumazet, kuba,
pabeni, nikita.yoush, netdev, linux-renesas-soc, linux-kernel
Hello:
This patch was applied to netdev/net.git (main)
by Paolo Abeni <pabeni@redhat.com>:
On Fri, 06 Feb 2026 14:41:53 +0100 you wrote:
> A change of the port state of one port, caused the state of another
> port to change. This behvior was unintended.
>
> Fixes: b7502b1043de ("net: renesas: rswitch: add offloading for L2 switching")
>
> Signed-off-by: Michael Dege <michael.dege@renesas.com>
>
> [...]
Here is the summary with links:
- [net,v3] net: renesas: rswitch: fix forwarding offload statemachine
https://git.kernel.org/netdev/net/c/e9a5073a98d9
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-02-11 8:10 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-06 13:41 [PATCH net v3] net: renesas: rswitch: fix forwarding offload statemachine Michael Dege
2026-02-11 8:03 ` Paolo Abeni
2026-02-11 8:10 ` patchwork-bot+netdevbpf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox