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@xxxxxxxxx> Acked-by: Mark Einon <mark.einon@xxxxxxxxx> > --- > 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 > _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel