Fingers crossed, this is the final 3c59x patch for Linux 2.4. But I
have heard very little from users of the Cardbus NICs.
Patch against 2.4.0-test3-pre2 is at
http://www.uow.edu.au/~andrewm/3c59x.patch
Changes since June 6:
- Added support for 3c556, updated pci.ids for this.
- More docco in Documentation/networking/vortex.txt
- The driver wasn't being a good citizen when sharing PCI interrupts.
Potentially crashy as well. Put an explicit test for this at the
start of the ISR.
- Reset the transmitter when a txReclaim error occurs, as per the
datasheet.
- The driver would crash the machine if ALL 32 dev_alloc_skb()'s
failed at initialisation. Now, we return -ENOMEM and fail the open()
if we can't allocate all the skbs.
- The driver would stop receiving and would require ifdown/ifup if it
completely ran out of Rx skbs during operation. (This is caused by
low memory).
To fix this we now kick off a one-second timer which polls until
the OOM condition recovers.
Some other drivers solve this problem by hanging onto the last
remaining skb. That approach has lower OOM-recovery latency than the
timer, but I prefer the timer because it has zero impact on the
complexity of the normal-case code paths. It worked out very nicely.
Net driver developers: patches against 2.2 and 2.4 for testing this
situation are at http://www.uow.edu.au/~andrewm/linux/#dev_alloc_fail
Thanks to Mark Hemment for help with this one.
- The spinlocks around the mdio access functions were blocking
interrupts for 300uSecs on a 400MHz machine. So these were made more
granular and were replaced with spin_lock_bh().
- Make the writes to TxFreeThreshold boomerang-only. This register
is reserved on other NICs.
- Added support for 802.3x MAC-layer flow control. See
Documentation/networking/vortex.txt.
There is a testing tool which generates 802.3x PAUSE frames at
http://www.uow.edu.au/~andrewm/linux/#flow-ctrl
- Additional details, full changelog at
http://www.uow.edu.au/~andrewm/linux/#3c59x-2.3
Things to do in 2.5:
- The Wake-on-LAN functions are still disabled.
- The driver does not support MTU changing. This is needed by
VLAN implementations.
- Utilise the 3c905C's DPD polling to reduce PCI accesses.
- Use MMIO.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Fri Jul 07 2000 - 21:00:10 EST