lkml.org 
[lkml]   [2006]   [Feb]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [patch 16/17] s390: multiple subchannel sets support.
On Sat, 25 Feb 2006 06:12:02 -0500
Greg Smith <gsmith@nc.rr.com> wrote:

> However, __init_channel_subsystem does not recognize the -EIO return
> code from css_alloc_subchannel.

Good catch.

> I have verified that on a real machine that does not support multiple
> channel sets (a 9672) the CHSC_SDA_OC_MSS chsc request gets response
> code 0x0002. The emulator also sets the response code to 0x0002.

The architecture seems to disagree somewhat :) (and I also got a
different response code on the non-MSS capable HW I tested on). On
further looking at the code, the check leaves room for improvement
anyway... I'd prefer the following patch:


s390: Improve response code handling in chsc_enable_facility().

Rather than checking for some known failures, check positively for the
success response code 0x0001 and return -EIO for unrecognized failure
response codes.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>

chsc.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/s390/cio/chsc.c b/drivers/s390/cio/chsc.c
index 8cf9905..f4183d6 100644
--- a/drivers/s390/cio/chsc.c
+++ b/drivers/s390/cio/chsc.c
@@ -1115,6 +1115,9 @@ chsc_enable_facility(int operation_code)
goto out;
}
switch (sda_area->response.code) {
+ case 0x0001: /* everything ok */
+ ret = 0;
+ break;
case 0x0003: /* invalid request block */
case 0x0007:
ret = -EINVAL;
@@ -1123,6 +1126,8 @@ chsc_enable_facility(int operation_code)
case 0x0101: /* facility not provided */
ret = -EOPNOTSUPP;
break;
+ default: /* something went wrong */
+ ret = -EIO;
}
out:
free_page((unsigned long)sda_area);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2006-02-27 09:18    [W:0.061 / U:0.752 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site