On Thursday 27 January 2011 06:29 PM, Russell King - ARM Linux wrote:
On Thu, Jan 27, 2011 at 06:19:21PM +0530, Raghuveer Murthy wrote:
+       r = request_irq(dss_irq,
+               cpu_is_omap24xx()
+               ? dss_irq_handler_omap2
+               : dss_irq_handler_omap3,

it should be

                cpu_is_omap24xx()
                ? dss_irq_handler_omap3
                : dss_irq_handler_omap2,

I am seeing a crash on Panda, which gets rectified with this
change. The root cause is access to DSS_IRQSTATUS register in the
dss_irq_handler_omap3 handler, which is not valid for OMAP4.

That really doesn't look right.  Let me translate the code you've just
written:

        if (cpu_is_omap24xx())
                handler = dss_irq_handler_omap3;
        else
                handler = dss_irq_handler_omap2;

Which means: if we have an OMAP24xx device, use the OMAP3 handler,
otherwise use the OMAP2 handler.  That's got to be wrong.

I agree, that the logic seems counter-intuitive. I was doing a quick test.

However, to keep the correct sequence, the logic inside the respective handlers need to be looked at.

Regards,
Raghuveer
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to