diff options
Diffstat (limited to 'drivers/s390/cio/cio.c')
-rw-r--r-- | drivers/s390/cio/cio.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c index bab729202f49..7dd0649c95d1 100644 --- a/drivers/s390/cio/cio.c +++ b/drivers/s390/cio/cio.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #include "ioasm.h" | 29 | #include "ioasm.h" |
30 | #include "blacklist.h" | 30 | #include "blacklist.h" |
31 | #include "cio_debug.h" | 31 | #include "cio_debug.h" |
32 | #include "chp.h" | ||
32 | #include "../s390mach.h" | 33 | #include "../s390mach.h" |
33 | 34 | ||
34 | debug_info_t *cio_debug_msg_id; | 35 | debug_info_t *cio_debug_msg_id; |
@@ -592,9 +593,10 @@ cio_validate_subchannel (struct subchannel *sch, struct subchannel_id schid) | |||
592 | err = -ENODEV; | 593 | err = -ENODEV; |
593 | goto out; | 594 | goto out; |
594 | } | 595 | } |
595 | sch->opm = 0xff; | 596 | if (cio_is_console(sch->schid)) |
596 | if (!cio_is_console(sch->schid)) | 597 | sch->opm = 0xff; |
597 | chsc_validate_chpids(sch); | 598 | else |
599 | sch->opm = chp_get_sch_opm(sch); | ||
598 | sch->lpm = sch->schib.pmcw.pam & sch->opm; | 600 | sch->lpm = sch->schib.pmcw.pam & sch->opm; |
599 | 601 | ||
600 | CIO_DEBUG(KERN_INFO, 0, | 602 | CIO_DEBUG(KERN_INFO, 0, |