android_kernel_xiaomi_sm7250/drivers/net
Linas Vepstas 4c4bd5a97a spidernet: Cure RX ram full bug
This patch fixes a rare deadlock that can occur when the kernel
is not able to empty out the RX ring quickly enough. Below follows
a detailed description of the bug and the fix.

As long as the OS can empty out the RX buffers at a rate faster than
the hardware can fill them, there is no problem. If, for some reason,
the OS fails to empty the RX ring fast enough, the hardware GDACTDPA
pointer will catch up to the head, notice the not-empty condition,
ad stop. However, RX packets may still continue arriving on the wire.
The spidernet chip can save some limited number of these in local RAM.
When this local ram fills up, the spider chip will issue an interrupt
indicating this (GHIINT0STS will show ERRINT, and the GRMFLLINT bit
will be set in GHIINT1STS).  When te RX ram full condition occurs,
a certain bug/feature is triggered that has to be specially handled.
This section describes the special handling for this condition.

When the OS finally has a chance to run, it will empty out the RX ring.
In particular, it will clear the descriptor on which the hardware had
stopped. However, once the hardware has decided that a certain
descriptor is invalid, it will not restart at that descriptor; instead
it will restart at the next descr. This potentially will lead to a
deadlock condition, as the tail pointer will be pointing at this descr,
which, from the OS point of view, is empty; the OS will be waiting for
this descr to be filled. However, the hardware has skipped this descr,
and is filling the next descrs. Since the OS doesn't see this, there
is a potential deadlock, with the OS waiting for one descr to fill,
while the hardware is waiting for a differen set of descrs to become
empty.

A call to show_rx_chain() at this point indicates the nature of the
problem. A typical print when the network is hung shows the following:

net eth1: Spider RX RAM full, incoming packets might be discarded!
net eth1: Total number of descrs=256
net eth1: Chain tail located at descr=255
net eth1: Chain head is at 255
net eth1: HW curr desc (GDACTDPA) is at 0
net eth1: Have 1 descrs with stat=xa0800000
net eth1: HW next desc (GDACNEXTDA) is at 1
net eth1: Have 127 descrs with stat=x40800101
net eth1: Have 1 descrs with stat=x40800001
net eth1: Have 126 descrs with stat=x40800101
net eth1: Last 1 descrs with stat=xa0800000

Both the tail and head pointers are pointing at descr 255, which is
marked xa... which is "empty". Thus, from the OS point of view, there
is nothing to be done. In particular, there is the implicit assumption
that everything in front of the "empty" descr must surely also be empty,
as explained in the last section. The OS is waiting for descr 255 to
become non-empty, which, in this case, will never happen.

The HW pointer is at descr 0. This descr is marked 0x4.. or "full".
Since its already full, the hardware can do nothing more, and thus has
halted processing. Notice that descrs 0 through 254 are all marked
"full", while descr 254 and 255 are empty. (The "Last 1 descrs" is
descr 254, since tail was at 255.) Thus, the system is deadlocked,
and there can be no forward progress; the OS thinks there's nothing
to do, and the hardware has nowhere to put incoming data.

