linux/drivers/gpu/host1x
Mikko Perttunen 5a8d95d20c gpu: host1x: Assign intr waiter inside lock
Move the assignment of the ref out-pointer in host1x_intr_add_action
to happen within the spinlock. With the current arrangement,
it is possible for the waiter to complete before the assignment
has happened, which breaks horribly if the waiter completion
callback tries to use the reference.

In practice, there is currently no situation where this issue can
manifest -- it was first noticed with the upcoming DMA fence
implementation patches. As such this doesn't need to be backported.

Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-03-31 17:42:14 +02:00
..
hw gpu: host1x: Cleanup and refcounting for syncpoints 2021-03-31 17:42:13 +02:00
bus.c gpu: host1x: Use different lock classes for each client 2021-03-30 19:37:20 +02:00
bus.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
cdma.c gpu: host1x: Cleanup and refcounting for syncpoints 2021-03-31 17:42:13 +02:00
cdma.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
channel.c gpu: host1x: Request channels for clients, not devices 2019-10-28 11:18:33 +01:00
channel.h gpu: host1x: Request channels for clients, not devices 2019-10-28 11:18:33 +01:00
debug.c gpu: host1x: Show number of pending waiters in debugfs 2021-03-30 19:53:24 +02:00
debug.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
dev.c gpu: host1x: Reserve VBLANK syncpoints at initialization 2021-03-31 17:42:13 +02:00
dev.h gpu: host1x: Reserve VBLANK syncpoints at initialization 2021-03-31 17:42:13 +02:00
intr.c gpu: host1x: Assign intr waiter inside lock 2021-03-31 17:42:14 +02:00
intr.h gpu: host1x: Remove cancelled waiters immediately 2021-03-30 19:53:24 +02:00
job.c gpu: host1x: Cleanup and refcounting for syncpoints 2021-03-31 17:42:13 +02:00
job.h gpu: host1x: Support DMA mapping of buffers 2019-10-29 15:04:35 +01:00
Kconfig gpu: host1x: Unconditionally select IOMMU_IOVA 2019-11-01 10:49:17 +01:00
Makefile gpu: host1x: Add Tegra194 support 2018-11-29 17:11:49 +01:00
mipi.c media: gpu: host1x: mipi: Keep MIPI clock enabled and mutex locked till calibration done 2020-08-28 15:12:38 +02:00
syncpt.c gpu: host1x: Reserve VBLANK syncpoints at initialization 2021-03-31 17:42:13 +02:00
syncpt.h gpu: host1x: Cleanup and refcounting for syncpoints 2021-03-31 17:42:13 +02:00