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: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Keith Packard <keithp@keithp.com>

authored by Takashi Iwai and committed by Chris Wilson 48898b03 29c5a587

+2 -2
+2 -2
drivers/gpu/drm/i915/intel_dp.c
··· 1957 1957 DP_NO_AUX_HANDSHAKE_LINK_TRAINING; 1958 1958 } else { 1959 1959 /* if this fails, presume the device is a ghost */ 1960 - DRM_ERROR("failed to retrieve link info\n"); 1961 - intel_dp_destroy(&intel_connector->base); 1960 + DRM_INFO("failed to retrieve link info, disabling eDP\n"); 1962 1961 intel_dp_encoder_destroy(&intel_dp->base.base); 1962 + intel_dp_destroy(&intel_connector->base); 1963 1963 return; 1964 1964 } 1965 1965 }