diff mbox

drm/i915: don't try and probe dpcd if we have no dp configured

Message ID 1406890033-29642-1-git-send-email-airlied@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Dave Airlie Aug. 1, 2014, 10:47 a.m. UTC
On hsw/bdw VBT can signal no DP on a digital connector, so when we
get a hotplug irq in that situation, don't continue if we haven't
actually got a DP output register configured.

This fixes an oops where the aux mutex isn't initialised.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81856
Reported-by: lei.a.liu@intel.com
Signed-off-by: Dave Airlie <airlied@redhat.com>
---
 drivers/gpu/drm/i915/intel_dp.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Ville Syrjälä Aug. 1, 2014, 11:07 a.m. UTC | #1
On Fri, Aug 01, 2014 at 08:47:13PM +1000, Dave Airlie wrote:
> On hsw/bdw VBT can signal no DP on a digital connector, so when we
> get a hotplug irq in that situation, don't continue if we haven't
> actually got a DP output register configured.
> 
> This fixes an oops where the aux mutex isn't initialised.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81856
> Reported-by: lei.a.liu@intel.com
> Signed-off-by: Dave Airlie <airlied@redhat.com>
> ---
>  drivers/gpu/drm/i915/intel_dp.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index e7a7953..691d169 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -3966,6 +3966,9 @@ intel_dp_hpd_pulse(struct intel_digital_port *intel_dig_port, bool long_hpd)
>  		if (!ibx_digital_port_connected(dev_priv, intel_dig_port))
>  			goto mst_fail;
>  
> +		if (!intel_dp->output_reg)
> +			goto mst_fail;
> +

What about just not setting the hpd_pulse function pointer when it's
not a DP connector?

>  		if (!intel_dp_get_dpcd(intel_dp)) {
>  			goto mst_fail;
>  		}
> -- 
> 1.9.3
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index e7a7953..691d169 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -3966,6 +3966,9 @@  intel_dp_hpd_pulse(struct intel_digital_port *intel_dig_port, bool long_hpd)
 		if (!ibx_digital_port_connected(dev_priv, intel_dig_port))
 			goto mst_fail;
 
+		if (!intel_dp->output_reg)
+			goto mst_fail;
+
 		if (!intel_dp_get_dpcd(intel_dp)) {
 			goto mst_fail;
 		}