summary refs log tree commit diff
path: root/drivers/s390
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2011-08-24 17:15:13 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2011-08-24 17:15:24 +0200
commit8adb4ca344b48bbbf87ca66fd07a2dd503619714 (patch)
tree676c225c84bca994aeace3a80ab785eb3e7e6d8f /drivers/s390
parente1202edadbf846f0a4de70c8c0b9fe5a6c88b1cb (diff)
downloadlinux-8adb4ca344b48bbbf87ca66fd07a2dd503619714.tar.gz
[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')
-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 be55fb2b1b1c..837e010299a8 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;