- 31 3月, 2011 6 次提交
-
-
由 Nishant Sarmukadam 提交于
Specifically, handle ampdu_action and attempt to start a BA session on receiving the first qos packet from mac80211 for transmission to a HT sta. While the BA session is being created, all the packets belonging to that stream will be dropped to prevent sequence number mismatch at the recipient. Contains contributions from: Yogesh Powar <yogeshp@marvell.com> Pradeep Nemavat <pnemavat@marvell.com> Brian Cavagnolo <brian@cozybit.com> Signed-off-by: NBrian Cavagnolo <brian@cozybit.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Brian Cavagnolo 提交于
In particular, we can now add, start, lookup, and remove streams. Based on work by Nishant Sarmukadam <nishants@marvell.com> and Pradeep Nemavat <pnemavat@marvell.com>. Signed-off-by: NPradeep Nemavat <pnemavat@marvell.com> Signed-off-by: NNishant Sarmukadam <nishants@marvell.com> Signed-off-by: NBrian Cavagnolo <brian@cozybit.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Brian Cavagnolo 提交于
We now have two different kinds of queues. And the number of AMPDU queues may vary. So we must be clear about which queues we are dealing with. Note that when we report the number of queues to mac80211, we only report the WMM queues. Based on work by Yogesh Powar <yogeshp@marvell.com>. Signed-off-by: NBrian Cavagnolo <brian@cozybit.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Nishant Sarmukadam 提交于
Signed-off-by: NPradeep Nemavat <pnemavat@marvell.com> Signed-off-by: NBrian Cavagnolo <brian@cozybit.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Brian Cavagnolo 提交于
Firmware APIv2 adds the following enhancements: -- capabilities are reported by the firmware -- API supports up to 8 dedicated AMPDU streams -- optional packet timestamping and expiration can be enabled. Specifically, packets that are queued in firmware for longer than 500ms will be dropped if this option is used. Based on work by "Nishant Sarmukadam" <nishants@marvell.com> Signed-off-by: NBrian Cavagnolo <brian@cozybit.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Brian Cavagnolo 提交于
Specifically, APIv2 will specify a variable number of AMPDU queues in the MWL8K_CMD_GET_HW_SPEC. So init the tx queues after MWL8K_CMD_GET_HW_SPEC for ap fw. Also, we make it safe to deinit queues that have not been init'd. This happens if the mwl8k_get_hw_spec_ap routine fails, for example. Signed-off-by: NNishant Sarmukadam <nishants@marvell.com> Signed-off-by: NBrian Cavagnolo <brian@cozybit.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 10 3月, 2011 1 次提交
-
-
由 Shan Wei 提交于
Use kcalloc or kzalloc rather than the combination of kmalloc and memset. Thanks coccicheck for detecting this. (http://coccinelle.lip6.fr/) Signed-off-by: NShan Wei <shanwei@cn.fujitsu.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 26 2月, 2011 1 次提交
-
-
由 Johannes Berg 提交于
The return value of the tx operation is commonly misused by drivers, leading to errors. All drivers will drop frames if they fail to TX the frame, and they must also properly manage the queues (if they didn't, mac80211 would already warn). Removing the ability for drivers to return a BUSY value also allows significant cleanups of the TX TX handling code in mac80211. Note that this also fixes a bug in ath9k_htc, the old "return -1" there was wrong. Signed-off-by: NJohannes Berg <johannes.berg@intel.com> Tested-by: Sedat Dilek <sedat.dilek@googlemail.com> [ath5k] Acked-by: Gertjan van Wingerde <gwingerde@gmail.com> [rt2x00] Acked-by: Larry Finger <Larry.Finger@lwfinger.net> [b43, rtl8187, rtlwifi] Acked-by: Luciano Coelho <coelho@ti.com> [wl12xx] Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 24 2月, 2011 3 次提交
-
-
由 Nishant Sarmukadam 提交于
mac80211 and mwl8k FW tx queue priorities map inversely to each other. Fix this. Signed-off-by: NPradeep Nemavat <pnemavat@marvell.com> Signed-off-by: NLennert Buytenhek <buytenh@wantstofly.org> Tested-by: NPradeep Nemavat <pnemavat@marvell.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Nishant Sarmukadam 提交于
All mwl8k parts perform rate control in firmware. Make this known to mac80211 so that it does not launch minstrel. Also, because actual tx rate information is not available from the firmware, invalidate the rate status before returning the skb to mac80211. Signed-off-by: NNishant Sarmukadam <nishants@marvell.com> Signed-off-by: NThomas Pedersen <thomas@cozybit.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Nishant Sarmukadam 提交于
When configuring rx antennas using CMD_RF_ANTENNA, the argument input is the number of antennas to be enabled. For AP, we support 3 rx antennas and hence set the field to 3. For tx antennas, value is a bitmap, so 0x7 enables all three. Signed-off-by: NNishant Sarmukadam <nishants@marvell.com> Signed-off-by: NPradeep Nemavat <pnemavat@marvell.com> Signed-off-by: NThomas Pedersen <thomas@cozybit.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 22 1月, 2011 1 次提交
-
-
由 Bruno Randolf 提交于
Extend channel to frequency mapping for 802.11j Japan 4.9GHz band, according to IEEE802.11 section 17.3.8.3.2 and Annex J. Because there are now overlapping channel numbers in the 2GHz and 5GHz band we can't map from channel to frequency without knowing the band. This is no problem as in most contexts we know the band. In places where we don't know the band (and WEXT compatibility) we assume the 2GHz band for channels below 14. This patch does not implement all channel to frequency mappings defined in 802.11, it's just an extension for 802.11j 20MHz channels. 5MHz and 10MHz channels as well as 802.11y channels have been omitted. The following drivers have been updated to reflect the API changes: iwl-3945, iwl-agn, iwmc3200wifi, libertas, mwl8k, rt2x00, wl1251, wl12xx. The drivers have been compile-tested only. Signed-off-by: NBruno Randolf <br1@einfach.org> Signed-off-by: NBrian Prodoehl <bprodoehl@gmail.com> Acked-by: NLuciano Coelho <coelho@ti.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 20 1月, 2011 5 次提交
-
-
由 Johannes Berg 提交于
The aggregation code currently doesn't implement the buffer size negotiation. It will always request a max buffer size (which is fine, if a little pointless, as the mac80211 code doesn't know and might just use 0 instead), but if the peer requests a smaller size it isn't possible to honour this request. In order to fix this, look at the buffer size in the addBA response frame, keep track of it and pass it to the driver in the ampdu_action callback when called with the IEEE80211_AMPDU_TX_OPERATIONAL action. That way the driver can limit the number of subframes in aggregates appropriately. Note that this doesn't fix any drivers apart from the addition of the new argument -- they all need to be updated separately to use this variable! Signed-off-by: NJohannes Berg <johannes.berg@intel.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Nishant Sarmukadam 提交于
set_key callback is defined for mac80211 to install keys for HW crypto in AP mode. Driver currently falls back to SW crypto in STA mode. Add support to configure the keys appropriately in the hardware after the set_key routine is called. Signed-off-by: NNishant Sarmukadam <nishants@marvell.com> Signed-off-by: NPradeep Nemavat <pnemavat@marvell.com> Signed-off-by: NThomas Pedersen <thomas@cozybit.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Nishant Sarmukadam 提交于
When hw crypto is enabled, set rx status flags appropriately depending on whether hw crypto is enabled for a particular bss. Also report MIC errors to mac80211, so that counter measures can be initiated Signed-off-by: NNishant Sarmukadam <nishants@marvell.com> Signed-off-by: Nyogesh powar <yogeshp@marvell.com> Signed-off-by: NThomas Pedersen <thomas@cozybit.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Nishant Sarmukadam 提交于
Different tail pads will be needed for crypto depending on the crypto mode. Add support to encapsulate the packets with appropriate pad value. Signed-off-by: NNishant Sarmukadam <nishants@marvell.com> Signed-off-by: NPradeep Nemavat <pnemavat@marvell.com> Signed-off-by: NThomas Pedersen <thomas@cozybit.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Nishant Sarmukadam 提交于
Add capability to add_dma_header to support padding at tail of the data packet to be transmitted when crypto is enabled. Padding is required for adding crypto information in data packets for supporting 802.11 security modes. Signed-off-by: NNishant Sarmukadam <nishants@marvell.com> Signed-off-by: NPradeep Nemavat <pnemavat@marvell.com> Signed-off-by: NThomas Pedersen <thomas@cozybit.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 17 11月, 2010 7 次提交
-
-
由 Brian Cavagnolo 提交于
This eliminates compiler warnings by doing things how the firmware class expects. Signed-off-by: NBrian Cavagnolo <brian@cozybit.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Brian Cavagnolo 提交于
Introduce a firmware loading state machine to manage the process of loading firmware asynchronously and completing initialization upon success. The state machine attempts to load the preferred firmware image. If that fails, and if an alternative firmware image is available, it will attempt to load that one. Signed-off-by: NBrian Cavagnolo <brian@cozybit.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Brian Cavagnolo 提交于
The AP firmware specifies an API version in the GET_HW_SPEC command response. Currently, the driver only supports AP firmware for the 8366, and only supports API v1. In the future, if higher API version firmwares emerge (possibly for different chips), different ops can be selected based on the reported API version. Signed-off-by: NBrian Cavagnolo <brian@cozybit.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Brian Cavagnolo 提交于
The mwl8k can operate in AP or STA mode, depending on the firmware image that is loaded. By default, STA firmware is loaded. Allow the user to override this default mode at module load time. This saves an unnecessary firmware reload for users only interested in AP mode. Also, the firmware image can be swapped to meet the user's add_interface request. For example, suppose the STA firmware is loaded, no STA interface has been added, and the user adds an AP interface. In this case, the AP firmware will be loaded to meet the request. Based on contributions from Pradeep Nemavat <pnemavat@marvell.com>, Yogesh Powar <yogeshp@marvell.com>, and Lennert Buytenhek <buytenh@wantstofly.org>. Signed-off-by: NBrian Cavagnolo <brian@cozybit.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Brian Cavagnolo 提交于
This is in preparation for supporting different fw images for different interface types, and for supporting asynchronous firmware loading. Based on a patch from Pradeep Nemavat <pnemavat@marvell.com> and Yogesh Powar <yogeshp@marvell.com> Signed-off-by: NBrian Cavagnolo <brian@cozybit.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Nishant Sarmukadam 提交于
APIv1 AP firmware does not support the RF_TX_POWER command. It supports the similar TX_POWER command. Signed-off-by: NPradeep Nemavat <pnemavat@marvell.com> Signed-off-by: NNishant Sarmukadam <nishants@marvell.com> Signed-off-by: NBrian Cavagnolo <brian@cozybit.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Brian Cavagnolo 提交于
This reverts change 783391c443728febc669e40597193308460e7b4f. The stabilized AP v1 firmware uses the same tx descriptor as the STA firmware. Signed-off-by: NBrian Cavagnolo <brian@cozybit.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 16 11月, 2010 1 次提交
-
-
由 Nishant Sarmukadam 提交于
AP firmware uses xmitcontrol to differentiate between AMPDU and non-AMPDU frames. As the support for AMPDU is not yet added, set xmitcontrol to non-AMPDU for all tx frames for AP firmware. This field will be set to indicate ampdu/non-ampdu frames when tx AMPDU support is added. Signed-off-by: NPradeep Nemavat <pnemavat@marvell.com> Signed-off-by: NBrian Cavagnolo <brian@cozybit.com> Acked-by: NLennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 19 8月, 2010 1 次提交
-
-
由 Joe Perches 提交于
Commit c96c31e4 "(drivers/net/wireless: Use wiphy_<level>)" inadvertently changed some upper case words to lower case. Restore the original case. Signed-off-by: NJoe Perches <joe@perches.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 30 7月, 2010 1 次提交
-
-
由 John W. Linville 提交于
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com> Acked-by: NLennert Buytenhek <buytenh@wantstofly.org>
-
- 28 7月, 2010 1 次提交
-
-
由 Joe Perches 提交于
Standardize the logging macros used. Signed-off-by: NJoe Perches <joe@perches.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 21 7月, 2010 1 次提交
-
-
由 John W. Linville 提交于
drivers/net/wireless/mwl8k.c:1541:21: warning: incorrect type in assignment (different base types) drivers/net/wireless/mwl8k.c:1541:21: expected restricted __le16 [usertype] result drivers/net/wireless/mwl8k.c:1541:21: got int drivers/net/wireless/mwl8k.c:1575:42: expected unsigned short [unsigned] [usertype] cmd drivers/net/wireless/mwl8k.c:1575:42: got restricted __le16 [usertype] code drivers/net/wireless/mwl8k.c:1587:50: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/mwl8k.c:1587:50: expected unsigned short [unsigned] [usertype] cmd drivers/net/wireless/mwl8k.c:1587:50: got restricted __le16 [usertype] code drivers/net/wireless/mwl8k.c:1592:50: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/mwl8k.c:1592:50: expected unsigned short [unsigned] [usertype] cmd drivers/net/wireless/mwl8k.c:1592:50: got restricted __le16 [usertype] code drivers/net/wireless/mwl8k.c:1845:27: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/mwl8k.c:1845:27: expected unsigned int [unsigned] [usertype] <noident> drivers/net/wireless/mwl8k.c:1845:27: got restricted __le32 [usertype] <noident> drivers/net/wireless/mwl8k.c:1848:27: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/mwl8k.c:1848:27: expected unsigned int [unsigned] [usertype] <noident> drivers/net/wireless/mwl8k.c:1848:27: got restricted __le32 [usertype] <noident> drivers/net/wireless/mwl8k.c:1851:27: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/mwl8k.c:1851:27: expected unsigned int [unsigned] [usertype] <noident> drivers/net/wireless/mwl8k.c:1851:27: got restricted __le32 [usertype] <noident> drivers/net/wireless/mwl8k.c:1854:27: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/mwl8k.c:1854:27: expected unsigned int [unsigned] [usertype] <noident> drivers/net/wireless/mwl8k.c:1854:27: got restricted __le32 [usertype] <noident> drivers/net/wireless/mwl8k.c:1857:27: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/mwl8k.c:1857:27: expected unsigned int [unsigned] [usertype] <noident> drivers/net/wireless/mwl8k.c:1857:27: got restricted __le32 [usertype] <noident> drivers/net/wireless/mwl8k.c:1860:27: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/mwl8k.c:1860:27: expected unsigned int [unsigned] [usertype] <noident> drivers/net/wireless/mwl8k.c:1860:27: got restricted __le32 [usertype] <noident> drivers/net/wireless/mwl8k.c:3055:20: warning: incorrect type in assignment (different base types) drivers/net/wireless/mwl8k.c:3055:20: expected restricted __le16 [usertype] ht_caps drivers/net/wireless/mwl8k.c:3055:20: got unsigned short [unsigned] [usertype] cap At least the last one looks like a real bug... Signed-off-by: NJohn W. Linville <linville@tuxdriver.com> Acked-by: NLennert Buytenhek <buytenh@wantstofly.org>
-
- 03 6月, 2010 2 次提交
-
-
由 Eric Dumazet 提交于
cleanup patch. Use new __packed annotation in drivers/net/ Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 FUJITA Tomonori 提交于
The DMA API is preferred. No functional change. Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by: NLennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 01 5月, 2010 1 次提交
-
-
由 John W. Linville 提交于
Also remove associated IEEE80211_HW_NOISE_DBM from ieee80211_hw_flags. Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 29 4月, 2010 1 次提交
-
-
由 John W. Linville 提交于
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 04 4月, 2010 1 次提交
-
-
由 Jiri Pirko 提交于
Converts the list and the core manipulating with it to be the same as uc_list. +uses two functions for adding/removing mc address (normal and "global" variant) instead of a function parameter. +removes dev_mcast.c completely. +exposes netdev_hw_addr_list_* macros along with __hw_addr_* functions for manipulation with lists on a sandbox (used in bonding and 80211 drivers) Signed-off-by: NJiri Pirko <jpirko@redhat.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 31 3月, 2010 1 次提交
-
-
由 Benjamin Larsson 提交于
Signed-off-by: NBenjamin Larsson <banan@ludd.ltu.se> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 30 3月, 2010 1 次提交
-
-
由 Tejun Heo 提交于
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h percpu.h is included by sched.h and module.h and thus ends up being included when building most .c files. percpu.h includes slab.h which in turn includes gfp.h making everything defined by the two files universally available and complicating inclusion dependencies. percpu.h -> slab.h dependency is about to be removed. Prepare for this change by updating users of gfp and slab facilities include those headers directly instead of assuming availability. As this conversion needs to touch large number of source files, the following script is used as the basis of conversion. http://userweb.kernel.org/~tj/misc/slabh-sweep.py The script does the followings. * Scan files for gfp and slab usages and update includes such that only the necessary includes are there. ie. if only gfp is used, gfp.h, if slab is used, slab.h. * When the script inserts a new include, it looks at the include blocks and try to put the new include such that its order conforms to its surrounding. It's put in the include block which contains core kernel includes, in the same order that the rest are ordered - alphabetical, Christmas tree, rev-Xmas-tree or at the end if there doesn't seem to be any matching order. * If the script can't find a place to put a new include (mostly because the file doesn't have fitting include block), it prints out an error message indicating which .h file needs to be added to the file. The conversion was done in the following steps. 1. The initial automatic conversion of all .c files updated slightly over 4000 files, deleting around 700 includes and adding ~480 gfp.h and ~3000 slab.h inclusions. The script emitted errors for ~400 files. 2. Each error was manually checked. Some didn't need the inclusion, some needed manual addition while adding it to implementation .h or embedding .c file was more appropriate for others. This step added inclusions to around 150 files. 3. The script was run again and the output was compared to the edits from #2 to make sure no file was left behind. 4. Several build tests were done and a couple of problems were fixed. e.g. lib/decompress_*.c used malloc/free() wrappers around slab APIs requiring slab.h to be added manually. 5. The script was run on all .h files but without automatically editing them as sprinkling gfp.h and slab.h inclusions around .h files could easily lead to inclusion dependency hell. Most gfp.h inclusion directives were ignored as stuff from gfp.h was usually wildly available and often used in preprocessor macros. Each slab.h inclusion directive was examined and added manually as necessary. 6. percpu.h was updated not to include slab.h. 7. Build test were done on the following configurations and failures were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my distributed build env didn't work with gcov compiles) and a few more options had to be turned off depending on archs to make things build (like ipr on powerpc/64 which failed due to missing writeq). * x86 and x86_64 UP and SMP allmodconfig and a custom test config. * powerpc and powerpc64 SMP allmodconfig * sparc and sparc64 SMP allmodconfig * ia64 SMP allmodconfig * s390 SMP allmodconfig * alpha SMP allmodconfig * um on x86_64 SMP allmodconfig 8. percpu.h modifications were reverted so that it could be applied as a separate patch and serve as bisection point. Given the fact that I had only a couple of failures from tests on step 6, I'm fairly confident about the coverage of this conversion patch. If there is a breakage, it's likely to be something in one of the arch headers which should be easily discoverable easily on most builds of the specific arch. Signed-off-by: NTejun Heo <tj@kernel.org> Guess-its-ok-by: NChristoph Lameter <cl@linux-foundation.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
-
- 23 2月, 2010 1 次提交
-
-
由 Johannes Berg 提交于
This converts mwl8k to use the new station add/remove callbacks instead of using the old sta_notify callback. The new callbacks can sleep, so a lot of code can be removed now. Signed-off-by: NJohannes Berg <johannes@sipsolutions.net> Acked-by: NLennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 17 2月, 2010 1 次提交
-
-
由 Pavel Roskin 提交于
Use spin_[un]lock_bh in mwl8k_sta_notify(). The sta_notify handler is required to be atomic, yet it can be called in process context, so make sure one call won't preempt another. Signed-off-by: NPavel Roskin <proski@gnu.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 09 2月, 2010 1 次提交
-
-
由 Kalle Valo 提交于
get_tx_stats() will be removed from mac80211. mwl8k used struct ieee80211_tx_queue_stats internally to track the queue lenght. Replace struct ieee80211_tx_queue_stats with a simple len field in struct mwl8k_tx_queue. Limit and count fields seemed to be unused. Compile-tested only. Cc: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: NKalle Valo <kalle.valo@iki.fi> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 27 1月, 2010 1 次提交
-
-
由 Johannes Berg 提交于
Because DTIM information is required for powersave but is only conveyed in beacons, wait for a beacon before enabling powersave, and change the way the information is conveyed to the driver accordingly. mwl8k doesn't currently seem to implement PS but requires the DTIM period in a different way; after talking to Lennert we agreed to just have mwl8k do the parsing itself in the finalize_join work. Signed-off-by: NJohannes Berg <johannes@sipsolutions.net> Acked-by: NLennert Buytenhek <buytenh@marvell.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-