[openib-general] ip over ib throughtput

Roland Dreier roland at topspin.com
Tue Jan 4 17:01:40 PST 2005


    Roland> I don't think this is an mthca issue, since the MSI-X API
    Roland> is pretty hard to get wrong.  Do you have any other
    Roland> devices that can generate MSIs?  tg3 devices should be MSI
    Roland> capable, I'm not sure if anyone has hacked the driver to
    Roland> turn it on, but if tg3 doesn't work either then that
    Roland> definitely points to a core platform PCI driver issue.

Doesn't look like anyone has tried MSI with tg3 for a while.  I'm not
sure if the chip works properly (I know that e1000 doesn't even though
it advertises an MSI capability) but this hacky patch should be good
enough to test with (of course it doesn't make MSI configurable and
doesn't clean up on the error path correctly so it's just for testing).

 - R.

Index: linux-bk/drivers/net/tg3.c
===================================================================
--- linux-bk.orig/drivers/net/tg3.c	2004-12-29 22:05:41.000000000 -0800
+++ linux-bk/drivers/net/tg3.c	2005-01-04 16:59:36.089783742 -0800
@@ -8218,6 +8218,9 @@
 		pci_using_dac = 0;
 	}
 
+	if (pci_enable_msi(pdev))
+		printk(KERN_WARNING PFX "Couldn't enable MSI.\n");
+
 	tg3reg_base = pci_resource_start(pdev, 0);
 	tg3reg_len = pci_resource_len(pdev, 0);
 
@@ -8468,6 +8471,7 @@
 		unregister_netdev(dev);
 		iounmap(tp->regs);
 		free_netdev(dev);
+		pci_disable_msi(pdev);
 		pci_release_regions(pdev);
 		pci_disable_device(pdev);
 		pci_set_drvdata(pdev, NULL);



More information about the general mailing list