Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> --- patches/09-threaded-irq.patch | 35 +++++++++++++++++++++++------------ 1 files changed, 23 insertions(+), 12 deletions(-) diff --git a/patches/09-threaded-irq.patch b/patches/09-threaded-irq.patch index 9822acb..0e25e21 100644 --- a/patches/09-threaded-irq.patch +++ b/patches/09-threaded-irq.patch @@ -63,28 +63,39 @@ thread in process context as well. /* Data structure for the WLAN parts (802.11 cores) of the b43 chip. */ --- a/drivers/net/wireless/wl12xx/spi.c +++ b/drivers/net/wireless/wl12xx/spi.c -@@ -408,9 +408,20 @@ static int __devinit wl1271_probe(struct +@@ -405,10 +405,14 @@ static int __devinit wl1271_probe(struct + wl->tcxo_clock = pdata->board_tcxo_clock; + wl->platform_quirks = pdata->platform_quirks; + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32) ++ irqflags = IRQF_TRIGGER_RISING; ++#else + if (wl->platform_quirks & WL12XX_PLATFORM_QUIRK_EDGE_IRQ) + irqflags = IRQF_TRIGGER_RISING; + else + irqflags = IRQF_TRIGGER_HIGH | IRQF_ONESHOT; ++#endif + + wl->irq = spi->irq; + if (wl->irq < 0) { +@@ -417,9 +421,16 @@ static int __devinit wl1271_probe(struct goto out_free; } +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31) + ret = compat_request_threaded_irq(&wl->irq_compat, wl->irq, + wl1271_hardirq, wl1271_irq, -+ IRQF_TRIGGER_RISING, ++ irqflags, + DRIVER_NAME, wl); +#else ret = request_threaded_irq(wl->irq, wl1271_hardirq, wl1271_irq, -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32) -+ IRQF_TRIGGER_RISING, -+#else - IRQF_TRIGGER_HIGH | IRQF_ONESHOT, -+#endif + irqflags, DRIVER_NAME, wl); +#endif if (ret < 0) { wl1271_error("request_irq() failed: %d", ret); goto out_free; -@@ -431,7 +442,11 @@ static int __devinit wl1271_probe(struct +@@ -440,7 +451,11 @@ static int __devinit wl1271_probe(struct return 0; out_irq: @@ -96,7 +107,7 @@ thread in process context as well. out_free: wl1271_free_hw(wl); -@@ -444,7 +459,12 @@ static int __devexit wl1271_remove(struc +@@ -453,7 +468,12 @@ static int __devexit wl1271_remove(struc struct wl1271 *wl = dev_get_drvdata(&spi->dev); wl1271_unregister_hw(wl); @@ -111,10 +122,10 @@ thread in process context as well. return 0; --- a/drivers/net/wireless/wl12xx/wl12xx.h +++ b/drivers/net/wireless/wl12xx/wl12xx.h -@@ -544,6 +544,10 @@ struct wl1271 { +@@ -582,6 +582,10 @@ struct wl1271 { - /* Quirks of specific hardware revisions */ - unsigned int quirks; + /* Platform limitations */ + unsigned int platform_quirks; + +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31) + struct compat_threaded_irq irq_compat; -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html