|
|
|
--- a/pci.c
|
|
|
|
+++ b/pci.c
|
|
|
|
@@ -2005,7 +2005,12 @@ static void acxpci_s_down(struct net_dev
|
|
|
|
/* then wait until interrupts have finished executing on other CPUs */
|
|
|
|
acx_lock(adev, flags);
|
|
|
|
disable_acx_irq(adev);
|
|
|
|
+#ifdef CONFIG_PCI
|
|
|
|
synchronize_irq(adev->pdev->irq);
|
|
|
|
+#endif
|
|
|
|
+#ifdef CONFIG_VLYNQ
|
|
|
|
+ synchronize_irq(adev->vdev->irq);
|
|
|
|
+#endif
|
|
|
|
acx_unlock(adev, flags);
|
|
|
|
|
|
|
|
/* we really don't want to have an asynchronous tasklet disturb us
|
|
|
|
@@ -4164,7 +4169,11 @@ static __devinit int vlynq_probe(struct
|
|
|
|
addr = (u32)ioremap(vdev->mem_start, 0x1000);
|
|
|
|
if (!addr) {
|
|
|
|
printk(KERN_ERR "%s: failed to remap io memory\n",
|
|
|
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
|
|
|
|
vdev->dev.bus_id);
|
|
|
|
+#else
|
|
|
|
+ dev_name(vdev));
|
|
|
|
+#endif
|
|
|
|
result = -ENXIO;
|
|
|
|
goto fail;
|
|
|
|
}
|
|
|
|
@@ -4231,7 +4240,11 @@ static __devinit int vlynq_probe(struct
|
|
|
|
|
|
|
|
printk("acx: found %s-based wireless network card at %s, irq:%d, "
|
|
|
|
"phymem:0x%x, mem:0x%p\n",
|
|
|
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
|
|
|
|
match->name, vdev->dev.bus_id, ndev->irq,
|
|
|
|
+#else
|
|
|
|
+ match->name, dev_name(vdev), ndev->irq,
|
|
|
|
+#endif
|
|
|
|
vdev->mem_start, adev->iobase);
|
|
|
|
log(L_ANY, "initial debug setting is 0x%04X\n", acx_debug);
|
|
|
|
|
|
|
|
--- a/wlan_compat.h
|
|
|
|
+++ b/wlan_compat.h
|
|
|
|
@@ -221,8 +221,10 @@
|
|
|
|
#ifndef IRQ_NONE
|
|
|
|
#define IRQ_NONE
|
|
|
|
#define IRQ_HANDLED
|
|
|
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
|
|
|
|
typedef void irqreturn_t;
|
|
|
|
#endif
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
#ifndef ARPHRD_IEEE80211_PRISM
|
|
|
|
#define ARPHRD_IEEE80211_PRISM 802
|