|
@@ -179,17 +179,22 @@ int cirrus_driver_load(struct drm_device *dev, unsigned long flags)
|
|
}
|
|
}
|
|
|
|
|
|
r = cirrus_mm_init(cdev);
|
|
r = cirrus_mm_init(cdev);
|
|
- if (r)
|
|
|
|
|
|
+ if (r) {
|
|
dev_err(&dev->pdev->dev, "fatal err on mm init\n");
|
|
dev_err(&dev->pdev->dev, "fatal err on mm init\n");
|
|
|
|
+ goto out;
|
|
|
|
+ }
|
|
|
|
|
|
r = cirrus_modeset_init(cdev);
|
|
r = cirrus_modeset_init(cdev);
|
|
- if (r)
|
|
|
|
|
|
+ if (r) {
|
|
dev_err(&dev->pdev->dev, "Fatal error during modeset init: %d\n", r);
|
|
dev_err(&dev->pdev->dev, "Fatal error during modeset init: %d\n", r);
|
|
|
|
+ goto out;
|
|
|
|
+ }
|
|
|
|
|
|
dev->mode_config.funcs = (void *)&cirrus_mode_funcs;
|
|
dev->mode_config.funcs = (void *)&cirrus_mode_funcs;
|
|
|
|
+
|
|
|
|
+ return 0;
|
|
out:
|
|
out:
|
|
- if (r)
|
|
|
|
- cirrus_driver_unload(dev);
|
|
|
|
|
|
+ cirrus_driver_unload(dev);
|
|
return r;
|
|
return r;
|
|
}
|
|
}
|
|
|
|
|