X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/864cf3adb00eadf398fb44e2e4ba5f02c358c472..071f766b1ddbdd19a8c97ed2773e892c039a35d1:/package/madwifi/patches/432-netdev_ops.patch diff --git a/package/madwifi/patches/432-netdev_ops.patch b/package/madwifi/patches/432-netdev_ops.patch index be361287d..af829b164 100644 --- a/package/madwifi/patches/432-netdev_ops.patch +++ b/package/madwifi/patches/432-netdev_ops.patch @@ -45,7 +45,15 @@ http://madwifi-project.org/changeset/4005 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; + } +@@ -12732,8 +12749,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); @@ -61,7 +69,7 @@ http://madwifi-project.org/changeset/4005 case NETDEV_CHANGENAME: --- a/net80211/ieee80211.c +++ b/net80211/ieee80211.c -@@ -450,6 +450,18 @@ ieee80211_ifdetach(struct ieee80211com * +@@ -451,6 +451,18 @@ ieee80211_ifdetach(struct ieee80211com * } EXPORT_SYMBOL(ieee80211_ifdetach); @@ -80,7 +88,7 @@ http://madwifi-project.org/changeset/4005 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 +@@ -471,16 +483,21 @@ ieee80211_vap_setup(struct ieee80211com } else strncpy(dev->name, name, sizeof(dev->name)); } @@ -92,13 +100,17 @@ http://madwifi-project.org/changeset/4005 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 -@@ -1823,7 +1840,11 @@ ieee80211_set_multicast_list(struct net_ + 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; + /* +@@ -1824,7 +1841,11 @@ ieee80211_set_multicast_list(struct net_ IEEE80211_UNLOCK_IRQ(ic); /* XXX: Merge multicast list into parent device */ @@ -129,7 +141,7 @@ http://madwifi-project.org/changeset/4005 case NETDEV_CHANGENAME: --- a/net80211/ieee80211_var.h +++ b/net80211/ieee80211_var.h -@@ -740,6 +740,7 @@ void ieee80211_build_sc_ie(struct ieee80 +@@ -739,6 +739,7 @@ void ieee80211_build_sc_ie(struct ieee80 void ieee80211_dfs_action(struct ieee80211com *); void ieee80211_expire_channel_excl_restrictions(struct ieee80211com *); void ieee80211_setpuregbasicrates(struct ieee80211_rateset *rs); @@ -139,7 +151,7 @@ http://madwifi-project.org/changeset/4005 * Iterate through ic_channels to enumerate all distinct ic_ieee channel numbers. --- a/net80211/ieee80211_wireless.c +++ b/net80211/ieee80211_wireless.c -@@ -5945,7 +5945,7 @@ static struct iw_handler_def ieee80211_i +@@ -5954,7 +5954,7 @@ static struct iw_handler_def ieee80211_i /* * Handle private ioctl requests. */ @@ -148,7 +160,7 @@ http://madwifi-project.org/changeset/4005 ieee80211_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) { struct ieee80211vap *vap = netdev_priv(dev); -@@ -6035,7 +6035,6 @@ ieee80211_ioctl_vattach(struct ieee80211 +@@ -6044,7 +6044,6 @@ ieee80211_ioctl_vattach(struct ieee80211 { struct net_device *dev = vap->iv_dev; @@ -156,3 +168,17 @@ http://madwifi-project.org/changeset/4005 #if IW_HANDLER_VERSION < 7 dev->get_wireless_stats = ieee80211_iw_getstats; #endif +--- a/net80211/ieee80211_input.c ++++ b/net80211/ieee80211_input.c +@@ -1188,7 +1188,11 @@ ieee80211_deliver_data(struct ieee80211_ + skb1->protocol = __constant_htons(ETH_P_802_2); + /* XXX insert vlan tag before queue it? */ + ni_tmp = SKB_CB(skb1)->ni; /* remember node so we can free it */ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29) + ret = dev->hard_start_xmit(skb1, dev); ++#else ++ ret = dev->netdev_ops->ndo_start_xmit(skb1, dev); ++#endif + + if (ret == NETDEV_TX_BUSY) + ieee80211_dev_kfree_skb(&skb1);