be2net: use eq-id to calculate cev-isr reg offset
authorSathya Perla <sathyap@serverengines.com>
Tue, 2 Feb 2010 15:48:40 +0000 (07:48 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 2 Feb 2010 15:48:40 +0000 (07:48 -0800)
cev-isr reg offset for each function is better calculated using (any) eq-id
alloted to that function instead of using pci-func number(which
does not work in some configurations...)

Signed-off-by: Sathya Perla <sathyap@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/benet/be_main.c

index 6f2633887dc3df04cfc0e700faadea1122c34333..626b76c0ebc75bd676e591845b4c9259cfa67c8d 100644 (file)
@@ -1350,7 +1350,7 @@ static irqreturn_t be_intx(int irq, void *dev)
        int isr;
 
        isr = ioread32(adapter->csr + CEV_ISR0_OFFSET +
-                       be_pci_func(adapter) * CEV_ISR_SIZE);
+               (adapter->tx_eq.q.id/ 8) * CEV_ISR_SIZE);
        if (!isr)
                return IRQ_NONE;