summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Weinhuber <wein@de.ibm.com>2008-08-21 19:46:38 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2008-08-21 19:46:41 +0200
commit49fd38bdaa96f093fcad3176a781a4d0de8f8602 (patch)
treed793b150a15f6543578fd4cb580ba62cfd58aa17
parent152382af4056aadc0c2ea2e8e8258b277be085bf (diff)
downloadlwn-49fd38bdaa96f093fcad3176a781a4d0de8f8602.tar.gz
lwn-49fd38bdaa96f093fcad3176a781a4d0de8f8602.zip
[S390] dasd: fix data size for PSF/PRSSD command
The Perform Subsystem Function/Prepare for Read Subsystem Data command requires 12 bytes of parameter data, but the respective data structure dasd_psf_prssd_data has a length of 16 bytes. Current storage servers ignore the obsolete bytes, but older models fail to execute the command and report an incorrect length error. This causes the device initilization for these devices to fail. To fix this problem we need to correct the dasd_psf_prssd_data structure and shorten it to the correct length. Reported-by: Ivan Warren <ivan@vmfacility.fr> Reviewed-by: Ivan Warren <ivan@vmfacility.fr> Tested-by: Ivan Warren <ivan@vmfacility.fr> CC: stable <stable@kernel.org> Signed-off-by: Stefan Weinhuber <wein@de.ibm.com>
-rw-r--r--drivers/s390/block/dasd_eckd.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/s390/block/dasd_eckd.h b/drivers/s390/block/dasd_eckd.h
index 4bf0aa5112c1..2476f87d21d0 100644
--- a/drivers/s390/block/dasd_eckd.h
+++ b/drivers/s390/block/dasd_eckd.h
@@ -308,7 +308,7 @@ struct dasd_psf_prssd_data {
unsigned char flags;
unsigned char reserved[4];
unsigned char suborder;
- unsigned char varies[9];
+ unsigned char varies[5];
} __attribute__ ((packed));
/*