atl1: use defined functions to disable irq
authorTony Zelenoff <antonz@parallels.com>
Fri, 13 Apr 2012 06:09:49 +0000 (06:09 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 15 Apr 2012 16:56:01 +0000 (12:56 -0400)
Looks like direct writes to IMR register is not good idea,
because there are exist functions to make this work.

Signed-off-by: Tony Zelenoff <antonz@parallels.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/atheros/atlx/atl1.c

index d57422e313887ffc1c49f49ed25928b62a2b109d..93c92291da9ce00180370ff5a2ff170775dad25e 100644 (file)
@@ -266,7 +266,7 @@ static s32 atl1_reset_hw(struct atl1_hw *hw)
         * interrupts & Clear any pending interrupt events
         */
        /*
-        * iowrite32(0, hw->hw_addr + REG_IMR);
+        * atlx_irq_disable(adapter);
         * iowrite32(0xffffffff, hw->hw_addr + REG_ISR);
         */
 
@@ -2512,7 +2512,7 @@ static irqreturn_t atl1_intr(int irq, void *data)
                                dev_printk(KERN_DEBUG, &adapter->pdev->dev,
                                        "pcie phy link down %x\n", status);
                        if (netif_running(adapter->netdev)) {   /* reset MAC */
-                               iowrite32(0, adapter->hw.hw_addr + REG_IMR);
+                               atlx_irq_disable(adapter);
                                schedule_work(&adapter->pcie_dma_to_rst_task);
                                return IRQ_HANDLED;
                        }
@@ -2524,7 +2524,7 @@ static irqreturn_t atl1_intr(int irq, void *data)
                                dev_printk(KERN_DEBUG, &adapter->pdev->dev,
                                        "pcie DMA r/w error (status = 0x%x)\n",
                                        status);
-                       iowrite32(0, adapter->hw.hw_addr + REG_IMR);
+                       atlx_irq_disable(adapter);
                        schedule_work(&adapter->pcie_dma_to_rst_task);
                        return IRQ_HANDLED;
                }