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

Commit d6556e75 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "drm/msm/sde: fix race condition between enable/disable events" into dev/msm-4.14-display

parents a508b4c7 c304b590
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -6161,6 +6161,7 @@ static int _sde_crtc_event_disable(struct sde_kms *kms,
	spin_lock_irqsave(&crtc->spin_lock, flags);
	list_for_each_entry(node, &crtc->user_event_list, list) {
		if (node->event == event) {
			list_del(&node->list);
			found = true;
			break;
		}
@@ -6176,7 +6177,6 @@ static int _sde_crtc_event_disable(struct sde_kms *kms,
	 * no need to disable/de-register.
	 */
	if (!crtc_drm->enabled) {
		list_del(&node->list);
		kfree(node);
		return 0;
	}
@@ -6185,13 +6185,11 @@ static int _sde_crtc_event_disable(struct sde_kms *kms,
	if (ret) {
		SDE_ERROR("failed to enable power resource %d\n", ret);
		SDE_EVT32(ret, SDE_EVTLOG_ERROR);
		list_del(&node->list);
		kfree(node);
		return ret;
	}

	ret = node->func(crtc_drm, false, &node->irq);
	list_del(&node->list);
	kfree(node);
	sde_power_resource_enable(&priv->phandle, kms->core_client, false);
	return ret;