From e093395b79c1859e60c5a6cd0af50385e51c58bf Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Sun, 3 Jul 2011 23:56:22 +0000 Subject: [PATCH] --- yaml --- r: 256049 b: refs/heads/master c: d8ce2fc1adc38fb8c71bbf44b87a982bbee5cda0 h: refs/heads/master i: 256047: f6130ed6b614cae4a0275bc48835abd098f6b834 v: v3 --- [refs] | 2 +- trunk/drivers/net/ewrk3.c | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index c989bf913da4..a8c140a663a5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2effca33194749cc3d5c2fdae52dcd8a7d6556e5 +refs/heads/master: d8ce2fc1adc38fb8c71bbf44b87a982bbee5cda0 diff --git a/trunk/drivers/net/ewrk3.c b/trunk/drivers/net/ewrk3.c index b5f6173130f4..d1e229f9e540 100644 --- a/trunk/drivers/net/ewrk3.c +++ b/trunk/drivers/net/ewrk3.c @@ -1008,15 +1008,13 @@ static int ewrk3_rx(struct net_device *dev) } } p = skb->data; /* Look at the dest addr */ - if (p[0] & 0x01) { /* Multicast/Broadcast */ - if ((*(s16 *) & p[0] == -1) && (*(s16 *) & p[2] == -1) && (*(s16 *) & p[4] == -1)) { + if (is_multicast_ether_addr(p)) { + if (is_broadcast_ether_addr(p)) { lp->pktStats.broadcast++; } else { lp->pktStats.multicast++; } - } else if ((*(s16 *) & p[0] == *(s16 *) & dev->dev_addr[0]) && - (*(s16 *) & p[2] == *(s16 *) & dev->dev_addr[2]) && - (*(s16 *) & p[4] == *(s16 *) & dev->dev_addr[4])) { + } else if (compare_ether_addr(p, dev->dev_addr) == 0) { lp->pktStats.unicast++; } lp->pktStats.bins[0]++; /* Duplicates stats.rx_packets */