diff options
author | Stefan Bader <shbader@de.ibm.com> | 2006-04-27 18:40:04 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-04-28 08:33:47 -0700 |
commit | 6dcfca78d4c036c9d012f913e2a622aae218827f (patch) | |
tree | 945d38095f9302d5d3139be96a5466f2b6e12383 | |
parent | 329b785bcee5d001f97a33bdb80de014bb5020b0 (diff) | |
download | op-kernel-dev-6dcfca78d4c036c9d012f913e2a622aae218827f.zip op-kernel-dev-6dcfca78d4c036c9d012f913e2a622aae218827f.tar.gz |
[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>
-rw-r--r-- | drivers/s390/cio/chsc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/s390/cio/chsc.c b/drivers/s390/cio/chsc.c index daedb00..72187e5 100644 --- a/drivers/s390/cio/chsc.c +++ b/drivers/s390/cio/chsc.c @@ -635,13 +635,13 @@ __chp_add(struct subchannel_id schid, void *data) if (sch->schib.pmcw.chpid[i] == chp->id) { if (stsch(sch->schid, &sch->schib) != 0) { /* Endgame. */ - spin_unlock(&sch->lock); + spin_unlock_irq(&sch->lock); return -ENXIO; } break; } if (i==8) { - spin_unlock(&sch->lock); + spin_unlock_irq(&sch->lock); return 0; } sch->lpm = ((sch->schib.pmcw.pim & |