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)
committerCornelia Huck <cornelia.huck@de.ibm.com>
Wed, 27 Jan 2016 14:34:48 +0000 (15:34 +0100)
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>
hw/s390x/css.c

index 533357ad971aa063d3e7ef0781b517f4672786ed..e83bf60a744bc624042a4b048dc9bed0edb5f632 100644 (file)
@@ -702,7 +702,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;