projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[cascardo/linux.git]
/
arch
/
ia64
/
kernel
/
irq.c
diff --git
a/arch/ia64/kernel/irq.c
b/arch/ia64/kernel/irq.c
index
6dee579
..
0b6db53
100644
(file)
--- a/
arch/ia64/kernel/irq.c
+++ b/
arch/ia64/kernel/irq.c
@@
-133,7
+133,6
@@
unsigned int vectors_in_migration[NR_IRQS];
*/
static void migrate_irqs(void)
{
*/
static void migrate_irqs(void)
{
- cpumask_t mask;
irq_desc_t *desc;
int irq, new_cpu;
irq_desc_t *desc;
int irq, new_cpu;
@@
-152,15
+151,14
@@
static void migrate_irqs(void)
if (desc->status == IRQ_PER_CPU)
continue;
if (desc->status == IRQ_PER_CPU)
continue;
- cpus_and(mask, irq_desc[irq].affinity, cpu_online_map);
-
if (any_online_cpu(mask) == NR_CPUS
) {
+ if (cpumask_any_and(&irq_desc[irq].affinity, cpu_online_mask)
+
>= nr_cpu_ids
) {
/*
* Save it for phase 2 processing
*/
vectors_in_migration[irq] = irq;
new_cpu = any_online_cpu(cpu_online_map);
/*
* Save it for phase 2 processing
*/
vectors_in_migration[irq] = irq;
new_cpu = any_online_cpu(cpu_online_map);
- mask = cpumask_of_cpu(new_cpu);
/*
* Al three are essential, currently WARN_ON.. maybe panic?
/*
* Al three are essential, currently WARN_ON.. maybe panic?
@@
-168,7
+166,8
@@
static void migrate_irqs(void)
if (desc->chip && desc->chip->disable &&
desc->chip->enable && desc->chip->set_affinity) {
desc->chip->disable(irq);
if (desc->chip && desc->chip->disable &&
desc->chip->enable && desc->chip->set_affinity) {
desc->chip->disable(irq);
- desc->chip->set_affinity(irq, mask);
+ desc->chip->set_affinity(irq,
+ cpumask_of(new_cpu));
desc->chip->enable(irq);
} else {
WARN_ON((!(desc->chip) || !(desc->chip->disable) ||
desc->chip->enable(irq);
} else {
WARN_ON((!(desc->chip) || !(desc->chip->disable) ||
@@
-183,10
+182,10
@@
void fixup_irqs(void)
{
unsigned int irq;
extern void ia64_process_pending_intr(void);
{
unsigned int irq;
extern void ia64_process_pending_intr(void);
- extern void ia64_disable_timer(void);
extern volatile int time_keeper_id;
extern volatile int time_keeper_id;
- ia64_disable_timer();
+ /* Mask ITV to disable timer */
+ ia64_set_itv(1 << 16);
/*
* Find a new timesync master
/*
* Find a new timesync master