linux: update 3.1 to 3.1.1
[openwrt.git] / target / linux / omap24xx / patches-3.1 / 420-hci-h4p-interrupt-workaround.patch
1 --- a/arch/arm/mach-omap2/serial.c
2 +++ b/arch/arm/mach-omap2/serial.c
3 @@ -546,10 +546,12 @@ static void omap_uart_idle_init(struct o
4 uart->padconf = 0;
5 }
6
7 - uart->irqflags |= IRQF_SHARED;
8 - ret = request_threaded_irq(uart->irq, NULL, omap_uart_interrupt,
9 - IRQF_SHARED, "serial idle", (void *)uart);
10 - WARN_ON(ret);
11 + if (uart->irq) {
12 + uart->irqflags |= IRQF_SHARED;
13 + ret = request_threaded_irq(uart->irq, NULL, omap_uart_interrupt,
14 + IRQF_SHARED, "serial idle", (void *)uart);
15 + WARN_ON(ret);
16 + }
17 }
18
19 void omap_uart_enable_irqs(int enable)
20 @@ -560,14 +562,17 @@ void omap_uart_enable_irqs(int enable)
21 list_for_each_entry(uart, &uart_list, node) {
22 if (enable) {
23 pm_runtime_put_sync(&uart->pdev->dev);
24 - ret = request_threaded_irq(uart->irq, NULL,
25 - omap_uart_interrupt,
26 - IRQF_SHARED,
27 - "serial idle",
28 - (void *)uart);
29 + if (uart->irq) {
30 + ret = request_threaded_irq(uart->irq, NULL,
31 + omap_uart_interrupt,
32 + IRQF_SHARED,
33 + "serial idle",
34 + (void *)uart);
35 + }
36 } else {
37 pm_runtime_get_noresume(&uart->pdev->dev);
38 - free_irq(uart->irq, (void *)uart);
39 + if (uart->irq)
40 + free_irq(uart->irq, (void *)uart);
41 }
42 }
43 }
44 --- a/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c
45 +++ b/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c
46 @@ -253,7 +253,7 @@ struct omap_hwmod_irq_info omap2_timer11
47 };
48
49 struct omap_hwmod_irq_info omap2_uart1_mpu_irqs[] = {
50 - { .irq = INT_24XX_UART1_IRQ, },
51 + { .irq = 0, },
52 { .irq = -1 }
53 };
54
This page took 0.072264 seconds and 5 git commands to generate.