And use the normal is_<foo>_ether_addr functions and ETH_ALEN too.

Signed-off-by: Joe Perches <j...@perches.com>
---
 drivers/staging/slicoss/README    |  1 -
 drivers/staging/slicoss/slicoss.c | 21 ++++++++-------------
 2 files changed, 8 insertions(+), 14 deletions(-)

diff --git a/drivers/staging/slicoss/README b/drivers/staging/slicoss/README
index cb04a87..53052c4 100644
--- a/drivers/staging/slicoss/README
+++ b/drivers/staging/slicoss/README
@@ -14,7 +14,6 @@ TODO:
        - use net_device_ops
        - use dev->stats rather than adapter->stats
        - don't cast netdev_priv it is already void
-       - use compare_ether_addr
        - GET RID OF MACROS
        - work on all architectures
           - without CONFIG_X86_64 confusion
diff --git a/drivers/staging/slicoss/slicoss.c 
b/drivers/staging/slicoss/slicoss.c
index f340cb9..1426ca4 100644
--- a/drivers/staging/slicoss/slicoss.c
+++ b/drivers/staging/slicoss/slicoss.c
@@ -595,15 +595,12 @@ static void slic_adapter_set_hwaddr(struct adapter 
*adapter)
                memcpy(adapter->macaddr,
                       card->config.MacInfo[adapter->functionnumber].macaddrA,
                       sizeof(struct slic_config_mac));
-               if (!(adapter->currmacaddr[0] || adapter->currmacaddr[1] ||
-                     adapter->currmacaddr[2] || adapter->currmacaddr[3] ||
-                     adapter->currmacaddr[4] || adapter->currmacaddr[5])) {
-                       memcpy(adapter->currmacaddr, adapter->macaddr, 6);
-               }
-               if (adapter->netdev) {
+               if (is_zero_ether_addr(adapter->currmacaddr))
+                       memcpy(adapter->currmacaddr, adapter->macaddr,
+                              ETH_ALEN);
+               if (adapter->netdev)
                        memcpy(adapter->netdev->dev_addr, adapter->currmacaddr,
-                              6);
-               }
+                              ETH_ALEN);
        }
 }
 
@@ -767,13 +764,11 @@ static bool slic_mac_filter(struct adapter *adapter,
 {
        struct net_device *netdev = adapter->netdev;
        u32 opts = adapter->macopts;
-       u32 *dhost4 = (u32 *)&ether_frame->ether_dhost[0];
-       u16 *dhost2 = (u16 *)&ether_frame->ether_dhost[4];
 
        if (opts & MAC_PROMISC)
                return true;
 
-       if ((*dhost4 == 0xFFFFFFFF) && (*dhost2 == 0xFFFF)) {
+       if (is_broadcast_ether_addr(ether_frame->ether_dhost)) {
                if (opts & MAC_BCAST) {
                        adapter->rcv_broadcasts++;
                        return true;
@@ -782,7 +777,7 @@ static bool slic_mac_filter(struct adapter *adapter,
                }
        }
 
-       if (ether_frame->ether_dhost[0] & 0x01) {
+       if (is_multicast_ether_addr(ether_frame->ether_dhost)) {
                if (opts & MAC_ALLMCAST) {
                        adapter->rcv_multicasts++;
                        netdev->stats.multicast++;
@@ -2335,7 +2330,7 @@ static int slic_mcast_add_list(struct adapter *adapter, 
char *address)
        if (mcaddr == NULL)
                return 1;
 
-       memcpy(mcaddr->address, address, 6);
+       memcpy(mcaddr->address, address, ETH_ALEN);
 
        mcaddr->next = adapter->mcastaddrs;
        adapter->mcastaddrs = mcaddr;


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to