From dc88e0e3e5bb00766977203967a6f933644147e6 Mon Sep 17 00:00:00 2001 From: yongari Date: Wed, 16 Jul 2008 08:02:23 +0000 Subject: Fix VR_RXSTAT_RX_OK bit definition which lasted for more than 9 years. All datasheet I have indicates the bit 15 is the VR_RXSTAT_RX_OK. The bit 14 is reserved for all Rhine family except VT6105M. VT6105M uses that bit to indicate a VLAN frame with matching CAM VLAN id. Use the VR_RXSTAT_RX_OK instead of VR_RXSTAT_RXERR when vr(4) checks the validity of received frame. This should fix occasional dropping frames on VT6105M. Tested by: Goran Lowkrantz ( goran.lowkrantz at ismobile dot com ) MFC after: 1 week --- sys/dev/vr/if_vrreg.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'sys/dev/vr/if_vrreg.h') diff --git a/sys/dev/vr/if_vrreg.h b/sys/dev/vr/if_vrreg.h index c51dc2f..a744786 100644 --- a/sys/dev/vr/if_vrreg.h +++ b/sys/dev/vr/if_vrreg.h @@ -455,7 +455,8 @@ struct vr_desc { #define VR_RXSTAT_RX_PHYS 0x00000800 #define VR_RXSTAT_RX_BROAD 0x00001000 #define VR_RXSTAT_RX_MULTI 0x00002000 -#define VR_RXSTAT_RX_OK 0x00004000 +#define VR_RXSTAT_RX_VIDHIT 0x00004000 /* 6105M */ +#define VR_RXSTAT_RX_OK 0x00008000 #define VR_RXSTAT_RXLEN 0x07FF0000 #define VR_RXSTAT_RXLEN_EXT 0x78000000 #define VR_RXSTAT_OWN 0x80000000 -- cgit v1.1