Root/target/linux/omap24xx/patches-3.3/420-hci-h4p-interrupt-workaround.patch

1--- a/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c
2+++ b/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c
3@@ -235,7 +235,7 @@ struct omap_hwmod_irq_info omap2_timer11
4 };
5 
6 struct omap_hwmod_irq_info omap2_uart1_mpu_irqs[] = {
7- { .irq = INT_24XX_UART1_IRQ, },
8+ { .irq = 0, },
9     { .irq = -1 }
10 };
11 
12--- a/drivers/tty/serial/omap-serial.c
13+++ b/drivers/tty/serial/omap-serial.c
14@@ -517,8 +517,10 @@ static int serial_omap_startup(struct ua
15     /*
16      * Allocate the IRQ
17      */
18- retval = request_irq(up->port.irq, serial_omap_irq, up->port.irqflags,
19- up->name, up);
20+ retval = 0;
21+ if (up->port.irq)
22+ retval = request_irq(up->port.irq, serial_omap_irq,
23+ up->port.irqflags, up->name, up);
24     if (retval)
25         return retval;
26 
27@@ -629,7 +631,8 @@ static void serial_omap_shutdown(struct
28     }
29 
30     pm_runtime_put(&up->pdev->dev);
31- free_irq(up->port.irq, up);
32+ if (up->port.irq)
33+ free_irq(up->port.irq, up);
34 }
35 
36 static inline void
37

Archive Download this file



interactive