summary refs log tree commit diff
path: root/drivers/net/gianfar.h
diff options
context:
space:
mode:
authorAndy Fleming <afleming@freescale.com>2008-03-24 10:53:27 -0500
committerJeff Garzik <jeff@garzik.org>2008-03-26 00:44:39 -0400
commit99da5003a5b085c12d996da1010e276e9b88672f (patch)
tree23fb14628162cfd1c64092e1c61327a098b1edf8 /drivers/net/gianfar.h
parentfaa89577621b4296a8869e75b90a546c951df968 (diff)
downloadlinux-99da5003a5b085c12d996da1010e276e9b88672f.tar.gz
gianfar: Only process completed frames
If the LAST bit is not set in the RxBD, it's possible we're processing
an incomplete frame, which is bad.  While we're at it, add a constant
for the error bitmask, so the whole if-clause fits on one line,
and is more legible.

Signed-off-by: Dai Haruki <dai.haruki@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/gianfar.h')
-rw-r--r--drivers/net/gianfar.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/gianfar.h b/drivers/net/gianfar.h
index 5b8991d822fc..fcfa1bd57280 100644
--- a/drivers/net/gianfar.h
+++ b/drivers/net/gianfar.h
@@ -340,6 +340,9 @@ extern const char gfar_driver_version[];
 #define RXBD_OVERRUN		0x0002
 #define RXBD_TRUNCATED		0x0001
 #define RXBD_STATS		0x01ff
+#define RXBD_ERR		(RXBD_LARGE | RXBD_SHORT | RXBD_NONOCTET 	\
+				| RXBD_CRCERR | RXBD_OVERRUN			\
+				| RXBD_TRUNCATED)
 
 /* Rx FCB status field bits */
 #define RXFCB_VLN		0x8000