summaryrefslogtreecommitdiff
path: root/drivers/s390/char
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2011-08-24 15:15:13 (GMT)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2011-08-24 15:15:24 (GMT)
commit8adb4ca344b48bbbf87ca66fd07a2dd503619714 (patch)
tree676c225c84bca994aeace3a80ab785eb3e7e6d8f /drivers/s390/char
parente1202edadbf846f0a4de70c8c0b9fe5a6c88b1cb (diff)
downloadlinux-8adb4ca344b48bbbf87ca66fd07a2dd503619714.tar.xz
[S390] memory hotplug: only unassign assigned increments
Make sure that only assigned storage increments are unassigned when attaching a storage element. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/char')
-rw-r--r--drivers/s390/char/sclp_cmd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/s390/char/sclp_cmd.c b/drivers/s390/char/sclp_cmd.c
index be55fb2..837e010 100644
--- a/drivers/s390/char/sclp_cmd.c
+++ b/drivers/s390/char/sclp_cmd.c
@@ -383,8 +383,10 @@ static int sclp_attach_storage(u8 id)
switch (sccb->header.response_code) {
case 0x0020:
set_bit(id, sclp_storage_ids);
- for (i = 0; i < sccb->assigned; i++)
- sclp_unassign_storage(sccb->entries[i] >> 16);
+ for (i = 0; i < sccb->assigned; i++) {
+ if (sccb->entries[i])
+ sclp_unassign_storage(sccb->entries[i] >> 16);
+ }
break;
default:
rc = -EIO;