From: Greg KH on
2.6.32-stable review patch. If anyone has any objections, please let us know.

------------------

From: Andre Detsch <adetsch(a)br.ibm.com>

commit dc8bf1b1a6edfc92465526de19772061302f0929 upstream.

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(a)br.ibm.com>
Acked-by: Michael Chan <mchan(a)broadcom.com>
Signed-off-by: David S. Miller <davem(a)davemloft.net>
Cc: Brandon Philips <bphilips(a)suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)suse.de>

---
drivers/net/tg3.c | 1 +
1 file changed, 1 insertion(+)

--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -8168,6 +8168,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)


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/