From 89c6722da24761d14db1b19250919c8004758ba5 Mon Sep 17 00:00:00 2001 From: Cornelia Huck Date: Mon, 5 Jul 2021 18:39:52 +0200 Subject: [PATCH] css: fix actl handling for unit exceptions When a subchannel becomes pending with unit exception, start pending (and for that matter, halt or clear pending) are not removed in the actl. Device active and subchannel active, however, are (due to the subchannel becoming status pending with primary respectively secondary status). The other conditions in the actl are only cleared when the guest executes tsch on the subchannel. Signed-off-by: Cornelia Huck Reviewed-by: Matthew Rosato Tested-by: Jared Rossi Message-Id: <20210705163952.736020-3-cohuck@redhat.com> Signed-off-by: Thomas Huth --- include/hw/s390x/css.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/hw/s390x/css.h b/include/hw/s390x/css.h index 10ed1df1bb..75e5381613 100644 --- a/include/hw/s390x/css.h +++ b/include/hw/s390x/css.h @@ -146,7 +146,8 @@ struct SubchDev { static inline void sch_gen_unit_exception(SubchDev *sch) { - sch->curr_status.scsw.ctrl &= ~SCSW_ACTL_START_PEND; + sch->curr_status.scsw.ctrl &= ~(SCSW_ACTL_DEVICE_ACTIVE | + SCSW_ACTL_SUBCH_ACTIVE); sch->curr_status.scsw.ctrl |= SCSW_STCTL_PRIMARY | SCSW_STCTL_SECONDARY | SCSW_STCTL_ALERT | -- 2.11.4.GIT