!css_sch_is_valid(&schib))
return -ENODEV;
if (cio_check_config(sch, &schib)) {
!css_sch_is_valid(&schib))
return -ENODEV;
if (cio_check_config(sch, &schib)) {
irq_enter();
__get_cpu_var(s390_idle).nohz_delay = 1;
if (S390_lowcore.int_clock >= S390_lowcore.clock_comparator)
irq_enter();
__get_cpu_var(s390_idle).nohz_delay = 1;
if (S390_lowcore.int_clock >= S390_lowcore.clock_comparator)
* We don't do this for VM because a tpi drops the cpu
* out of the sie which costs more cycles than it saves.
*/
* We don't do this for VM because a tpi drops the cpu
* out of the sie which costs more cycles than it saves.
*/
/* Store interrupt response block to lowcore. */
if (tsch(tpi_info->schid, irb) != 0)
/* Not status pending or not operational. */
/* Store interrupt response block to lowcore. */
if (tsch(tpi_info->schid, irb) != 0)
/* Not status pending or not operational. */
s390_base_pgm_handler_fn = NULL;
/* The program check handler could have changed pgm_check_occured. */
s390_base_pgm_handler_fn = NULL;
/* The program check handler could have changed pgm_check_occured. */