atl1: remove irq_sem
authorJay Cliburn <jacliburn@bellsouth.net>
Sun, 15 Jul 2007 16:03:25 +0000 (11:03 -0500)
committerJeff Garzik <jeff@garzik.org>
Mon, 16 Jul 2007 22:29:16 +0000 (18:29 -0400)
Remove unnecessary irq_sem code.

Signed-off-by: Chris Snook <csnook@redhat.com>
Signed-off-by: Jay Cliburn <jacliburn@bellsouth.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/atl1/atl1.h
drivers/net/atl1/atl1_main.c

index b1c6034e68fa320ddd48fabec94374d403e09ae5..a769e7b8b80b673bb0fdfc2d0a169b76085b8fa3 100644 (file)
@@ -236,7 +236,6 @@ struct atl1_adapter {
        u16 link_speed;
        u16 link_duplex;
        spinlock_t lock;
-       atomic_t irq_sem;
        struct work_struct tx_timeout_task;
        struct work_struct link_chg_task;
        struct work_struct pcie_dma_to_rst_task;
index 3bb40dd4a410c9668309131eeb6d8e0c72eb1a54..ef12dba8581157e1d7dbf73e2da55259d0fc0128 100644 (file)
@@ -162,7 +162,6 @@ static int __devinit atl1_sw_init(struct atl1_adapter *adapter)
        hw->cmb_tx_timer = 1;   /* about 2us */
        hw->smb_timer = 100000; /* about 200ms */
 
-       atomic_set(&adapter->irq_sem, 0);
        spin_lock_init(&adapter->lock);
        spin_lock_init(&adapter->mb_lock);
 
@@ -268,8 +267,8 @@ err_nomem:
  */
 static void atl1_irq_enable(struct atl1_adapter *adapter)
 {
-       if (likely(!atomic_dec_and_test(&adapter->irq_sem)))
-               iowrite32(IMR_NORMAL_MASK, adapter->hw.hw_addr + REG_IMR);
+       iowrite32(IMR_NORMAL_MASK, adapter->hw.hw_addr + REG_IMR);
+       ioread32(adapter->hw.hw_addr + REG_IMR);
 }
 
 static void atl1_clear_phy_int(struct atl1_adapter *adapter)
@@ -1195,7 +1194,6 @@ static u32 atl1_configure(struct atl1_adapter *adapter)
  */
 static void atl1_irq_disable(struct atl1_adapter *adapter)
 {
-       atomic_inc(&adapter->irq_sem);
        iowrite32(0, adapter->hw.hw_addr + REG_IMR);
        ioread32(adapter->hw.hw_addr + REG_IMR);
        synchronize_irq(adapter->pdev->irq);