summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorStefan Haberland <sth@linux.vnet.ibm.com>2017-03-22 10:30:40 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2017-03-28 16:54:27 +0200
commitccd53fa2261c2676258fe523d9201099f4d5ebc1 (patch)
treeeeb1fca7bf8a5878bc2f35d152142b3b4032fd89 /drivers
parent2fa5ed7d87074268b5d29cdff6c4f81f51666885 (diff)
downloadlinux-stable-ccd53fa2261c2676258fe523d9201099f4d5ebc1.tar.gz
linux-stable-ccd53fa2261c2676258fe523d9201099f4d5ebc1.tar.bz2
linux-stable-ccd53fa2261c2676258fe523d9201099f4d5ebc1.zip
s390/dasd: check if query host access feature is supported
Some storage servers might not support the query host access feature. Check if the corresponding feature code is set. Signed-off-by: Stefan Haberland <sth@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/s390/block/dasd_eckd.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c
index 0b38217f8147..eb090e85b02e 100644
--- a/drivers/s390/block/dasd_eckd.c
+++ b/drivers/s390/block/dasd_eckd.c
@@ -5172,6 +5172,10 @@ static int dasd_eckd_query_host_access(struct dasd_device *device,
if (!device->block && private->lcu->pav == HYPER_PAV)
return -EOPNOTSUPP;
+ /* may not be supported by the storage server */
+ if (!(private->features.feature[14] & 0x80))
+ return -EOPNOTSUPP;
+
cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1 /* PSF */ + 1 /* RSSD */,
sizeof(struct dasd_psf_prssd_data) + 1,
device);