Skip to content

Commit

Permalink
[netdrvr] kill sync_irq-before-freq_irq pattern
Browse files Browse the repository at this point in the history
synchronize_irq() is superfluous when free_irq() call immediately follows it,
because free_irq() also does a synchronize_irq() call of its own.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
  • Loading branch information
Jeff Garzik authored and Jeff Garzik committed Jun 28, 2008
1 parent 28cd428 commit be0976b
Show file tree
Hide file tree
Showing 6 changed files with 1 addition and 8 deletions.
1 change: 0 additions & 1 deletion drivers/net/8139cp.c
Original file line number Diff line number Diff line change
Expand Up @@ -1213,7 +1213,6 @@ static int cp_close (struct net_device *dev)

spin_unlock_irqrestore(&cp->lock, flags);

synchronize_irq(dev->irq);
free_irq(dev->irq, dev);

cp_free_rings(cp);
Expand Down
1 change: 0 additions & 1 deletion drivers/net/8139too.c
Original file line number Diff line number Diff line change
Expand Up @@ -2231,7 +2231,6 @@ static int rtl8139_close (struct net_device *dev)

spin_unlock_irqrestore (&tp->lock, flags);

synchronize_irq (dev->irq); /* racy, but that's ok here */
free_irq (dev->irq, dev);

rtl8139_tx_clear (tp);
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/dl2k.c
Original file line number Diff line number Diff line change
Expand Up @@ -1753,7 +1753,7 @@ rio_close (struct net_device *dev)

/* Stop Tx and Rx logics */
writel (TxDisable | RxDisable | StatsDisable, ioaddr + MACCtrl);
synchronize_irq (dev->irq);

free_irq (dev->irq, dev);
del_timer_sync (&np->timer);

Expand Down
1 change: 0 additions & 1 deletion drivers/net/pci-skeleton.c
Original file line number Diff line number Diff line change
Expand Up @@ -1739,7 +1739,6 @@ static int netdrv_close (struct net_device *dev)

spin_unlock_irqrestore (&tp->lock, flags);

synchronize_irq (dev->irq);
free_irq (dev->irq, dev);

netdrv_tx_clear (dev);
Expand Down
1 change: 0 additions & 1 deletion drivers/net/tsi108_eth.c
Original file line number Diff line number Diff line change
Expand Up @@ -1437,7 +1437,6 @@ static int tsi108_close(struct net_device *dev)
dev_kfree_skb(skb);
}

synchronize_irq(data->irq_num);
free_irq(data->irq_num, dev);

/* Discard the RX ring. */
Expand Down
3 changes: 0 additions & 3 deletions drivers/net/typhoon.c
Original file line number Diff line number Diff line change
Expand Up @@ -334,8 +334,6 @@ enum state_values {
#define TYPHOON_RESET_TIMEOUT_NOSLEEP ((6 * 1000000) / TYPHOON_UDELAY)
#define TYPHOON_WAIT_TIMEOUT ((1000000 / 2) / TYPHOON_UDELAY)

#define typhoon_synchronize_irq(x) synchronize_irq(x)

#if defined(NETIF_F_TSO)
#define skb_tso_size(x) (skb_shinfo(x)->gso_size)
#define TSO_NUM_DESCRIPTORS 2
Expand Down Expand Up @@ -2143,7 +2141,6 @@ typhoon_close(struct net_device *dev)
printk(KERN_ERR "%s: unable to stop runtime\n", dev->name);

/* Make sure there is no irq handler running on a different CPU. */
typhoon_synchronize_irq(dev->irq);
free_irq(dev->irq, dev);

typhoon_free_rx_rings(tp);
Expand Down

0 comments on commit be0976b

Please sign in to comment.