Re: [PATCH v3 4/5] staging: et131x: remove spinlock adapter->lock

Mark Einon
2013-11-21T21:20:00Z

On Wed, Nov 20, 2013 at 03:57:15PM +0800, ZHAO Gang wrote:
> 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>

> ---
> drivers/staging/et131x/et131x.c | 6 ------
> 1 file changed, 6 deletions(-)
>
> diff --git a/drivers/staging/et131x/et131x.c b/drivers/staging/et131x/et131x.c
> index 6254a6b..66530b1 100644
> --- a/drivers/staging/et131x/et131x.c
> +++ b/drivers/staging/et131x/et131x.c
> @@ -486,8 +486,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;
> @@ -3867,7 +3865,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);
> @@ -4429,8 +4426,6 @@ static void et131x_multicast(struct net_device *netdev)
> 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
> @@ -4484,7 +4479,6 @@ static void et131x_multicast(struct net_device *netdev)
> /* Call the device's filter function */
> et131x_set_packet_filter(adapter);
> }
> - spin_unlock_irqrestore(&adapter->lock, flags);
> }
>
> /* et131x_tx - The handler to tx a packet on the device
> --
> 1.8.3.1
>