| 1 | --- a/pci.c |
| 2 | +++ b/pci.c |
| 3 | @@ -2005,7 +2005,12 @@ static void acxpci_s_down(struct net_dev |
| 4 | /* then wait until interrupts have finished executing on other CPUs */ |
| 5 | acx_lock(adev, flags); |
| 6 | disable_acx_irq(adev); |
| 7 | +#ifdef CONFIG_PCI |
| 8 | synchronize_irq(adev->pdev->irq); |
| 9 | +#endif |
| 10 | +#ifdef CONFIG_VLYNQ |
| 11 | + synchronize_irq(adev->vdev->irq); |
| 12 | +#endif |
| 13 | acx_unlock(adev, flags); |
| 14 | |
| 15 | /* we really don't want to have an asynchronous tasklet disturb us |
| 16 | @@ -4164,7 +4169,11 @@ static __devinit int vlynq_probe(struct |
| 17 | addr = (u32)ioremap(vdev->mem_start, 0x1000); |
| 18 | if (!addr) { |
| 19 | printk(KERN_ERR "%s: failed to remap io memory\n", |
| 20 | +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30) |
| 21 | vdev->dev.bus_id); |
| 22 | +#else |
| 23 | + dev_name(vdev)); |
| 24 | +#endif |
| 25 | result = -ENXIO; |
| 26 | goto fail; |
| 27 | } |
| 28 | @@ -4231,7 +4240,11 @@ static __devinit int vlynq_probe(struct |
| 29 | |
| 30 | printk("acx: found %s-based wireless network card at %s, irq:%d, " |
| 31 | "phymem:0x%x, mem:0x%p\n", |
| 32 | +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30) |
| 33 | match->name, vdev->dev.bus_id, ndev->irq, |
| 34 | +#else |
| 35 | + match->name, dev_name(vdev), ndev->irq, |
| 36 | +#endif |
| 37 | vdev->mem_start, adev->iobase); |
| 38 | log(L_ANY, "initial debug setting is 0x%04X\n", acx_debug); |
| 39 | |
| 40 | --- a/wlan_compat.h |
| 41 | +++ b/wlan_compat.h |
| 42 | @@ -221,8 +221,10 @@ |
| 43 | #ifndef IRQ_NONE |
| 44 | #define IRQ_NONE |
| 45 | #define IRQ_HANDLED |
| 46 | +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28) |
| 47 | typedef void irqreturn_t; |
| 48 | #endif |
| 49 | +#endif |
| 50 | |
| 51 | #ifndef ARPHRD_IEEE80211_PRISM |
| 52 | #define ARPHRD_IEEE80211_PRISM 802 |
| 53 | |