If the GPIO subsystem is not ready make sure to return -EPROBE_DEFER instead of silently continuing without HPD. Reported-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> --- drivers/gpu/drm/tegra/output.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/tegra/output.c b/drivers/gpu/drm/tegra/output.c index ffe34bd0bb9d..4bcefe455afd 100644 --- a/drivers/gpu/drm/tegra/output.c +++ b/drivers/gpu/drm/tegra/output.c @@ -133,7 +133,9 @@ int tegra_output_probe(struct tegra_output *output) output->hpd_gpio = of_get_named_gpio_flags(output->of_node, "nvidia,hpd-gpio", 0, &output->hpd_gpio_flags); - if (gpio_is_valid(output->hpd_gpio)) { + if (output->hpd_gpio == -EPROBE_DEFER) { + return -EPROBE_DEFER; + } else if (gpio_is_valid(output->hpd_gpio)) { unsigned long flags; err = gpio_request_one(output->hpd_gpio, GPIOF_DIR_IN, -- 2.18.0 -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html