[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070919195606.GA3871@electric-eye.fr.zoreil.com>
Date: Wed, 19 Sep 2007 21:56:06 +0200
From: Francois Romieu <romieu@...zoreil.com>
To: Jeff Garzik <jeff@...zik.org>
Cc: netdev@...r.kernel.org, akpm@...ux-foundation.org,
David Gundersen <gundy@...et.net.au>,
Edward Hsu <edward_hsu@...ltek.com.tw>,
Sylvain Le Gall <sylvain@...gall.net>,
Roel.Teuwen@...alvas.be
Subject: Pull request for 'r8169-for-jeff-20070919' branch
Please pull from branch 'r8169-for-jeff-20070919' in repository
git://electric-eye.fr.zoreil.com/home/romieu/linux-2.6.git r8169-for-jeff-20070919
to get the fixes below.
Distance from 'linux-2.6.git' (a88a8eff1e6e32d3288986a9d36c6a449c032d3a)
------------------------------------------------------------------------
d78ae2dcc2acebb9a1048278f47f762c069db75c
65d916d95314566f426cc40ff0f17b754a773b0b
Diffstat
--------
drivers/net/r8169.c | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
Shortlog
--------
Edward Hsu (1):
r8169: correct phy parameters for the 8110SC
Francois Romieu (1):
r8169: workaround against ignored TxPoll writes (8168)
Patch
-----
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index b85ab4a..c921ec3 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -1228,7 +1228,10 @@ static void rtl8169_hw_phy_config(struct net_device *dev)
return;
}
- /* phy config for RTL8169s mac_version C chip */
+ if ((tp->mac_version != RTL_GIGA_MAC_VER_02) &&
+ (tp->mac_version != RTL_GIGA_MAC_VER_03))
+ return;
+
mdio_write(ioaddr, 31, 0x0001); //w 31 2 0 1
mdio_write(ioaddr, 21, 0x1000); //w 21 15 0 1000
mdio_write(ioaddr, 24, 0x65c7); //w 24 15 0 65c7
@@ -2567,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);
}
}
--
Ueimor
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists