[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1218738411-21828-1-git-send-email-ivan@vmfacility.fr>
Date: Thu, 14 Aug 2008 20:26:51 +0200
From: Ivan Warren <ivan@...acility.fr>
To: schwidefsky@...ibm.com
Cc: elendil@...net.nl, linux-s390@...r.kernel.org,
linux-kernel@...r.kernel.org, Ivan Warren <ivan@...acility.fr>
Subject: [PATCH] S390 : Set SLI on PSF/PRSSD on Dasd ECKD initialisation
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@...acility.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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists