Commit 6dcfca78 authored by Stefan Bader's avatar Stefan Bader Committed by Linus Torvalds

[PATCH] s390: enable interrupts on error path

Interrupts can stay disabled if an error occurred in _chp_add().  Use
spin_unlock_irq on the error paths to reenable interrupts.
Signed-off-by: default avatarStefan Bader <shbader@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 329b785b
...@@ -635,13 +635,13 @@ __chp_add(struct subchannel_id schid, void *data) ...@@ -635,13 +635,13 @@ __chp_add(struct subchannel_id schid, void *data)
if (sch->schib.pmcw.chpid[i] == chp->id) { if (sch->schib.pmcw.chpid[i] == chp->id) {
if (stsch(sch->schid, &sch->schib) != 0) { if (stsch(sch->schid, &sch->schib) != 0) {
/* Endgame. */ /* Endgame. */
spin_unlock(&sch->lock); spin_unlock_irq(&sch->lock);
return -ENXIO; return -ENXIO;
} }
break; break;
} }
if (i==8) { if (i==8) {
spin_unlock(&sch->lock); spin_unlock_irq(&sch->lock);
return 0; return 0;
} }
sch->lpm = ((sch->schib.pmcw.pim & sch->lpm = ((sch->schib.pmcw.pim &
......
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