When stopping the interface, descriptors aren't properly reinitialized, which can lead to incorrect states that causes the driver to be stuck printing eqos: watchdog timeout. Only fixable after restarting.
Details
Details
- On a SoC snps,dwmac-4.20a compatible
- Run service netif restart with the cable plugged on.
- Run service netif stop with cable unplugged, plug the cable and then run service netif start.
- Run service netif stop with cable plugged, unplug the cable and run service netif start, then plug back the cable.
All of these can render the interface in this state.
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
Comment Actions
Thanks,
LGTM but I haven't looked at the NetBSD version, I think that it would be best to keep it synced.
Comment Actions
Well, the NetBSD implementation has a couple of key differences on locking and data structures. I was willing to work on trying to make this more similar to theirs. Particularly on improve locking, better hardware support and debugging facilities.