summaryrefslogtreecommitdiffstats
path: root/kernel/irq/spurious.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2011-04-26 15:05:39 +0200
committerTakashi Iwai <tiwai@suse.de>2011-04-26 15:05:39 +0200
commit31d44b57c508971c083ce038d7c5ededd09cea01 (patch)
tree249689625896d65894f56763c22f726e39fde5ec /kernel/irq/spurious.c
parent885f42e1f466c36e3663d912a831e940f01a112b (diff)
parent1c7276cfc04b1a5b296b691c2e07297a4f6c19aa (diff)
downloadop-kernel-dev-31d44b57c508971c083ce038d7c5ededd09cea01.zip
op-kernel-dev-31d44b57c508971c083ce038d7c5ededd09cea01.tar.gz
Merge branch 'fix/hda' into topic/hda
Diffstat (limited to 'kernel/irq/spurious.c')
-rw-r--r--kernel/irq/spurious.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/kernel/irq/spurious.c b/kernel/irq/spurious.c
index dd586eb..dfbd550 100644
--- a/kernel/irq/spurious.c
+++ b/kernel/irq/spurious.c
@@ -45,12 +45,12 @@ bool irq_wait_for_poll(struct irq_desc *desc)
#ifdef CONFIG_SMP
do {
raw_spin_unlock(&desc->lock);
- while (desc->istate & IRQS_INPROGRESS)
+ while (irqd_irq_inprogress(&desc->irq_data))
cpu_relax();
raw_spin_lock(&desc->lock);
- } while (desc->istate & IRQS_INPROGRESS);
+ } while (irqd_irq_inprogress(&desc->irq_data));
/* Might have been disabled in meantime */
- return !(desc->istate & IRQS_DISABLED) && desc->action;
+ return !irqd_irq_disabled(&desc->irq_data) && desc->action;
#else
return false;
#endif
@@ -75,7 +75,7 @@ static int try_one_irq(int irq, struct irq_desc *desc, bool force)
* Do not poll disabled interrupts unless the spurious
* disabled poller asks explicitely.
*/
- if ((desc->istate & IRQS_DISABLED) && !force)
+ if (irqd_irq_disabled(&desc->irq_data) && !force)
goto out;
/*
@@ -88,12 +88,11 @@ static int try_one_irq(int irq, struct irq_desc *desc, bool force)
goto out;
/* Already running on another processor */
- if (desc->istate & IRQS_INPROGRESS) {
+ if (irqd_irq_inprogress(&desc->irq_data)) {
/*
* Already running: If it is shared get the other
* CPU to go looking for our mystery interrupt too
*/
- irq_compat_set_pending(desc);
desc->istate |= IRQS_PENDING;
goto out;
}
OpenPOWER on IntegriCloud