diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-11-25 11:46:19 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-12-21 18:38:52 -0500 |
commit | 47846c9b0c10808d9337d2e7d09361f3e0a0a71a (patch) | |
tree | 8e5d0dbf3309b7868fa73a888f9561ffea1580e3 /net/mac80211/ht.c | |
parent | abe60632f311d515b082b450504ee24006023951 (diff) |
mac80211: reduce reliance on netdev
For bluetooth 3, we will most likely not have
a netdev for a virtual interface (sdata), so
prepare for that by reducing the reliance on
having a netdev. This patch moves the name
and address fields into the sdata struct and
uses them from there all over. Some work is
needed to keep them sync'ed, but that's not
a lot of work and in slow paths anyway.
In doing so, this also reduces the number of
pointer dereferences in many places, because
of things like sdata->dev->dev_addr becoming
sdata->vif.addr.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/ht.c')
-rw-r--r-- | net/mac80211/ht.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/mac80211/ht.c b/net/mac80211/ht.c index 3787455fb696..45ebd062a2fb 100644 --- a/net/mac80211/ht.c +++ b/net/mac80211/ht.c | |||
@@ -106,7 +106,7 @@ void ieee80211_send_delba(struct ieee80211_sub_if_data *sdata, | |||
106 | 106 | ||
107 | if (!skb) { | 107 | if (!skb) { |
108 | printk(KERN_ERR "%s: failed to allocate buffer " | 108 | printk(KERN_ERR "%s: failed to allocate buffer " |
109 | "for delba frame\n", sdata->dev->name); | 109 | "for delba frame\n", sdata->name); |
110 | return; | 110 | return; |
111 | } | 111 | } |
112 | 112 | ||
@@ -114,10 +114,10 @@ void ieee80211_send_delba(struct ieee80211_sub_if_data *sdata, | |||
114 | mgmt = (struct ieee80211_mgmt *) skb_put(skb, 24); | 114 | mgmt = (struct ieee80211_mgmt *) skb_put(skb, 24); |
115 | memset(mgmt, 0, 24); | 115 | memset(mgmt, 0, 24); |
116 | memcpy(mgmt->da, da, ETH_ALEN); | 116 | memcpy(mgmt->da, da, ETH_ALEN); |
117 | memcpy(mgmt->sa, sdata->dev->dev_addr, ETH_ALEN); | 117 | memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); |
118 | if (sdata->vif.type == NL80211_IFTYPE_AP || | 118 | if (sdata->vif.type == NL80211_IFTYPE_AP || |
119 | sdata->vif.type == NL80211_IFTYPE_AP_VLAN) | 119 | sdata->vif.type == NL80211_IFTYPE_AP_VLAN) |
120 | memcpy(mgmt->bssid, sdata->dev->dev_addr, ETH_ALEN); | 120 | memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); |
121 | else if (sdata->vif.type == NL80211_IFTYPE_STATION) | 121 | else if (sdata->vif.type == NL80211_IFTYPE_STATION) |
122 | memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN); | 122 | memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN); |
123 | 123 | ||