1
0
Fork 0
alistair23-linux/drivers
Richard Liu add79449db MA-17683 [#imx-2302] Fix video playback "rcu stall" issue on 8mq
Loop play a video AVC_1080p_24fps_90Mbps_bird90.m2ts met UI
freeze and "rcu stall". Enable CONFIG_DEBUG_SPINLOCK kernel
debug get below call stack, the reason is due to spin_lock
be used in IRQ interrupt and caused deadlock.

8mq board enabled Video overlay feature, there are two fences
enabled: out fence (represent frame on screen) and android out
fence (new added, represent frame off screen). When there are
two fences sync_file_set_fence() will call dma_fence_array_create()
to register irq_dma_fence_array_work(), then gckOS_DestroySignal()
will be called in IRQ which use spin_lock cause deadlock.

Fix solution is use spin_lock_irqsave() instead of spin_lock()
for Database->lock if it is not called in IRQ interrupt.

Call stack:
[  608.902810]  dump_backtrace.cfi_jt+0x0/0x4
[  608.906914]  show_stack+0x18/0x24
[  608.910237]  dump_stack+0xb8/0x114
[  608.913644]  spin_bug+0xb0/0xb4
[  608.916788]  do_raw_spin_lock+0xac/0x124
[  608.920714]  _raw_spin_lock+0x20/0x2c
[  608.924384]  gckOS_DestroySignal+0x6c/0x170
[  608.928572]  viv_fence_release+0x28/0x40
[  608.932502]  dma_fence_release+0x13c/0x280
[  608.936603]  dma_fence_array_release+0x74/0x98
[  608.941049]  dma_fence_release+0x13c/0x280
[  608.945150]  irq_dma_fence_array_work+0x6c/0x9c
[  608.949690]  irq_work_run_list+0xb4/0x148
[  608.953702]  irq_work_run+0x20/0x40
[  608.957193]  handle_IPI+0x10c/0x180
[  608.960686]  efi_header_end+0x13c/0x15c
[  608.964526]  el1_irq+0x104/0x200
[  608.967761]  radix_tree_lookup+0x38/0x84
[  608.971686]  gckOS_WaitSignal+0x54/0x258
[  608.975615]  gckKERNEL_Dispatch+0x1460/0x1754
[  608.979977]  gckDEVICE_Dispatch+0x1a0/0x1a4
[  608.984165]  drv_ioctl+0xb8/0x184
[  608.987487]  do_vfs_ioctl+0x3a0/0x6f0
[  608.991154]  __arm64_sys_ioctl+0x78/0xa4
[  608.995082]  el0_svc_common+0xb4/0x18c
[  608.998834]  el0_svc_handler+0x74/0x98
[  609.002589]  el0_svc+0x8/0xc

Change-Id: Idf16a5707add70246c74d2f1446f7dbb7037f5f0
Signed-off-by: Haoran.Wang <elven.wang@nxp.com>
Signed-off-by: Richard Liu <xuegang.liu@nxp.com>
(cherry picked from commit b6106c5de2529b01ce5bb3380fd93328b55d5528)
2020-09-04 10:39:18 +08:00
..
accessibility
acpi ACPI: PM: Avoid using power resources if there are none for D0 2020-06-17 16:40:28 +02:00
amba
android binderfs: use refcount for binder control devices too 2020-03-25 08:25:50 +01:00
ata Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
atm fore200e: Fix incorrect checks of NULL pointer dereference 2020-02-24 08:36:36 +01:00
auxdisplay
base Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
bcma
block block/floppy: fix contended case in floppy_queue_rq() 2020-06-17 16:40:38 +02:00
bluetooth Bluetooth: btusb: Disable runtime suspend on Realtek devices 2020-02-11 04:35:09 -08:00
bus Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
cdrom
char Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
clk MLK-24337-8 clk: imx8qxp: Support module build 2020-06-22 17:58:56 +08:00
clocksource clocksource/drivers/hyper-v: Untangle stimers and timesync from clocksources 2020-04-01 11:02:12 +02:00
connector
counter counter: 104-quad-8: Add lock guards - generic interface 2020-05-02 08:48:44 +02:00
cpufreq Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
cpuidle cpuidle: teo: Avoid using "early hits" incorrectly 2020-02-05 21:22:52 +00:00
crypto MLK-24517-4 crypto: caam - validate arguments received from user-space 2020-09-01 13:38:55 +03:00
dax device-dax: don't leak kernel memory to user space after unloading kmem 2020-05-27 17:46:48 +02:00
dca
devfreq PM / devfreq: Add missing locking while setting suspend_freq 2020-05-10 10:31:34 +02:00
dio
dma MLK-24483-1: dmaengine: imx-sdma: remove ecspi_fixed on imx8mq 2020-08-11 23:29:08 +08:00
dma-buf Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
edac Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
eisa
extcon extcon: axp288: Add wakeup support 2020-04-08 09:08:43 +02:00
firewire
firmware MLK-24486-02 imx: scu-pd: add lpuart4 power domain for imx8qm 2020-08-13 16:54:51 +08:00
fpga fpga: dfl: pci: fix return value of cci_pci_sriov_configure 2020-04-29 16:33:22 +02:00
fsi
gnss
gpio Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
gpu MLK-24522: drm/imx: dpu: Increase iMX DRM CTRC size to 5120 x 4096 2020-08-20 23:12:26 -05:00
greybus
hid HID: i2c-hid: add Schneider SCL142ALM to descriptor override 2020-06-07 13:18:47 +02:00
hsi
hv Drivers: hv: vmbus: Fix Suspend-to-Idle for Generation-2 VM 2020-05-06 08:15:09 +02:00
hwmon Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
hwspinlock
hwtracing stm class: sys-t: Fix the use of time_after() 2020-03-25 08:25:56 +01:00
i2c MLK-24581-1 lpi2c: fix type char overflow issue when calculating the clock cycle 2020-08-27 17:02:51 +08:00
i3c
ide ide: serverworks: potential overflow in svwks_set_pio_mode() 2020-02-24 08:36:53 +01:00
idle
iio Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
infiniband RDMA/uverbs: Make the event_queue fds return POLLERR when disassociated 2020-06-17 16:40:22 +02:00
input MLK-24528 input: touch: synaptics_dsx: correct the irq handler definition 2020-08-21 13:59:03 +08:00
interconnect
iommu iommu: Fix reference count leak in iommu_group_alloc. 2020-06-03 08:21:28 +02:00
ipack ipack: tpci200: fix error return code in tpci200_register() 2020-05-27 17:46:47 +02:00
irqchip MLK-24382-2 irqchip: imx-intmux: add runtime pm support 2020-07-09 20:52:12 +08:00
isdn
leds leds: core: Fix warning message when init_data 2020-04-23 10:36:37 +02:00
lightnvm
macintosh macintosh: windfarm: fix MODINFO regression 2020-03-18 07:17:53 +01:00
mailbox MLK-23995 mailbox: imx: fix build warning 2020-05-13 10:44:15 +08:00
mcb
md dm multipath: use updated MPATHF_QUEUE_IO on mapping for bio-based mpath 2020-05-06 08:15:10 +02:00
media MLK-24585: media: ov5640: fix state out of sync with sensor real state issue 2020-09-01 14:09:13 +08:00
memory This is the 5.4.24 stable release 2020-03-08 18:57:18 +08:00
memstick
message scsi: mptfusion: Fix double fetch bug in ioctl 2020-01-23 08:22:35 +01:00
mfd Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
misc Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
mmc mmc: sdhci-esdhc-imx: Reset before sending tuning command for manual tuning 2020-09-01 16:35:18 +08:00
mtd Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
mux
mxc MA-17683 [#imx-2302] Fix video playback "rcu stall" issue on 8mq 2020-09-04 10:39:18 +08:00
net MLK-24669 net: wireless: nxp: mxm_wifiex: upgrade to mxm4x17186.p4 release 2020-09-02 11:42:29 +08:00
nfc NFC: st21nfca: add missed kfree_skb() in an error path 2020-06-10 20:24:54 +02:00
ntb
nubus
nvdimm libnvdimm: Out of bounds read in __nd_ioctl() 2020-04-23 10:36:42 +02:00
nvme nvme: fix possible hang when ns scanning fails during error recovery 2020-05-14 07:58:18 +02:00
nvmem MLK-24529 nvmem: ocotp: use high bus when programming/reloading fuse 2020-08-21 17:03:55 +08:00
of Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
opp opp: Free static OPPs on errors while adding them 2020-02-24 08:36:34 +01:00
oprofile
parisc
parport
pci MLK-24171-5 PCI: imx8mp: verify the pcie internal pll reference clock 2020-06-24 10:00:28 +08:00
pcmcia
perf Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
phy MLK-24530 phy: freescale: imx8mq-usb: balance power supply use count 2020-08-21 17:19:58 +08:00
pinctrl MLK-24280-8 pinctrl: imx8dxl: Support building as module 2020-06-22 17:58:56 +08:00
platform platform/x86: asus-nb-wmi: Do not load on Asus T100TA and T200TA 2020-05-27 17:46:35 +02:00
pnp
power Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
powercap
pps
ps3
ptp This is the 5.4.24 stable release 2020-03-08 18:57:18 +08:00
pwm Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
rapidio rapidio: fix an error in get_user_pages_fast() error handling 2020-05-27 17:46:48 +02:00
ras
regulator Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
remoteproc Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
reset MLK-24171-4 reset: imx7: add perst for imx8mp pcie 2020-06-24 10:00:28 +08:00
rpmsg This is the 5.4.24 stable release 2020-03-08 18:57:18 +08:00
rtc Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
s390 s390/ism: fix error return code in ism_probe() 2020-05-20 08:20:26 +02:00
sbus
scsi Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
sfi
sh
siox
slimbus
soc MLK-24337-1 soc: imx8: Support i.MX8 SoCs clock driver to be built as module 2020-06-22 17:58:56 +08:00
soundwire
spi MLK-24366-3 spi: lpspi: handle EPROBE_DEFER when get cs-gpios number 2020-07-03 18:18:04 +08:00
spmi spmi: pmic-arb: Set lockdep class for hierarchical irq domains 2020-02-19 19:53:07 +01:00
ssb
staging MLK-24514-1: staging: media: samsung csi: print message when fail to get gpr 2020-08-19 09:19:42 +08:00
target scsi: target: Put lun_ref at end of tmr processing 2020-05-27 17:46:40 +02:00
tc
tee MLK-24438 drivers: tee: cleanup imx busfreq implementation 2020-07-23 18:01:23 +02:00
thermal MLK-23627 thermal: imx_sc_thermal: Fix incorrect data type 2020-03-19 16:45:49 +08:00
thunderbolt thunderbolt: Prevent crash if non-active NVMem file is read 2020-02-28 17:22:13 +01:00
tty Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
uio uio: Add driver for inter-VM shared memory device 2020-04-29 15:03:05 +08:00
usb MLK-24525 usb: cdns3: add delay during role switch 2020-08-21 15:48:35 +08:00
vfio Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
vhost vhost/vsock: fix packet delivery order to monitoring devices 2020-05-27 17:46:31 +02:00
video Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
virt
virtio Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
visorbus visorbus: fix uninitialized variable access 2020-02-24 08:36:47 +01:00
vlynq
vme vme: bridges: reduce stack usage 2020-02-24 08:36:48 +01:00
w1
watchdog LF-922 watchdog: imx7ulp: Watchdog should continue running for wait/stop mode 2020-08-05 22:29:13 +08:00
xen Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08:00
zorro
Kconfig
Makefile