diff options
author | Peter Oberparleiter <peter.oberparleiter@de.ibm.com> | 2007-04-27 16:01:29 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2007-04-27 16:01:39 +0200 |
commit | c9182e0f42c5646e670c2166b6d6638052d574af (patch) | |
tree | e00c9d7553302265e388d3a7732bfb596cb7daf3 /drivers/s390/cio | |
parent | e6b6e10ac1de116fc6d2288f185393014851cccf (diff) | |
download | linux-c9182e0f42c5646e670c2166b6d6638052d574af.tar.gz linux-c9182e0f42c5646e670c2166b6d6638052d574af.tar.bz2 linux-c9182e0f42c5646e670c2166b6d6638052d574af.zip |
[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>
Diffstat (limited to 'drivers/s390/cio')
-rw-r--r-- | drivers/s390/cio/chp.c | 4 |
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) ret = chsc_determine_channel_path_description(chpid, &chp->desc); if (ret) goto out_free; + if ((chp->desc.flags & 0x80) == 0) { + ret = -ENODEV; + goto out_free; + } /* Get channel-measurement characteristics. */ if (css_characteristics_avail && css_chsc_characteristics.scmc && css_chsc_characteristics.secm) { |