compat-wireless: fix applying of 09-threaded-irq.patch
authorLuis R. Rodriguez <lrodriguez@atheros.com>
Thu, 19 May 2011 21:50:25 +0000 (14:50 -0700)
committerLuis R. Rodriguez <lrodriguez@atheros.com>
Thu, 19 May 2011 21:50:25 +0000 (14:50 -0700)
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
patches/09-threaded-irq.patch

index 65f2b2cd1b0e3e65e2f0f2a5981a136724347c8b..7fde0673fbf2087ede4bbc11c83ca3d1a1a905ba 100644 (file)
@@ -6,21 +6,21 @@ thread in process context as well.
 
 --- a/drivers/net/wireless/b43/main.c
 +++ b/drivers/net/wireless/b43/main.c
-@@ -3962,8 +3962,13 @@ redo:
-       if (dev->dev->bus->bustype == SSB_BUSTYPE_SDIO) {
+@@ -3970,8 +3970,13 @@
+       if (dev->sdev->bus->bustype == SSB_BUSTYPE_SDIO) {
                b43_sdio_free_irq(dev);
        } else {
 +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31)
 +              compat_synchronize_threaded_irq(&dev->irq_compat);
 +              compat_free_threaded_irq(&dev->irq_compat);
 +#else
-               synchronize_irq(dev->dev->irq);
-               free_irq(dev->dev->irq, dev);
+               synchronize_irq(dev->sdev->irq);
+               free_irq(dev->sdev->irq, dev);
 +#endif
        }
        mutex_lock(&wl->mutex);
        dev = wl->current_dev;
-@@ -4003,9 +4008,17 @@ static int b43_wireless_core_start(struc
+@@ -4011,9 +4016,17 @@
                        goto out;
                }
        } else {
@@ -31,14 +31,14 @@ thread in process context as well.
 +                                                b43_interrupt_thread_handler,
 +                                                IRQF_SHARED, KBUILD_MODNAME, dev);
 +#else
-               err = request_threaded_irq(dev->dev->irq, b43_interrupt_handler,
+               err = request_threaded_irq(dev->sdev->irq, b43_interrupt_handler,
                                           b43_interrupt_thread_handler,
                                           IRQF_SHARED, KBUILD_MODNAME, dev);
 +#endif
                if (err) {
-                       b43err(dev->wl, "Cannot request IRQ-%d\n", dev->dev->irq);
-                       goto out;
-@@ -4719,6 +4732,10 @@ static int b43_setup_bands(struct b43_wl
+                       b43err(dev->wl, "Cannot request IRQ-%d\n",
+                              dev->sdev->irq);
+@@ -4728,6 +4741,10 @@
  
  static void b43_wireless_core_detach(struct b43_wldev *dev)
  {