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

Commit 48898b03 authored by Takashi Iwai's avatar Takashi Iwai Committed by Chris Wilson
Browse files

drm/i915/dp: Correct the order of deletion for ghost eDP devices

The order of the calls does matter indeed.  Swapping the call order of
intel_dp_destroy() and intel_dp_encoder_destroy() fixes the problem.
This is because i2c_del_adapter unregisters the device which parent is
intel_connector, and connectors are removed in intel_dp_destroy().  Thus
intel_dp_encoder_destroy() must be called before intel_dp_destroy().

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=24822


Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarKeith Packard <keithp@keithp.com>
parent 29c5a587
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1957,9 +1957,9 @@ intel_dp_init(struct drm_device *dev, int output_reg)
					DP_NO_AUX_HANDSHAKE_LINK_TRAINING;
		} else {
			/* if this fails, presume the device is a ghost */
			DRM_ERROR("failed to retrieve link info\n");
			intel_dp_destroy(&intel_connector->base);
			DRM_INFO("failed to retrieve link info, disabling eDP\n");
			intel_dp_encoder_destroy(&intel_dp->base.base);
			intel_dp_destroy(&intel_connector->base);
			return;
		}
	}