I almost emptied my TODO. Hurray ;)
2.4 patches are stress-tested. As before, I used UDP flood
in extremely memory constrained box (kernel OOM killed
several processes while I ran test). Looks ok.
2.6.5 kernel have console-related slab corruption issues
on test machine, can't stress-test patches. Compile and boot
tested only. Pings work.
24/*
patches against 2.4.25
26/*
patches against 2.6.5
fealnx.0.diff
replace dev->base_addr with ioaddr
2.4 only: sync with 2.6
fealnx.1.diff
replace magic constants with enums
fealnx.2.diff
add 'static'
fix wrapped comment
fealnx.3.diff
fix pointer substraction bug
fealnx.4.diff
stop doing stop_nic_rx()/writel(np->crvalue, ioaddr+TCRRCR)
in rest_rx_descriptors(), this can inadvertently (re)enable
tx and/or rx.
fealnx.5.diff
introduce stop_nic_rxtx(), use it where makes sense
fealnx.6.diff
Francois' fixes for low memory handling
remove free_one_rx_descriptor(), not used anymore
fealnx.7.diff
Garzik fix (AFAIR): add locking to tx_timeout
fealnx.8.diff
Move reset code from tx_timeout into two separate routines:
reset_and_disable_rxtx() and enable_rxtx()
New function reset_tx_descriptors(): clean up tx ring
after tx_timeout. tx_timeout now does:
reset_and_disable_rxtx()
reset_tx_descriptors()
enable_rxtx()
netif_wake_queue()
Absense of netif_wake_queue() call was probably the cause of
tx_timeout() stalling all future tx.
Add reset timer, fire it 1/2 sec after 'Too much work in interrupt'
It cleans up rx ring and resets device a-la tx_timeout()
Remove stop_nic_tx(), not used anymore
fealnx.9.diff
set_rx_mode() can be called by core code, needs locking.
__set_rx_mode() is a 'dont lock' variant
fealnx.10.diff
replace local delay functions with udelay
fealnx.11.diff
beautify some code a bit
make driver coding style uniform
fix bug in dead code
--
vda
fealnx.tar.gz
Description: application/tgz
|