aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390
diff options
context:
space:
mode:
authorSebastian Ott <sebott@linux.vnet.ibm.com>2013-08-29 14:31:06 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2013-08-30 02:57:22 -0400
commiteb072a7996467937a1582d0188ed082768902a5a (patch)
tree66115658aa7bc89efa9381c7123cd4fcfa17115e /drivers/s390
parent57b5918c33a0797930c3791fb602a8a9d46ef80c (diff)
s390/cio: fix unlocked access of global bitmap
Access to the slow_subchannel_set has to be secured via the slow_subchannel_lock. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390')
-rw-r--r--drivers/s390/cio/css.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c
index 4eb2a54e64f2..8c2cb87bccc5 100644
--- a/drivers/s390/cio/css.c
+++ b/drivers/s390/cio/css.c
@@ -546,7 +546,9 @@ static int slow_eval_unknown_fn(struct subchannel_id schid, void *data)
546 case -ENOMEM: 546 case -ENOMEM:
547 case -EIO: 547 case -EIO:
548 /* These should abort looping */ 548 /* These should abort looping */
549 spin_lock_irq(&slow_subchannel_lock);
549 idset_sch_del_subseq(slow_subchannel_set, schid); 550 idset_sch_del_subseq(slow_subchannel_set, schid);
551 spin_unlock_irq(&slow_subchannel_lock);
550 break; 552 break;
551 default: 553 default:
552 rc = 0; 554 rc = 0;