[PATCH] MSI-X: fix resume crash

So I think the right solution is to simply make pci_enable_device just
flip enable bits and move the rest of the work someplace else.

However a thorough cleanup is a little extreme for this point in the
release cycle, so I think a quick hack that makes the code not stomp the
irq when msi irq's are enabled should be the first fix.  Then we can
later make the code not change the irqs at all.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
このコミットが含まれているのは:
Eric W. Biederman
2007-03-28 15:36:09 +02:00
committed by Linus Torvalds
コミット bba6f6fc68
4個のファイルの変更15行の追加6行の削除

ファイルの表示

@@ -557,14 +557,18 @@ pcibios_enable_device (struct pci_dev *dev, int mask)
if (ret < 0)
return ret;
return acpi_pci_irq_enable(dev);
if (!dev->msi_enabled)
return acpi_pci_irq_enable(dev);
return 0;
}
void
pcibios_disable_device (struct pci_dev *dev)
{
BUG_ON(atomic_read(&dev->enable_cnt));
acpi_pci_irq_disable(dev);
if (!dev->msi_enabled)
acpi_pci_irq_disable(dev);
return 0;
}
void