> So you have confirmed with the datsheet that the write is not needed? > > As i said, this is a hardware register, not memory. Writes are not > always idempotent. It might be necessary to write it twice.
I have checked following datasheets and I can not find that we need to write RDH, RDT, TDH, TDT registers twice at initialization. https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/82577-gbe-phy-datasheet.pdf https://www.intel.com/content/www/us/en/content-details/613460/intel-82583v-gbe-controller-datasheet.html Write happened once before commit 0845d45e900c, so just out of curiosity, have you seen such a device? My colleague, Kohei, tested the patch with a real hardware and will provide his Tested-by shortly.