]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
beceem: remove bogus network device notifier
authorStephen Hemminger <stephen.hemminger@vyatta.com>
Fri, 29 Oct 2010 15:14:16 +0000 (08:14 -0700)
committerStephen Hemminger <stephen.hemminger@vyatta.com>
Sat, 30 Oct 2010 03:44:47 +0000 (20:44 -0700)
Network device should not be messing with refcounts directly.
See Documentation/networking/netdevices.txt

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
drivers/staging/bcm/Adapter.h
drivers/staging/bcm/Bcmnet.c
drivers/staging/bcm/Debug.c
drivers/staging/bcm/headers.h

index 748460e898d8702b99309dc95a7c87117a2f7bbe..eebb77f9413e8d64a89bc8541a524164c6b89e8b 100644 (file)
@@ -600,7 +600,7 @@ struct _MINI_ADAPTER
 
        struct semaphore        NVMRdmWrmLock;
        BOOLEAN                 bNetworkInterfaceRegistered;
-       BOOLEAN                 bNetdeviceNotifierRegistered;
+
        struct device *pstCreatedClassDevice;
        BOOLEAN                 bUsbClassDriverRegistered;
 //     BOOLEAN                         InterfaceUpStatus;
index 3262aff8dd4a52d6202ed7e28253d48f12cd5853..ce975d7f221f52420184330d0e4513fbb061fb0b 100644 (file)
@@ -4,48 +4,6 @@
 #define DRV_VERSION    "5.2.7.3P1"
 #define DRV_COPYRIGHT  "Copyright 2010. Beceem Communications Inc"
 
-static INT bcm_notify_event(struct notifier_block *nb, ULONG event, PVOID dev)
-{
-       struct net_device *ndev = (struct net_device*)dev;
-    PMINI_ADAPTER Adapter = GET_BCM_ADAPTER(gblpnetdev);
-       //PMINI_ADAPTER         Adapter = (PMINI_ADAPTER)ndev->priv;
-       if(strncmp(ndev->name,gblpnetdev->name,5)==0)
-       {
-               switch(event)
-               {
-                       case NETDEV_CHANGEADDR:
-                       case NETDEV_GOING_DOWN:
-                               /*ignore this */
-                                       break;
-                       case NETDEV_DOWN:
-                               break;
-
-                       case NETDEV_UP:
-                               break;
-
-                       case NETDEV_REGISTER:
-                                /* Increment the Reference Count for "veth0" */
-                                BCM_DEBUG_PRINT(Adapter,DBG_TYPE_INITEXIT, DRV_ENTRY, DBG_LVL_ALL, "Register RefCount: %x\n",
-                                                                       netdev_refcnt_read(ndev));
-                                dev_hold(ndev);
-                                break;
-
-                       case NETDEV_UNREGISTER:
-                                /* Decrement the Reference Count for "veth0" */
-                               BCM_DEBUG_PRINT(Adapter,DBG_TYPE_INITEXIT, DRV_ENTRY, DBG_LVL_ALL, "Unregister RefCnt: %x\n",
-                                                                       netdev_refcnt_read(ndev));
-                               dev_put(ndev);
-                               break;
-               };
-       }
-       return NOTIFY_DONE;
-}
-
-/* Notifier block to receive netdevice events */
-static struct notifier_block bcm_notifier_block =
-{
-       .notifier_call = bcm_notify_event,
-};
 
 struct net_device *gblpnetdev;
 /***************************************************************************************/
@@ -156,23 +114,6 @@ int register_networkdev(PMINI_ADAPTER Adapter)
        /* Read the MAC Address from EEPROM */
        ReadMacAddressFromNVM(Adapter);
 
-
-       /* Register the notifier block for getting netdevice events */
-       BCM_DEBUG_PRINT(Adapter,DBG_TYPE_INITEXIT, DRV_ENTRY, DBG_LVL_ALL, "Registering netdevice notifier\n");
-       result = register_netdevice_notifier(&bcm_notifier_block);
-       if(result)
-       {
-               BCM_DEBUG_PRINT(Adapter,DBG_TYPE_INITEXIT, DRV_ENTRY, DBG_LVL_ALL, "BCM Notifier Block did not get registered");
-               Adapter->bNetdeviceNotifierRegistered = FALSE;
-               return result;
-       }
-       else
-       {
-               BCM_DEBUG_PRINT(Adapter,DBG_TYPE_INITEXIT, DRV_ENTRY, DBG_LVL_ALL, "BCM Notifier got Registered");
-               Adapter->bNetdeviceNotifierRegistered = TRUE;
-       }
-
-
        result = register_netdev(Adapter->dev);
        if (!result)
        {
@@ -209,11 +150,6 @@ void bcm_unregister_networkdev(PMINI_ADAPTER Adapter)
        if(Adapter->dev && !IS_ERR(Adapter->dev) && Adapter->bNetworkInterfaceRegistered)
                unregister_netdev(Adapter->dev);
                /* Unregister the notifier block */
-       if(Adapter->bNetdeviceNotifierRegistered == TRUE)
-       {
-       BCM_DEBUG_PRINT(Adapter,DBG_TYPE_INITEXIT, DRV_ENTRY, DBG_LVL_ALL, "Unregistering netdevice notifier\n");
-                       unregister_netdevice_notifier(&bcm_notifier_block);
-  }
 }
 
 static int bcm_init(void)
index 9f7f70ca1716a1e5ac5b3f061e7c151cac03e37f..b86d8456cf7de9334ec1f3c472098773ac1c3613 100644 (file)
@@ -37,4 +37,3 @@ void bcm_print_buffer(UINT debug_level, const char *function_name,
                printk("\n");
        }
 }
-
index 5867db5d00748b31678d3bed287a3fffa9e2d79f..1a9bdf69742033985d23998c1b551e68cebf7cef 100644 (file)
@@ -22,7 +22,6 @@
 #include <linux/etherdevice.h>
 #include <net/ip.h>
 #include <linux/wait.h>
-#include <linux/notifier.h>
 #include <linux/proc_fs.h>
 #include <linux/interrupt.h>