s390x/3270: handle writes of arbitrary length
commit17ec9921a7e40d47c05effcf2c254f162bd63aad
authorHalil Pasic <pasic@linux.vnet.ibm.com>
Wed, 20 Sep 2017 17:23:14 +0000 (20 19:23 +0200)
committerCornelia Huck <cohuck@redhat.com>
Fri, 6 Oct 2017 08:53:02 +0000 (6 10:53 +0200)
tree25d7a113f6ab551d9e1aa00cd0815e5ba05f79d0
parent1baa2eb01e349889a25f7a038e6ae7c335f6246b
s390x/3270: handle writes of arbitrary length

The problem is, that the current implementation places unrealistic and
arbitrary constraints on the length of writes to the device (that is the
outbound requests), by asserting ccw.count being such that that even the
worst case escaped payload will fit an  more or less arbitrary sized
buffer. Actually on protocol level there is nothing to justify such
a limitation.

Another strange thing is the return value which more or less reflects
the size (written) after escaping instead of before escaping. This
is strange, because this return value is used to calculate SCSW.count.

Let us teach 3270 how to deal with arbitrary long writes.

Signed-off-by: Halil Pasic <pasic@linux.vnet.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
Reported-by: Jason J . Herne <jjherne@linux.vnet.ibm.com>
Tested-by: Jason J . Herne <jjherne@linux.vnet.ibm.com>
Message-Id: <20170920172314.102710-3-pasic@linux.vnet.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
hw/char/terminal3270.c