X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FNetwork%2FE1000%2Fe1000.c;h=0ad49b01ae6bc1f7049f591ffca41b0c6c9b410a;hb=91cb22a5f21eeca8f84456c1febf79f84a65d30d;hp=01a5a6a250e813a9ee6a97539131a7748ce562b9;hpb=d8a7947c06c6facbbaa3381f2c98dd4644a5b0b3;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/Network/E1000/e1000.c b/KernelLand/Modules/Network/E1000/e1000.c index 01a5a6a2..0ad49b01 100644 --- a/KernelLand/Modules/Network/E1000/e1000.c +++ b/KernelLand/Modules/Network/E1000/e1000.c @@ -205,6 +205,7 @@ int E1000_SendPacket(void *Ptr, tIPStackBuffer *Buffer) int txd = first_txd; while( (idx = IPStack_Buffer_GetBuffer(Buffer, idx, &len, &ptr)) != -1 ) { + //Debug_HexDump("E100 SendPacket", ptr, len); if( MM_GetPhysAddr(ptr) + len-1 != MM_GetPhysAddr((char*)ptr + len-1) ) { size_t remlen = PAGE_SIZE - ((tVAddr)ptr & (PAGE_SIZE-1)); @@ -354,8 +355,15 @@ void E1000_IRQHandler(int Num, void *Ptr) { } + + // Receive Descriptor Minimum Threshold Reached + // - We're reading too slow + if( icr & ICR_RXDMT0 ) + { + LOG("RX descs running out"); + } - icr &= ~(ICR_RXT0|ICR_LSC|ICR_TXQE|ICR_TXDW|ICR_TXD_LOW); + icr &= ~(ICR_RXT0|ICR_LSC|ICR_TXQE|ICR_TXDW|ICR_TXD_LOW|ICR_RXDMT0); if( icr ) Log_Warning("E1000", "Unhandled ICR bits 0x%x", icr); }