[<prev] [next>] [day] [month] [year] [list]
Date: Fri, 2 Feb 2007 15:21:54 +0100
From: Martin Schwidefsky <schwidefsky@...ibm.com>
To: linux-kernel@...r.kernel.org, linux-s390@...r.kernel.org
Cc: cornelia.huck@...ibm.com
Subject: [S390] cio: Catch operand exceptions on stsch.
From: Cornelia Huck <cornelia.huck@...ibm.com>
[S390] cio: Catch operand exceptions on stsch.
If we have a subchannel id which has been generated via
for_each_subchannel(), it might contain an invalid subchannel set id.
We need to catch the ensuing operand exception by using stsch_err()
instead of stsch() in all possible cases.
Signed-off-by: Cornelia Huck <cornelia.huck@...ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@...ibm.com>
---
drivers/s390/cio/chsc.c | 2 +-
drivers/s390/cio/css.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff -urpN linux-2.6/drivers/s390/cio/chsc.c linux-2.6-patched/drivers/s390/cio/chsc.c
--- linux-2.6/drivers/s390/cio/chsc.c 2007-02-02 14:04:33.000000000 +0100
+++ linux-2.6-patched/drivers/s390/cio/chsc.c 2007-02-02 14:04:41.000000000 +0100
@@ -608,7 +608,7 @@ __chp_add_new_sch(struct subchannel_id s
struct schib schib;
int ret;
- if (stsch(schid, &schib))
+ if (stsch_err(schid, &schib))
/* We're through */
return need_rescan ? -EAGAIN : -ENXIO;
diff -urpN linux-2.6/drivers/s390/cio/css.c linux-2.6-patched/drivers/s390/cio/css.c
--- linux-2.6/drivers/s390/cio/css.c 2007-02-02 14:04:19.000000000 +0100
+++ linux-2.6-patched/drivers/s390/cio/css.c 2007-02-02 14:04:41.000000000 +0100
@@ -296,7 +296,7 @@ static int css_evaluate_new_subchannel(s
/* Will be done on the slow path. */
return -EAGAIN;
}
- if (stsch(schid, &schib) || !schib.pmcw.dnv) {
+ if (stsch_err(schid, &schib) || !schib.pmcw.dnv) {
/* Unusable - ignore. */
return 0;
}
-
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