diff options
author | Michael Büsch <mb@bu3sch.de> | 2011-10-29 19:02:50 +0000 |
---|---|---|
committer | Michael Büsch <mb@bu3sch.de> | 2011-10-29 19:02:50 +0000 |
commit | f9cfd5e29736796a17afd288b065525716eb8e6e (patch) | |
tree | a8a9656048176fd8ca1331bc5221a0ccc1168089 /target/linux/omap24xx/patches-3.1/420-hci-h4p-interrupt-workaround.patch | |
parent | c3b8a2419cfc6e3106f70cf7e3b0f1a647503856 (diff) | |
download | master-187ad058-f9cfd5e29736796a17afd288b065525716eb8e6e.tar.gz master-187ad058-f9cfd5e29736796a17afd288b065525716eb8e6e.tar.bz2 master-187ad058-f9cfd5e29736796a17afd288b065525716eb8e6e.zip |
omap24xx: Add 3.1 patchset.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28672 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/omap24xx/patches-3.1/420-hci-h4p-interrupt-workaround.patch')
-rw-r--r-- | target/linux/omap24xx/patches-3.1/420-hci-h4p-interrupt-workaround.patch | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/target/linux/omap24xx/patches-3.1/420-hci-h4p-interrupt-workaround.patch b/target/linux/omap24xx/patches-3.1/420-hci-h4p-interrupt-workaround.patch new file mode 100644 index 0000000000..6eb9569891 --- /dev/null +++ b/target/linux/omap24xx/patches-3.1/420-hci-h4p-interrupt-workaround.patch @@ -0,0 +1,58 @@ +Index: linux-3.1-rc4/arch/arm/mach-omap2/serial.c +=================================================================== +--- linux-3.1-rc4.orig/arch/arm/mach-omap2/serial.c 2011-08-29 06:16:01.000000000 +0200 ++++ linux-3.1-rc4/arch/arm/mach-omap2/serial.c 2011-10-27 16:38:20.539265654 +0200 +@@ -546,10 +546,12 @@ static void omap_uart_idle_init(struct o + uart->padconf = 0; + } + +- uart->irqflags |= IRQF_SHARED; +- ret = request_threaded_irq(uart->irq, NULL, omap_uart_interrupt, +- IRQF_SHARED, "serial idle", (void *)uart); +- WARN_ON(ret); ++ if (uart->irq) { ++ uart->irqflags |= IRQF_SHARED; ++ ret = request_threaded_irq(uart->irq, NULL, omap_uart_interrupt, ++ IRQF_SHARED, "serial idle", (void *)uart); ++ WARN_ON(ret); ++ } + } + + void omap_uart_enable_irqs(int enable) +@@ -560,14 +562,17 @@ void omap_uart_enable_irqs(int enable) + list_for_each_entry(uart, &uart_list, node) { + if (enable) { + pm_runtime_put_sync(&uart->pdev->dev); +- ret = request_threaded_irq(uart->irq, NULL, +- omap_uart_interrupt, +- IRQF_SHARED, +- "serial idle", +- (void *)uart); ++ if (uart->irq) { ++ ret = request_threaded_irq(uart->irq, NULL, ++ omap_uart_interrupt, ++ IRQF_SHARED, ++ "serial idle", ++ (void *)uart); ++ } + } else { + pm_runtime_get_noresume(&uart->pdev->dev); +- free_irq(uart->irq, (void *)uart); ++ if (uart->irq) ++ free_irq(uart->irq, (void *)uart); + } + } + } +Index: linux-3.1-rc4/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c +=================================================================== +--- linux-3.1-rc4.orig/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c 2011-08-29 06:16:01.000000000 +0200 ++++ linux-3.1-rc4/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c 2011-10-27 16:44:39.065885130 +0200 +@@ -253,7 +253,7 @@ struct omap_hwmod_irq_info omap2_timer11 + }; + + struct omap_hwmod_irq_info omap2_uart1_mpu_irqs[] = { +- { .irq = INT_24XX_UART1_IRQ, }, ++ { .irq = 0, }, + { .irq = -1 } + }; + |