From 897f001076e35e6639be1f58a63673f44622b914 Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Mon, 26 Apr 2021 18:36:43 +0200 Subject: [PATCH] Kernel: Add logging for E1000 RX buffer overrun --- Kernel/Net/E1000NetworkAdapter.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Kernel/Net/E1000NetworkAdapter.cpp b/Kernel/Net/E1000NetworkAdapter.cpp index 1c2658ef97..c8eac8c668 100644 --- a/Kernel/Net/E1000NetworkAdapter.cpp +++ b/Kernel/Net/E1000NetworkAdapter.cpp @@ -207,7 +207,7 @@ UNMAP_AFTER_INIT E1000NetworkAdapter::E1000NetworkAdapter(PCI::Address address, initialize_tx_descriptors(); out32(REG_INTERRUPT_MASK_SET, 0x1f6dc); - out32(REG_INTERRUPT_MASK_SET, INTERRUPT_LSC | INTERRUPT_RXT0); + out32(REG_INTERRUPT_MASK_SET, INTERRUPT_LSC | INTERRUPT_RXT0 | INTERRUPT_RXO); in32(REG_INTERRUPT_CAUSE_READ); enable_irq(); @@ -232,6 +232,9 @@ void E1000NetworkAdapter::handle_irq(const RegisterState&) if (status & INTERRUPT_RXDMT0) { // Threshold OK? } + if (status & INTERRUPT_RXO) { + dbgln_if(E1000_DEBUG, "E1000: RX buffer overrun"); + } if (status & INTERRUPT_RXT0) { receive(); }