Commit 6f4cb84a authored by Felix Kuehling's avatar Felix Kuehling Committed by Alex Deucher
Browse files

drm/amdkfd: Fix DQM asserts on Hawaii

start_nocpsch would never set dqm->sched_running on Hawaii due to an
early return statement. This would trigger asserts in other functions
and end up in inconsistent states.

Bug: https://github.com/RadeonOpenCompute/ROCm/issues/1624


Signed-off-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: default avatarKent Russell <kent.russell@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent dc5d4aff
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -1004,14 +1004,17 @@ static void uninitialize(struct device_queue_manager *dqm)

static int start_nocpsch(struct device_queue_manager *dqm)
{
	int r = 0;

	pr_info("SW scheduler is used");
	init_interrupts(dqm);
	
	if (dqm->dev->adev->asic_type == CHIP_HAWAII)
		return pm_init(&dqm->packet_mgr, dqm);
		r = pm_init(&dqm->packet_mgr, dqm);
	if (!r)
		dqm->sched_running = true;

	return 0;
	return r;
}

static int stop_nocpsch(struct device_queue_manager *dqm)