[PATCH] S390 : Set SLI on PSF/PRSSD on Dasd ECKD initialisation

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Ivan Warren
Date: Thursday, August 14, 2008 - 11:26 am

s390 Dasd ECKD Driver issues a Perform Subsystem Function/Prepare
    for Read Subsystem Data with a length of 16.
    However, some hardware (namely 3990/9390 and some version of ESS)
    only take 12 bytes and therefore, an Incorrect Length indication is
    returned, breaking CCW Command Chaining and leads to a failure to
    initialize the DASD. This patch sets the SLI CCW bit to prevent an
    incorrect length indication to be reported when the control unit
    expects a length of 12 instead of 16.

Signed-off-by: Ivan Warren <ivan@vmfacility.fr>
---
 drivers/s390/block/dasd_eckd.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c
index 773b3fe..d644715 100644
--- a/drivers/s390/block/dasd_eckd.c
+++ b/drivers/s390/block/dasd_eckd.c
@@ -809,7 +809,7 @@ static int dasd_eckd_read_features(struct dasd_device *device)
 	ccw = cqr->cpaddr;
 	ccw->cmd_code = DASD_ECKD_CCW_PSF;
 	ccw->count = sizeof(struct dasd_psf_prssd_data);
-	ccw->flags |= CCW_FLAG_CC;
+	ccw->flags |= CCW_FLAG_CC|CCW_FLAG_SLI;
 	ccw->cda = (__u32)(addr_t) prssdp;
 
 	/* Read Subsystem Data - feature codes */
-- 
1.5.6.3

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: Fwd: [Patch 2.6] s390 - Allow ECKD devices to be used ..., Martin Schwidefsky, (Thu Aug 14, 8:07 am)
[PATCH] S390 : Set SLI on PSF/PRSSD on Dasd ECKD initialis ..., Ivan Warren, (Thu Aug 14, 11:26 am)