Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 221892
b: refs/heads/master
c: 6903591
h: refs/heads/master
v: v3
  • Loading branch information
Ian Campbell authored and Jeremy Fitzhardinge committed Nov 11, 2010
1 parent 3919798 commit eaeafd9
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 8 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a2d771c036eb8c040683089ca04c36dfb93a0e60
refs/heads/master: 6903591f314b8947d0e362bda7715e90eb9df75e
25 changes: 18 additions & 7 deletions trunk/drivers/xen/events.c
Original file line number Diff line number Diff line change
Expand Up @@ -1299,9 +1299,6 @@ static void restore_cpu_virqs(unsigned int cpu)
evtchn_to_irq[evtchn] = irq;
irq_info[irq] = mk_virq_info(evtchn, virq);
bind_evtchn_to_cpu(evtchn, cpu);

/* Ready for use. */
unmask_evtchn(evtchn);
}
}

Expand All @@ -1327,10 +1324,6 @@ static void restore_cpu_ipis(unsigned int cpu)
evtchn_to_irq[evtchn] = irq;
irq_info[irq] = mk_ipi_info(evtchn, ipi);
bind_evtchn_to_cpu(evtchn, cpu);

/* Ready for use. */
unmask_evtchn(evtchn);

}
}

Expand Down Expand Up @@ -1390,6 +1383,7 @@ void xen_poll_irq(int irq)
void xen_irq_resume(void)
{
unsigned int cpu, irq, evtchn;
struct irq_desc *desc;

init_evtchn_cpu_bindings();

Expand All @@ -1408,6 +1402,23 @@ void xen_irq_resume(void)
restore_cpu_virqs(cpu);
restore_cpu_ipis(cpu);
}

/*
* Unmask any IRQF_NO_SUSPEND IRQs which are enabled. These
* are not handled by the IRQ core.
*/
for_each_irq_desc(irq, desc) {
if (!desc->action || !(desc->action->flags & IRQF_NO_SUSPEND))
continue;
if (desc->status & IRQ_DISABLED)
continue;

evtchn = evtchn_from_irq(irq);
if (evtchn == -1)
continue;

unmask_evtchn(evtchn);
}
}

static struct irq_chip xen_dynamic_chip __read_mostly = {
Expand Down

0 comments on commit eaeafd9

Please sign in to comment.