From 7bc9059e859b3eb8159cc8884624287c72a61fd5 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Thu, 26 Jan 2006 01:42:11 +0100 Subject: [PATCH] --- yaml --- r: 19089 b: refs/heads/master c: f6bc2666ed6696c40ef055e88ffef0b7657437a4 h: refs/heads/master i: 19087: f28c3a631774351e5de34ffc9f38edb1485cc01a v: v3 --- [refs] | 2 +- trunk/drivers/pci/msi.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 7a097b7f73c9..4220f78d2419 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4021cb279a532728c3208a16b9b09b0ca8016850 +refs/heads/master: f6bc2666ed6696c40ef055e88ffef0b7657437a4 diff --git a/trunk/drivers/pci/msi.c b/trunk/drivers/pci/msi.c index 202b7507a357..8e1ba0b7a8e4 100644 --- a/trunk/drivers/pci/msi.c +++ b/trunk/drivers/pci/msi.c @@ -416,7 +416,9 @@ static void attach_msi_entry(struct msi_desc *entry, int vector) static void irq_handler_init(int cap_id, int pos, int mask) { - spin_lock(&irq_desc[pos].lock); + unsigned long flags; + + spin_lock_irqsave(&irq_desc[pos].lock, flags); if (cap_id == PCI_CAP_ID_MSIX) irq_desc[pos].handler = &msix_irq_type; else { @@ -425,7 +427,7 @@ static void irq_handler_init(int cap_id, int pos, int mask) else irq_desc[pos].handler = &msi_irq_w_maskbit_type; } - spin_unlock(&irq_desc[pos].lock); + spin_unlock_irqrestore(&irq_desc[pos].lock, flags); } static void enable_msi_mode(struct pci_dev *dev, int pos, int type)