diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2007-12-18 19:31:26 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 18:09:36 -0500 |
commit | 32bfd35d4b63bd63de4bb0d791ef049c3c868726 (patch) | |
tree | c1c213a35a00bcbe71a2ecc6521e19dec66cf6eb /drivers/net/wireless/b43legacy/xmit.c | |
parent | f653211197f3841f383fa9757ef8ce182c6cf627 (diff) |
mac80211: dont use interface indices in drivers
This patch gets rid of the if_id stuff where possible in favour of
a new per-virtual-interface structure "struct ieee80211_vif". This
structure is located at the end of the per-interface structure and
contains a variable length driver-use data area.
This has two advantages:
* removes the need to look up interfaces by if_id, this is better
for working with network namespaces and performance
* allows drivers to store and retrieve per-interface data without
having to allocate own lists/hash tables
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43legacy/xmit.c')
-rw-r--r-- | drivers/net/wireless/b43legacy/xmit.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/wireless/b43legacy/xmit.c b/drivers/net/wireless/b43legacy/xmit.c index fa095d43237f..e20c552442d5 100644 --- a/drivers/net/wireless/b43legacy/xmit.c +++ b/drivers/net/wireless/b43legacy/xmit.c | |||
@@ -223,7 +223,7 @@ static void generate_txhdr_fw3(struct b43legacy_wldev *dev, | |||
223 | } else { | 223 | } else { |
224 | int fbrate_base100kbps = B43legacy_RATE_TO_100KBPS(rate_fb); | 224 | int fbrate_base100kbps = B43legacy_RATE_TO_100KBPS(rate_fb); |
225 | txhdr->dur_fb = ieee80211_generic_frame_duration(dev->wl->hw, | 225 | txhdr->dur_fb = ieee80211_generic_frame_duration(dev->wl->hw, |
226 | dev->wl->if_id, | 226 | txctl->vif, |
227 | fragment_len, | 227 | fragment_len, |
228 | fbrate_base100kbps); | 228 | fbrate_base100kbps); |
229 | } | 229 | } |
@@ -312,7 +312,7 @@ static void generate_txhdr_fw3(struct b43legacy_wldev *dev, | |||
312 | 312 | ||
313 | if (txctl->flags & IEEE80211_TXCTL_USE_CTS_PROTECT) { | 313 | if (txctl->flags & IEEE80211_TXCTL_USE_CTS_PROTECT) { |
314 | ieee80211_ctstoself_get(dev->wl->hw, | 314 | ieee80211_ctstoself_get(dev->wl->hw, |
315 | dev->wl->if_id, | 315 | txctl->vif, |
316 | fragment_data, | 316 | fragment_data, |
317 | fragment_len, txctl, | 317 | fragment_len, txctl, |
318 | (struct ieee80211_cts *) | 318 | (struct ieee80211_cts *) |
@@ -321,7 +321,7 @@ static void generate_txhdr_fw3(struct b43legacy_wldev *dev, | |||
321 | len = sizeof(struct ieee80211_cts); | 321 | len = sizeof(struct ieee80211_cts); |
322 | } else { | 322 | } else { |
323 | ieee80211_rts_get(dev->wl->hw, | 323 | ieee80211_rts_get(dev->wl->hw, |
324 | dev->wl->if_id, | 324 | txctl->vif, |
325 | fragment_data, fragment_len, txctl, | 325 | fragment_data, fragment_len, txctl, |
326 | (struct ieee80211_rts *) | 326 | (struct ieee80211_rts *) |
327 | (txhdr->rts_frame)); | 327 | (txhdr->rts_frame)); |