Commit 164cf89e authored by Linus Torvalds's avatar Linus Torvalds

Revert bogus IRQ_INPROGRESS clear.

It's incorrect for any user of the non-synchronizing irq_disable_nosync().

Cset exclude: torvalds@home.osdl.org|ChangeSet|20031013020955|28777
parent fac20fd0
...@@ -380,7 +380,7 @@ void enable_irq(unsigned int irq) ...@@ -380,7 +380,7 @@ void enable_irq(unsigned int irq)
spin_lock_irqsave(&desc->lock, flags); spin_lock_irqsave(&desc->lock, flags);
switch (desc->depth) { switch (desc->depth) {
case 1: { case 1: {
unsigned int status = desc->status & ~(IRQ_DISABLED | IRQ_INPROGRESS); unsigned int status = desc->status & ~IRQ_DISABLED;
desc->status = status; desc->status = status;
if ((status & (IRQ_PENDING | IRQ_REPLAY)) == IRQ_PENDING) { if ((status & (IRQ_PENDING | IRQ_REPLAY)) == IRQ_PENDING) {
desc->status = status | IRQ_REPLAY; desc->status = status | IRQ_REPLAY;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment