if (ax->plat->flags & AXFLG_HAS_EEPROM) {
                unsigned char SA_prom[32];
 
+               ei_outb(6, ioaddr + EN0_RCNTLO);
+               ei_outb(0, ioaddr + EN0_RCNTHI);
+               ei_outb(0, ioaddr + EN0_RSARLO);
+               ei_outb(0, ioaddr + EN0_RSARHI);
+               ei_outb(E8390_RREAD + E8390_START, ioaddr + NE_CMD);
                for (i = 0; i < sizeof(SA_prom); i += 2) {
                        SA_prom[i] = ei_inb(ioaddr + NE_DATAPORT);
                        SA_prom[i + 1] = ei_inb(ioaddr + NE_DATAPORT);
                }
+               ei_outb(ENISR_RDC, ioaddr + EN0_ISR);   /* Ack intr. */
 
                if (ax->plat->wordlength == 2)
                        for (i = 0; i < 16; i++)