aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Oberparleiter <peter.oberparleiter@de.ibm.com>2007-04-27 10:01:29 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2007-04-27 10:01:39 -0400
commitc9182e0f42c5646e670c2166b6d6638052d574af (patch)
treee00c9d7553302265e388d3a7732bfb596cb7daf3
parente6b6e10ac1de116fc6d2288f185393014851cccf (diff)
[S390] cio: observe chpid valid flag
Check validity flag of CHPID description data before continuing with channel-path initialization. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r--drivers/s390/cio/chp.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/s390/cio/chp.c b/drivers/s390/cio/chp.c
index 6e04521accd8..8a5839147f8a 100644
--- a/drivers/s390/cio/chp.c
+++ b/drivers/s390/cio/chp.c
@@ -339,6 +339,10 @@ int chp_new(struct chp_id chpid)
339 ret = chsc_determine_channel_path_description(chpid, &chp->desc); 339 ret = chsc_determine_channel_path_description(chpid, &chp->desc);
340 if (ret) 340 if (ret)
341 goto out_free; 341 goto out_free;
342 if ((chp->desc.flags & 0x80) == 0) {
343 ret = -ENODEV;
344 goto out_free;
345 }
342 /* Get channel-measurement characteristics. */ 346 /* Get channel-measurement characteristics. */
343 if (css_characteristics_avail && css_chsc_characteristics.scmc 347 if (css_characteristics_avail && css_chsc_characteristics.scmc
344 && css_chsc_characteristics.secm) { 348 && css_chsc_characteristics.secm) {