Skip to content

Commit

Permalink
r8169: RX fifo overflow recovery
Browse files Browse the repository at this point in the history
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
  • Loading branch information
Francois Romieu authored and Francois Romieu committed Jul 26, 2006
1 parent a2b98a6 commit 9dccf61
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions drivers/net/r8169.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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];
Expand Down

0 comments on commit 9dccf61

Please sign in to comment.