.. | .. |
---|
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; |
---|