Skip to content

Commit

Permalink
tg3: Fix INTx fallback when MSI fails
Browse files Browse the repository at this point in the history
tg3: Fix INTx fallback when MSI fails

MSI setup changes the value of irq_vec in struct tg3 *tp.
This attribute must be taken into account and restored before
we try to do a new request_irq for INTx fallback.

In powerpc, the original code was leading to an EINVAL return within
request_irq, because the driver was trying to use the disabled MSI
virtual irq number instead of tp->pdev->irq.

Signed-off-by: Andre Detsch <adetsch@br.ibm.com>
Acked-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Andre Detsch authored and David S. Miller committed Apr 26, 2010
1 parent 6443bb1 commit dc8bf1b
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions drivers/net/tg3.c
Original file line number Diff line number Diff line change
Expand Up @@ -8633,6 +8633,7 @@ static int tg3_test_msi(struct tg3 *tp)
pci_disable_msi(tp->pdev);

tp->tg3_flags2 &= ~TG3_FLG2_USING_MSI;
tp->napi[0].irq_vec = tp->pdev->irq;

err = tg3_request_irq(tp, 0);
if (err)
Expand Down

0 comments on commit dc8bf1b

Please sign in to comment.