]> git.ipfire.org Git - thirdparty/linux.git/commit
bnxt_en: Disable EOP for TPA on all chips to prevent data corruption
authorMichael Chan <michael.chan@broadcom.com>
Fri, 31 Jul 2026 19:09:36 +0000 (12:09 -0700)
committerJakub Kicinski <kuba@kernel.org>
Wed, 5 Aug 2026 02:54:33 +0000 (19:54 -0700)
commitc3faf548a00f4c17100cc9204746975fa46a73b9
tree51082c10cf7c00fe32cabf4673363863cf6aacd6
parent0b137529a8997caf67190ca1d71ba8bbdb44fbfb
bnxt_en: Disable EOP for TPA on all chips to prevent data corruption

EOP (End of frame padding) on the AGG ring may cause overlapping of
zero padding at the end of one segment with the next segment's data.
If Relaxed Ordering (RO) is enabled, the zero padding may overwrite
valid data in the next segment and corrupt the data.  Older chips
(P5 and older) do not automatically disable RO when EOP is enabled.
On some ARM systems, data corruption was reported on 57508 (P5)
chips with RO enabled.

Always disable EOP on all chips on the AGG rings when TPA is enabled
to fix the data corruption.

Fixes: bfcd8d791ec1 ("bnxt_en: Add fast path logic for TPA on 57500 chips.")
Reviewed-by: Pavan Chebbi <pavan.chebbi@broadcom.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Link: https://patch.msgid.link/20260731190937.807270-5-michael.chan@broadcom.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/broadcom/bnxt/bnxt.c