]> err.no Git - linux-2.6/commitdiff
[S390] dasd: fix data size for PSF/PRSSD command
authorStefan Weinhuber <wein@de.ibm.com>
Thu, 21 Aug 2008 17:46:38 +0000 (19:46 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 21 Aug 2008 17:46:41 +0000 (19:46 +0200)
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>
drivers/s390/block/dasd_eckd.h

index 4bf0aa5112c10c00cc2dfeff42409244539de503..2476f87d21d0027ae61dc08e546abb15b37ec979 100644 (file)
@@ -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));
 
 /*