Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit db96380e authored by Jerome Glisse's avatar Jerome Glisse Committed by Dave Airlie
Browse files

drm/radeon/kms: r600/r700 don't test ib if ib initialization fails



If ib initialization failed don't try to test ib as it will result
in an oops (accessing NULL ib buffer ptr).

Signed-off-by: default avatarJerome Glisse <jglisse@redhat.com>
Signed-off-by: default avatarDave Airlie <airlied@linux.ie>
parent 7e71c9e2
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -2064,15 +2064,16 @@ int r600_init(struct radeon_device *rdev)
	if (rdev->accel_working) {
		r = radeon_ib_pool_init(rdev);
		if (r) {
			DRM_ERROR("radeon: failed initializing IB pool (%d).\n", r);
			dev_err(rdev->dev, "IB initialization failed (%d).\n", r);
			rdev->accel_working = false;
		}
		} else {
			r = r600_ib_test(rdev);
			if (r) {
			DRM_ERROR("radeon: failed testing IB (%d).\n", r);
				dev_err(rdev->dev, "IB test failed (%d).\n", r);
				rdev->accel_working = false;
			}
		}
	}

	r = r600_audio_init(rdev);
	if (r)
+7 −6
Original line number Diff line number Diff line
@@ -1075,15 +1075,16 @@ int rv770_init(struct radeon_device *rdev)
	if (rdev->accel_working) {
		r = radeon_ib_pool_init(rdev);
		if (r) {
			DRM_ERROR("radeon: failed initializing IB pool (%d).\n", r);
			dev_err(rdev->dev, "IB initialization failed (%d).\n", r);
			rdev->accel_working = false;
		}
		} else {
			r = r600_ib_test(rdev);
			if (r) {
			DRM_ERROR("radeon: failed testing IB (%d).\n", r);
				dev_err(rdev->dev, "IB test failed (%d).\n", r);
				rdev->accel_working = false;
			}
		}
	}
	return 0;
}