net: bcmgenet: Workaround #2 for Pi4 Ethernet fail
authorPhil Elwell <phil@raspberrypi.org>
Fri, 9 Aug 2019 07:51:43 +0000 (08:51 +0100)
committerpopcornmix <popcornmix@gmail.com>
Wed, 27 Jan 2021 19:13:02 +0000 (19:13 +0000)
commitd09380349ad0bb4f3cc83d002d7ba888399a8fe0
treee5f64224441f00796950f3d9c3a8575347cff9a8
parentdc1f7e1eecd22a87805227501b12cf9efa8de132
net: bcmgenet: Workaround #2 for Pi4 Ethernet fail

Some combinations of Pi 4Bs and Ethernet switches don't reliably get a
DCHP-assigned IP address, leaving the unit with a self=assigned 169.254
address. In the failure case, the Pi is left able to receive packets
but not send them, suggesting that the MAC<->PHY link is getting into
a bad state.

It has been found empirically that skipping a reset step by the genet
driver prevents the failures. No downsides have been discovered yet,
and unlike the forced renegotiation it doesn't increase the time to
get an IP address, so the workaround is enabled by default; add

  genet.skip_umac_reset=n

to the command line to disable it.

See: https://github.com/raspberrypi/linux/issues/3108

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
drivers/net/ethernet/broadcom/genet/bcmgenet.c