summaryrefslogtreecommitdiff
path: root/shared-core/radeon_ms_cp.c
diff options
context:
space:
mode:
authorJerome Glisse <glisse@freedesktop.org>2007-12-06 22:38:44 +0100
committerJerome Glisse <glisse@freedesktop.org>2007-12-06 22:38:44 +0100
commit3a51a8077bf55ba9d18805f2f03b78eb980fa982 (patch)
tree53cac066fd6f0d5cc2a24cda09a5f4ab326cd361 /shared-core/radeon_ms_cp.c
parent34797ff67c16beb9c331920f663bdf8387c14c78 (diff)
radeon_ms: avoid to unintialize things which haven't been initialized
Diffstat (limited to 'shared-core/radeon_ms_cp.c')
-rw-r--r--shared-core/radeon_ms_cp.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/shared-core/radeon_ms_cp.c b/shared-core/radeon_ms_cp.c
index 7426facb..c01769bd 100644
--- a/shared-core/radeon_ms_cp.c
+++ b/shared-core/radeon_ms_cp.c
@@ -101,6 +101,9 @@ int radeon_ms_cp_finish(struct drm_device *dev)
{
struct drm_radeon_private *dev_priv = dev->dev_private;
+ if (!dev_priv->cp_ready) {
+ return 0;
+ }
dev_priv->cp_ready = 0;
radeon_ms_wait_for_idle(dev);
DRM_INFO("[radeon_ms] cp idle\n");
@@ -126,6 +129,7 @@ int radeon_ms_cp_init(struct drm_device *dev)
struct radeon_state *state = &dev_priv->driver_state;
int ret = 0;
+ dev_priv->cp_ready = -1;
if (dev_priv->microcode == NULL) {
DRM_INFO("[radeon_ms] no microcode not starting cp");
return 0;