retval = rndis_set_oid(usbdev, OID_GEN_CURRENT_PACKET_FILTER, &tmp,
--- a/net/mac80211/iface.c 2009-09-02 14:09:58.557123328 -0700
+++ b/net/mac80211/iface.c 2009-09-02 14:10:02.137093336 -0700
-@@ -642,6 +642,7 @@
+@@ -644,6 +644,7 @@
WARN_ON(flushed);
}
static const struct net_device_ops ieee80211_dataif_ops = {
.ndo_open = ieee80211_open,
.ndo_stop = ieee80211_stop,
-@@ -661,11 +662,22 @@
+@@ -663,11 +664,22 @@
.ndo_change_mtu = ieee80211_change_mtu,
.ndo_set_mac_address = eth_mac_addr,
};
dev->destructor = free_netdev;
}
-@@ -680,7 +692,11 @@
+@@ -682,7 +694,11 @@
/* and set some type-dependent values */
sdata->vif.type = type;
sdata->wdev.iftype = type;
/* only monitor differs */
-@@ -703,7 +719,11 @@
+@@ -705,7 +721,11 @@
break;
case NL80211_IFTYPE_MONITOR:
sdata->dev->type = ARPHRD_IEEE80211_RADIOTAP;
sdata->u.mntr_flags = MONITOR_FLAG_CONTROL |
MONITOR_FLAG_OTHER_BSS;
break;
-@@ -774,6 +794,8 @@
+@@ -776,6 +796,8 @@
return -ENOMEM;
dev_net_set(ndev, wiphy_net(local->hw.wiphy));
ndev->needed_headroom = local->tx_headroom +
4*6 /* four MAC addresses */
+ 2 + 2 + 2 + 2 /* ctl, dur, seq, qos */
-@@ -782,6 +804,7 @@
+@@ -784,6 +806,7 @@
- ETH_HLEN /* ethernet hard_header_len */
+ IEEE80211_ENCRYPT_HEADROOM;
ndev->needed_tailroom = IEEE80211_ENCRYPT_TAILROOM;
ret = dev_alloc_name(ndev, ndev->name);
if (ret < 0)
-@@ -815,6 +838,10 @@
+@@ -818,6 +841,10 @@
if (ret)
goto fail;
priv->wireless_data.libipw = priv->ieee;
--- a/drivers/net/wireless/ipw2x00/ipw2200.c 2009-08-20 13:47:07.311291621 -0700
+++ b/drivers/net/wireless/ipw2x00/ipw2200.c 2009-08-20 13:47:07.783268230 -0700
-@@ -11624,6 +11624,7 @@
+@@ -11626,6 +11626,7 @@
return NETDEV_TX_OK;
}
static const struct net_device_ops ipw_prom_netdev_ops = {
.ndo_open = ipw_prom_open,
.ndo_stop = ipw_prom_stop,
-@@ -11632,6 +11633,7 @@
+@@ -11634,6 +11635,7 @@
.ndo_set_mac_address = eth_mac_addr,
.ndo_validate_addr = eth_validate_addr,
};
static int ipw_prom_alloc(struct ipw_priv *priv)
{
-@@ -11652,7 +11654,13 @@
+@@ -11654,7 +11656,13 @@
memcpy(priv->prom_net_dev->dev_addr, priv->mac_addr, ETH_ALEN);
priv->prom_net_dev->type = ARPHRD_IEEE80211_RADIOTAP;
priv->prom_priv->ieee->iw_mode = IW_MODE_MONITOR;
SET_NETDEV_DEV(priv->prom_net_dev, &priv->pci_dev->dev);
-@@ -11680,6 +11688,7 @@
+@@ -11682,6 +11690,7 @@
#endif
static const struct net_device_ops ipw_netdev_ops = {
.ndo_init = ipw_net_init,
.ndo_open = ipw_net_open,
-@@ -11690,6 +11699,7 @@
+@@ -11692,6 +11701,7 @@
.ndo_change_mtu = libipw_change_mtu,
.ndo_validate_addr = eth_validate_addr,
};
static int __devinit ipw_pci_probe(struct pci_dev *pdev,
const struct pci_device_id *ent)
-@@ -11791,7 +11801,15 @@
+@@ -11793,7 +11803,15 @@
priv->ieee->perfect_rssi = -20;
priv->ieee->worst_rssi = -85;
net_dev->wireless_handlers = &ipw_wx_handler_def;
--- a/drivers/net/wireless/libertas/main.c 2009-10-07 01:42:20.000000000 -0400
+++ b/drivers/net/wireless/libertas/main.c 2009-10-07 01:42:21.000000000 -0400
-@@ -1227,6 +1227,7 @@
+@@ -1229,6 +1229,7 @@
lbs_deb_leave(LBS_DEB_MAIN);
}
static const struct net_device_ops lbs_netdev_ops = {
.ndo_open = lbs_dev_open,
.ndo_stop = lbs_eth_stop,
-@@ -1237,6 +1238,7 @@
+@@ -1239,6 +1240,7 @@
.ndo_change_mtu = eth_change_mtu,
.ndo_validate_addr = eth_validate_addr,
};
/**
* @brief This function adds the card. it will probe the
-@@ -1283,7 +1285,16 @@
+@@ -1284,7 +1286,16 @@
wdev->netdev = dev;
priv->dev = dev;
dev->watchdog_timeo = 5 * HZ;
dev->ethtool_ops = &lbs_ethtool_ops;
#ifdef WIRELESS_EXT
-@@ -1530,6 +1541,7 @@
+@@ -1531,6 +1542,7 @@
EXPORT_SYMBOL_GPL(lbs_stop_card);
static const struct net_device_ops mesh_netdev_ops = {
.ndo_open = lbs_dev_open,
.ndo_stop = lbs_mesh_stop,
-@@ -1537,6 +1549,7 @@
+@@ -1538,6 +1550,7 @@
.ndo_set_mac_address = lbs_set_mac_address,
.ndo_set_multicast_list = lbs_set_multicast_list,
};
/**
* @brief This function adds mshX interface
-@@ -1560,7 +1573,15 @@
+@@ -1561,7 +1574,15 @@
mesh_dev->ml_priv = priv;
priv->mesh_dev = mesh_dev;
mesh_dev->ethtool_ops = &lbs_ethtool_ops;
memcpy(mesh_dev->dev_addr, priv->dev->dev_addr,
sizeof(priv->dev->dev_addr));
-@@ -1776,11 +1797,13 @@
+@@ -1777,11 +1798,13 @@
lbs_deb_leave(LBS_DEB_MAIN);
}
static int lbs_add_rtap(struct lbs_private *priv)
{
-@@ -1801,7 +1824,13 @@
+@@ -1802,7 +1825,13 @@
memcpy(rtap_dev->dev_addr, priv->current_addr, ETH_ALEN);
rtap_dev->type = ARPHRD_IEEE80211_RADIOTAP;