dev->tx_queue_len = ATH_TXBUF - ATH_TXBUF_MGT_RESERVED;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
netif_napi_add(dev, &sc->sc_napi, ath_rx_poll, 64);
-@@ -12729,8 +12747,13 @@ ath_rcv_dev_event(struct notifier_block
+@@ -1257,7 +1275,6 @@ ath_detach(struct net_device *dev)
+ ath_dynamic_sysctl_unregister(sc);
+ ATH_LOCK_DESTROY(sc);
+ ATH_HAL_LOCK_DESTROY(sc);
+- dev->stop = NULL; /* prevent calling ath_stop again */
+ unregister_netdev(dev);
+ return 0;
+ }
+@@ -12729,8 +12746,13 @@ ath_rcv_dev_event(struct notifier_block
struct net_device *dev = (struct net_device *)ptr;
struct ath_softc *sc = (struct ath_softc *)netdev_priv(dev);
int
ieee80211_vap_setup(struct ieee80211com *ic, struct net_device *dev,
const char *name, int opmode, int flags, struct ieee80211vap *master)
-@@ -470,12 +482,17 @@ ieee80211_vap_setup(struct ieee80211com
+@@ -470,16 +482,21 @@ ieee80211_vap_setup(struct ieee80211com
} else
strncpy(dev->name, name, sizeof(dev->name));
}
dev->hard_start_xmit = ieee80211_hardstart;
dev->set_multicast_list = ieee80211_set_multicast_list;
+ dev->do_ioctl = ieee80211_ioctl;
-+#else
-+ dev->netdev_ops = &ieee80211_netdev_ops;
-+#endif
#if 0
dev->set_mac_address = ieee80211_set_mac_address;
#endif
+ dev->change_mtu = ieee80211_change_mtu;
++#else
++ dev->netdev_ops = &ieee80211_netdev_ops;
++#endif
+ dev->tx_queue_len = 0; /* NB: bypass queuing */
+ dev->hard_header_len = parent->hard_header_len;
+ /*
@@ -1823,7 +1840,11 @@ ieee80211_set_multicast_list(struct net_
IEEE80211_UNLOCK_IRQ(ic);