diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/irq/migration.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/irq/migration.c b/kernel/irq/migration.c index a57ebe9fa6f6..9b234df810d0 100644 --- a/kernel/irq/migration.c +++ b/kernel/irq/migration.c | |||
@@ -7,7 +7,7 @@ void set_pending_irq(unsigned int irq, cpumask_t mask) | |||
7 | unsigned long flags; | 7 | unsigned long flags; |
8 | 8 | ||
9 | spin_lock_irqsave(&desc->lock, flags); | 9 | spin_lock_irqsave(&desc->lock, flags); |
10 | desc->move_irq = 1; | 10 | desc->status |= IRQ_MOVE_PENDING; |
11 | irq_desc[irq].pending_mask = mask; | 11 | irq_desc[irq].pending_mask = mask; |
12 | spin_unlock_irqrestore(&desc->lock, flags); | 12 | spin_unlock_irqrestore(&desc->lock, flags); |
13 | } | 13 | } |
@@ -17,7 +17,7 @@ void move_native_irq(int irq) | |||
17 | struct irq_desc *desc = irq_desc + irq; | 17 | struct irq_desc *desc = irq_desc + irq; |
18 | cpumask_t tmp; | 18 | cpumask_t tmp; |
19 | 19 | ||
20 | if (likely(!desc->move_irq)) | 20 | if (likely(!(desc->status & IRQ_MOVE_PENDING))) |
21 | return; | 21 | return; |
22 | 22 | ||
23 | /* | 23 | /* |
@@ -28,7 +28,7 @@ void move_native_irq(int irq) | |||
28 | return; | 28 | return; |
29 | } | 29 | } |
30 | 30 | ||
31 | desc->move_irq = 0; | 31 | desc->status &= ~IRQ_MOVE_PENDING; |
32 | 32 | ||
33 | if (unlikely(cpus_empty(irq_desc[irq].pending_mask))) | 33 | if (unlikely(cpus_empty(irq_desc[irq].pending_mask))) |
34 | return; | 34 | return; |