git: 9front

Download patch

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;
 }
--