]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net: ti: icssg-prueth: Fix HSR and switch offload Enablement during firwmare reload.
authorMD Danish Anwar <danishanwar@ti.com>
Thu, 14 Aug 2025 10:51:06 +0000 (16:21 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Aug 2025 14:31:14 +0000 (16:31 +0200)
commit1b78629742665afd79fb2a575de5190bf132bdde
treea91a57b762e20fef657fd25b636d1a52a58dda26
parent94731cc551e29511d85aa8dec61a6c071b1f2430
net: ti: icssg-prueth: Fix HSR and switch offload Enablement during firwmare reload.

[ Upstream commit 01792bc3e5bdafa171dd83c7073f00e7de93a653 ]

To enable HSR / Switch offload, certain configurations are needed.
Currently they are done inside icssg_change_mode(). This function only
gets called if we move from one mode to another without bringing the
links up / down.

Once in HSR / Switch mode, if we bring the links down and bring it back
up again. The callback sequence is,

- emac_ndo_stop()
Firmwares are stopped
- emac_ndo_open()
Firmwares are loaded

In this path icssg_change_mode() doesn't get called and as a result the
configurations needed for HSR / Switch is not done.

To fix this, put all these configurations in a separate function
icssg_enable_fw_offload() and call this from both icssg_change_mode()
and emac_ndo_open()

Fixes: 56375086d093 ("net: ti: icssg-prueth: Enable HSR Tx duplication, Tx Tag and Rx Tag offload")
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
Link: https://patch.msgid.link/20250814105106.1491871-1-danishanwar@ti.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/ti/icssg/icssg_prueth.c