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 s390/hmcdrv: HMC drive CD/DVD access 2014-09-25 10:52:02 +02:00
fs3270.c s390/3270: avoid endless I/O loop with disconnected 3270 terminals 2016-05-04 16:29:53 +02:00
hmcdrv_cache.c s390/hmcdrv: HMC drive CD/DVD access 2014-09-25 10:52:02 +02:00
hmcdrv_cache.h s390/hmcdrv: HMC drive CD/DVD access 2014-09-25 10:52:02 +02:00
hmcdrv_dev.c assorted conversions to %p[dD] 2014-11-19 13:01:20 -05:00
hmcdrv_dev.h s390/hmcdrv: HMC drive CD/DVD access 2014-09-25 10:52:02 +02:00
hmcdrv_ftp.c s390/hmcdrv: constify hmcdrv_ftp_ops structs 2015-12-30 10:34:25 +01:00
hmcdrv_ftp.h s390/hmcdrv: HMC drive CD/DVD access 2014-09-25 10:52:02 +02:00
hmcdrv_mod.c s390/hmcdrv: remove unnecessary version.h inclusion 2015-01-15 11:11:16 +01:00
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 TTY: switch tty_schedule_flip 2013-01-15 22:43:15 -08:00
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 s390: char: drop owner assignment from platform_drivers 2014-10-20 16:21:32 +02:00
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 s390/sclp_async: add Kconfig option to specify the component id 2014-11-28 09:45:11 +01:00
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 s390/hmcdrv: HMC drive CD/DVD access 2014-09-25 10:52:02 +02:00
sclp_early.c s390/sclp: detect storage-key facility 2016-06-10 12:07:30 +02:00
sclp_ftp.c s390/hmcdrv: HMC drive CD/DVD access 2014-09-25 10:52:02 +02:00
sclp_ftp.h s390/hmcdrv: HMC drive CD/DVD access 2014-09-25 10:52:02 +02:00
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 s390/sclp: Move declarations for sclp_sdias into separate header file 2013-11-15 14:08:39 +01:00
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 s390/tape: remove redundant if statement 2015-01-22 12:51:49 +01:00
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 s390/tape: fix MTIOCGET ioctl to report blocksize 2014-09-25 10:52:03 +02:00
tape_class.c s390/drivers: Cocci spatch "ptr_ret.spatch" 2013-06-26 21:10:22 +02:00
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 s390/tape: Add missing destroy_timer_on_stack() 2014-04-01 09:23:37 +02:00
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