Kernel: Fix E1000 interrupt handling condition
I had written the ICR register check backwards which lead to interrupt handling only when it was not needed, and no handling when it was needed. This somehow still worked, just much slower often requiring tcp resends from the server.
This commit is contained in:
@@ -290,7 +290,7 @@ namespace Kernel
|
|||||||
|
|
||||||
void E1000::handle_irq()
|
void E1000::handle_irq()
|
||||||
{
|
{
|
||||||
if (read32(REG_ICR) & ICR_RxQ0)
|
if (!(read32(REG_ICR) & ICR_RxQ0))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
SpinLockGuard _(m_lock);
|
SpinLockGuard _(m_lock);
|
||||||
|
|||||||
Reference in New Issue
Block a user