package/madwifi: refresh madwifi patches
[openwrt/openwrt.git] / package / madwifi / patches / 432-netdev_ops.patch
index 6cb2c67827ce792f67b30bb3b98c6f6b7297e7a2..af829b164a7401d881e8560e718732bbca9143e8 100644 (file)
@@ -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;
  
@@ -158,7 +170,7 @@ http://madwifi-project.org/changeset/4005
  #endif
 --- a/net80211/ieee80211_input.c
 +++ b/net80211/ieee80211_input.c
-@@ -1185,7 +1185,11 @@ ieee80211_deliver_data(struct ieee80211_
+@@ -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 */