OSDN Git Service

drm/i915: Don't read dpcd for disconnected ports
authorMika Kuoppala <mika.kuoppala@linux.intel.com>
Fri, 15 May 2015 10:09:21 +0000 (13:09 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 20 May 2015 09:25:57 +0000 (11:25 +0200)
Reading from disconnected ports will spit out timeout error
on the dmesg. Skip the attempted read if the port is not
connected and avoid confusing users/testcases about
expected timeouts.

This new dpcd debugfs entry was introduced by commit aa7471d228eb
("drm/i915: add i915 specific connector debugfs file for DPCD")

v2 by Jani: move the check at the top, out of the loop.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90060
Tested-by: yex.tian@intel.com
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Bob Paauwe <bob.j.paauwe@intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_debugfs.c

index adbbdda..a32b669 100644 (file)
@@ -5154,6 +5154,9 @@ static int i915_dpcd_show(struct seq_file *m, void *data)
        ssize_t err;
        int i;
 
+       if (connector->status != connector_status_connected)
+               return -ENODEV;
+
        for (i = 0; i < ARRAY_SIZE(i915_dpcd_debug); i++) {
                const struct dpcd_block *b = &i915_dpcd_debug[i];
                size_t size = b->end ? b->end - b->offset + 1 : (b->size ?: 1);