1
0
Fork 0
alistair23-linux/drivers/s390/char
Martin Schwidefsky 5712f3301a s390/3270: fix lockdep false positive on view->lock
The spinlock in the raw3270_view structure is used by con3270, tty3270
and fs3270 in different ways. For con3270 the lock can be acquired in
irq context, for tty3270 and fs3270 the highest context is bh.

Lockdep sees the view->lock as a single class and if the 3270 driver
is used for the console the following message is generated:

WARNING: inconsistent lock state
5.1.0-rc3-05157-g5c168033979d #12 Not tainted
--------------------------------
inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage.
swapper/0/1 [HC0[0]:SC1[1]:HE1:SE0] takes:
(____ptrval____) (&(&view->lock)->rlock){?.-.}, at: tty3270_update+0x7c/0x330

Introduce a lockdep subclass for the view lock to distinguish bh from
irq locks.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2019-04-10 17:46:22 +02:00
..
Kconfig s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
Makefile s390/kasan: avoid instrumentation of early C code 2018-10-09 11:21:17 +02:00
con3215.c s390/sclp: Convert timers to use timer_setup() 2017-11-14 11:01:39 +01:00
con3270.c s390/3270: fix lockdep false positive on view->lock 2019-04-10 17:46:22 +02:00
ctrlchar.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ctrlchar.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
defkeymap.c s390/defkeymap: fix global init to zero 2018-03-18 23:02:02 -07:00
defkeymap.map s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
diag_ftp.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
diag_ftp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fs3270.c s390/3270: fix lockdep false positive on view->lock 2019-04-10 17:46:22 +02:00
hmcdrv_cache.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hmcdrv_cache.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hmcdrv_dev.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hmcdrv_dev.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hmcdrv_ftp.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hmcdrv_ftp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hmcdrv_mod.c s390: char: add SPDX identifiers to the remaining files 2017-11-24 14:28:42 +01:00
keyboard.c TTY/Serial driver patches for 4.19-rc1 2018-08-18 10:50:41 -07:00
keyboard.h s390/char : Rename EBCDIC keymap variables 2018-03-18 23:01:56 -07:00
monreader.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
monwriter.c s390/monwriter: do not use stack buffers for hardware data 2018-10-09 11:20:53 +02:00
raw3270.c s390/3270: fix lockdep false positive on view->lock 2019-04-10 17:46:22 +02:00
raw3270.h s390/3270: fix lockdep false positive on view->lock 2019-04-10 17:46:22 +02:00
sclp.c s390/sclp: 32 bit event mask compatibility mode 2018-02-22 15:31:24 +01:00
sclp.h s390/setup: set control program code via diag 318 2019-01-28 15:58:53 +01:00
sclp_async.c s390/sclp_async: replace callhome proc handler with generic one 2018-07-06 08:47:53 +02:00
sclp_cmd.c s390/mem_detect: introduce SCLP storage info 2018-10-09 11:21:09 +02:00
sclp_con.c s390/sclp: Convert timers to use timer_setup() 2017-11-14 11:01:39 +01:00
sclp_config.c s390/smp: fix CPU hotplug deadlock with CPU rescan 2019-01-11 17:12:02 +01:00
sclp_cpi_sys.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_cpi_sys.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_ctl.c compat: Move compat_timespec/ timeval to compat_time.h 2018-04-19 13:29:54 +02:00
sclp_diag.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_early.c s390/setup: set control program code via diag 318 2019-01-28 15:58:53 +01:00
sclp_early_core.c s390/sclp: introduce sclp_early_get_hsa_size 2018-10-09 11:21:13 +02:00
sclp_ftp.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_ftp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_ocf.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_pci.c s390/sclp: Allow to request adapter reset 2018-09-20 13:20:27 +02:00
sclp_quiesce.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_rw.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_rw.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_sd.c treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
sclp_sdias.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_sdias.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_tty.c s390/sclp_tty: enable line mode tty even if there is an ascii console 2018-03-18 23:02:00 -07:00
sclp_tty.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_vt220.c s390/sclp: Convert timers to use timer_setup() 2017-11-14 11:01:39 +01:00
tape.h Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-11-13 17:56:58 -08:00
tape_34xx.c s390: char: add SPDX identifiers to the remaining files 2017-11-24 14:28:42 +01:00
tape_3590.c s390/tape: fix spelling mistake "partion" -> "partition" 2018-09-20 13:20:28 +02:00
tape_3590.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tape_char.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tape_class.c s390/tape: replace PTR_RET with PTR_ERR_OR_ZERO 2018-07-19 16:37:37 +02:00
tape_class.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tape_core.c s390: char: add SPDX identifiers to the remaining files 2017-11-24 14:28:42 +01:00
tape_proc.c s390/drivers: fix proc/debugfs file permissions 2018-12-13 10:42:24 +01:00
tape_std.c Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-11-13 17:56:58 -08:00
tape_std.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tty3270.c s390/3270: fix lockdep false positive on view->lock 2019-04-10 17:46:22 +02:00
tty3270.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vmcp.c mm/cma: remove unsupported gfp_mask parameter from cma_alloc() 2018-08-17 16:20:32 -07:00
vmlogrdr.c s390: vmlogrdr: Use ARRAY_SIZE instead of reimplementing its function 2018-09-20 13:20:28 +02:00
vmur.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
vmur.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2017-11-13 11:47:01 -08:00
zcore.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00