![]() | |||||||||||||
Messages in this thread |
Greg KH wrote:
> @@ -6047,7 +6046,7 @@
> if (!(tp->tg3_flags & TG3_FLAG_TAGGED_STATUS)) {
> printk(KERN_WARNING PFX "%s: MSI without TAGGED? "
> "Not using MSI.\n", tp->dev->name);
> - } else if (pci_enable_msi(tp->pdev) == 0) {
> + } else if (pci_in_msi_mode(tp->pdev)) {
> u32 msi_mode;
>
> msi_mode = tr32(MSGINT_MODE);
> @@ -6063,15 +6062,12 @@
> if (tp->tg3_flags & TG3_FLAG_TAGGED_STATUS)
> fn = tg3_interrupt_tagged;
>
> + pci_disable_msi(tp->pdev);
> err = request_irq(tp->pdev->irq, fn,
> SA_SHIRQ | SA_SAMPLE_RANDOM, dev->name, dev);
> }
>
> if (err) {
> - if (tp->tg3_flags2 & TG3_FLG2_USING_MSI) {
> - pci_disable_msi(tp->pdev);
> - tp->tg3_flags2 &= ~TG3_FLG2_USING_MSI;
> - }
> tg3_free_consistent(tp);
> return err;
> }
If the driver has to _undo_ something that it did not do, that's pretty
lame. Non-orthogonal.
Also, it looks like all the PCI MSI drivers need touching for this
scheme -- which defeats the original intention. At this rate, the best
API is the one we've already got.
Jeff
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
| ||||||||||||
| Last update: 2005-06-07 22:22 [from the cache] ©2003-2008 | |||||||||||||