]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net: airoha: move get_sport() callback at the beginning of airoha_enable_gdm2_loopback()
authorLorenzo Bianconi <lorenzo@kernel.org>
Mon, 8 Jun 2026 21:24:15 +0000 (23:24 +0200)
committerJakub Kicinski <kuba@kernel.org>
Thu, 11 Jun 2026 22:35:20 +0000 (15:35 -0700)
commitaeb62be4d3b18b76551bf7806e30d72e5c3bbade
tree44d29e234346b15edf47e98d1321c0ac6aa89b32
parent3fbbb5a6280494d4e65d3acdb9a465d7d977f530
net: airoha: move get_sport() callback at the beginning of airoha_enable_gdm2_loopback()

Move the get_sport() callback invocation at the beginning of
airoha_enable_gdm2_loopback() routine in order to avoid leaving the
hardware in a partially configured state if get_sport() fails.
Previously, get_sport() was called after GDM2 forwarding, loopback,
channel, length, VIP and IFC registers had already been programmed.
A failure at that point would return an error leaving GDM2 with
loopback enabled but WAN port, PPE CPU port and flow control mappings
not configured.
Performing the get_sport() lookup before any register write guarantees
the routine either completes the full configuration sequence or exits
with no side effects on the hardware.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20260608-airoha_enable_gdm2_loopback-minor-change-v1-1-1787a0f42b31@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/airoha/airoha_eth.c