[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: Stefan Bader <shbader@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
329b785bce
commit
6dcfca78d4
|
@ -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 &
|
||||||
|
|
Loading…
Reference in New Issue