From 2280e4820ea7e5577cf955cbd8a0a3aa31191353 Mon Sep 17 00:00:00 2001 From: Francois Romieu Date: Sun, 26 Aug 2007 20:08:19 +0200 Subject: [PATCH] --- yaml --- r: 65139 b: refs/heads/master c: d78ae2dcc2acebb9a1048278f47f762c069db75c h: refs/heads/master i: 65137: a55436e6b2f07d62ccf9cae6b742913f7d9a2eca 65135: 2c5717759e59b7c2f9b7f892deb7294994f431c0 v: v3 --- [refs] | 2 +- trunk/drivers/net/r8169.c | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 038d9a052d5e..47b11c006920 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 65d916d95314566f426cc40ff0f17b754a773b0b +refs/heads/master: d78ae2dcc2acebb9a1048278f47f762c069db75c diff --git a/trunk/drivers/net/r8169.c b/trunk/drivers/net/r8169.c index d9bb51bb4b9d..c921ec32c232 100644 --- a/trunk/drivers/net/r8169.c +++ b/trunk/drivers/net/r8169.c @@ -2570,6 +2570,15 @@ static void rtl8169_tx_interrupt(struct net_device *dev, (TX_BUFFS_AVAIL(tp) >= MAX_SKB_FRAGS)) { netif_wake_queue(dev); } + /* + * 8168 hack: TxPoll requests are lost when the Tx packets are + * too close. Let's kick an extra TxPoll request when a burst + * of start_xmit activity is detected (if it is not detected, + * it is slow enough). -- FR + */ + smp_rmb(); + if (tp->cur_tx != dirty_tx) + RTL_W8(TxPoll, NPQ); } }