[Patch 2.6] s390 - Allow ECKD devices to be used with older controllersand emulation

From: Ivan Warren
Date: Fri Aug 08 2008 - 14:53:23 EST


Crowd,

Apologies if this is not formatted correctly, but I'm fairly new to this (submitting patches that is)..

**************
s390 dasd ECKD drivers issues a Perform Subsystem Function / Prepare for Read SubSystem Data with a length of 16.
However, older hardware and documentation specifies a length of 12 leading to a possible Incorrect Length indication.
This patch activates the SLI CCW flag in order to avoid reporting the Incorrect Length indication since it is possible that the DASD control unit may be expecting a length of 12, not 16.
-- Ivan Warren (ivan@xxxxxxxxxxxxx)

diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c
index 773b3fe..c4e3935 100644
--- a/drivers/s390/block/dasd_eckd.c
+++ b/drivers/s390/block/dasd_eckd.c
@@ -810,6 +810,7 @@ static int dasd_eckd_read_features(struct dasd_device *device)
ccw->cmd_code = DASD_ECKD_CCW_PSF;
ccw->count = sizeof(struct dasd_psf_prssd_data);
ccw->flags |= CCW_FLAG_CC;
+ ccw->flags |= CCW_FLAG_SLI;
ccw->cda = (__u32)(addr_t) prssdp;

/* Read Subsystem Data - feature codes */
**************

--Ivan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/