On OMAP4 we have one interrupt line per McBSP port.
At proble time tx, and rx irq value will be -ENXIO,
and only the tx irq will get corrected.
In omap_mcbsp_request if the rx_irq is not 0 we proceed,
and try to request the interrupt, which will fail on
OMAP4 (rx_irq == -6).
To avoid this error, clear the rx_irq at probe time
on OMAP4.

Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com>
---
 arch/arm/plat-omap/mcbsp.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
index 5587acf..1e4e32e 100644
--- a/arch/arm/plat-omap/mcbsp.c
+++ b/arch/arm/plat-omap/mcbsp.c
@@ -1867,8 +1867,10 @@ static int __devinit omap_mcbsp_probe(struct 
platform_device *pdev)
        mcbsp->rx_irq = platform_get_irq_byname(pdev, "rx");
 
        /* From OMAP4 there will be a single irq line */
-       if (mcbsp->tx_irq == -ENXIO)
+       if (mcbsp->tx_irq == -ENXIO) {
                mcbsp->tx_irq = platform_get_irq(pdev, 0);
+               mcbsp->rx_irq = 0;
+       }
 
        res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "rx");
        if (!res) {
-- 
1.7.5.rc3

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to