Module Name:    src
Committed By:   rin
Date:           Thu Jan 31 15:27:57 UTC 2019

Modified Files:
        src/sys/dev/usb: if_axen.c if_axenreg.h

Log Message:
Correct error bits in RX packet header:
- Drop error is bit 31.
- CRC error is bit 29.
- Distinguish the two errors in debug printf.


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/sys/dev/usb/if_axen.c
cvs rdiff -u -r1.5 -r1.6 src/sys/dev/usb/if_axenreg.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/usb/if_axen.c
diff -u src/sys/dev/usb/if_axen.c:1.23 src/sys/dev/usb/if_axen.c:1.24
--- src/sys/dev/usb/if_axen.c:1.23	Thu Jan 31 15:26:24 2019
+++ src/sys/dev/usb/if_axen.c	Thu Jan 31 15:27:57 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_axen.c,v 1.23 2019/01/31 15:26:24 rin Exp $	*/
+/*	$NetBSD: if_axen.c,v 1.24 2019/01/31 15:27:57 rin Exp $	*/
 /*	$OpenBSD: if_axen.c,v 1.3 2013/10/21 10:10:22 yuo Exp $	*/
 
 /*
@@ -23,7 +23,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_axen.c,v 1.23 2019/01/31 15:26:24 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_axen.c,v 1.24 2019/01/31 15:27:57 rin Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -1081,12 +1081,13 @@ axen_rxeof(struct usbd_xfer *xfer, void 
 		    ("%s: rxeof: packet#%d, pkt_hdr 0x%08x, pkt_len %zu\n",
 		   device_xname(sc->axen_dev), pkt_count, pkt_hdr, pkt_len));
 
-		if ((pkt_hdr & AXEN_RXHDR_CRC_ERR) ||
-	    	    (pkt_hdr & AXEN_RXHDR_DROP_ERR)) {
+		if (pkt_hdr & (AXEN_RXHDR_CRC_ERR | AXEN_RXHDR_DROP_ERR)) {
 	    		ifp->if_ierrors++;
 			/* move to next pkt header */
-			DPRINTF(("%s: crc err (pkt#%d)\n",
-			    device_xname(sc->axen_dev), pkt_count));
+			DPRINTF(("%s: %s err (pkt#%d)\n",
+			    device_xname(sc->axen_dev),
+			    (pkt_hdr & AXEN_RXHDR_CRC_ERR) ? "crc" : "drop",
+			    pkt_count));
 			goto nextpkt;
 		}
 

Index: src/sys/dev/usb/if_axenreg.h
diff -u src/sys/dev/usb/if_axenreg.h:1.5 src/sys/dev/usb/if_axenreg.h:1.6
--- src/sys/dev/usb/if_axenreg.h:1.5	Thu Jan 31 15:26:24 2019
+++ src/sys/dev/usb/if_axenreg.h	Thu Jan 31 15:27:57 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_axenreg.h,v 1.5 2019/01/31 15:26:24 rin Exp $	*/
+/*	$NetBSD: if_axenreg.h,v 1.6 2019/01/31 15:27:57 rin Exp $	*/
 /*	$OpenBSD: if_axenreg.h,v 1.1 2013/10/07 05:37:41 yuo Exp $	*/
 
 /*
@@ -30,8 +30,8 @@
  *                     |    |     ++-----L3_type (1:ipv4, 0/2:ipv6)
  *        pkt_len(13)  |    |     ||+ ++-L4_type(0: icmp, 1: UDP, 4: TCP)
  * |765|43210 76543210|7654 3210 7654 3210|
- *  |+-Drop_err               |+-L4_err |+-L4_CSUM_ERR
- *  +--crc_err                +--L3_err +--L3_CSUM_ERR
+ *  | +-crc_err               |+-L4_err |+-L4_CSUM_ERR
+ *  +--drop_err                +--L3_err +--L3_CSUM_ERR
  *
  * ex) pkt_hdr 0x00680820
  *      drop_err, crc_err: none
@@ -55,8 +55,8 @@
  *  0x0850: ipv6 tcp (ssh)		0000 1000 0101 0000
  */
 
-#define	AXEN_RXHDR_CRC_ERR	(1 << 31)
-#define	AXEN_RXHDR_DROP_ERR	(1 << 30)
+#define	AXEN_RXHDR_DROP_ERR	(1 << 31)
+#define	AXEN_RXHDR_CRC_ERR	(1 << 29)
 #define AXEN_RXHDR_MCAST	(1 << 15)
 #define AXEN_RXHDR_RX_OK	(1 << 11)
 #define	AXEN_RXHDR_L3_ERR	(1 << 9)

Reply via email to