Commit 93b4cc56 authored by Dave Airlie's avatar Dave Airlie

cirrus: avoid crash if driver fails to load

If we haven't inited the mm code, don't try and tear it down.
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent bc42aabc
...@@ -145,7 +145,7 @@ struct cirrus_device { ...@@ -145,7 +145,7 @@ struct cirrus_device {
struct ttm_bo_device bdev; struct ttm_bo_device bdev;
atomic_t validate_sequence; atomic_t validate_sequence;
} ttm; } ttm;
bool mm_inited;
}; };
......
...@@ -275,12 +275,17 @@ int cirrus_mm_init(struct cirrus_device *cirrus) ...@@ -275,12 +275,17 @@ int cirrus_mm_init(struct cirrus_device *cirrus)
pci_resource_len(dev->pdev, 0), pci_resource_len(dev->pdev, 0),
DRM_MTRR_WC); DRM_MTRR_WC);
cirrus->mm_inited = true;
return 0; return 0;
} }
void cirrus_mm_fini(struct cirrus_device *cirrus) void cirrus_mm_fini(struct cirrus_device *cirrus)
{ {
struct drm_device *dev = cirrus->dev; struct drm_device *dev = cirrus->dev;
if (!cirrus->mm_inited)
return;
ttm_bo_device_release(&cirrus->ttm.bdev); ttm_bo_device_release(&cirrus->ttm.bdev);
cirrus_ttm_global_release(cirrus); cirrus_ttm_global_release(cirrus);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment