summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/mlb
diff options
context:
space:
mode:
authorClark Wang <xiaoning.wang@nxp.com>2019-06-28 17:10:36 +0800
committerDong Aisheng <aisheng.dong@nxp.com>2021-11-02 17:00:46 +0800
commitf5d04860f13493c5bc343f4cc465086c77d1cd60 (patch)
tree66d3c1f11b461482d6c74a424163fe11b68466d2 /Documentation/devicetree/bindings/mlb
parenta92c80195256e4ae93c5b56c0d2e6d0982f18b42 (diff)
mxc: mlb: fix interrupt rw lock dead lock
MLB has multiple lock calls rings, so this can be called from interrupt calls at the same time resulting in: [ 73.688839] WARNING: inconsistent lock state [ 73.693116] 5.2.0-rc3-next-20190607-20092-ge32edc4b91df-dirty #38 Not tainted [ 73.700256] -------------------------------- [ 73.704533] inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-R} usage. [ 73.710546] mxc_mlb_test.ou/612 [HC0[0]:SC0[0]:HE1:SE1] takes: [ 73.716386] 554a05da (mlb_devinfo[1].tx_rbuf.rb_lock){-?--}, at: mxc_mlb150_ioctl+0x6a8/0x9a8 [ 73.724937] {IN-HARDIRQ-W} state was registered at: [ 73.729827] _raw_write_lock+0x28/0x38 [ 73.733669] mlb_tx_isr+0x54/0xf8 [ 73.737078] mlb_ahb_isr+0x98/0x124 [ 73.740668] __handle_irq_event_percpu+0x48/0x360 [ 73.745467] handle_irq_event_percpu+0x28/0x7c [ 73.750002] handle_irq_event+0x38/0x5c [ 73.753934] handle_fasteoi_irq+0xc0/0x17c [ 73.758125] generic_handle_irq+0x20/0x34 [ 73.762228] __handle_domain_irq+0x64/0xe0 [ 73.766422] gic_handle_irq+0x4c/0xa8 [ 73.770179] __irq_svc+0x70/0x98 [ 73.773506] cpuidle_enter_state+0x164/0x574 [ 73.777869] cpuidle_enter_state+0x164/0x574 [ 73.782232] cpuidle_enter+0x28/0x38 [ 73.785905] do_idle+0x220/0x2c0 [ 73.789226] cpu_startup_entry+0x18/0x20 [ 73.793247] start_kernel+0x3f4/0x4a0 Fix this by always using irq save rw locks in trans_complete_check. Signed-off-by: Clark Wang <xiaoning.wang@nxp.com>
Diffstat (limited to 'Documentation/devicetree/bindings/mlb')
0 files changed, 0 insertions, 0 deletions