--- a/ath/if_ath.c +++ b/ath/if_ath.c @@ -2388,7 +2388,9 @@ ath_intr(int irq, void *dev_id, struct p if (status & (HAL_INT_RX | HAL_INT_RXPHY)) { ath_uapsd_processtriggers(sc, hw_tsf); sc->sc_isr &= ~HAL_INT_RX; -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29) + if (napi_schedule_prep(&sc->sc_napi)) +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) if (netif_rx_schedule_prep(dev, &sc->sc_napi)) #else if (netif_rx_schedule_prep(dev)) @@ -2396,7 +2398,9 @@ ath_intr(int irq, void *dev_id, struct p { sc->sc_imask &= ~HAL_INT_RX; ath_hal_intrset(ah, sc->sc_imask); -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29) + __napi_schedule(&sc->sc_napi); +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) __netif_rx_schedule(dev, &sc->sc_napi); #else __netif_rx_schedule(dev); @@ -7135,7 +7139,9 @@ rx_next: local_irq_restore(flags); } -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29) + napi_complete(napi); +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) netif_rx_complete(dev, napi); #else netif_rx_complete(dev);