[S390] cio: Fix inverted isc priorities.

Priorities for I/O interruption subclasses range from 0 (highest)
to 7 (lowest). Unfortunately, the console has been using isc 7
instead of an isc with a higher priority than regular I/O
subchannels (which use 3). Fix this by making the console use
isc 1.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

authored by Cornelia Huck and committed by Martin Schwidefsky 85b0d7c0 ee0ddadd

+11 -9
+11 -9
drivers/s390/cio/cio.c
··· 576 576 err = -ENODEV; 577 577 goto out; 578 578 } 579 - if (cio_is_console(sch->schid)) 579 + if (cio_is_console(sch->schid)) { 580 580 sch->opm = 0xff; 581 - else 581 + sch->isc = 1; 582 + } else { 582 583 sch->opm = chp_get_sch_opm(sch); 584 + sch->isc = 3; 585 + } 583 586 sch->lpm = sch->schib.pmcw.pam & sch->opm; 584 - sch->isc = 3; 585 587 586 588 CIO_MSG_EVENT(6, "Detected device %04x on subchannel 0.%x.%04X " 587 589 "- PIM = %02X, PAM = %02X, POM = %02X\n", ··· 706 704 if (!console_subchannel_in_use) 707 705 return; 708 706 709 - /* disable all but isc 7 (console device) */ 707 + /* disable all but isc 1 (console device) */ 710 708 __ctl_store (save_cr6, 6, 6); 711 - cr6 = 0x01000000; 709 + cr6 = 0x40000000; 712 710 __ctl_load (cr6, 6, 6); 713 711 714 712 do { ··· 790 788 } 791 789 792 790 /* 793 - * enable console I/O-interrupt subclass 7 791 + * enable console I/O-interrupt subclass 1 794 792 */ 795 - ctl_set_bit(6, 24); 796 - console_subchannel.isc = 7; 797 - console_subchannel.schib.pmcw.isc = 7; 793 + ctl_set_bit(6, 30); 794 + console_subchannel.isc = 1; 795 + console_subchannel.schib.pmcw.isc = 1; 798 796 console_subchannel.schib.pmcw.intparm = 799 797 (u32)(addr_t)&console_subchannel; 800 798 ret = cio_modify(&console_subchannel);