summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Haberland <stefan.haberland@de.ibm.com>2010-07-19 09:22:36 +0200
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>2010-07-19 09:22:50 +0200
commit0abccf77402af44855da739b439d01cfb65b4bfd (patch)
tree125232a749ad17ae39db7ce6c52205233f51e240
parentcffab6bc5511cd6f67a60bf16b62de4267b68c4c (diff)
downloadlinux-3.10-0abccf77402af44855da739b439d01cfb65b4bfd.tar.gz
linux-3.10-0abccf77402af44855da739b439d01cfb65b4bfd.tar.bz2
linux-3.10-0abccf77402af44855da739b439d01cfb65b4bfd.zip
[S390] add missing device put
The dasd_alias_show function does not return a device reference in case the device is an alias. Signed-off-by: Stefan Haberland <stefan.haberland@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r--drivers/s390/block/dasd_devmap.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/s390/block/dasd_devmap.c b/drivers/s390/block/dasd_devmap.c
index 34d51dd4c53..bed7b4634cc 100644
--- a/drivers/s390/block/dasd_devmap.c
+++ b/drivers/s390/block/dasd_devmap.c
@@ -948,8 +948,10 @@ static ssize_t dasd_alias_show(struct device *dev,
if (device->discipline && device->discipline->get_uid &&
!device->discipline->get_uid(device, &uid)) {
if (uid.type == UA_BASE_PAV_ALIAS ||
- uid.type == UA_HYPER_PAV_ALIAS)
+ uid.type == UA_HYPER_PAV_ALIAS) {
+ dasd_put_device(device);
return sprintf(buf, "1\n");
+ }
}
dasd_put_device(device);