staging: et131x: remove spinlock adapter->lock
authorZhao, Gang <gamerh2o@gmail.com>
Wed, 5 Feb 2014 16:10:35 +0000 (00:10 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Feb 2014 18:38:41 +0000 (10:38 -0800)
adapter->lock is only used in et131x_multicast(), which is eventually
called by network stack function __dev_set_rx_mode(). __dev_set_rx_mode()
is always called by (net_device *)dev->addr_list_lock hold, to protect from
concurrent access. So adapter->lock is redundant.

Signed-off-by: Zhao, Gang <gamerh2o@gmail.com>
Acked-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/et131x/et131x.c

index cf97049..6413500 100644 (file)
@@ -485,8 +485,6 @@ struct et131x_adapter {
        u8 eeprom_data[2];
 
        /* Spinlocks */
-       spinlock_t lock;
-
        spinlock_t tcb_send_qlock;
        spinlock_t tcb_ready_qlock;
        spinlock_t send_hw_lock;
@@ -3762,7 +3760,6 @@ static struct et131x_adapter *et131x_adapter_init(struct net_device *netdev,
        adapter->netdev = netdev;
 
        /* Initialize spinlocks here */
-       spin_lock_init(&adapter->lock);
        spin_lock_init(&adapter->tcb_send_qlock);
        spin_lock_init(&adapter->tcb_ready_qlock);
        spin_lock_init(&adapter->send_hw_lock);
@@ -4294,12 +4291,9 @@ static void et131x_multicast(struct net_device *netdev)
 {
        struct et131x_adapter *adapter = netdev_priv(netdev);
        int packet_filter;
-       unsigned long flags;
        struct netdev_hw_addr *ha;
        int i;
 
-       spin_lock_irqsave(&adapter->lock, flags);
-
        /* Before we modify the platform-independent filter flags, store them
         * locally. This allows us to determine if anything's changed and if
         * we even need to bother the hardware
@@ -4351,8 +4345,6 @@ static void et131x_multicast(struct net_device *netdev)
         */
        if (packet_filter != adapter->packet_filter)
                et131x_set_packet_filter(adapter);
-
-       spin_unlock_irqrestore(&adapter->lock, flags);
 }
 
 /* et131x_tx - The handler to tx a packet on the device */