linux/drivers/s390/char
Sascha Silbe 6cd997db91 s390/con3270: fix insufficient space padding
con3270 contains an optimisation that reduces the amount of data to be
transmitted to the 3270 terminal by putting a Repeat to Address (RA)
order into the data stream. The RA order itself takes up space, so
con3270 only uses it if there's enough space left in the line
buffer. Otherwise it just pads out the line manually.

For lines that were _just_ short enough that the RA order still fit in
the line buffer, the line was instead padded with an insufficient
amount of spaces. This was caused by examining the size of the
allocated line buffer rather than the length of the string to be
displayed.

For con3270_cline_end(), we just compare against the line length. For
con3270_update_string() however that isn't available anymore, so we
check whether the Repeat to Address order is present.

Fixes: f51320a5 ("[PATCH] s390: new 3270 driver.") (tglx/history.git)
Tested-by: Jing Liu <liujbjl@linux.vnet.ibm.com>
Tested-by: Yang Chen <bjcyang@linux.vnet.ibm.com>
Signed-off-by: Sascha Silbe <silbe@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-09-30 09:13:21 +02:00
..
con3215.c tty: Replace ASYNC_INITIALIZED bit and update atomically 2016-04-30 09:26:55 -07:00
con3270.c s390/con3270: fix insufficient space padding 2016-09-30 09:13:21 +02:00
ctrlchar.c s390/ctrlchar: improve handling of magic sysrequests 2015-08-26 17:20:44 +02:00
ctrlchar.h s390/ctrlchar: improve handling of magic sysrequests 2015-08-26 17:20:44 +02:00
defkeymap.c
defkeymap.map
diag_ftp.c s390/diag: add a statistic for diagnose calls 2015-10-14 14:32:06 +02:00
diag_ftp.h
fs3270.c s390/3270: avoid endless I/O loop with disconnected 3270 terminals 2016-05-04 16:29:53 +02:00
hmcdrv_cache.c
hmcdrv_cache.h
hmcdrv_dev.c
hmcdrv_dev.h
hmcdrv_ftp.c s390/hmcdrv: constify hmcdrv_ftp_ops structs 2015-12-30 10:34:25 +01:00
hmcdrv_ftp.h
hmcdrv_mod.c
Kconfig s390/sclp: add open for business support 2015-11-27 09:24:18 +01:00
keyboard.c s390/keyboard: use memdup_user_nul() 2016-06-13 15:58:12 +02:00
keyboard.h
Makefile s390/sclp: move pci related commands to separate file 2016-04-15 18:16:38 +02:00
monreader.c s390: Use pr_warn instead of pr_warning 2016-03-07 13:12:04 +01:00
monwriter.c
raw3270.c s390/3270: handle reconnect of a tty with a different size 2016-05-10 13:24:46 +02:00
raw3270.h s390/3270: avoid endless I/O loop with disconnected 3270 terminals 2016-05-04 16:29:53 +02:00
sclp_async.c
sclp_cmd.c s390/sclp: move pci related commands to separate file 2016-04-15 18:16:38 +02:00
sclp_con.c s390/console: Make preferred console handling more consistent 2016-07-13 10:58:07 +02:00
sclp_config.c s390/cpuinfo: show dynamic and static cpu mhz 2016-06-13 15:58:17 +02:00
sclp_cpi_sys.c s390/sclp: event type macro cleanup 2016-04-15 18:16:39 +02:00
sclp_cpi_sys.h
sclp_ctl.c s390/sclp_ctl: fix potential information leak with /dev/sclp 2016-04-27 09:33:39 +02:00
sclp_diag.h
sclp_early.c s390/sclp: detect storage-key facility 2016-06-10 12:07:30 +02:00
sclp_ftp.c
sclp_ftp.h
sclp_ocf.c s390: Make cpc_name accessible 2016-06-10 12:07:10 +02:00
sclp_pci.c s390/sclp: avoid compile warning in sclp_pci_report 2016-04-21 09:51:17 +02:00
sclp_quiesce.c
sclp_rw.c s390/sclp: avoid merged message output 2015-10-14 14:32:10 +02:00
sclp_rw.h s390/sclp: avoid merged message output 2015-10-14 14:32:10 +02:00
sclp_sdias.c s390/sclp: pass timeout as HZ independent value 2015-06-15 10:50:57 +02:00
sclp_sdias.h
sclp_tty.c s390/sclp: avoid merged message output 2015-10-14 14:32:10 +02:00
sclp_tty.h
sclp_vt220.c s390/sclp_vt220: support magic sysrequests 2015-08-26 17:20:45 +02:00
sclp.c s390/sclp: fix possible control register corruption 2016-01-11 13:03:00 +01:00
sclp.h s390/sclp: event type macro cleanup 2016-04-15 18:16:39 +02:00
tape_34xx.c
tape_3590.c s390/tape: Use memdup_user() rather than duplicating its implementation 2016-08-24 09:23:57 +02:00
tape_3590.h
tape_char.c
tape_class.c
tape_class.h
tape_core.c s390: Use pr_warn instead of pr_warning 2016-03-07 13:12:04 +01:00
tape_proc.c
tape_std.c
tape_std.h
tape.h
tty3270.c TTY and Serial driver update for 4.7-rc1 2016-05-20 20:57:27 -07:00
tty3270.h
vmcp.c convert a bunch of open-coded instances of memdup_user_nul() 2016-01-04 10:26:58 -05:00
vmcp.h
vmlogrdr.c s390: Use pr_warn instead of pr_warning 2016-03-07 13:12:04 +01:00
vmur.c s390/vmur: fix irq pointer dereference in int handler 2016-09-20 14:26:32 +02:00
vmur.h
zcore.c s390/ipl: rename diagnose enums 2016-06-13 15:58:26 +02:00