[netdrvr] kill sync_irq-before-freq_irq pattern
authorJeff Garzik <jeff@garzik.org>
Fri, 27 Jun 2008 06:20:20 +0000 (02:20 -0400)
committerJeff Garzik <jgarzik@redhat.com>
Sat, 28 Jun 2008 14:23:38 +0000 (10:23 -0400)
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>
drivers/net/8139cp.c
drivers/net/8139too.c
drivers/net/dl2k.c
drivers/net/pci-skeleton.c
drivers/net/tsi108_eth.c
drivers/net/typhoon.c

index 934db350e339c93d67433f6e79a238efd060651a..6011d6fabef0a125695302b2e1d3ad7d6e9e09f1 100644 (file)
@@ -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);
index 0cd8e258f882a55fb6b1f4df02b1e5941020d764..75317a14ad1cb26d6d3e030f48f0357dc6928789 100644 (file)
@@ -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);
index 8277e89e552d076c200539c4c52da49f983fa27c..f8037110a522e3eb2616414908cacdaafa363c8f 100644 (file)
@@ -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);
 
index fffc49befe042c7b514745d688cfd5817a44a9dc..53451c3b2c0decad78e45fdb604e699d882cd9bf 100644 (file)
@@ -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);
index febfaee44fe9474b58c1b3d695fa036940ff74a6..43fde99b24ac0c829d48b03228ddbdf4aa72092a 100644 (file)
@@ -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. */
index c0dd25ba7a18dcd9cc7969e85f1e02ce954af797..8549f1159a30cd55db8e78239bbe757c91c1acf8 100644 (file)
@@ -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
@@ -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);