drm: bridge/dw_hdmi: request interrupt only after initializing the mutes
authorPhilipp Zabel <p.zabel@pengutronix.de>
Wed, 7 Jan 2015 12:43:50 +0000 (13:43 +0100)
committerPhilipp Zabel <p.zabel@pengutronix.de>
Wed, 7 Jan 2015 17:32:33 +0000 (18:32 +0100)
Otherwise a spurious interrupt might trigger (and crash) the interrupt handler
before probing finished.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
drivers/gpu/drm/bridge/dw_hdmi.c

index 80bb512..4cc4569 100644 (file)
@@ -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