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 /net/mac80211/ieee80211_iface.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 'net/mac80211/ieee80211_iface.c')
-rw-r--r-- | net/mac80211/ieee80211_iface.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/ieee80211_iface.c b/net/mac80211/ieee80211_iface.c index 7cfd8660b231..b72066378805 100644 --- a/net/mac80211/ieee80211_iface.c +++ b/net/mac80211/ieee80211_iface.c | |||
@@ -47,7 +47,7 @@ int ieee80211_if_add(struct net_device *dev, const char *name, | |||
47 | int ret; | 47 | int ret; |
48 | 48 | ||
49 | ASSERT_RTNL(); | 49 | ASSERT_RTNL(); |
50 | ndev = alloc_netdev(sizeof(struct ieee80211_sub_if_data), | 50 | ndev = alloc_netdev(sizeof(*sdata) + local->hw.vif_data_size, |
51 | name, ieee80211_if_setup); | 51 | name, ieee80211_if_setup); |
52 | if (!ndev) | 52 | if (!ndev) |
53 | return -ENOMEM; | 53 | return -ENOMEM; |