public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Stefan Weinhuber <wein@linux.vnet.ibm.com>
To: Ivan Warren <ivan@vmfacility.fr>
Cc: schwidefsky@de.ibm.com, elendil@planet.nl,
	linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] S390 : Set SLI on PSF/PRSSD on Dasd ECKD initialisation
Date: Fri, 15 Aug 2008 16:15:54 +0200	[thread overview]
Message-ID: <48A58F9A.8070301@linux.vnet.ibm.com> (raw)
In-Reply-To: <1218738411-21828-1-git-send-email-ivan@vmfacility.fr>

Ivan Warren wrote:
>     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.

Hi Ivan,

while I agree that your patch is technically correct, I think I'd
rather like to fix the problematic data length instead of making
the storage server ignore it. There is no need for the
dasd_psf_prssd_data structure to be 16 bytes long as it is only used
for suborders that require 12 bytes. The current layout of that
structure was probably just a mistake. If we ever go to use a
suborder that requires more data, we should either define a further
structure specific to that purpose or find some other way to make
sure that each suborder is called with the appropriate data length.

The following patch works fine on current hardware. Can you please
verify that it indeed fixes your problem as well?

Signed-off-by: Stefan Weinhuber <wein@de.ibm.com>
---
 drivers/s390/block/dasd_eckd.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6.26/drivers/s390/block/dasd_eckd.h
===================================================================
--- linux-2.6.26.orig/drivers/s390/block/dasd_eckd.h
+++ linux-2.6.26/drivers/s390/block/dasd_eckd.h
@@ -379,7 +379,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));
 
 /*


  reply	other threads:[~2008-08-15 14:17 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-08 18:46 [Patch 2.6] s390 - Allow ECKD devices to be used with older controllers and emulation Ivan Warren
2008-08-13 23:07 ` Fwd: " Frans Pop
2008-08-14 15:07   ` Martin Schwidefsky
2008-08-14 18:26     ` [PATCH] S390 : Set SLI on PSF/PRSSD on Dasd ECKD initialisation Ivan Warren
2008-08-15 14:15       ` Stefan Weinhuber [this message]
2008-08-18 17:08         ` Ivan Warren
2008-08-18 17:56           ` Frans Pop
2008-08-21 16:32             ` Stefan Weinhuber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48A58F9A.8070301@linux.vnet.ibm.com \
    --to=wein@linux.vnet.ibm.com \
    --cc=elendil@planet.nl \
    --cc=ivan@vmfacility.fr \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=schwidefsky@de.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox