diff options
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/ic/xl.c | 9 | ||||
-rw-r--r-- | sys/dev/ic/xlreg.h | 3 |
2 files changed, 10 insertions, 2 deletions
diff --git a/sys/dev/ic/xl.c b/sys/dev/ic/xl.c index 822edcf219d..e8c5d625342 100644 --- a/sys/dev/ic/xl.c +++ b/sys/dev/ic/xl.c @@ -1,4 +1,4 @@ -/* $OpenBSD: xl.c,v 1.16 2000/10/16 17:08:07 aaron Exp $ */ +/* $OpenBSD: xl.c,v 1.17 2000/10/19 16:33:51 jason Exp $ */ /* * Copyright (c) 1997, 1998, 1999 @@ -106,6 +106,7 @@ */ #include "bpfilter.h" +#include "vlan.h" #include <sys/param.h> #include <sys/systm.h> @@ -2027,6 +2028,12 @@ void xl_init(xsc) else CSR_WRITE_2(sc, XL_COMMAND, XL_CMD_COAX_STOP); +#if NVLAN > 0 + /* Set max packet size to handle VLAN frames, only on 3c905B */ + if (sc->xl_type == XL_TYPE_905B) + CSR_WRITE_2(sc, XL_W3_MAX_PKT_SIZE, 1514 + 4); +#endif + /* Clear out the stats counters. */ CSR_WRITE_2(sc, XL_COMMAND, XL_CMD_STATS_DISABLE); sc->xl_stats_no_timeout = 1; diff --git a/sys/dev/ic/xlreg.h b/sys/dev/ic/xlreg.h index 822a3fcb6b3..7d0f7c3aaa0 100644 --- a/sys/dev/ic/xlreg.h +++ b/sys/dev/ic/xlreg.h @@ -1,4 +1,4 @@ -/* $OpenBSD: xlreg.h,v 1.6 2000/09/29 05:28:29 aaron Exp $ */ +/* $OpenBSD: xlreg.h,v 1.7 2000/10/19 16:33:52 jason Exp $ */ /* * Copyright (c) 1997, 1998 @@ -254,6 +254,7 @@ * Window 3 (fifo management) */ #define XL_W3_INTERNAL_CFG 0x00 +#define XL_W3_MAX_PKT_SIZE 0x04 /* 3C905B only */ #define XL_W3_RESET_OPT 0x08 #define XL_W3_FREE_TX 0x0C #define XL_W3_FREE_RX 0x0A |