ref: 744de082b50aaffea83f16ca74997879a5d72b9e
parent: 4160504d0abf308a1230a52099af6394267055ec
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sat Mar 21 13:06:11 EDT 2026
ether82563: access to i82579 phy1 page 800 (wake up registers) Page 800 access uses address/data port register, we must not issue write transaction to page register after setting address register, so skip page access when accessing data port.
--- a/sys/src/9/pc/ether82563.c
+++ b/sys/src/9/pc/ether82563.c
@@ -1190,6 +1190,13 @@
{if(reg < 16)
return -1;
+ /*
+ * after writing address register 800.0x11,
+ * read or write data register 0x12 without
+ * touching page register again.
+ */
+ if(*page == 800 && reg == 0x12)
+ return -1;
*page <<= 5;
return 31;
}
--
⑨