drm/radeon/kms/pm: restore default power state on exit

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c
index 87814eb..23b79eb 100644
--- a/drivers/gpu/drm/radeon/radeon_pm.c
+++ b/drivers/gpu/drm/radeon/radeon_pm.c
@@ -125,6 +125,15 @@
 
 void radeon_pm_fini(struct radeon_device *rdev)
 {
+	if (rdev->pm.state != PM_STATE_DISABLED) {
+		/* cancel work */
+		cancel_delayed_work_sync(&rdev->pm.idle_work);
+		/* reset default clocks */
+		rdev->pm.state = PM_STATE_DISABLED;
+		rdev->pm.planned_action = PM_ACTION_DEFAULT;
+		radeon_pm_set_clocks(rdev);
+	}
+
 	if (rdev->pm.i2c_bus)
 		radeon_i2c_destroy(rdev->pm.i2c_bus);
 }