patch-2.4.0-test9 linux/drivers/net/sk98lin/skge.c
Next file: linux/drivers/net/sk98lin/skgehwt.c
Previous file: linux/drivers/net/sk98lin/skcsum.c
Back to the patch index
Back to the overall index
- Lines: 108
- Date:
Fri Sep 15 14:34:19 2000
- Orig file:
v2.4.0-test8/linux/drivers/net/sk98lin/skge.c
- Orig date:
Sun Aug 6 22:20:09 2000
diff -u --recursive --new-file v2.4.0-test8/linux/drivers/net/sk98lin/skge.c linux/drivers/net/sk98lin/skge.c
@@ -2,8 +2,8 @@
*
* Name: skge.c
* Project: GEnesis, PCI Gigabit Ethernet Adapter
- * Version: $Revision: 1.27 $
- * Date: $Date: 1999/11/25 09:06:28 $
+ * Version: $Revision: 1.29 $
+ * Date: $Date: 2000/02/21 13:31:56 $
* Purpose: The main driver source module
*
******************************************************************************/
@@ -46,6 +46,25 @@
* History:
*
* $Log: skge.c,v $
+ * Kernel 2.4.x specific:
+ * Revision 1.xx 2000/09/12 13:31:56 cgoos
+ * Fixed missign "dev=NULL in skge_probe.
+ * Added counting for jumbo frames (corrects error statistic).
+ * Removed VLAN tag check (enables VLAN support).
+ *
+ * Kernel 2.2.x specific:
+ * Revision 1.29 2000/02/21 13:31:56 cgoos
+ * Fixed "unused" warning for UltraSPARC change.
+ *
+ * Partially kernel 2.2.x specific:
+ * Revision 1.28 2000/02/21 10:32:36 cgoos
+ * Added fixes for UltraSPARC.
+ * Now printing RlmtMode and PrefPort setting at startup.
+ * Changed XmitFrame return value.
+ * Fixed rx checksum calculation for BIG ENDIAN systems.
+ * Fixed rx jumbo frames counted as ierrors.
+ *
+ *
* Revision 1.27 1999/11/25 09:06:28 cgoos
* Changed base_addr to unsigned long.
*
@@ -225,7 +244,7 @@
static const char SysKonnectFileId[] = "@(#)" __FILE__ " (C) SysKonnect.";
static const char SysKonnectBuildNumber[] =
- "@(#)SK-BUILD: 3.02 (19991111) PL: 01";
+ "@(#)SK-BUILD: 3.05 (20000907) PL: 01";
#include <linux/module.h>
#include <linux/init.h>
@@ -235,10 +254,10 @@
/* defines ******************************************************************/
-#define BOOT_STRING "sk98lin: Network Device Driver v3.02\n" \
- "Copyright (C) 1999 SysKonnect"
+#define BOOT_STRING "sk98lin: Network Device Driver v3.05\n" \
+ "Copyright (C) 1999-2000 SysKonnect"
-#define VER_STRING "3.02"
+#define VER_STRING "3.05"
/* for debuging on x86 only */
@@ -373,6 +392,8 @@
PCI_DEVICE_ID_SYSKONNECT_GE, pdev)) != NULL) {
if (pci_enable_device(pdev))
continue;
+
+ dev = NULL;
dev = init_etherdev(dev, sizeof(SK_AC));
if (dev == NULL) {
@@ -785,6 +806,14 @@
ProductStr(pAC);
printk("%s: %s\n", dev->name, pAC->DeviceStr);
+ /* Print configuration settings */
+ printk(" PrefPort:%c RlmtMode:%s\n",
+ 'A' + pAC->Rlmt.PrefPort,
+ (pAC->RlmtMode==0) ? "ChkLink" :
+ ((pAC->RlmtMode==1) ? "ChkLink" :
+ ((pAC->RlmtMode==3) ? "ChkOth" :
+ ((pAC->RlmtMode==7) ? "ChkSeg" : "Error"))));
+
SkGeYellowLED(pAC, pAC->IoBase, 1);
/*
@@ -1936,6 +1965,10 @@
} /* frame > SK_COPY_TRESHOLD */
FrameStat = pRxd->FrameStat;
+ if ((FrameStat & XMR_FS_LNG_ERR) != 0) {
+ /* jumbo frame, count to correct statistic */
+ SK_PNMI_CNT_RX_LONGFRAMES(pAC, pRxPort->PortIndex);
+ }
pRxd = pRxd->pNextRxd;
pRxPort->pRxdRingHead = pRxd;
pRxPort->RxdRingFree ++;
@@ -1947,9 +1980,9 @@
pRxPort->RxdRingFree));
if ((Control & RX_CTRL_STAT_VALID) == RX_CTRL_STAT_VALID &&
- (FrameStat &
- (XMR_FS_ANY_ERR | XMR_FS_1L_VLAN | XMR_FS_2L_VLAN))
- == 0) {
+ (FrameStat & XMR_FS_ANY_ERR) == 0) {
+ // was the following, changed to allow VLAN support
+ // (XMR_FS_ANY_ERR | XMR_FS_1L_VLAN | XMR_FS_2L_VLAN)
SK_DBG_MSG(NULL, SK_DBGMOD_DRV,
SK_DBGCAT_DRV_RX_PROGRESS,("V"));
ForRlmt = SK_RLMT_RX_PROTOCOL;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)