From e2e4bf4999648ed6c5e8c4ec59fbef0f0ca2a07d Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 27 Sep 2017 09:42:10 +0200 Subject: ffec: Avoid AXI bus issues due to a MAC reset --- freebsd/sys/dev/ffec/if_ffec.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/freebsd/sys/dev/ffec/if_ffec.c b/freebsd/sys/dev/ffec/if_ffec.c index 85a720fc..81440d52 100644 --- a/freebsd/sys/dev/ffec/if_ffec.c +++ b/freebsd/sys/dev/ffec/if_ffec.c @@ -1656,7 +1656,14 @@ ffec_attach(device_t dev) ffec_get_hwaddr(sc, eaddr); /* Reset the hardware. Disables all interrupts. */ - WR4(sc, FEC_ECR_REG, FEC_ECR_RESET); + if (sc->fectype & FECFLAG_AVB) + /* + * Avoid AXI bus issues due to a MAC reset, see Linux for more + * details. + */ + WR4(sc, FEC_ECR_REG, 0); + else + WR4(sc, FEC_ECR_REG, FEC_ECR_RESET); /* Setup interrupt handler. */ error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_NET | INTR_MPSAFE, -- cgit v1.2.3