From 13294d27505250b74f02c396c1da878419b7fb1b Mon Sep 17 00:00:00 2001 From: Francois Romieu Date: Sun, 14 May 2006 12:31:17 +0200 Subject: [PATCH] --- yaml --- r: 35306 b: refs/heads/master c: 9dccf61112e6755f4e6f154c1794bab3c509bc71 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/r8169.c | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index e48f733ef859..b58e755ff054 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a2b98a697fa4e7564f78905b83db122824916cf9 +refs/heads/master: 9dccf61112e6755f4e6f154c1794bab3c509bc71 diff --git a/trunk/drivers/net/r8169.c b/trunk/drivers/net/r8169.c index e8786c4fcac2..ea4f9f7bd071 100644 --- a/trunk/drivers/net/r8169.c +++ b/trunk/drivers/net/r8169.c @@ -257,10 +257,11 @@ enum RTL8169_register_content { RxOK = 0x01, /* RxStatusDesc */ - RxRES = 0x00200000, - RxCRC = 0x00080000, - RxRUNT = 0x00100000, - RxRWT = 0x00400000, + RxFOVF = (1 << 23), + RxRWT = (1 << 22), + RxRES = (1 << 21), + RxRUNT = (1 << 20), + RxCRC = (1 << 19), /* ChipCmdBits */ CmdReset = 0x10, @@ -2465,6 +2466,10 @@ rtl8169_rx_interrupt(struct net_device *dev, struct rtl8169_private *tp, tp->stats.rx_length_errors++; if (status & RxCRC) tp->stats.rx_crc_errors++; + if (status & RxFOVF) { + rtl8169_schedule_work(dev, rtl8169_reset_task); + tp->stats.rx_fifo_errors++; + } rtl8169_mark_to_asic(desc, tp->rx_buf_sz); } else { struct sk_buff *skb = tp->Rx_skbuff[entry];