summaryrefslogtreecommitdiffstats
path: root/hw/s390x/css.c
diff options
context:
space:
mode:
authorHalil Pasic2017-09-08 17:24:44 +0200
committerCornelia Huck2017-09-19 18:21:33 +0200
commitcc6a9f8dc9278e9a5d499ea114b0a10b3bf5f134 (patch)
treee133c6026773fa36a9da441ac144a3a98d93d489 /hw/s390x/css.c
parents390x/css: drop data-check in interpretation (diff)
downloadqemu-cc6a9f8dc9278e9a5d499ea114b0a10b3bf5f134.tar.gz
qemu-cc6a9f8dc9278e9a5d499ea114b0a10b3bf5f134.tar.xz
qemu-cc6a9f8dc9278e9a5d499ea114b0a10b3bf5f134.zip
s390x/css: fix NULL handling for CCW addresses
Back then in the time of df1fe5bb49 ("s390: Virtual channel subsystem support.", 2013-01-24) -EIO used to map to a channel-program check (via the default label of the switch statement). Then 2dc95b4cac ("s390x/3270: 3270 data stream handling", 2016-04-01) came along and that changed dramatically. Let us roll back this undesired side effect, and go back to channel-program check. Signed-off-by: Halil Pasic <pasic@linux.vnet.ibm.com> Fixes: 2dc95b4cac "s390x/3270: 3270 data stream handling" Message-Id: <20170908152446.14606-3-pasic@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Diffstat (limited to 'hw/s390x/css.c')
-rw-r--r--hw/s390x/css.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/s390x/css.c b/hw/s390x/css.c
index bab78fc79a..6d599477b2 100644
--- a/hw/s390x/css.c
+++ b/hw/s390x/css.c
@@ -793,7 +793,7 @@ static int css_interpret_ccw(SubchDev *sch, hwaddr ccw_addr,
CCW1 ccw;
if (!ccw_addr) {
- return -EIO;
+ return -EINVAL; /* channel-program check */
}
/* Check doubleword aligned and 31 or 24 (fmt 0) bit addressable. */
if (ccw_addr & (sch->ccw_fmt_1 ? 0x80000007 : 0xff000007)) {