bxe: more cleanup.
authorRon Minnich <rminnich@google.com>
Fri, 16 Jan 2015 22:52:22 +0000 (14:52 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 3 Feb 2015 15:12:28 +0000 (10:12 -0500)
Signed-off-by: Ron Minnich <rminnich@google.com>
kern/drivers/net/bxe/bxe.c
kern/drivers/net/bxe/bxe.h

index 2499a29..8e0e234 100644 (file)
@@ -12481,7 +12481,9 @@ bxe_initial_phy_init(struct bxe_adapter *sc,
     return (rc);
 }
 
-/* must be called under IF_ADDR_LOCK */
+/* must be called with sc locked. We don't need finer grained locking,
+ * I think, because adding addresses is not that frequent.
+ */
 static int
 bxe_init_mcast_macs_list(struct bxe_adapter                 *sc,
                          struct ecore_mcast_ramrod_params *p)
@@ -12602,21 +12604,13 @@ bxe_set_uc_list(struct bxe_adapter *sc)
     unsigned long ramrod_flags = 0;
     int rc;
 
-#if __FreeBSD_version < 800000
-    IF_ADDR_LOCK(ifp);
-#else
-    if_addr_rlock(ifp);
-#endif
-
+       they used to lock the ifp. We could do that.
+       just lock the sc here. I see no reason to get finer grained for this one.
     /* first schedule a cleanup up of old configuration */
     rc = bxe_del_all_macs(sc, mac_obj, ECORE_UC_LIST_MAC, FALSE);
     if (rc < 0) {
+unlock ehre.
         BLOGE(sc, "Failed to schedule delete of all ETH MACs (%d)\n", rc);
-#if __FreeBSD_version < 800000
-        IF_ADDR_UNLOCK(ifp);
-#else
-        if_addr_runlock(ifp);
-#endif
         return (rc);
     }
 
@@ -12635,22 +12629,14 @@ bxe_set_uc_list(struct bxe_adapter *sc)
             rc = 0;
         } else if (rc < 0) {
             BLOGE(sc, "Failed to schedule ADD operations (%d)\n", rc);
-#if __FreeBSD_version < 800000
-            IF_ADDR_UNLOCK(ifp);
-#else
-            if_addr_runlock(ifp);
-#endif
+unlock ehre.
             return (rc);
         }
 
         ifa = TAILQ_NEXT(ifa, ifa_link);
     }
 
-#if __FreeBSD_version < 800000
-    IF_ADDR_UNLOCK(ifp);
-#else
-    if_addr_runlock(ifp);
-#endif
+unlock here.
 
     /* Execute the pending commands */
     __set_bit(RAMROD_CONT, &ramrod_flags);
@@ -12676,7 +12662,6 @@ bxe_handle_rx_mode_tq(void *context,
     }
 
     BLOGD(sc, DBG_SP, "if_flags(ifp)=0x%x\n", if_getflags(sc->ifp));
-#warning "FIX ALL FLAGS"
 #if 0
     if (if_getflags(ifp) & IFF_PROMISC) {
         rx_mode = BXE_RX_MODE_PROMISC;
index d1df558..cb2b241 100644 (file)
@@ -41,6 +41,7 @@
 #include <string.h>
 #include <bitmap.h>
 #include <taskqueue.h>
+#include <mii.h>
 
 
 /* MACROS for conversion to AKAROS. Might we want this stuff someday? */
@@ -1361,9 +1362,7 @@ struct bxe_adapter {
        unsigned int                            statistics[Nstatistics];
 
        //struct net_device_stats net_stats;
-#warning "no ifmedia. "
-       // struct ifmedia  ifmedia; /* network interface media structure */
-       int             media;
+       struct mii_if_info             media; /* network interface media structure */
        
        int             state; /* device state */
 #define BXE_STATE_CLOSED                 0x0000
@@ -1515,10 +1514,9 @@ struct bxe_adapter {
 #define BXE_STATS_UNLOCK(sc)      qunlock(&sc->stats_mtx)
 #define BXE_STATS_LOCK_ASSERT(sc) mtx_assert(&sc->stats_mtx, MA_OWNED)
 
-#warning "find outwhat IF_ADDR_LOCK is"
 #define BXE_MCAST_LOCK(sc)        \
     do {                          \
-           /*IF_ADDR_LOCK(sc->ifp);*/          \
+           qlock(&sc->ifp->qlock); \
     } while (0)
 #define BXE_MCAST_LOCK_ASSERT(sc) mtx_assert(&sc->mcast_mtx, MA_OWNED)
        
@@ -2277,13 +2275,13 @@ void ecore_storm_memset_struct(struct bxe_adapter *sc, uint32_t addr,
 
 #define bxe_panic(sc, msg) \
     do {                   \
-        panic msg;         \
+        panic(msg);         \
     } while (0)
 
 #else
 
 #define bxe_panic(sc, msg) \
-    /*device_printf((sc)->dev,*/printk( "%s (%s,%d)\n", __FUNCTION__, __FILE__, __LINE__);
+    panic( "%s (%s,%d)\n", __FUNCTION__, __FILE__, __LINE__);
 
 #endif