bxe: correctly use the maddr in the netif.
authorRon Minnich <rminnich@gmail.com>
Sat, 17 Jan 2015 08:28:17 +0000 (00:28 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 3 Feb 2015 15:12:29 +0000 (10:12 -0500)
It's a linked list. We need to clean this up to use the Akaros ones.

Signed-off-by: Ron Minnich <rminnich@gmail.com>
kern/drivers/net/bxe/bxe.c
kern/include/ip.h

index 3cf5b40..57b3e63 100644 (file)
@@ -12469,7 +12469,7 @@ bxe_init_mcast_macs_list(struct bxe_adapter                 *sc,
     int mc_count = 0;
     int i;
     struct ecore_mcast_list_elem *mc_mac;
-    unsigned char *mta;
+    struct netaddr *m = ifp->maddr;
 
     mc_count = ifp->nmaddr;
                                            /* should we enforce one? */
@@ -12480,8 +12480,6 @@ bxe_init_mcast_macs_list(struct bxe_adapter                 *sc,
         return (0);
     }
 
-    mta = ifp->maddr;
-    
     mc_mac = kzmalloc(sizeof(*mc_mac) * mc_count, KMALLOC_WAIT);
     if (!mc_mac) {
         BLOGE(sc, "Failed to allocate temp mcast list\n");
@@ -12489,7 +12487,7 @@ bxe_init_mcast_macs_list(struct bxe_adapter                 *sc,
     }
 
     for(i=0; i< mc_count; i++) {
-        bcopy((mta + (i * ETH_ADDR_LEN)), mc_mac->mac, ETH_ADDR_LEN);
+        bcopy(m->addr, mc_mac->mac, ETH_ADDR_LEN);
         ECORE_LIST_PUSH_TAIL(&mc_mac->link, &p->mcast_list);
 
         BLOGD(sc, DBG_LOAD,
@@ -12498,6 +12496,7 @@ bxe_init_mcast_macs_list(struct bxe_adapter                 *sc,
               mc_mac->mac[3], mc_mac->mac[4], mc_mac->mac[5]);
 
         mc_mac++;
+       m = m->next;
     }
 
     p->mcast_list_len = mc_count;
index 1033e7f..d090fb1 100644 (file)
@@ -918,6 +918,7 @@ struct netfile {
 /*
  *  a network address
  */
+// TODO: make this one of the LIST types!
 struct netaddr {
        struct netaddr *next;           /* allocation chain */
        struct netaddr *hnext;