Skip to contentSkip to conversation

yellowfin.c

PATCH Applied Val Henson 2 participants 2 messages Feb 12, 2002

lore
Share & tools
lore

Val Henson

author
#0 lore raw

PATCH 1/1 yellowfin.c

Here's a patch to drivers/net/yellowfin.c, against Linux 2.4.18-pre7. I'd send you the bk style patches, but I'm using the linuxppc tree at the moment. Here's the next best thing, a bk generated diff.

Note: If you have a yellowfin, PLEASE test this driver and let me know if it still works for you. I can only test it on the Symbios card.

ChangeSet comments extracted below:

Check for a truly oversized ethernet frame before complaining about it. Also, fix a theoretical bug on the gigabit card by adding DontUseEeprom to its flags (returns the driver to LK1.1.3 behavior).

-VAL

# This is a BitKeeper generated patch for the following project:
# Project Name: Linux 2.4 for PowerPC development tree
# This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas:
# ChangeSet 1.202 -> 1.203
# drivers/net/yellowfin.c 1.18 -> 1.19
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 02/02/11 [email protected] 1.203
# Check for a truly oversized ethernet frame before complaining about it. # Also, fix a theoretical bug on the gigabit card by adding DontUseEeprom to

# its flags (returns the driver to LK1.1.3 behavior).
# --------------------------------------------
#
diff -Nru a/drivers/net/yellowfin.c b/drivers/net/yellowfin.c
--- a/drivers/net/yellowfin.c	Mon Feb 11 22:56:50 2002
+++ b/drivers/net/yellowfin.c	Mon Feb 11 22:56:50 2002
@@ -40,12 +40,16 @@

LK1.1.5 ([email protected]):
* Fix forced full-duplex bug I introduced
+
+ LK1.1.6 ([email protected]):
+ * Only print warning on truly "oversized" packets
+ * Fix theoretical bug on gigabit cards - return to 1.1.3 behavior

*/

#define DRV_NAME "yellowfin"
-#define DRV_VERSION "1.05+LK1.1.5"
-#define DRV_RELDATE "May 10, 2001"
+#define DRV_VERSION "1.05+LK1.1.6"
+#define DRV_RELDATE "Feb 11, 2002"

#define PFX DRV_NAME ": "

@@ -176,8 +180,8 @@
I. Board Compatibility

This device driver is designed for the Packet Engines "Yellowfin" Gigabit
-Ethernet adapter. The only PCA currently supported is the G-NIC 64-bit -PCI card.
+Ethernet adapter. The G-NIC 64-bit PCI card is supported, as well as the +Symbios 53C885E dual function chip.

II. Board-specific settings

@@ -259,7 +263,8 @@
};
enum capability_flags {
HasMII=1, FullTxStatus=2, IsGigabit=4, HasMulticastBug=8, FullRxStatus=16,
- HasMACAddrBug=32, DontUseEeprom=64, /* Only on early revs. */
+ HasMACAddrBug=32, /* Only on early revs. */
+ DontUseEeprom=64, /* Don't read the MAC from the EEPROm. */
};
/* The PCI I/O space extent. */
#define YELLOWFIN_SIZE 0x100
@@ -283,7 +288,7 @@
static struct pci_id_info pci_id_tbl[] = {
{"Yellowfin G-NIC Gigabit Ethernet", { 0x07021000, 0xffffffff},
PCI_IOTYPE, YELLOWFIN_SIZE,

-	 FullTxStatus | IsGigabit | HasMulticastBug | HasMACAddrBug},
+	 FullTxStatus | IsGigabit | HasMulticastBug | HasMACAddrBug | DontUseEeprom},

{"Symbios SYM83C885", { 0x07011000, 0xffffffff},
PCI_IOTYPE, YELLOWFIN_SIZE, HasMII | DontUseEeprom },
{0,},
@@ -1125,8 +1130,9 @@
if (--boguscnt < 0)
break;
if ( ! (desc_status & RX_EOP)) {
- printk(KERN_WARNING "%s: Oversized Ethernet frame spanned multiple buffers,"
- " status %4.4x!\n", dev->name, desc_status);
+ if (data_size != 0)
+ printk(KERN_WARNING "%s: Oversized Ethernet frame spanned multiple buffers,"
+ " status %4.4x, data_size %d!\n", dev->name, desc_status, data_size);
yp->stats.rx_length_errors++;
} else if ((yp->drv_flags & IsGigabit) && (frame_status & 0x0038)) {
/* There was a error. */

Applied
#1 lore raw

Thanks, applied to 2.4 and 2.5.

Signature · 3 lines
Jeff Garzik      | "I went through my candy like hot oatmeal
Building 1024    |  through an internally-buttered weasel."
MandrakeSoft     |             - goats.com