Re: [PATCH] Fix kernel lockup in RTL-8169 gigabit ethernet driver
From: Dieter Nützel <hidden>
Date: 2004-04-05 23:08:33
Also in:
lkml
Francois Romieu [off-list ref] wrote:
Manfred Spraul [off-list ref] : [...]quoted
tx_left counts packets submitted by hard_xmit_start to the hardware. Initially OWNbit is set, the packet is owned by the nic. The OWNbit is cleared by the hardware after the packet was sent. A packet with OWNbit set means that the nic didn't send it yet to the wire. I think the "else break;" patch is correct, but someone with docs should confirm that.Realtek Gigabit Ethernet Media Access Controller with power management R8169 Rev.1.21, p.54 [...] Ownership: This bit, when set, indicates that the descriptor is owned by the NIC. When cleared, it indicates that the descriptor is owned by the host system. NIC clears this bit when the relative buffer data is already transmitted. In this case, OWN=0. [...]quoted
Perhaps gcc optimized away the reload from memory and loops on aPoint taken.
Isn't the "current" RTL8169s (32/64) driver much outdated?
I got a version # 1.6 with all my cards.
Anyone what a copy?
/*
=========================================================================
r8169.c: A RealTek RTL8169s/8110s Gigabit Ethernet driver for Linux kernel
2.4.x.
--------------------------------------------------------------------
History:
Feb 4 2002 - created initially by ShuChen [off-list ref].
May 20 2002 - Add link status force-mode and TBI mode support.
=========================================================================
1. The media can be forced in 5 modes.
Command: 'insmod r8169 media = SET_MEDIA'
Ex: 'insmod r8169 media = 0x04' will force PHY to operate in 100Mpbs
Half-duplex.
SET_MEDIA can be:
_10_Half = 0x01
_10_Full = 0x02
_100_Half = 0x04
_100_Full = 0x08
_1000_Full = 0x10
2. Support TBI mode.
//=========================================================================
RTL8169_VERSION "1.1" <2002/10/4>
The bit4:0 of MII register 4 is called "selector field", and have to be
00001b to indicate support of IEEE std 802.3 during NWay process of
exchanging Link Code Word (FLP).
RTL8169_VERSION "1.2" <2003/6/17>
Update driver module name.
Modify ISR.
Add chip mac_version.
RTL8169_VERSION "1.3" <2003/6/20>
Add chip phy_version.
Add priv->phy_timer_t, rtl8169_phy_timer_t_handler()
Add rtl8169_hw_PHY_config()
Add rtl8169_hw_PHY_reset()
RTL8169_VERSION "1.4" <2003/7/14>
Add tx_bytes, rx_bytes.
RTL8169_VERSION "1.5" <2003/7/18>
Set 0x0000 to PHY at offset 0x0b.
Modify chip mac_version, phy_version
Force media for multiple card.
RTL8169_VERSION "1.6" <2003/8/25>
Modify receive data buffer.
*/
Greetings,
Dieter
--
Dieter Nützel
@home: <Dieter.Nuetzel () hamburg ! de>