| .. | .. |
|---|
| 207 | 207 | curstate = newstate; |
|---|
| 208 | 208 | switch (curstate) { |
|---|
| 209 | 209 | case MULTI_STOP_DISABLE_IRQ: |
|---|
| 210 | | - local_irq_disable(); |
|---|
| 211 | 210 | hard_irq_disable(); |
|---|
| 211 | + local_irq_disable(); |
|---|
| 212 | 212 | break; |
|---|
| 213 | 213 | case MULTI_STOP_RUN: |
|---|
| 214 | 214 | if (is_active) |
|---|
| .. | .. |
|---|
| 229 | 229 | rcu_momentary_dyntick_idle(); |
|---|
| 230 | 230 | } while (curstate != MULTI_STOP_EXIT); |
|---|
| 231 | 231 | |
|---|
| 232 | + hard_irq_enable(); |
|---|
| 232 | 233 | local_irq_restore(flags); |
|---|
| 233 | 234 | return err; |
|---|
| 234 | 235 | } |
|---|
| .. | .. |
|---|
| 629 | 630 | local_irq_save(flags); |
|---|
| 630 | 631 | hard_irq_disable(); |
|---|
| 631 | 632 | ret = (*fn)(data); |
|---|
| 633 | + hard_irq_enable(); |
|---|
| 632 | 634 | local_irq_restore(flags); |
|---|
| 633 | 635 | |
|---|
| 634 | 636 | return ret; |
|---|