atl1c: Work around the DMA RX overflow issue
authorSieng-Piaw Liew <liew.s.piaw@gmail.com>
Tue, 12 Sep 2023 01:07:11 +0000 (09:07 +0800)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 14 Sep 2023 08:14:52 +0000 (10:14 +0200)
commit86565682e9053e5deb128193ea9e88531bbae9cf
treee5211cde348075815a13647460c58afa7ed8e045
parentea8f505ec51e904f4696b5e3e852b7a51c8e956d
atl1c: Work around the DMA RX overflow issue

This is based on alx driver commit 881d0327db37 ("net: alx: Work around
the DMA RX overflow issue").

The alx and atl1c drivers had RX overflow error which was why a custom
allocator was created to avoid certain addresses. The simpler workaround
then created for alx driver, but not for atl1c due to lack of tester.

Instead of using a custom allocator, check the allocated skb address and
use skb_reserve() to move away from problematic 0x...fc0 address.

Tested on AR8131 on Acer 4540.

Signed-off-by: Sieng-Piaw Liew <liew.s.piaw@gmail.com>
Link: https://lore.kernel.org/r/20230912010711.12036-1-liew.s.piaw@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/atheros/atl1c/atl1c.h
drivers/net/ethernet/atheros/atl1c/atl1c_main.c