diff --git a/drivers/video/omap2/dss/hdmi.h b/drivers/video/omap2/dss/hdmi.h index b0493768a5d7f409af60f0994223e7b6c9d68b3b..855b6b0f250ec377cb72cbab81db60cb10edff72 100644 --- a/drivers/video/omap2/dss/hdmi.h +++ b/drivers/video/omap2/dss/hdmi.h @@ -378,15 +378,15 @@ static inline u32 hdmi_read_reg(void __iomem *base_addr, const u16 idx) FLD_GET(hdmi_read_reg(base, idx), start, end) static inline int hdmi_wait_for_bit_change(void __iomem *base_addr, - const u16 idx, int b2, int b1, u32 val) + const u32 idx, int b2, int b1, u32 val) { - u32 t = 0; - while (val != REG_GET(base_addr, idx, b2, b1)) { - udelay(1); + u32 t = 0, v; + while (val != (v = REG_GET(base_addr, idx, b2, b1))) { if (t++ > 10000) - return !val; + return v; + udelay(1); } - return val; + return v; } /* HDMI wrapper funcs */