diff options
-rw-r--r-- | drivers/net/gianfar.c | 4 | ||||
-rw-r--r-- | drivers/net/gianfar.h | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c index 0ab4b26c79a5..a59edf7eacdc 100644 --- a/drivers/net/gianfar.c +++ b/drivers/net/gianfar.c | |||
@@ -1526,9 +1526,7 @@ int gfar_clean_rx_ring(struct net_device *dev, int rx_work_limit) | |||
1526 | rmb(); | 1526 | rmb(); |
1527 | skb = priv->rx_skbuff[priv->skb_currx]; | 1527 | skb = priv->rx_skbuff[priv->skb_currx]; |
1528 | 1528 | ||
1529 | if (!(bdp->status & | 1529 | if ((bdp->status & RXBD_LAST) && !(bdp->status & RXBD_ERR)) { |
1530 | (RXBD_LARGE | RXBD_SHORT | RXBD_NONOCTET | ||
1531 | | RXBD_CRCERR | RXBD_OVERRUN | RXBD_TRUNCATED))) { | ||
1532 | /* Increment the number of packets */ | 1530 | /* Increment the number of packets */ |
1533 | dev->stats.rx_packets++; | 1531 | dev->stats.rx_packets++; |
1534 | howmany++; | 1532 | howmany++; |
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[]; | |||
340 | #define RXBD_OVERRUN 0x0002 | 340 | #define RXBD_OVERRUN 0x0002 |
341 | #define RXBD_TRUNCATED 0x0001 | 341 | #define RXBD_TRUNCATED 0x0001 |
342 | #define RXBD_STATS 0x01ff | 342 | #define RXBD_STATS 0x01ff |
343 | #define RXBD_ERR (RXBD_LARGE | RXBD_SHORT | RXBD_NONOCTET \ | ||
344 | | RXBD_CRCERR | RXBD_OVERRUN \ | ||
345 | | RXBD_TRUNCATED) | ||
343 | 346 | ||
344 | /* Rx FCB status field bits */ | 347 | /* Rx FCB status field bits */ |
345 | #define RXFCB_VLN 0x8000 | 348 | #define RXFCB_VLN 0x8000 |