This bug/feature is worked around with the spider_net_resync_head_ptr()
routine. When the driver receives RX interrupts, but an examination
of the RX chain seems to show it is empty, then it is probable that
the hardware has skipped a descr or two (sometimes dozens under heavy
network conditions). The spider_net_resync_head_ptr() subroutine will
search the ring for the next full descr, and the driver will resume
operations there.  Since this will leave "holes" in the ring, there
is also a spider_net_resync_tail_ptr() that will skip over such holes.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-06-20 19:09:32 -04:00
..
appletalk [SK_BUFF]: Introduce skb_copy_to_linear_data{_offset} 2007-04-25 22:28:29 -07:00
arcnet [ARCNET]: Use menuconfig objects. 2007-05-24 16:36:51 -07:00
arm [ARM] ecard: add ecardm_iomap() / ecardm_iounmap() 2007-05-11 17:19:02 +01:00
atl1 atl1: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
bonding Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
chelsio network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
cris [SK_BUFF]: Convert skb->end to sk_buff_data_t 2007-04-25 22:26:29 -07:00
cxgb3 network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
e1000 e1000: disable polling before registering netdevice 2007-06-03 11:44:20 -04:00
ehea ehea: Fixed possible kernel panic on VLAN packet recv 2007-06-09 18:25:35 -04:00
fec_8xx parse errors in ifdefs 2007-06-01 08:18:28 -07:00
fs_enet [POWERPC] Change rheap functions to use ulongs instead of pointers 2007-05-09 23:01:43 -05:00
hamradio Fix "deprecated" typoes. 2007-05-09 07:18:01 +02:00
ibm_emac ibm_emac: fix link speed detection change 2007-05-17 20:43:15 -04:00
irda [IrDA]: KingSun/DonShine USB IrDA dongle support. 2007-05-10 23:46:13 -07:00
ixgb ixgb: don't print error if pci_enable_msi() fails, cleanup minor leak 2007-05-17 20:43:15 -04:00
ixp2000 [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
mlx4 IB/mlx4: Handle FW command interface rev 3 2007-06-18 08:15:02 -07:00
myri10ge myri10ge: update driver version 2007-06-12 18:58:58 -04:00
netxen NetXen: Fix link status messages 2007-06-12 18:58:58 -04:00
pcmcia Use menuconfig objects II - netdev/pcmcia 2007-05-11 17:53:23 -04:00
phy phylib: add RGMII-ID mode to the Marvell m88e1111 PHY to fix broken ucc_geth 2007-06-09 18:25:35 -04:00
sk98lin sk98lin: handle pci_enable_device() return value in skge_resume() 2007-04-28 11:00:57 -04:00
skfp potential parse error in ifdef 2007-06-01 08:18:27 -07:00
tokenring [TR]: Use menuconfig objects. 2007-05-24 16:36:52 -07:00
tulip Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
usb net: fix typo in drivers/net/usb/Kconfig 2007-06-09 19:01:15 -04:00
wan Use menuconfig objects II - netdev/wan 2007-05-11 17:53:26 -04:00
wireless [PATCH] libertas: convert libertas_mpp into anycast_mask 2007-06-12 14:07:54 -04:00
3c59x.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
3c501.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
3c501.h
3c503.c
3c503.h
3c505.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
3c505.h
3c507.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
3c509.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
3c515.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
3c523.c [NET]: Fix warnings in 3c523.c and ni52.c 2007-04-25 22:28:27 -07:00
3c523.h
3c527.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
3c527.h
7990.c m68k: kill skb_copy_from_linear_data compiler warnings 2007-05-04 17:59:08 -07:00
7990.h
8139cp.c 8139cp: fix VLAN unregistration 2007-06-03 11:44:20 -04:00
8139too.c [SK_BUFF]: Introduce skb_copy_to_linear_data{_offset} 2007-04-25 22:28:29 -07:00
8390.c
8390.h
82596.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
a2065.c m68k: kill skb_copy_from_linear_data compiler warnings 2007-05-04 17:59:08 -07:00
a2065.h
ac3200.c
acenic_firmware.h
acenic.c network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
acenic.h network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
amd8111e.c network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
amd8111e.h potential parse error in ifdef 2007-06-01 08:18:27 -07:00
apne.c
ariadne.c m68k: Amiga A2065 and Ariadne TX statistics 2007-05-04 17:59:07 -07:00
ariadne.h
at1700.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
atari_bionet.c [SK_BUFF]: Introduce skb_copy_to_linear_data{_offset} 2007-04-25 22:28:29 -07:00
atari_pamsnet.c [SK_BUFF]: Introduce skb_copy_to_linear_data{_offset} 2007-04-25 22:28:29 -07:00
atarilance.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
atp.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
atp.h
au1000_eth.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
au1000_eth.h
b44.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
b44.h
bmac.c [POWERPC] Rename get_property to of_get_property: drivers 2007-05-02 20:04:32 +10:00
bmac.h
bnx2_fw2.h [BNX2]: Update 5709 firmware. 2007-05-03 13:21:48 -07:00
bnx2_fw.h [BNX2]: Update 5708 firmware. 2007-05-03 13:21:13 -07:00
bnx2.c [BNX2]: Update version and reldate. 2007-06-07 13:38:40 -07:00
bnx2.h [BNX2]: Enable DMA on 5709. 2007-06-07 13:38:38 -07:00
bsd_comp.c
cassini.c [CASSINI]: Fix printk message typo. 2007-05-31 01:23:22 -07:00
cassini.h
cs89x0.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
cs89x0.h
de600.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
de600.h
de620.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
de620.h
declance.c declance: Remove a dangling spin_unlock_irq() thingy 2007-05-21 19:41:19 -04:00
defxx.c defxx: Fix the handling of ioremap() failures 2007-05-30 09:52:48 -04:00
defxx.h
depca.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
depca.h
dgrs_asstruct.h
dgrs_bcomm.h
dgrs_es4h.h
dgrs_ether.h
dgrs_firmware.c
dgrs_i82596.h
dgrs_plx9060.h
dgrs.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
dgrs.h
dl2k.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
dl2k.h
dm9000.c drivers/net/dm9000: Convert to generic boolean 2007-05-08 01:41:56 -04:00
dm9000.h
dummy.c
e100.c Revert "[netdrvr e100] experiment with doing RX in a similar manner to eepro100" 2007-06-12 18:52:31 -04:00
e2100.c
eepro100.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
eepro.c Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
eexpress.c [netdrvr] eexpress: minor corrections 2007-04-28 11:05:43 -04:00
eexpress.h
epic100.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
eql.c
es3210.c
eth16i.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
ewrk3.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
ewrk3.h
fealnx.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
fec.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
fec.h
forcedeth.c network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
gianfar_ethtool.c
gianfar_mii.c
gianfar_mii.h
gianfar_sysfs.c
gianfar.c network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
gianfar.h
hamachi.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
hp100.c net/hp100: fix section mismatch warning 2007-06-01 08:18:30 -07:00
hp100.h
hp-plus.c
hp.c
hplance.c
hplance.h
hydra.c
ibmlana.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
ibmlana.h
ibmveth.c ibmveth: Automatically enable larger rx buffer pools for larger mtu 2007-06-09 18:25:34 -04:00
ibmveth.h
ifb.c [IFB]: Fix crash on input device removal 2007-03-29 11:46:52 -07:00
ioc3-eth.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
isa-skeleton.c
iseries_veth.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
jazzsonic.c SONIC interrupt handling 2007-05-04 17:59:08 -07:00
Kconfig Add select PHYLIB to the UCC_GETH Kconfig option 2007-06-01 08:18:27 -07:00
lance.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
lasi_82596.c [PARISC] fix lasi_82596 build 2007-05-27 12:03:36 -04:00
lib8390.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
LICENSE.SRC
lne390.c
loopback.c [NET]: loopback driver can use loopback_dev integrated net_device_stats 2007-04-25 22:28:52 -07:00
lp486e.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
mac89x0.c m68k: Mac89x0 Ethernet netif updates 2007-05-04 17:59:06 -07:00
mac8390.c m68k: Mac DP8390 update 2007-05-04 17:59:07 -07:00
macb.c [SK_BUFF]: Introduce skb_copy_to_linear_data{_offset} 2007-04-25 22:28:29 -07:00
macb.h
mace.c [POWERPC] Rename get_property to of_get_property: drivers 2007-05-02 20:04:32 +10:00
mace.h
macmace.c m68k: macmace fixes 2007-05-04 17:59:07 -07:00
macsonic.c SONIC interrupt handling 2007-05-04 17:59:08 -07:00
Makefile Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband 2007-05-09 19:40:09 -07:00
meth.c meth driver renovation 2007-05-24 17:20:49 -04:00
meth.h Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
mii.c mii: add kernel-doc notation 2007-04-28 11:01:05 -04:00
mipsnet.c [MIPS] Don't drag a platform specific header into generic arch code. 2007-06-20 22:27:10 +01:00
mipsnet.h
mv643xx_eth.c mv643xx_eth: make eth_port_uc_addr_{get,set}() calls symmetric 2007-04-28 11:01:02 -04:00
mv643xx_eth.h mv643xx_eth: make eth_port_uc_addr_{get,set}() calls symmetric 2007-04-28 11:01:02 -04:00
mvme147.c
myri_code.h
myri_sbus.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
myri_sbus.h
natsemi.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
ne2.c
ne2k-pci.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
ne3210.c
ne-h8300.c
ne.c ne: MIPS: Use platform_driver for ne on RBTX49XX 2007-05-08 01:23:09 -04:00
netconsole.c
netx-eth.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
ni52.c [NET]: Fix warnings in 3c523.c and ni52.c 2007-04-25 22:28:27 -07:00
ni52.h
ni65.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
ni65.h
ni5010.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
ni5010.h
ns83820.c network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
pasemi_mac.c pasemi_mac: Fix local-mac-address parsing 2007-05-15 17:44:39 -04:00
pasemi_mac.h pasemi_mac: Fix register defines 2007-05-15 17:44:39 -04:00
pci-skeleton.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
pcnet32.c pcnet32: change to use netdev_priv 2007-04-28 11:00:58 -04:00
plip.c [SK_BUFF]: Introduce skb_mac_header() 2007-04-25 22:24:41 -07:00
ppp_async.c [PPP]: Fix skbuff.c:BUG due incorrect logic in process_input_packet() 2007-04-19 13:05:52 -07:00
ppp_deflate.c
ppp_generic.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
ppp_mppe.c [PPP_MPPE]: Fix "osize too small" check. 2007-06-12 14:16:59 -07:00
ppp_mppe.h
ppp_synctty.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
pppoe.c [PPPOE]: Fix device tear-down notification. 2007-04-25 22:29:21 -07:00
pppox.c [L2TP]: Add the ability to autoload a pppox protocol module. 2007-04-30 00:21:02 -07:00
qla3xxx.c qla3xxx: device doesnt do hardware checksumming. 2007-06-03 11:44:19 -04:00
qla3xxx.h qla3xxx: Adding support for the Agere PHY (ET1011C) 2007-04-28 11:01:02 -04:00
r8169.c network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
rionet.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
rrunner.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
rrunner.h
s2io-regs.h S2io: Remove unused variables 2007-04-28 11:01:01 -04:00
s2io.c network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
s2io.h S2IO: Statistics for link up/down and memory allocated/freed 2007-05-11 17:53:11 -04:00
saa9730.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
saa9730.h
sb1000.c [SK_BUFF]: Introduce skb_reset_mac_header(skb) 2007-04-25 22:24:32 -07:00
sb1250-mac.c add NAPI support to sb1250-mac.c 2007-04-28 11:01:07 -04:00
sc92031.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
seeq8005.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
seeq8005.h
sgiseeq.c Convert SGI IP22 and specific drivers to platform_device. 2007-05-11 17:00:29 +01:00
sgiseeq.h
shaper.c
sis190.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
sis900.c sis900: Allocate rx replacement buffer before rx operation 2007-04-27 20:16:41 -04:00
sis900.h
skge.c skge: crash on shutdown/suspend 2007-05-11 17:53:36 -04:00
skge.h skge: rearrange fields 2007-04-28 11:01:00 -04:00
sky2.c sky2: Fix VLAN unregistration 2007-06-03 11:44:19 -04:00
sky2.h sky2: enable IRQ on duplex renegotiation 2007-05-30 09:54:32 -04:00
slhc.c
slip.c [SK_BUFF]: Introduce skb_mac_header() 2007-04-25 22:24:41 -07:00
slip.h
smc91x.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
smc91x.h Blackfin SMC91X ethernet supporting driver: SMC91C111 LEDs are note drived in the kernel like in uboot 2007-06-11 17:44:14 +08:00
smc911x.c smc911x: fix compilation breakage 2007-05-15 17:44:39 -04:00
smc911x.h
smc9194.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.c
sonic.c SONIC interrupt handling 2007-05-04 17:59:08 -07:00
sonic.h
Space.c m68k: macmace fixes 2007-05-04 17:59:07 -07:00
spider_net_ethtool.c
spider_net.c spidernet: Cure RX ram full bug 2007-06-20 19:09:32 -04:00
spider_net.h spidernet: Cure RX ram full bug 2007-06-20 19:09:32 -04:00
starfire_firmware.h
starfire_firmware.pl
starfire.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
stnic.c
sun3_82586.c m68k: kill skb_copy_from_linear_data compiler warnings 2007-05-04 17:59:08 -07:00
sun3_82586.h
sun3lance.c [SK_BUFF]: Introduce skb_copy_to_linear_data{_offset} 2007-04-25 22:28:29 -07:00
sunbmac.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
sunbmac.h
sundance.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
sungem_phy.c [POWERPC] Rename get_property to of_get_property: drivers 2007-05-02 20:04:32 +10:00
sungem_phy.h
sungem.c [POWERPC] Rename get_property to of_get_property: drivers 2007-05-02 20:04:32 +10:00
sungem.h [SUNGEM]: Consolidate powerpc and sparc MAC probing code. 2007-04-26 01:54:48 -07:00
sunhme.c Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 2007-04-27 09:29:04 -07:00
sunhme.h
sunlance.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
sunqe.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
sunqe.h
tc35815.c tc35815: Remove unnecessary skb->dev assignment 2007-05-08 01:41:56 -04:00
tg3.c [TG3]: Fix link problem on Dell's onboard 5906. 2007-06-03 18:08:41 -07:00
tg3.h tg3: use flush_work_keventd() 2007-05-09 12:30:51 -07:00
tlan.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
tlan.h
tsi108_eth.c [POWERPC] Generalize tsi108 PHY types 2007-05-08 11:54:20 +10:00
tsi108_eth.h [POWERPC] Generalize tsi108 PHY types 2007-05-08 11:54:20 +10:00
tun.c [NET] tun/tap: fixed hw address handling 2007-04-26 01:00:55 -07:00
typhoon-firmware.h
typhoon.c network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
typhoon.h
ucc_geth_mii.c ucc_geth: Fix MODULE_DEVICE_TABLE() duplication 2007-05-24 17:20:48 -04:00
ucc_geth_mii.h ucc_geth: eliminate max-speed, change interface-type to phy-connection-type 2007-05-15 17:44:40 -04:00
ucc_geth.c ucc_geth:trivial fix 2007-05-24 17:20:48 -04:00
ucc_geth.h ucc_geth: Fix interrupt coalescing size and alignment 2007-04-28 11:01:04 -04:00
via-rhine.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
via-velocity.c typo in via-velocity.c 2007-06-09 18:25:34 -04:00
via-velocity.h
wd.c
yellowfin.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
znet.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
zorro8390.c