[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 1/1] s390x/css: fix cc handling for XSCH
From: |
Halil Pasic |
Subject: |
[Qemu-devel] [PATCH 1/1] s390x/css: fix cc handling for XSCH |
Date: |
Thu, 31 Aug 2017 14:18:28 +0200 |
The function ioinst_handle_xsch is presenting cc 2 when it's supposed to
present cc 1 and the other way around, because css_do_xsch has the error
codes mixed up. Because cc 1 has precedence over cc 2 we also have to
swap the two checks.
Let us fix this.
Signed-off-by: Halil Pasic <address@hidden>
Reported-by: Pierre Morel <address@hidden>
---
Was previously a part of a series (due to an accident the
series had no name). This version also fixes the priority
(aka precedence) problem.
---
hw/s390x/css.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/hw/s390x/css.c b/hw/s390x/css.c
index 1880b1a0ff..e04e0ea3a8 100644
--- a/hw/s390x/css.c
+++ b/hw/s390x/css.c
@@ -1276,16 +1276,16 @@ int css_do_xsch(SubchDev *sch)
goto out;
}
+ if (s->ctrl & SCSW_CTRL_MASK_STCTL) {
+ ret = -EINPROGRESS;
+ goto out;
+ }
+
if (!(s->ctrl & SCSW_CTRL_MASK_FCTL) ||
((s->ctrl & SCSW_CTRL_MASK_FCTL) != SCSW_FCTL_START_FUNC) ||
(!(s->ctrl &
(SCSW_ACTL_RESUME_PEND | SCSW_ACTL_START_PEND | SCSW_ACTL_SUSP))) ||
(s->ctrl & SCSW_ACTL_SUBCH_ACTIVE)) {
- ret = -EINPROGRESS;
- goto out;
- }
-
- if (s->ctrl & SCSW_CTRL_MASK_STCTL) {
ret = -EBUSY;
goto out;
}
--
2.13.5
- [Qemu-devel] [PATCH 1/1] s390x/css: fix cc handling for XSCH,
Halil Pasic <=