summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2015-04-21 10:02:19 -0700
committerEric Anholt <eric@anholt.net>2015-06-04 14:15:34 -0700
commit1fafb6cab83be514ca37d8701dc5a789abb3b333 (patch)
tree0f048b02fe5a0de1b8367081909dc97f6fa387ad
parent56102d5e94beca405b551f2f94eb307d0c36c103 (diff)
downloadlinux-1fafb6cab83be514ca37d8701dc5a789abb3b333.tar.gz
drm/vc4: Avoid race with IRQs at module load.
vc4_gem_init() initializes the BO cache, but v3d probe was setting up the interrupt handler, and potentially taking an interrupt and trying to allocate an overflow BO out of the cache before then. Signed-off-by: Eric Anholt <eric@anholt.net>
-rw-r--r--drivers/gpu/drm/vc4/vc4_drv.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c
index a0fdd1a0d387..471f6bcaee95 100644
--- a/drivers/gpu/drm/vc4/vc4_drv.c
+++ b/drivers/gpu/drm/vc4/vc4_drv.c
@@ -75,12 +75,12 @@ vc4_drm_load(struct drm_device *dev, unsigned long flags)
drm_mode_config_init(dev);
+ vc4_gem_init(dev);
+
ret = component_bind_all(dev->dev, dev);
if (ret)
return ret;
- vc4_gem_init(dev);
-
vc4_kms_load(dev);
return 0;