Author: tqh Date: 2009-12-15 17:46:44 +0100 (Tue, 15 Dec 2009) New Revision: 34667 Changeset: http://dev.haiku-os.org/changeset/34667/haiku Ticket: http://dev.haiku-os.org/ticket/2801 Modified: haiku/trunk/src/add-ons/kernel/drivers/network/rtl8169/device.c Log: If we get a overflow read the data. This probably fixes #2801 and is what the FreeBSD driver does. Modified: haiku/trunk/src/add-ons/kernel/drivers/network/rtl8169/device.c =================================================================== --- haiku/trunk/src/add-ons/kernel/drivers/network/rtl8169/device.c 2009-12-15 15:55:16 UTC (rev 34666) +++ haiku/trunk/src/add-ons/kernel/drivers/network/rtl8169/device.c 2009-12-15 16:46:44 UTC (rev 34667) @@ -449,9 +449,6 @@ PROFILING_ONLY(device->intTotalCount++); PROFILING_ONLY(device->intCurrentCount++); - if (stat & INT_FOVW) { - TRACE("INT_FOVW\n"); - } if (stat & INT_TimeOut) { PROFILING_ONLY(device->intTimerTotalCount++); @@ -469,7 +466,7 @@ ret = B_INVOKE_SCHEDULER; } - if (stat & (INT_ROK | INT_RER)) { + if (stat & (INT_ROK | INT_RER | INT_FOVW)) { rtl8169_rx_int(device); PROFILING_ONLY(device->intRxTotalCount++); PROFILING_ONLY(device->intRxCurrentCount++);