[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@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
committed by
Martin Schwidefsky
parent
d8c351a97e
commit
758976f9a5
@@ -608,7 +608,7 @@ __chp_add_new_sch(struct subchannel_id schid)
|
|||||||
struct schib schib;
|
struct schib schib;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (stsch(schid, &schib))
|
if (stsch_err(schid, &schib))
|
||||||
/* We're through */
|
/* We're through */
|
||||||
return need_rescan ? -EAGAIN : -ENXIO;
|
return need_rescan ? -EAGAIN : -ENXIO;
|
||||||
|
|
||||||
|
@@ -296,7 +296,7 @@ static int css_evaluate_new_subchannel(struct subchannel_id schid, int slow)
|
|||||||
/* Will be done on the slow path. */
|
/* Will be done on the slow path. */
|
||||||
return -EAGAIN;
|
return -EAGAIN;
|
||||||
}
|
}
|
||||||
if (stsch(schid, &schib) || !schib.pmcw.dnv) {
|
if (stsch_err(schid, &schib) || !schib.pmcw.dnv) {
|
||||||
/* Unusable - ignore. */
|
/* Unusable - ignore. */
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user