diff options
author | 2018-12-10 05:40:34 +0000 | |
---|---|---|
committer | 2018-12-10 05:40:34 +0000 | |
commit | a4643127405bd180ee0c8990aba2f941612044f5 (patch) | |
tree | fdaaea5c8ad62c7da510a9565e120784ad67f899 /lib/libc/stdlib/malloc.c | |
parent | no need to pass rdns and fcrdns info to helo/ehlo proc filter lines (diff) | |
download | wireguard-openbsd-a4643127405bd180ee0c8990aba2f941612044f5.tar.xz wireguard-openbsd-a4643127405bd180ee0c8990aba2f941612044f5.zip |
Fix phy discovery on O2 systems.
After a cold boot, the mii bus appears to take some time to initialize;
the phy does not answer to address 8 but to a larger address (10 or 11),
then, after being reset, to its correct address of 8.
So the kernel would discover the phy at a wrong address, attach it, and
after it gets reset, reading from the phy at the wrong address would
return either all bits clear or all bits set, confusing the link speed
logic without any way to recover.
Work around the issue by resetting all phys found when the interface is
reset for the first time. Thus, by the time mii_attach() runs and walks
the bus again, the phy will answer at the right address.
From miod@
Diffstat (limited to 'lib/libc/stdlib/malloc.c')
0 files changed, 0 insertions, 0 deletions