summaryrefslogtreecommitdiff
path: root/linux-core/xgi_drv.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux-core/xgi_drv.c')
-rw-r--r--linux-core/xgi_drv.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/linux-core/xgi_drv.c b/linux-core/xgi_drv.c
index e98fd608..f6e7b550 100644
--- a/linux-core/xgi_drv.c
+++ b/linux-core/xgi_drv.c
@@ -284,8 +284,10 @@ void xgi_driver_preclose(struct drm_device * dev, struct drm_file * filp)
{
struct xgi_info * info = dev->dev_private;
- xgi_pcie_free_all(info, filp);
- xgi_fb_free_all(info, filp);
+ mutex_lock(&info->dev->struct_mutex);
+ xgi_free_all(info, &info->pcie_heap, filp);
+ xgi_free_all(info, &info->fb_heap, filp);
+ mutex_unlock(&info->dev->struct_mutex);
}