]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
s390x/css: fix control flags during csch
authorHalil Pasic <pasic@linux.vnet.ibm.com>
Wed, 20 Jan 2016 18:51:30 +0000 (19:51 +0100)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Thu, 17 Mar 2016 21:42:26 +0000 (16:42 -0500)
From the beginning, css support contained an error in csch handling:
instead of setting the clear bit in the function control bits twice, we
need to set the clear pending bit in the activity control bits. Let's
fix this.

Cc: qemu-stable@nongnu.org
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Halil Pasic <pasic@linux.vnet.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
(cherry picked from commit 4c6bf79a222934ac9ff0e45fc98ea1c986ed5c67)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
hw/s390x/css.c

index 19851ce6a9a7f76287232268fd2063120ab3f169..c6ca8bec43575d67367e14d274b0f6377aa78dcd 100644 (file)
@@ -701,7 +701,7 @@ int css_do_csch(SubchDev *sch)
 
     /* Trigger the clear function. */
     s->ctrl &= ~(SCSW_CTRL_MASK_FCTL | SCSW_CTRL_MASK_ACTL);
-    s->ctrl |= SCSW_FCTL_CLEAR_FUNC | SCSW_FCTL_CLEAR_FUNC;
+    s->ctrl |= SCSW_FCTL_CLEAR_FUNC | SCSW_ACTL_CLEAR_PEND;
 
     do_subchannel_work(sch, NULL);
     ret = 0;