compat-drivers: fix compilation on 2.6.30
authorLuis R. Rodriguez <mcgrof@do-not-panic.com>
Wed, 27 Mar 2013 00:44:01 +0000 (17:44 -0700)
committerLuis R. Rodriguez <mcgrof@do-not-panic.com>
Wed, 27 Mar 2013 00:46:29 +0000 (17:46 -0700)
Commit cfe9f9 did indeed fix the new changes on the TI
driver for newer kernels but failed to address the removal
of the wl12xx_hardirq handle no longer required for older
kernels. Fix this.

commit cfe9f97862b7c6eceb25932a6fec32ed0887171b
Author: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Date:   Tue Mar 26 16:14:42 2013 -0700

    compat-drivers: fix collateral-evolutions/network/09-threaded-irq.patch

    Manual edits required due to some context changes. The change
    in question that caused this is

    commit 97236a0656034ef8512ded648cfaa3d7282534e8
    Author: Luciano Coelho <coelho@ti.com>
    Date:   Fri Mar 8 09:41:53 2013 +0200

        wlcore: move handling from hardirq to the irq thread function

        Spin locks and completions are expensive in hard IRQ context and cause
        problems with RT kernels.  In RT kernels, both spin locks and
        completions can schedule(), so we can't use them in hard irq context.

        Move handling code into the irq thread function to avoid that.

Reported-by: Gregoire Gentil <gregoire@alwaysinnovating.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
patches/collateral-evolutions/network/09-threaded-irq.patch

index eb8c67fba958f300b1a316c8aaaeee64331ba80e..9a9415fdddacb8c38efc94c6b6c0f369587b2764 100644 (file)
@@ -131,7 +131,7 @@ thread in process context as well.
  
 +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31)
 +      ret = compat_request_threaded_irq(&wl->irq_compat, wl->irq,
-+                                        wl12xx_hardirq, wlcore_irq,
++                                        NULL, wlcore_irq,
 +                                        irqflags,
 +                                        pdev->name, wl);
 +#else