summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipp Zabel <p.zabel@pengutronix.de>2015-01-07 13:43:50 +0100
committerPhilipp Zabel <p.zabel@pengutronix.de>2015-01-07 18:32:33 +0100
commit639a202cc66716195b73aef1b749a4b50b6abca1 (patch)
tree7743395996a23a26f8751bc6b3709dcc15b24525
parent12b9f204e804b2a6c65a6662b1fbe2449bca677f (diff)
downloadblackbird-op-linux-639a202cc66716195b73aef1b749a4b50b6abca1.tar.gz
blackbird-op-linux-639a202cc66716195b73aef1b749a4b50b6abca1.zip
drm: bridge/dw_hdmi: request interrupt only after initializing the mutes
Otherwise a spurious interrupt might trigger (and crash) the interrupt handler before probing finished. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
-rw-r--r--drivers/gpu/drm/bridge/dw_hdmi.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/gpu/drm/bridge/dw_hdmi.c b/drivers/gpu/drm/bridge/dw_hdmi.c
index 80bb512a869f..4cc456945c8b 100644
--- a/drivers/gpu/drm/bridge/dw_hdmi.c
+++ b/drivers/gpu/drm/bridge/dw_hdmi.c
@@ -1605,12 +1605,6 @@ int dw_hdmi_bind(struct device *dev, struct device *master,
dev_dbg(hdmi->dev, "no ddc property found\n");
}
- ret = devm_request_threaded_irq(dev, irq, dw_hdmi_hardirq,
- dw_hdmi_irq, IRQF_SHARED,
- dev_name(dev), hdmi);
- if (ret)
- return ret;
-
hdmi->regs = devm_ioremap_resource(dev, iores);
if (IS_ERR(hdmi->regs))
return PTR_ERR(hdmi->regs);
@@ -1651,6 +1645,12 @@ int dw_hdmi_bind(struct device *dev, struct device *master,
initialize_hdmi_ih_mutes(hdmi);
+ ret = devm_request_threaded_irq(dev, irq, dw_hdmi_hardirq,
+ dw_hdmi_irq, IRQF_SHARED,
+ dev_name(dev), hdmi);
+ if (ret)
+ return ret;
+
/*
* To prevent overflows in HDMI_IH_FC_STAT2, set the clk regenerator
* N and cts values before enabling phy
OpenPOWER on IntegriCloud