diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2007-03-28 15:36:09 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-28 22:59:37 +0200 |
commit | bba6f6fc68e74d4572028646f61dd3505a68747e (patch) | |
tree | e593440b5944676af7ec6b85c14acbd9ac7b72c7 /arch/frv | |
parent | [PATCH] oprofile: fix potential deadlock on oprofilefs_lock (diff) | |
download | linux-bba6f6fc68e74d4572028646f61dd3505a68747e.tar.xz linux-bba6f6fc68e74d4572028646f61dd3505a68747e.zip |
[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>
Diffstat (limited to 'arch/frv')
-rw-r--r-- | arch/frv/mb93090-mb00/pci-vdk.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/frv/mb93090-mb00/pci-vdk.c b/arch/frv/mb93090-mb00/pci-vdk.c index f7279d78995a..0b581e3cf7c7 100644 --- a/arch/frv/mb93090-mb00/pci-vdk.c +++ b/arch/frv/mb93090-mb00/pci-vdk.c @@ -466,6 +466,7 @@ int pcibios_enable_device(struct pci_dev *dev, int mask) if ((err = pcibios_enable_resources(dev, mask)) < 0) return err; - pcibios_enable_irq(dev); + if (!dev->msi_enabled) + pcibios_enable_irq(dev); return 0; } |