lkml.org 
[lkml]   [2000]   [Jul]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[patch] drivers/net/3c59x.c
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/

\
 
 \ /
  Last update: 2005-03-22 13:57    [W:0.086 / U:0.200 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site