This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01BF8400.312772E0 Content-Type: text/plain A possible flaw in the eepro100.c driver (version 1.09l 8/7/99) is causing Linux to hang due to unserviced NIC interrupts. Just after the bootd daemon issues the messages "Starting Network" and "Starting DHCP", the prepareInterface() routine in bootd/if.c will issue a SIOCSIFFLAGS ioctl call (from the prepareInterface routine) which NEVER COMPLETES. The Linux box hangs as a result of unserviced NIC interrupts. Apparently, the speedo_interrupt() routine does not properly service the interrupt when the System Control Block Status Word contains 0x150. According to the 82559ER datasheet, this status means that the Flow Control Paused bit is set. ( The datasheet provides no information about how to interpret the transmitter and receiver status bits). Does a value of 0x400 written to the SCB command word acknowledge the interrupt? I have noticed that the symptom will go away when various kernel modules grow in size as a result of added code. I would prefer to fix the problem rather than have it reappear in future kernel rebuilds. I suspect that an uninitialized variable or a partially initialized 82559 is causing this symptom. The 82559ER datasheets are not acceptable for writing a driver. I am trying to obtain suitable documentation from Intel but so far have had no luck. I am convinced that the info is not on the Intel website and I am hoping that an open tech support incident with Intel will eventually prove fruitful. Obviously, Donald Becker found such a document. Does anyone know an efficient way to obtain the programmer's manual from Intel? Your ideas or suggestions are welcome. Thanks, Roeland Krawl ------_=_NextPart_001_01BF8400.312772E0 Content-Type: text/html Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">Unserviced interrupts due to Flow Control Paused status = bit A possible flaw in the eepro100.c = driver (version 1.09l 8/7/99) is causing Linux to hang due to = unserviced NIC interrupts.
Just after the bootd daemon issues the = messages "Starting Network" and "Starting = DHCP", the prepareInterface() routine in bootd/if.c will = issue a SIOCSIFFLAGS ioctl call (from the prepareInterface routine) = which NEVER COMPLETES. The Linux box hangs as a result of unserviced = NIC interrupts.
Apparently, the speedo_interrupt() = routine does not properly service the interrupt when the System Control = Block Status Word contains 0x150. According to the 82559ER datasheet, = this status means that the Flow Control Paused bit is set. ( The = datasheet provides no information about how to interpret the = transmitter and receiver status bits). Does a value of 0x400 written to = the SCB command word acknowledge the interrupt?
I have noticed that the symptom will = go away when various kernel modules grow in size as a result of added = code.
I would prefer to fix the problem = rather than have it reappear in future kernel rebuilds. I suspect that = an uninitialized variable or a partially initialized 82559 is causing = this symptom.
The 82559ER datasheets are not = acceptable for writing a driver. I am trying to obtain suitable = documentation from Intel but so far have had no luck. I am convinced = that the info is not on the Intel website and I am hoping that an open = tech support incident with Intel will eventually prove = fruitful.
Obviously, Donald Becker found such a = document. Does anyone know an efficient way to obtain the programmer's = manual from Intel?
Your ideas or suggestions are = welcome.
Thanks,
------_=_NextPart_001_01BF8400.312772E0-- ------------------------------------------------------------------- To unsubscribe send a message body containing "unsubscribe" to linux-eepro100-request@beowulf.org
Roeland Krawl