=============================================== ChangeLog for compat-wireless for linux-3.2 =============================================== This is the ChangeLog for the Linux kernel project compat-wireless. It provides a backport of a few Linux kernel subsystems down to older kernels: * 802.11 * Bluetooth * Ethernet For more details refer to the home page: http://wireless.kernel.org/en/users/Download/stable/ The compat-wireless project consists of code from three projects: * The Linux kernel: linux-2.6-allstable.git * Compat-wirelesS: compat-wireless.git * Compat: compat.git The compat-wireless stable releases incorporates code from from each of these git trees for the respective upstream Linux kernel stable release. A branch called linux-3.x.y exists for each stable release. Below we provide the ChangeLog of changes from the previous branched release to the new branched release. Release: linux-3.2 Updates from the compat.git project: ==================================== git shortlog linux-3.1.y..linux-3.2.y Felix Fietkau (1): compat: fix misplaced #ifdef for the workqueue backport Hauke Mehrtens (20): compat: add round_down compat: add support for linux 3.1 compat: pm_qos_params.h was renamed to pm_qos.h compat: add PMSG_IS_AUTO compat: add mac_pton() compat: add cordic lib compat: add crc8 lib compat: add __always_unused compat: add skb_frag_dma_map compat: add kstrtou8_from_user compat: add rcu_read_lock_held() compat: add lower_32_bits compat: add IS_ERR_OR_NULL() compat: add skb_tx_timestamp() and skb_defer_rx_timestamp() compat: add ETH_P_TDLS compat: add is_unicast_ether_addr compat: add linux/of.h just when CONFIG_OF is set. compat: backport system_nrt_wq comapt: add skb_frag_size() and hex_byte_pack() compat: add some workarounds for Debian squeeze Johannes Berg (3): The led_lock is never initialised, so there are warnings/errors. It can also be made static. Depending on the arguments to alloc_netdev_mqs(), it may give a warning due to the use of max(). Fix the warning with max_t(). compat: add skb_complete_wifi_ack & feature flag John W. Linville (2): compat: avoid warning in compat_system_workqueue_create compat: use kconfig.h in compat-2.6.h for 3.1 and later kernels Luis R. Rodriguez (4): compat: fix building for 3.0 kernels compat: export compat kernel versions info compat: add .gitignore compat: add compat kernel checker and downloader Pavel Roskin (1): compat: provide INIT_WORK with 2 arguments for kernels before 2.6.20 Updates from the compat-wireless.git project: ============================================= git shortlog linux-2.6.1.y..linux-3.2.y Hauke Mehrtens (20): compat-wireless: ath6kl moved to main area. compat-wireless: do not build libertas_sdio for kernel < 2.6.32 compat-wireless: adapt moving of ethernet drivers compat-wireless: add many fixes to driver-select comapt-wireless: make patches apply again compat-wireless: fix building with CONFIG_CFG80211_INTERNAL_REGDB compat-wireless: pm_qos_request_list was renamed to pm_qos_request compat-wireless: make patches apply again compat-wireless: make patches apply again compat-wireless: activate CONFIG_B43_PHY_HT compat-wireless: make patches apply again compat-wireless: remove old config options compat-wireless: make patches apply again. compat-wireless: make patches apply again compat-wireless: make patches apply again compat-wireless: deactivate sdio suspend in ath6kl with kernel < 2.6.34 compat-wireless: make patches apply again compat-wireless: adapt moving brcm80211 to main area compat-wireless: backport rtlwifi PM compat-wireless: remove some modules from Makefile Johannes Berg (2): compat-wireless: make driver-select only select complete lines compat-wireless: add struct padding to fix wext issue John W. Linville (1): Enable CONFIG_RT2800{PCI,USB}_RT53XX Luciano Coelho (1): compat-wireless: check if modprobe exists before using it Luis R. Rodriguez (16): compat-wireless: refresh patches compat-wireless: refresh patches compat-wireless: fix multiqueue patch compat-wireless: update patches compat-wireless: refresh patches compat-wireless: refresh patches compat-wireless: refresh patches for next-20111108 compat-wireless: refresh patches for v3.2-rc1 compat-wireless: copy driver files only if present compat-wireless: fix patches/41-no-kfree-rcu.patch compat-wireless: refresh patches for v3.2-rc6 compat-wireless: use linux-stable instead of linux-2.6-allstable compat-wireless: fix paths for pending-stable fixes compat-wireless: skip a stable patch compat-wireless: refresh patches for v3.2 compat-wireless: refresh patches based on v3.2.5 Updates from the Linux kernel: ============================================= We only include very specific changes for the supported subsystems: * 802.11 * Bluetooth * Ethernet Generated by using: git log v3.1..HEAD \ net/wireless/ \ net/mac80211/ \ net/rfkill/ \ drivers/net/wireless/ \ net/bluetooth/ \ drivers/bluetooth/ \ drivers/net/ethernet/atheros/atl1c/ \ drivers/net/ethernet/atheros/atl1e/ \ drivers/net/ethernet/atheros/atlx/ \ include/linux/nl80211.h \ include/linux/rfkill.h \ include/net/cfg80211.h \ include/net/regulatory.h \ include/net/cfg80211.h >> ChangeLog-3.2-wireless git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-allstable.git commit 4704f3edfdd3cc5918932577373c0dc165d52959 Author: Eric Dumazet Date: Thu Jan 12 04:41:32 2012 +0000 net: reintroduce missing rcu_assign_pointer() calls [ Upstream commit cf778b00e96df6d64f8e21b8395d1f8a859ecdc7 ] commit a9b3cd7f32 (rcu: convert uses of rcu_assign_pointer(x, NULL) to RCU_INIT_POINTER) did a lot of incorrect changes, since it did a complete conversion of rcu_assign_pointer(x, y) to RCU_INIT_POINTER(x, y). We miss needed barriers, even on x86, when y is not NULL. Signed-off-by: Eric Dumazet CC: Stephen Hemminger CC: Paul E. McKenney Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman commit 5e86a6c85ff0221f6125f0ffeec90e702ca91857 Author: Johannes Berg Date: Thu Jan 19 08:20:57 2012 -0800 iwlwifi: fix PCI-E transport "inta" race commit b49ba04a3a0382e7314d990707c21094c410425a upstream. When an interrupt comes in, we read the reason bits and collect them into "trans_pcie->inta". This happens with the spinlock held. However, there's a bug resetting this variable -- that happens after the spinlock has been released. This means that it is possible for interrupts to be missed if the reset happens after some other interrupt reasons were already added to the variable. I found this by code inspection, looking for a reason that we sometimes see random commands time out. It seems possible that this causes such behaviour, but I can't say for sure right now since it happens extremely infrequently on my test systems. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 427038dfb7208899adbe4b17b11c310616953070 Author: Johannes Berg Date: Wed Jan 18 14:10:25 2012 +0100 mac80211: fix work removal on deauth request commit bc4934bc61d0a11fd62c5187ff83645628f8be8b upstream. When deauth is requested while an auth or assoc work item is in progress, we currently delete it without regard for any state it might need to clean up. Fix it by cleaning up for those items. In the case Pontus found, the problem manifested itself as such: authenticate with 00:23:69:aa:dd:7b (try 1) authenticated failed to insert Dummy STA entry for the AP (error -17) deauthenticating from 00:23:69:aa:dd:7b by local choice (reason=2) It could also happen differently if the driver uses the tx_sync callback. We can't just call the ->done() method of the work items because that will lock up due to the locking in cfg80211. This fix isn't very clean, but that seems acceptable since I have patches pending to remove this code completely. Reported-by: Pontus Fuchs Tested-by: Pontus Fuchs Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 4bc34a5c5c4e8015f24c97da3876374e5a610e79 Author: Stanislaw Gruszka Date: Tue Jan 17 12:38:50 2012 +0100 brcmsmac: fix tx queue flush infinite loop commit f96b08a7e6f69c0f0a576554df3df5b1b519c479 upstream. This patch workaround live deadlock problem caused by infinite loop in brcms_c_wait_for_tx_completion(). I do not consider the patch as the proper fix, which should fix the real reason of tx queue flush failure, but patch helps with system lockup. Reference: https://bugzilla.kernel.org/show_bug.cgi?id=42576 Reported-and-tested-by: Patrick Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 671f9c9e2ff7679ddcbc67572fd3e678843e725b Author: Stanislaw Gruszka Date: Fri Dec 23 08:13:50 2011 +0100 iwlegacy: 3945: fix hw passive scan on radar channels commit 68acc4afb040d98ddfd2cae0de09e2f4e1ee127f upstream. Patch fix firmware error on "iw dev wlan0 scan passive" for hardware scanning (with disable_hw_scan=0 module parameter). iwl3945 0000:03:00.0: Microcode SW error detected. Restarting 0x82000008. iwl3945 0000:03:00.0: Loaded firmware version: 15.32.2.9 iwl3945 0000:03:00.0: Start IWL Error Log Dump: iwl3945 0000:03:00.0: Status: 0x0002A2E4, count: 1 iwl3945 0000:03:00.0: Desc Time asrtPC blink2 ilink1 nmiPC Line iwl3945 0000:03:00.0: SYSASSERT (0x5) 0041263900 0x13756 0x0031C 0x00000 764 iwl3945 0000:03:00.0: Error Reply type 0x000002FC cmd C_SCAN (0x80) seq 0x443E ser 0x00340000 iwl3945 0000:03:00.0: Command C_SCAN failed: FW Error iwl3945 0000:03:00.0: Can't stop Rx DMA. We have disable ability to change passive scanning to active on particular channel when traffic is detected on that channel. Otherwise firmware will report error, when we try to do passive scan on radar channels. Reported-and-debugged-by: Pedro Francisco Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit fd7c0921d854fd7e3fd11e63effa6c2a3f213994 Author: Wey-Yi Guy Date: Thu Nov 10 06:55:04 2011 -0800 iwlagn: check for SMPS mode commit b2ccccdca46273c7b321ecf5041c362cd950da20 upstream. Check and report WARN only when its invalid Resolves: https://bugzilla.kernel.org/show_bug.cgi?id=42621 https://bugzilla.redhat.com/show_bug.cgi?id=766071 Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit e9651ec2db7b69a2e41a76d1fdd7932aeef04aae Author: Stanislaw Gruszka Date: Fri Jan 13 12:59:32 2012 +0100 rt2800pci: fix spurious interrupts generation commit dfd00c4c8f3dfa1fd7cec45f83d98b2a49743dcd upstream. Same devices can generate interrupt without properly setting bit in INT_SOURCE_CSR register (spurious interrupt), what will cause IRQ line will be disabled by interrupts controller driver. We discovered that clearing INT_MASK_CSR stops such behaviour. We previously first read that register, and then clear all know interrupt sources bits and do not touch reserved bits. After this patch, we write to all register content (I believe writing to reserved bits on that register will not cause any problems, I tested that on my rt2800pci device). This fix very bad performance problem, practically making device unusable (since worked without interrupts), reported in: https://bugzilla.redhat.com/show_bug.cgi?id=658451 We previously tried to workaround that issue in commit 4ba7d9997869d25bd223dea7536fc1ce9fab3b3b "rt2800pci: handle spurious interrupts", but it was reverted in commit 82e5fc2a34fa9ffea38f00c4066b7e600a0ca5e6 as thing, that will prevent to detect real spurious interrupts. Reported-and-tested-by: Amir Hedayaty Signed-off-by: Stanislaw Gruszka Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit b4a82a0a2e32777267b2c997fa55b90056447a40 Author: Felix Fietkau Date: Sat Jan 14 15:08:34 2012 +0100 ath9k_hw: fix interpretation of the rx KeyMiss flag commit 7a532fe7131216a02c81a6c1b1f8632da1195a58 upstream. Documentation states that the KeyMiss flag is only valid if RxFrameOK is unset, however empirical evidence has shown that this is false. When KeyMiss is set (and RxFrameOK is 1), the hardware passes a valid frame which has not been decrypted. The driver then falsely marks the frame as decrypted, and when using CCMP this corrupts the rx CCMP PN, leading to connection hangs. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 5cb46f3196c0ede3738abe1f1b01523d2a603dad Author: Johannes Berg Date: Tue Nov 29 10:20:02 2011 +0100 mac80211: revert on-channel work optimisations commit e76aadc572288a158ae18ae1c10fe395c7bca066 upstream. Backport note: This patch it's a full revert of commit b23b025f "mac80211: Optimize scans on current operating channel.". On upstrem revert e76aadc5 we keep some bits from that commit, which are needed for upstream version of mac80211. The on-channel work optimisations have caused a number of issues, and the code is unfortunately very complex and almost impossible to follow. Instead of attempting to put in more workarounds let's just remove those optimisations, we can work on them again later, after we change the whole auth/assoc design. This should fix rate_control_send_low() warnings, see RH bug 731365. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: Stanislaw Gruszka Signed-off-by: Greg Kroah-Hartman commit c9bc8b31648585fa3c985f6ac52a07a1d85f0e4a Author: Rajkumar Manoharan Date: Mon Jan 9 15:37:53 2012 +0530 ath9k: Fix regression in channelwidth switch at the same channel commit 1a19f77f3642b8194ad9cf55548cc5d92e841766 upstream. The commit "ath9k: Fix invalid noisefloor reading due to channel update" preserves the current channel noisefloor readings before updating channel type at the same channel index. It is also updating the curchan pointer. As survey updation is also referring curchan pointer to fetch the appropriate index, which might leads to invalid memory access. This patch partially reverts the change and stores the noise floor history buffer before updating channel type w/o updating curchan. Cc: Gary Morain Cc: Paul Stewart Reported-by: Mohammed Shafi Shajakhan Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 62b2e1674ef4976f5a6535071dcd76071c571cb6 Author: Stanislaw Gruszka Date: Wed Jan 11 09:26:54 2012 +0100 mac80211: fix rx->key NULL pointer dereference in promiscuous mode commit 1140afa862842ac3e56678693050760edc4ecde9 upstream. Since: commit 816c04fe7ef01dd9649f5ccfe796474db8708be5 Author: Christian Lamparter Date: Sat Apr 30 15:24:30 2011 +0200 mac80211: consolidate MIC failure report handling is possible to that we dereference rx->key == NULL when driver set RX_FLAG_MMIC_STRIPPED and not RX_FLAG_IV_STRIPPED and we are in promiscuous mode. This happen with rt73usb and rt61pci at least. Before the commit we always check rx->key against NULL, so I assume fix should be done in mac80211 (also mic_fail path has similar check). References: https://bugzilla.redhat.com/show_bug.cgi?id=769766 http://rt2x00.serialmonkey.com/pipermail/users_rt2x00.serialmonkey.com/2012-January/004395.html Reported-by: Stuart D Gathman Reported-by: Kai Wohlfahrt Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 8bf3ae0e91c183f47b328a232c94a152de540182 Author: Larry Finger Date: Wed Jan 4 20:50:47 2012 -0600 rtl8192se: Fix BUG caused by failure to check skb allocation commit d90db4b12bc1b9b8a787ef28550fdb767ee25a49 upstream. When downloading firmware into the device, the driver fails to check the return when allocating an skb. When the allocation fails, a BUG can be generated, as seen in https://bugzilla.redhat.com/show_bug.cgi?id=771656. Signed-off-by: Larry Finger Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 0b58bf9909d4ef70275921fc1535f21390cf5bb5 Author: Johannes Berg Date: Mon Dec 19 14:00:59 2011 -0800 iwlagn: fix (remove) use of PAGE_SIZE commit 106671369e6d046c0b3e1e72b18ad6dd9cb298b0 upstream. The ICT code erroneously uses PAGE_SIZE. The bug is that PAGE_SIZE isn't necessarily 4096, so on such platforms this code will not work correctly as we'll try to attempt to read an index in the table that the device never wrote, it always has 4096-byte pages. Additionally, the manual alignment code here is unnecessary -- Documentation/DMA-API-HOWTO.txt states: The cpu return address and the DMA bus master address are both guaranteed to be aligned to the smallest PAGE_SIZE order which is greater than or equal to the requested size. This invariant exists (for example) to guarantee that if you allocate a chunk which is smaller than or equal to 64 kilobytes, the extent of the buffer you receive will not cross a 64K boundary. Just use appropriate new constants and get rid of the alignment code. Cc: Emmanuel Grumbach Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 01b366aa69f33489d59d7a79702987752070fb3a Author: Johannes Berg Date: Fri Dec 2 12:22:54 2011 -0800 iwlagn: fix TID use bug commit 9a215e40d70ae63762963ab3ccc7f31dd966dc6a upstream. The driver everywhere uses max TID count as 9, which is wrong, it should be 8. I think the reason it uses 9 here is off-by-one confusion by whoever wrote this. We do use the value IWL_MAX_TID_COUNT for "not QoS/no TID" but that is completely correct even if it is 8 and not 9 since 0-7 are only valid. As a side effect, this fixes the following bug: Open BA session requested for 00:23:cd:16:8a:7e tid 8 ------------[ cut here ]------------ kernel BUG at drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h:350! ... when you do echo "tx start 8" > /sys/kernel/debug/ieee80211/*/*/*/*/agg_status Reported-by: Nikolay Martynov Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: Greg Kroah-Hartman commit f92fed3f1de1942a61978c5e59bbed56eab4ac55 Author: Pontus Fuchs Date: Thu Dec 1 12:13:44 2011 +0100 wl12xx: Restore testmode ABI commit 3f1764945eaac532c20ab1f23afa352a40f797b2 upstream. Commit 80900d0140a7648587982c8f299830e900e49165 accidently broke the ABI for testmode commands. Restore the ABI again. Signed-off-by: Pontus Fuchs Signed-off-by: Luciano Coelho Signed-off-by: Greg Kroah-Hartman commit 67d3bda61b6cf7b8c3166091ab44a07fbd9e091a Author: Pontus Fuchs Date: Tue Oct 18 09:23:42 2011 +0200 wl12xx: Check buffer bound when processing nvs data commit f6efe96edd9c41c624c8f4ddbc4930c1a2d8f1e1 upstream. An nvs with malformed contents could cause the processing of the calibration data to read beyond the end of the buffer. Prevent this from happening by adding bound checking. Signed-off-by: Pontus Fuchs Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: Greg Kroah-Hartman commit 240ecc4a6fa0449738920ea0658ed4508398091a Author: Pontus Fuchs Date: Tue Oct 18 09:23:41 2011 +0200 wl12xx: Validate FEM index from ini file and FW commit 2131d3c2f99b081806fdae7662c92fe6acda52af upstream. Check for out of bound FEM index to prevent reading beyond ini memory end. Signed-off-by: Pontus Fuchs Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: Greg Kroah-Hartman commit dd4f146b63d18b2cc5b7f20c56ba270f6a45fd01 Author: Andres Salomon Date: Mon Dec 19 12:22:58 2011 -0800 libertas: clean up scan thread handling commit afbca95f95f2bf7283a72670c24c1f6de00b1cb5 upstream. The libertas scan thread expects priv->scan_req to be non-NULL. In theory, it should always be set. In practice, we've seen the following oops: [ 8363.067444] Unable to handle kernel NULL pointer dereference at virtual address 00000004 [ 8363.067490] pgd = c0004000 [ 8363.078393] [00000004] *pgd=00000000 [ 8363.086711] Internal error: Oops: 17 [#1] PREEMPT [ 8363.091375] Modules linked in: fuse libertas_sdio libertas psmouse mousedev ov7670 mmp_camera joydev videobuf2_core videobuf2_dma_sg videobuf2_memops [last unloaded: scsi_wait_scan] [ 8363.107490] CPU: 0 Not tainted (3.0.0-gf7ccc69 #671) [ 8363.112799] PC is at lbs_scan_worker+0x108/0x5a4 [libertas] [ 8363.118326] LR is at 0x0 [ 8363.120836] pc : [] lr : [<00000000>] psr: 60000113 [ 8363.120845] sp : ee66bf48 ip : 00000000 fp : 00000000 [ 8363.120845] r10: ee2c2088 r9 : c04e2efc r8 : eef97005 [ 8363.132231] r7 : eee0716f r6 : ee2c02c0 r5 : ee2c2088 r4 : eee07160 [ 8363.137419] r3 : 00000000 r2 : a0000113 r1 : 00000001 r0 : eee07160 [ 8363.143896] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel [ 8363.157630] Control: 10c5387d Table: 2e754019 DAC: 00000015 [ 8363.163334] Process kworker/u:1 (pid: 25, stack limit = 0xee66a2f8) While I've not found a smoking gun, there are two places that raised red flags for me. The first is in _internal_start_scan, when we queue up a scan; we first queue the worker, and then set priv->scan_req. There's theoretically a 50mS delay which should be plenty, but doing things that way just seems racy (and not in the good way). The second is in the scan worker thread itself. Depending on the state of priv->scan_channel, we cancel pending scan runs and then requeue a run in 300mS. We then send the scan command down to the hardware, sleep, and if we get scan results for all the desired channels, we set priv->scan_req to NULL. However, it that's happened in less than 300mS, what happens with the pending scan run? This patch addresses both of those concerns. With the patch applied, we have not seen the oops in the past two weeks. Signed-off-by: Andres Salomon Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 2289fb57dc2caea22e167bba67b0b52997bce28f Author: Larry Finger Date: Tue Dec 27 12:22:51 2011 -0600 rt2800usb: Move ID out of unknown commit 3f81f8f1524ccca24df1029b0cf825ecef5e5cdc upstream. Testing on the openSUSE wireless forum has shown that a Linksys WUSB54GC v3 with USB ID 1737:0077 works with rt2800usb when the ID is written to /sys/.../new_id. This ID can therefore be moved out of UNKNOWN. Signed-off-by: Larry Finger Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit d8f46ff11081f03b09efe82245a3257bab6bf60e Merge: 405cc27 b015dbc Author: John W. Linville Date: Wed Jan 4 11:37:30 2012 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit b015dbc0f95eef34819515bd403a62569bca23df Author: Amitkumar Karwar Date: Mon Jan 2 16:18:40 2012 -0800 mwifiex: fix crash during simultaneous scan and connect If 'iw connect' command is fired when driver is already busy in serving 'iw scan' command, ssid specific scan operation for connect is skipped. In this case cmd wait queue handler gets called with no command in queue (i.e. adapter->cmd_queued = NULL). This patch adds a NULL check in mwifiex_wait_queue_complete() routine to fix crash observed during simultaneous scan and assoc operations. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 09009512e5e7ab341b1554a256f81dd512c1f4bf Author: Guennadi Liakhovetski Date: Mon Dec 26 18:28:08 2011 +0100 b43: fix regression in PIO case This patch fixes the regression, introduced by commit 17030f48e31adde5b043741c91ba143f5f7db0fd From: Rafał Miłecki Date: Thu, 11 Aug 2011 17:16:27 +0200 Subject: [PATCH] b43: support new RX header, noticed to be used in 598.314+ fw in PIO case. Signed-off-by: Guennadi Liakhovetski Signed-off-by: John W. Linville commit b25bfda38236f349cde0d1b28952f4eea2148d3f Author: Mohammed Shafi Shajakhan Date: Mon Dec 26 10:42:15 2011 +0530 ath9k: Fix kernel panic in AR2427 in AP mode don't do aggregation related stuff for 'AP mode client power save handling' if aggregation is not enabled in the driver, otherwise it will lead to panic because those data structures won't be never intialized in 'ath_tx_node_init' if aggregation is disabled EIP is at ath_tx_aggr_wakeup+0x37/0x80 [ath9k] EAX: e8c09a20 EBX: f2a304e8 ECX: 00000001 EDX: 00000000 ESI: e8c085e0 EDI: f2a304ac EBP: f40e1ca4 ESP: f40e1c8c DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 Process swapper/1 (pid: 0, ti=f40e0000 task=f408e860 task.ti=f40dc000) Stack: 0001e966 e8c09a20 00000000 f2a304ac e8c085e0 f2a304ac f40e1cb0 f8186741 f8186700 f40e1d2c f922988d f2a304ac 00000202 00000001 c0b4ba43 00000000 0000000f e8eb75c0 e8c085e0 205b0001 34383220 f2a304ac f2a30000 00010020 Call Trace: [] ath9k_sta_notify+0x41/0x50 [ath9k] [] ? ath9k_get_survey+0x110/0x110 [ath9k] [] ieee80211_sta_ps_deliver_wakeup+0x9d/0x350 [mac80211] [] ? __module_address+0x95/0xb0 [] ap_sta_ps_end+0x63/0xa0 [mac80211] [] ieee80211_rx_h_sta_process+0x156/0x2b0 [mac80211] [] ieee80211_rx_handlers+0xce/0x510 [mac80211] [] ? trace_hardirqs_on+0xb/0x10 [] ? skb_queue_tail+0x3e/0x50 [] ieee80211_prepare_and_rx_handle+0x111/0x750 [mac80211] [] ieee80211_rx+0x349/0xb20 [mac80211] [] ? ieee80211_rx+0x99/0xb20 [mac80211] [] ath_rx_tasklet+0x818/0x1d00 [ath9k] [] ? ath9k_tasklet+0x35/0x1c0 [ath9k] [] ? ath9k_tasklet+0x35/0x1c0 [ath9k] [] ath9k_tasklet+0xf3/0x1c0 [ath9k] [] tasklet_action+0xbe/0x180 Cc: stable@kernel.org Cc: Senthil Balasubramanian Cc: Rajkumar Manoharan Reported-by: Ashwin Mendonca Tested-by: Ashwin Mendonca Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit f9dc73e541348288b530c62c21d0fb8fdc7bbd0f Merge: 96f1f05 cad44c2 Author: John W. Linville Date: Tue Jan 3 14:26:56 2012 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth commit cad44c2bf6165e46e309d4db0ffd286a9259aa2a Author: Gustavo F. Padovan Date: Fri Dec 23 18:59:13 2011 -0200 Revert "Bluetooth: Increase HCI reset timeout in hci_dev_do_close" This reverts commit e1b6eb3ccb0c2a34302a9fd87dd15d7b86337f23. This was causing a delay of 10 seconds in the resume process of a Thinkpad laptop. I'm afraid this could affect more devices once 3.2 is released. Reported-by: Tomáš Janoušek Signed-off-by: Gustavo F. Padovan commit b4949b84567f3ae1227d076fc95bbd8efea06506 Merge: cd7816d 96f1f05 Author: John W. Linville Date: Wed Dec 21 13:18:22 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit 96f1f05af76b601ab21a7dc603ae0a1cea4efc3d Author: Emmanuel Grumbach Date: Fri Dec 16 07:53:18 2011 -0800 iwlwifi: update SCD BC table for all SCD queues Since we configure all the queues as CHAINABLE, we need to update the byte count for all the queues, not only the AGGREGATABLE ones. Not doing so can confuse the SCD and make the fw assert. Cc: stable@vger.kernel.org Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 9763152c94ff7207b3532b4105272a0a6030cd61 Merge: 78feb35 d766091 Author: John W. Linville Date: Mon Dec 19 14:12:11 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth commit d7660918fce210f421cc58c060ca3de71e4ffd37 Author: Gustavo F. Padovan Date: Sun Dec 18 22:33:30 2011 -0200 Revert "Bluetooth: Revert: Fix L2CAP connection establishment" This reverts commit 4dff523a913197e3314c7b0d08734ab037709093. It was reported that this patch cause issues when trying to connect to legacy devices so reverting it. Reported-by: David Fries Signed-off-by: Gustavo F. Padovan commit 79e654787c67f6b05f73366ff8ccac72ba7249e6 Author: Mat Martineau Date: Tue Dec 6 16:23:26 2011 -0800 Bluetooth: Clear RFCOMM session timer when disconnecting last channel When the last RFCOMM data channel is closed, a timer is normally set up to disconnect the control channel at a later time. If the control channel disconnect command is sent with the timer pending, the timer needs to be cancelled. If the timer is not cancelled in this situation, the reference counting logic for the RFCOMM session does not work correctly when the remote device closes the L2CAP connection. The session is freed at the wrong time, leading to a kernel panic. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 36e999a83a4a4badd389901eb6d23a30e199b8db Author: Mat Martineau Date: Thu Dec 8 17:23:21 2011 -0800 Bluetooth: Prevent uninitialized data access in L2CAP configuration When configuring an ERTM or streaming mode connection, remote devices are expected to send an RFC option in a successful config response. A misbehaving remote device might not send an RFC option, and the L2CAP code should not access uninitialized data in this case. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 42a3b63bb2ca4996a3d1210a004eae2333f1119e Merge: 3f1e6d3 78feb35 Author: John W. Linville Date: Thu Dec 15 13:47:58 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit 78feb35b8161acd95c33a703ed6ab6f554d29387 Author: Wey-Yi Guy Date: Wed Dec 14 08:22:36 2011 -0800 iwlwifi: allow to switch to HT40 if not associated My previous patch 34a5b4b6af104cf18eb50748509528b9bdbc4036 iwlwifi: do not re-configure HT40 after associated Fix the case of HT40 after association on specified AP, but it break the association for some APs and cause not able to establish connection. We need to address HT40 before and after addociation. CC: stable@vger.kernel.org #3.0+ Reported-by: Andrej Gelenberg Signed-off-by: Wey-Yi Guy Tested-by: Andrej Gelenberg Signed-off-by: John W. Linville commit 81670a491849127cd5f86defd2cd03cef1b08d07 Author: Johannes Berg Date: Wed Dec 14 08:22:35 2011 -0800 iwlwifi: tx_sync only on PAN context Ted reported that he couldn't connect to some APs and bisected it to the tx_sync implementation. Disable it for the BSS context to fix this issue. Reported-by: Ted Ts'o Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 51e708c1049e721b9c5c48d026bc97ca8497d39a Author: Yogesh Ashok Powar Date: Tue Dec 13 20:43:16 2011 -0800 mwifiex: avoid double list_del in command cancel path Command cancel path cancels the current command and moves it to free command queue. While doing that it deletes the command entry from the pending list. This is not correct as the entry has been already deleted from the pending list at 'mwifiex_exec_next_cmd'. Fixing it. Also making sure the stale command pointer is cleaned and unaccessible for later use. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 10636bc2d60942254bda149827b922c41f4cb4af Author: Rajkumar Manoharan Date: Sat Dec 10 18:59:43 2011 +0530 ath9k: fix max phy rate at rate control init The stations always chooses 1Mbps for all trasmitting frames, whenever the AP is configured to lock the supported rates. As the max phy rate is always set with the 4th from highest phy rate, this assumption might be wrong if we have less than that. Fix that. Cc: stable@kernel.org Cc: Paul Stewart Reported-by: Ajay Gummalla Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 123877b80ed62c3b897c53357b622574c023b642 Author: Wey-Yi Guy Date: Thu Dec 8 15:52:00 2011 -0800 iwlwifi: do not set the sequence control bit is not needed Check the IEEE80211_TX_CTL_ASSIGN_SEQ flag from mac80211, then decide how to set the TX_CMD_FLG_SEQ_CTL_MSK bit. Setting the wrong bit in BAR frame whill make the firmware to increment the sequence number which is incorrect and cause unknown behavior. CC: stable@vger.kernel.org #3.0+ Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit e7ab5f1c323e137120561daeec75e91a1bd9ec8b Merge: 1af32f0 329456d Author: John W. Linville Date: Fri Dec 9 14:07:12 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit 91ddff8a3b9cc7ac2252aca138220939cf6cc2cf Author: Philipp Dreimann Date: Wed Dec 7 13:43:31 2011 -0600 rtl8192{ce,cu,de,se}: avoid problems because of possible ERFOFF -> ERFSLEEP transition In drivers rtl8192ce, rtl8192cu, rtl8192se, and rtl8192de, break statements would allow ppsc->rfpwr_state to be changed to ERFSLEEP even though the device is actually in ERFOFF. Signed-off-by: Philipp Dreimann Signed-off-by: Larry Finger Cc: Stable Cc: Chaoming Li Signed-off-by: John W. Linville commit 15062e6a8524f5977f2cbdf6e3eb2f144262f74e Author: Johannes Berg Date: Wed Dec 7 09:02:21 2011 +0100 mac80211: fix another race in aggregation start Emmanuel noticed that when mac80211 stops the queues for aggregation that can leave a packet pending. This packet will be given to the driver after the AMPDU callback, but as a non-aggregated packet which messes up the sequence number etc. I also noticed by looking at the code that if packets are being processed while we clear the WANT_START bit, they might see it cleared already and queue up on tid_tx->pending. If the driver then rejects the new aggregation session we leak the packet. Fix both of these issues by changing this code to not stop the queues at all. Instead, let packets queue up on the tid_tx->pending queue instead of letting them get to the driver, and add code to recover properly in case the driver rejects the session. (The patch looks large because it has to move two functions to before their new use.) Cc: stable@vger.kernel.org Reported-by: Emmanuel Grumbach Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 162d12de656bc76786ba5fad6dac7bd238de9657 Author: Felix Fietkau Date: Sun Dec 4 08:38:54 2011 +0100 ath9k: fix check for antenna diversity support fixes a regression on single-stream chips introduced in commit 43c3528430bd29f5e52438cad7cf7c0c62bf4583 "ath9k: implement .get_antenna and .set_antenna" Signed-off-by: Felix Fietkau Reported-by: Marek Lindner Signed-off-by: John W. Linville commit facda29d75a30a8ff4f1f23a48a368d167563843 Merge: 9995ffe 33cb722 Author: John W. Linville Date: Tue Dec 6 14:59:32 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth commit cbec0627ef1adf7afa448e8bbae3146ce910212a Merge: f61759e 9995ffe Author: John W. Linville Date: Mon Dec 5 11:05:44 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit 33cb722c22f28964a501a56cc76397834c221c7a Author: Andrei Emeltchenko Date: Wed Nov 23 11:23:34 2011 +0200 Bluetooth: Correct version check in hci_setup Check for hci_ver instead of lmp_ver Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 54a8a79c55ce283c94ce4c67a98d28c21830405a Author: Cong Wang Date: Tue Nov 22 09:32:57 2011 +0800 btusb: fix a memory leak in btusb_send_frame() This patch fixes the following memory leak reported by kmemleak: unreferenced object 0xffff880060a53840 (size 192): comm "softirq", pid 0, jiffies 4320571771 (age 1406.569s) hex dump (first 32 bytes): 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [] create_object+0x187/0x28b [] kmemleak_alloc+0x73/0x98 [] __kmalloc+0xfc/0x123 [] usb_alloc_urb+0x1e/0x48 [] btusb_send_frame+0x86/0x385 [btusb] [] hci_send_frame+0xa0/0xa5 [bluetooth] [] hci_cmd_task+0xa0/0xfb [bluetooth] [] tasklet_action+0x8f/0xef [] __do_softirq+0xf4/0x1db [] run_ksoftirqd+0x84/0x129 [] kthread+0xa0/0xa8 [] kernel_thread_helper+0x4/0x10 [] 0xffffffffffffffff The problem is that when inc_tx() returns non-zero, we forgot to call usb_free_urb(). Cc: Marcel Holtmann Cc: "Gustavo F. Padovan" Signed-off-by: WANG Cong Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 9995ffe5f5fdddcc73e4465cc3f8b38714df8108 Author: Wey-Yi Guy Date: Fri Dec 2 08:19:19 2011 -0800 iwlwifi: change the default behavior of watchdog timer The current default watchdog timer is enabled, but we are seeing issues on legacy devices. So change the default setting of watchdog timer to per device based. But user still can use the "wd_disable" module parameter to overwrite the system setting Cc: stable@vger.kernel.org #3.0+ Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 34a5b4b6af104cf18eb50748509528b9bdbc4036 Author: Wey-Yi Guy Date: Fri Dec 2 08:19:18 2011 -0800 iwlwifi: do not re-configure HT40 after associated The ht40 setting should not change after association unless channel switch This fix a problem we are seeing which cause uCode assert because driver sending invalid information and make uCode confuse Here is the firmware assert message: kernel: iwlagn 0000:03:00.0: Microcode SW error detected. Restarting 0x82000000. kernel: iwlagn 0000:03:00.0: Loaded firmware version: 17.168.5.3 build 42301 kernel: iwlagn 0000:03:00.0: Start IWL Error Log Dump: kernel: iwlagn 0000:03:00.0: Status: 0x000512E4, count: 6 kernel: iwlagn 0000:03:00.0: 0x00002078 | ADVANCED_SYSASSERT kernel: iwlagn 0000:03:00.0: 0x00009514 | uPc kernel: iwlagn 0000:03:00.0: 0x00009496 | branchlink1 kernel: iwlagn 0000:03:00.0: 0x00009496 | branchlink2 kernel: iwlagn 0000:03:00.0: 0x0000D1F2 | interruptlink1 kernel: iwlagn 0000:03:00.0: 0x00000000 | interruptlink2 kernel: iwlagn 0000:03:00.0: 0x01008035 | data1 kernel: iwlagn 0000:03:00.0: 0x0000C90F | data2 kernel: iwlagn 0000:03:00.0: 0x000005A7 | line kernel: iwlagn 0000:03:00.0: 0x5080B520 | beacon time kernel: iwlagn 0000:03:00.0: 0xCC515AE0 | tsf low kernel: iwlagn 0000:03:00.0: 0x00000003 | tsf hi kernel: iwlagn 0000:03:00.0: 0x00000000 | time gp1 kernel: iwlagn 0000:03:00.0: 0x29703BF0 | time gp2 kernel: iwlagn 0000:03:00.0: 0x00000000 | time gp3 kernel: iwlagn 0000:03:00.0: 0x000111A8 | uCode version kernel: iwlagn 0000:03:00.0: 0x000000B0 | hw version kernel: iwlagn 0000:03:00.0: 0x00480303 | board version kernel: iwlagn 0000:03:00.0: 0x09E8004E | hcmd kernel: iwlagn 0000:03:00.0: CSR values: kernel: iwlagn 0000:03:00.0: (2nd byte of CSR_INT_COALESCING is CSR_INT_PERIODIC_REG) kernel: iwlagn 0000:03:00.0: CSR_HW_IF_CONFIG_REG: 0X00480303 kernel: iwlagn 0000:03:00.0: CSR_INT_COALESCING: 0X0000ff40 kernel: iwlagn 0000:03:00.0: CSR_INT: 0X00000000 kernel: iwlagn 0000:03:00.0: CSR_INT_MASK: 0X00000000 kernel: iwlagn 0000:03:00.0: CSR_FH_INT_STATUS: 0X00000000 kernel: iwlagn 0000:03:00.0: CSR_GPIO_IN: 0X00000030 kernel: iwlagn 0000:03:00.0: CSR_RESET: 0X00000000 kernel: iwlagn 0000:03:00.0: CSR_GP_CNTRL: 0X080403c5 kernel: iwlagn 0000:03:00.0: CSR_HW_REV: 0X000000b0 kernel: iwlagn 0000:03:00.0: CSR_EEPROM_REG: 0X07d60ffd kernel: iwlagn 0000:03:00.0: CSR_EEPROM_GP: 0X90000001 kernel: iwlagn 0000:03:00.0: CSR_OTP_GP_REG: 0X00030001 kernel: iwlagn 0000:03:00.0: CSR_GIO_REG: 0X00080044 kernel: iwlagn 0000:03:00.0: CSR_GP_UCODE_REG: 0X000093bb kernel: iwlagn 0000:03:00.0: CSR_GP_DRIVER_REG: 0X00000000 kernel: iwlagn 0000:03:00.0: CSR_UCODE_DRV_GP1: 0X00000000 kernel: iwlagn 0000:03:00.0: CSR_UCODE_DRV_GP2: 0X00000000 kernel: iwlagn 0000:03:00.0: CSR_LED_REG: 0X00000078 kernel: iwlagn 0000:03:00.0: CSR_DRAM_INT_TBL_REG: 0X88214dd2 kernel: iwlagn 0000:03:00.0: CSR_GIO_CHICKEN_BITS: 0X27800200 kernel: iwlagn 0000:03:00.0: CSR_ANA_PLL_CFG: 0X00000000 kernel: iwlagn 0000:03:00.0: CSR_HW_REV_WA_REG: 0X0001001a kernel: iwlagn 0000:03:00.0: CSR_DBG_HPET_MEM_REG: 0Xffff0010 kernel: iwlagn 0000:03:00.0: FH register values: kernel: iwlagn 0000:03:00.0: FH_RSCSR_CHNL0_STTS_WPTR_REG: 0X21316d00 kernel: iwlagn 0000:03:00.0: FH_RSCSR_CHNL0_RBDCB_BASE_REG: 0X021479c0 kernel: iwlagn 0000:03:00.0: FH_RSCSR_CHNL0_WPTR: 0X00000060 kernel: iwlagn 0000:03:00.0: FH_MEM_RCSR_CHNL0_CONFIG_REG: 0X80819104 kernel: iwlagn 0000:03:00.0: FH_MEM_RSSR_SHARED_CTRL_REG: 0X000000fc kernel: iwlagn 0000:03:00.0: FH_MEM_RSSR_RX_STATUS_REG: 0X07030000 kernel: iwlagn 0000:03:00.0: FH_MEM_RSSR_RX_ENABLE_ERR_IRQ2DRV: 0X00000000 kernel: iwlagn 0000:03:00.0: FH_TSSR_TX_STATUS_REG: 0X07ff0001 kernel: iwlagn 0000:03:00.0: FH_TSSR_TX_ERROR_REG: 0X00000000 kernel: iwlagn 0000:03:00.0: Start IWL Event Log Dump: display last 20 entries kernel: ------------[ cut here ]------------ WARNING: at net/mac80211/util.c:1208 ieee80211_reconfig+0x1f1/0x407() kernel: Hardware name: 4290W4H kernel: Pid: 1896, comm: kworker/0:0 Not tainted 3.1.0 #2 kernel: Call Trace: kernel: [] ? warn_slowpath_common+0x73/0x87 kernel: [] ? ieee80211_reconfig+0x1f1/0x407 kernel: [] ? ieee80211_recalc_smps_work+0x32/0x32 kernel: [] ? ieee80211_restart_work+0x7e/0x87 kernel: [] ? process_one_work+0x1c8/0x2e3 kernel: [] ? worker_thread+0x17a/0x23a kernel: [] ? manage_workers.clone.18+0x15b/0x15b kernel: [] ? manage_workers.clone.18+0x15b/0x15b kernel: [] ? kthread+0x7a/0x82 kernel: [] ? kernel_thread_helper+0x4/0x10 kernel: [] ? kthread_flush_work_fn+0x11/0x11 kernel: [] ? gs_change+0xb/0xb Cc: 3.1+ Reported-by: Udo Steinberg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 274b89ca3b006926cb9b45d78ab5906f4c0fc0aa Author: Johannes Berg Date: Fri Dec 2 08:19:17 2011 -0800 iwlagn: fix HW crypto for TX-only keys Group keys in IBSS or AP mode are not programmed into the device since we give the key to it with every TX packet. However, we do need mac80211 to create the MMIC & PN in all cases. Move the code around to set the key flags all the time. We set them even when the key is removed again but that is obviously harmless. Cc: stable@vger.kernel.org Reported-by: Reinette Chatre Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 03360c5a405999d605ffc7373a7b90f3388db92e Author: John W. Linville Date: Thu Dec 1 10:44:17 2011 -0500 Revert "mac80211: clear sta.drv_priv on reconfiguration" This reverts commit f785d83a19bca326f79d127a413e35769afc0105. This was provoking WARNINGs from the iwlegacy drivers. Signed-off-by: John W. Linville commit c72e8d335e2c6a309b6281f2abcf491f37b8b92b Author: Simon Wunderlich Date: Wed Nov 30 16:56:30 2011 +0100 mac80211: fill rate filter for internal scan requests The rates bitmap for internal scan requests shoud be filled, otherwise there will be probe requests with zero rates supported. Signed-off-by: Simon Wunderlich Signed-off-by: Mathias Kretschmer Cc: stable@vger.kernel.org Signed-off-by: John W. Linville commit 0bac71af6e66dc798bf07d0c0dd14ee5503362f9 Author: Luis R. Rodriguez Date: Mon Nov 28 16:47:16 2011 -0500 cfg80211: amend regulatory NULL dereference fix Johannes' patch for "cfg80211: fix regulatory NULL dereference" broke user regulaotry hints and it did not address the fact that last_request was left populated even if the previous regulatory hint was stale due to the wiphy disappearing. Fix user reguluatory hints by only bailing out if for those regulatory hints where a request_wiphy is expected. The stale last_request considerations are addressed through the previous fixes on last_request where we reset the last_request to a static world regdom request upon reset_regdomains(). In this case though we further enhance the effect by simply restoring reguluatory settings completely. Cc: stable@vger.kernel.org Cc: Johannes Berg Signed-off-by: Luis R. Rodriguez Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit a042994dd377d86bff9446ee76151ceb6267c9ba Author: Luis R. Rodriguez Date: Mon Nov 28 16:47:15 2011 -0500 cfg80211: fix race on init and driver registration There is a theoretical race that if hit will trigger a crash. The race is between when we issue the first regulatory hint, regulatory_hint_core(), gets processed by the workqueue and between when the first device gets registered to the wireless core. This is not easy to reproduce but it was easy to do so through the regulatory simulator I have been working on. This is a port of the fix I implemented there [1]. [1] https://github.com/mcgrof/regsim/commit/a246ccf81f059cb662eee288aa13100f631e4cc8 Cc: stable@vger.kernel.org Cc: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3b95e9c089d932c11f9ec03f7493f02cceff04ba Merge: 5dc5503 2a1e0fd Author: John W. Linville Date: Wed Nov 30 14:14:42 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit 2a1e0fd175dcfd72096ba9291d31e3b1b5342e60 Author: Emmanuel Grumbach Date: Sun Nov 27 15:29:44 2011 +0200 mac80211: fix race between the AGG SM and the Tx data path When a packet is supposed to sent be as an a-MPDU, mac80211 sets IEEE80211_TX_CTL_AMPDU to let the driver know. On the other hand, mac80211 configures the driver for aggregration with the ampdu_action callback. There is race between these two mechanisms since the following scenario can occur when the BA agreement is torn down: Tx softIRQ drv configuration ========== ================= check OPERATIONAL bit Set the TX_CTL_AMPDU bit in the packet clear OPERATIONAL bit stop Tx AGG Pass Tx packet to the driver. In that case the driver would get a packet with TX_CTL_AMPDU set although it has already been notified that the BA session has been torn down. To fix this, we need to synchronize all the Qdisc activity after we cleared the OPERATIONAL bit. After that step, all the following packets will be buffered until the driver reports it is ready to get new packets for this RA / TID. This buffering allows not to run into another race that would send packets with TX_CTL_AMPDU unset while the driver hasn't been requested to tear down the BA session yet. This race occurs in practice and iwlwifi complains with a WARN_ON when it happens. Cc: stable@kernel.org Signed-off-by: Emmanuel Grumbach Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit d305a6557b2c4dca0110f05ffe745b1ef94adb80 Author: Nikolay Martynov Date: Mon Nov 28 09:18:00 2011 +0100 mac80211: fix race condition caused by late addBA response If addBA responses comes in just after addba_resp_timer has expired mac80211 will still accept it and try to open the aggregation session. This causes drivers to be confused and in some cases even crash. This patch fixes the race condition and makes sure that if addba_resp_timer has expired addBA response is not longer accepted and we do not try to open half-closed session. Cc: stable@vger.kernel.org Signed-off-by: Nikolay Martynov [some adjustments] Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a73228124bed4022d4d4c5663d9679ba2fb99c6c Author: Rafael J. Wysocki Date: Sat Nov 26 23:37:43 2011 +0100 ath9k: Revert change that broke AR928X on Acer Ferrari One Revert a hunk in drivers/net/wireless/ath/ath9k/hw.c introduced by commit 2577c6e8f2320f1d2f09be122efef5b9118efee4 (ath9k_hw: Add support for AR946/8x chipsets) that caused a nasty regression to appear on my Acer Ferrari One (the box locks up entirely at random times after the wireless has been started without any way to get debug information out of it). Signed-off-by: Rafael J. Wysocki Signed-off-by: John W. Linville commit e55b32c110b025ce07b40227f620e99700bf8741 Author: Stanislaw Gruszka Date: Mon Nov 28 10:33:40 2011 +0100 rtlwifi: fix lps_lock deadlock rtl_lps_leave can be called from interrupt context, so we have to disable interrupts when taking lps_lock. Below is full lockdep info about deadlock: [ 93.815269] ================================= [ 93.815390] [ INFO: inconsistent lock state ] [ 93.815472] 2.6.41.1-3.offch.fc15.x86_64.debug #1 [ 93.815556] --------------------------------- [ 93.815635] inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage. [ 93.815743] swapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes: [ 93.815832] (&(&rtlpriv->locks.lps_lock)->rlock){+.?...}, at: [] rtl_lps_leave+0x26/0x103 [rtlwifi] [ 93.815947] {SOFTIRQ-ON-W} state was registered at: [ 93.815947] [] __lock_acquire+0x369/0xd0c [ 93.815947] [] lock_acquire+0xf3/0x13e [ 93.815947] [] _raw_spin_lock+0x45/0x79 [ 93.815947] [] rtl_swlps_rf_awake+0x5a/0x76 [rtlwifi] [ 93.815947] [] rtl_op_config+0x12a/0x32a [rtlwifi] [ 93.815947] [] ieee80211_hw_config+0x124/0x129 [mac80211] [ 93.815947] [] ieee80211_dynamic_ps_disable_work+0x32/0x47 [mac80211] [ 93.815947] [] process_one_work+0x205/0x3e7 [ 93.815947] [] worker_thread+0xda/0x15d [ 93.815947] [] kthread+0xa8/0xb0 [ 93.815947] [] kernel_thread_helper+0x4/0x10 [ 93.815947] irq event stamp: 547822 [ 93.815947] hardirqs last enabled at (547822): [] _raw_spin_unlock_irqrestore+0x45/0x61 [ 93.815947] hardirqs last disabled at (547821): [] _raw_spin_lock_irqsave+0x22/0x8e [ 93.815947] softirqs last enabled at (547790): [] _local_bh_enable+0x13/0x15 [ 93.815947] softirqs last disabled at (547791): [] call_softirq+0x1c/0x30 [ 93.815947] [ 93.815947] other info that might help us debug this: [ 93.815947] Possible unsafe locking scenario: [ 93.815947] [ 93.815947] CPU0 [ 93.815947] ---- [ 93.815947] lock(&(&rtlpriv->locks.lps_lock)->rlock); [ 93.815947] [ 93.815947] lock(&(&rtlpriv->locks.lps_lock)->rlock); [ 93.815947] [ 93.815947] *** DEADLOCK *** [ 93.815947] [ 93.815947] no locks held by swapper/0. [ 93.815947] [ 93.815947] stack backtrace: [ 93.815947] Pid: 0, comm: swapper Not tainted 2.6.41.1-3.offch.fc15.x86_64.debug #1 [ 93.815947] Call Trace: [ 93.815947] [] print_usage_bug+0x1e7/0x1f8 [ 93.815947] [] ? save_stack_trace+0x2c/0x49 [ 93.815947] [] ? print_irq_inversion_bug.part.18+0x1a0/0x1a0 [ 93.815947] [] mark_lock+0x106/0x220 [ 93.815947] [] __lock_acquire+0x2f5/0xd0c [ 93.815947] [] ? native_sched_clock+0x34/0x36 [ 93.830125] [] ? sched_clock+0x9/0xd [ 93.830125] [] ? sched_clock_local+0x12/0x75 [ 93.830125] [] ? rtl_lps_leave+0x26/0x103 [rtlwifi] [ 93.830125] [] lock_acquire+0xf3/0x13e [ 93.830125] [] ? rtl_lps_leave+0x26/0x103 [rtlwifi] [ 93.830125] [] _raw_spin_lock+0x45/0x79 [ 93.830125] [] ? rtl_lps_leave+0x26/0x103 [rtlwifi] [ 93.830125] [] ? skb_dequeue+0x62/0x6d [ 93.830125] [] rtl_lps_leave+0x26/0x103 [rtlwifi] [ 93.830125] [] _rtl_pci_ips_leave_tasklet+0xe/0x10 [rtlwifi] [ 93.830125] [] tasklet_action+0x8d/0xee [ 93.830125] [] __do_softirq+0x112/0x25a [ 93.830125] [] call_softirq+0x1c/0x30 [ 93.830125] [] do_softirq+0x4b/0xa1 [ 93.830125] [] irq_exit+0x5d/0xcf [ 93.830125] [] do_IRQ+0x8e/0xa5 [ 93.830125] [] common_interrupt+0x73/0x73 [ 93.830125] [] ? trace_hardirqs_off+0xd/0xf [ 93.830125] [] ? intel_idle+0xe5/0x10c [ 93.830125] [] ? intel_idle+0xe1/0x10c [ 93.830125] [] cpuidle_idle_call+0x11c/0x1fe [ 93.830125] [] cpu_idle+0xab/0x101 [ 93.830125] [] rest_init+0xd7/0xde [ 93.830125] [] ? csum_partial_copy_generic+0x16c/0x16c [ 93.830125] [] start_kernel+0x3dd/0x3ea [ 93.830125] [] x86_64_start_reservations+0xaf/0xb3 [ 93.830125] [] ? early_idt_handlers+0x140/0x140 [ 93.830125] [] x86_64_start_kernel+0x102/0x111 Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=755154 Reported-by: vjain02@students.poly.edu Reported-and-tested-by: Oliver Paukstadt Cc: stable@vger.kernel.org Acked-by: Larry Finger Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 24f50a9d165745fd0701c6e089d35f58a229ea69 Author: Johannes Berg Date: Thu Nov 24 20:06:14 2011 +0100 mac80211: don't stop a single aggregation session twice Nikolay noticed (by code review) that mac80211 can attempt to stop an aggregation session while it is already being stopped. So to fix it, check whether stop is already being done and bail out if so. Also move setting the STOPPING state into the lock so things are properly atomic. Cc: stable@vger.kernel.org Reported-by: Nikolay Martynov Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e007b857e88097c96c45620bf3b04a4e309053d1 Author: Eliad Peller Date: Thu Nov 24 18:13:56 2011 +0200 nl80211: fix MAC address validation MAC addresses have a fixed length. The current policy allows passing < ETH_ALEN bytes, which might result in reading beyond the buffer. Cc: stable@vger.kernel.org Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit 02f1ce35bed3ceb56868ec534591e15ffdcef879 Merge: 5eccdf5 82e5fc2 Author: John W. Linville Date: Tue Nov 22 16:46:55 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit 82e5fc2a34fa9ffea38f00c4066b7e600a0ca5e6 Author: John W. Linville Date: Tue Nov 22 16:38:19 2011 -0500 Revert "rt2800pci: handle spurious interrupts" This reverts commit 4ba7d9997869d25bd223dea7536fc1ce9fab3b3b. The original patch was a misguided attempt to improve performance on some hardware that is apparently prone to spurious interrupt generation. Signed-off-by: John W. Linville commit 6cccccafe9e8b88adb1800940ded6ad76c587e1b Author: John W. Linville Date: Tue Nov 22 16:36:35 2011 -0500 Revert "rt2x00: handle spurious pci interrupts" This reverts commit 23085d5796561625db4143a671f1de081f66ef08. The original patch was a misguided attempt to improve performance on some hardware that is apparently prone to spurious interrupt generation. Signed-off-by: John W. Linville commit 40f9cd299a0e5e8dcdde9b5eb9bfda1cb9109f61 Author: Dan Carpenter Date: Mon Nov 21 17:47:13 2011 +0300 prism54: potential memory corruption in prism54_get_essid() "dwrq->length" is the capped version of "essid->length". Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit de3584bd62d87b4c250129fbc46ca52c80330add Author: Johannes Berg Date: Mon Nov 21 10:44:00 2011 +0100 cfg80211: fix regulatory NULL dereference By the time userspace returns with a response to the regulatory domain request, the wiphy causing the request might have gone away. If this is so, reject the update but mark the request as having been processed anyway. Cc: Luis R. Rodriguez Signed-off-by: Johannes Berg Cc: stable@vger.kernel.org Signed-off-by: John W. Linville commit 9c8f2c42c93f415771d6d7b87a0881ba0bb72824 Author: Helmut Schaa Date: Fri Nov 18 17:02:16 2011 +0100 mac80211: Fix endian bug in radiotap header generation I intoduced this bug in commit a2fe81667410723d941a688e1958a49d67ca3346 "mac80211: Build TX radiotap header dynamically" Signed-off-by: Helmut Schaa Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 904603f9b78f94d5a5fe29cf2f9694ef7f6f4420 Author: Ben Greear Date: Thu Nov 17 14:53:36 2011 -0800 mac80211: Fix AMSDU rate printout in debugfs. It was flipped. See section 7.3.2.56 of the 802.11n spec for details. Signed-off-by: Ben Greear Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 9b338c3dd12918f7f7df2b882f63f71e9efbcb41 Author: David Herrmann Date: Sat Nov 19 13:23:33 2011 +0100 Bluetooth: bnep: Fix module reference We cannot call module_put(THIS_MODULE) if this is our last reference. Otherwise, this call may cleanup our module before it returns. Gladly, the kthread API provides a simple wrapper for us. So lets use module_put_and_exit() to avoid a race condition with the module cleanup code. Signed-off-by: David Herrmann Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 48b28b8db9a74cc5c43e76485dc397e22bea2984 Author: David Herrmann Date: Sat Nov 19 13:23:32 2011 +0100 Bluetooth: cmtp: Fix module reference We cannot call module_put(THIS_MODULE) if this is our last reference. Otherwise, this call may cleanup our module before it returns. Gladly, the kthread API provides a simple wrapper for us. So lets use module_put_and_exit() to avoid a race condition with the module cleanup code. Signed-off-by: David Herrmann Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 2ac654f740b574c58ee02bac3816cf466a1bfb41 Author: Bing Zhao Date: Wed Nov 16 20:40:42 2011 -0800 Bluetooth: btmrvl: support Marvell Bluetooth device SD8797 The SD8797 firmware image is shared with mwifiex driver. Whoever gets loaded first will be responsible for firmware downloading. Signed-off-by: Bing Zhao Signed-off-by: Frank Huang Signed-off-by: Gustavo F. Padovan commit 2d1618170eb493d18f66f2ac03775409a6fb97c6 Author: Michael Büsch Date: Wed Nov 16 23:55:46 2011 +0100 p54spi: Fix workqueue deadlock priv->work must not be synced while priv->mutex is locked, because the mutex is taken in the work handler. Move cancel_work_sync down to after the device shutdown code. This is safe, because the work handler checks fw_state and bails out early in case of a race. Signed-off-by: Michael Buesch Cc: Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 32d3a3922d617a5a685a5e2d24b20d0e88f192a9 Author: Michael Büsch Date: Wed Nov 16 23:48:31 2011 +0100 p54spi: Add missing spin_lock_init The tx_lock is not initialized properly. Add spin_lock_init(). Signed-off-by: Michael Buesch Cc: Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 68fa64ef606bcee688fce46d07aa68f175070156 Author: Gertjan van Wingerde Date: Wed Nov 16 23:16:15 2011 +0100 rt2x00: Fix efuse EEPROM reading on PPC32. Fix __le32 to __le16 conversion of the first word of an 8-word block of EEPROM read via the efuse method. Reported-and-tested-by: Ingvar Hagelund Signed-off-by: Gertjan van Wingerde CC: Acked-by: Helmut Schaa Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 23085d5796561625db4143a671f1de081f66ef08 Author: Stanislaw Gruszka Date: Wed Nov 16 13:58:42 2011 +0100 rt2x00: handle spurious pci interrupts We have documented case of very bad performance issue on rt2800pci device, because it generate spurious interrupt, what cause irq line is disabled: https://bugzilla.redhat.com/show_bug.cgi?id=658451 We already address that problem in separate patch by returning IRQ_HANDLED from interrupt handler. We think similar fix is needed for other rt2x00 PCI devices, because users report performance problems on these devices too. Cc: stable@vger.kernel.org Signed-off-by: Stanislaw Gruszka Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4ba7d9997869d25bd223dea7536fc1ce9fab3b3b Author: Stanislaw Gruszka Date: Wed Nov 16 11:09:17 2011 +0100 rt2800pci: handle spurious interrupts Some devices may generate spurious interrupts, we have to handle them otherwise interrupt line will be disabled with below message and driver will not work: [ 2052.114334] irq 17: nobody cared (try booting with the "irqpoll" option) [ 2052.114339] Pid: 0, comm: swapper Tainted: P 2.6.35.6-48.fc14.x86_64 #1 [ 2052.114341] Call Trace: [ 2052.114342] [] __report_bad_irq.clone.1+0x3d/0x8b [ 2052.114349] [] note_interrupt+0x11a/0x17f [ 2052.114352] [] handle_fasteoi_irq+0xa8/0xce [ 2052.114355] [] handle_irq+0x88/0x90 [ 2052.114357] [] do_IRQ+0x5c/0xb4 [ 2052.114360] [] ret_from_intr+0x0/0x11 [ 2052.114361] [] ? native_safe_halt+0xb/0xd [ 2052.114366] [] ? need_resched+0x23/0x2d [ 2052.114367] [] default_idle+0x34/0x4f [ 2052.114370] [] cpu_idle+0xaa/0xcc [ 2052.114373] [] start_secondary+0x24d/0x28e [ 2052.114374] handlers: [ 2052.114375] [] (usb_hcd_irq+0x0/0x7c) [ 2052.114378] [] (rt2800pci_interrupt+0x0/0x18d [rt2800pci]) [ 2052.114384] Disabling IRQ #17 Resolve: https://bugzilla.redhat.com/show_bug.cgi?id=658451 Reported-and-tested-by: Amir Hedayaty Cc: stable@vger.kernel.org Signed-off-by: Stanislaw Gruszka Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit c4be3c2da1ab4344d3d5f63d6ec1952a3c6e635c Merge: 102463b fe09b32 Author: John W. Linville Date: Thu Nov 17 14:15:47 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit fe09b32a4361bea44169b2063e8c867cabb6a8ba Author: Jesper Juhl Date: Sun Nov 13 22:14:32 2011 +0100 Net, libertas: Resolve memory leak in if_spi_host_to_card() If we hit the default case in the switch in if_spi_host_to_card() we'll leak the memory we allocated for 'packet'. This patch resolves the leak by freeing the allocated memory in that case. Signed-off-by: Jesper Juhl Acked-by: Dan Williams Cc: stable@vger.kernel.org Signed-off-by: John W. Linville commit ed66ba472a742cd8df37d7072804b2111cdb1014 Author: Gertjan van Wingerde Date: Sat Nov 12 19:10:44 2011 +0100 rt2x00: Fix sleep-while-atomic bug in powersaving code. The generic powersaving code that determines after reception of a frame whether the device should go back to sleep or whether is could stay awake was calling rt2x00lib_config directly from RX tasklet context. On a number of the devices this call can actually sleep, due to having to confirm that the sleeping commands have been executed successfully. Fix this by moving the call to rt2x00lib_config to a workqueue call. This fixes bug https://bugzilla.redhat.com/show_bug.cgi?id=731672 Tested-by: Tomas Trnka Signed-off-by: Gertjan van Wingerde Cc: Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit c18b7806e4f3373b2f296a65fb19251a3b49a532 Author: Gertjan van Wingerde Date: Sat Nov 12 19:10:43 2011 +0100 rt2x00: Add USB device ID of Buffalo WLI-UC-GNHP. This is reported to be an RT3070 based device. Reported-by: Teika Kazura Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit fb14ca438c0a54306419ee648d9d146c5e7be679 Merge: 1e49570 fada105 Author: John W. Linville Date: Fri Nov 11 11:34:47 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit fada10584d3890258e59da73728510ad7e08a033 Author: Amitkumar Karwar Date: Wed Nov 9 21:36:21 2011 -0800 mwifiex: fix association issue with AP configured in hidden SSID mode Firmware expects 'max_ssid_length' field in 'struct mwifiex_ie_types_wildcard_ssid_params' to be '0' for performing SSID specific scan. Currently driver updates it with an actual SSID length. Hence UUT is not able to find the AP configured in hidden SSID mode in scan results and association fails. max_ssid_length is filled with '0' to fix the issue. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 43e58856585f8c61e6a4a0f1fd6996d78799a973 Author: Emmanuel Grumbach Date: Wed Nov 9 16:50:50 2011 -0800 iwlwifi: avoid a panic when unloading the module with RF Kill When HW RF kill switch is set to kill the radio, our NIC issues an interrupt after we stop the APM module. When we unload the module, the driver disables and cleans the interrupts before stopping the APM. So we have a real interrupt (inta not zero) pending. When this interrupts pops up the tasklet has already been killed and we crash. Here is a logical description of the flow: disable and clean interrupts synchronize interrupts kill the tasklet stop the APM <<== creates an RF kill interrupt free_irq <<== somehow our ISR is called here and we crash Here is the panic message: [ 201.313636] BUG: unable to handle kernel paging request at ffff8800911b7150 [ 201.314541] IP: [] tasklet_action+0x62/0x130 [ 201.315149] PGD 1c06063 PUD db37f067 PMD db408067 PTE 80000000911b7160 [ 201.316456] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC [ 201.317324] CPU 1 [ 201.317495] Modules linked in: arc4 iwlwifi(-) mac80211 cfg80211 netconsole configfs binfmt_misc i915 drm_kms_helper drm uvcvideo i2c_algo_bit videodev dell_laptop dcdbas intel_agp dell_wmi intel_ips psmouse intel_gtt v4l2_compat_ioctl32 asix usbnet mii serio_raw video sparse_keymap firewire_ohci sdhci_pci sdhci firewire_core e1000e crc_itu_t [last unloaded: configfs] [ 201.323839] [ 201.324015] Pid: 2061, comm: modprobe Not tainted 3.1.0-rc9-wl #4 Dell Inc. Latitude E6410/0667CC [ 201.324736] RIP: 0010:[] [] tasklet_action+0x62/0x130 [ 201.325128] RSP: 0018:ffff88011bc43ea0 EFLAGS: 00010286 [ 201.325338] RAX: ffff88008ae70000 RBX: ffff8800911b7150 RCX: ffff88008ae70028 [ 201.325555] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88008ae70000 [ 201.325775] RBP: ffff88011bc43ec0 R08: 0000000000000000 R09: 0000000000000000 [ 201.325994] R10: 0000000000000002 R11: 0000000000000001 R12: 0000000000000001 [ 201.326212] R13: 0000000000000006 R14: 0000000000000100 R15: ffff88008e259fd8 [ 201.326431] FS: 00007f4b90ea9700(0000) GS:ffff88011bc40000(0000) knlGS:0000000000000000 [ 201.326657] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 201.326864] CR2: ffff8800911b7150 CR3: 000000008fd6d000 CR4: 00000000000006e0 [ 201.327083] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 201.327302] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 201.327521] Process modprobe (pid: 2061, threadinfo ffff88008e258000, task ffff88008ae70000) [ 201.327747] Stack: [ 201.330494] 0000000000000046 0000000000000030 0000000000000001 0000000000000006 [ 201.333870] ffff88011bc43f30 ffffffff8106cd8a ffffffff811e1016 ffff88011bc43f08 [ 201.337186] 0000000100000046 ffff88008e259fd8 0000000a10be2160 0000000000000006 [ 201.340458] Call Trace: [ 201.342994] [ 201.345656] [] __do_softirq+0xca/0x250 [ 201.348185] [] ? pde_put+0x76/0x90 [ 201.350730] [] ? do_raw_spin_unlock+0x5e/0xb0 [ 201.353261] [] ? pde_put+0x76/0x90 [ 201.355776] [] call_softirq+0x1c/0x30 [ 201.358287] [] do_softirq+0x9d/0xd0 [ 201.360823] [] irq_exit+0xd5/0xf0 [ 201.363330] [] do_IRQ+0x66/0xe0 [ 201.365819] [] common_interrupt+0x73/0x73 [ 201.368257] Cc: 3.1+ Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 3b971a7ceb2e39e0cab95c079c738b2052b3e02f Merge: b12f62e e29ec62 Author: David S. Miller Date: Wed Nov 9 16:22:15 2011 -0500 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless commit 0ecfe806f146e0cb10c2c5abbb3bb4e91959e41a Author: Johannes Berg Date: Wed Nov 9 12:14:16 2011 +0100 mac80211: fix race between connection monitor & suspend When the connection monitor timer fires right before suspend, the following will happen: timer fires -> monitor_work gets queued suspend calls ieee80211_sta_quiesce ieee80211_sta_quiesce: - deletes timer - cancels monitor_work synchronously, running it [note wrong order of these steps] monitor_work runs, re-arming the timer later, timer fires while system should be quiesced This causes a warning: WARNING: at net/mac80211/util.c:540 ieee80211_can_queue_work+0x35/0x40 [mac80211]() but is otherwise harmless. I'm not completely sure this is the scenario Thomas stumbled across, but it is the only way I can right now see the warning in a scenario like the one he reported. Reported-by: Thomas Meyer Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d929bbc63069396e723a180cde9cb71adc9f76ac Author: Steven Miao Date: Wed Nov 9 16:30:40 2011 +0800 wireless: libertas: fix unaligned le64 accesses use get_unaligned_le64() to get timestamp Signed-off-by: Steven Miao Acked-by: Dan Williams Signed-off-by: John W. Linville commit 58ebacc66bd11be2327edcefc79de94bd6f5bb4a Author: Luis R. Rodriguez Date: Tue Nov 8 14:28:06 2011 -0800 cfg80211: fix bug on regulatory core exit on access to last_request Commit 4d9d88d1 by Scott James Remnant added the .uevent() callback for the regulatory device used during the platform device registration. The change was done to account for queuing up udev change requests through udevadm triggers. The change also meant that upon regulatory core exit we will now send a uevent() but the uevent() callback, reg_device_uevent(), also accessed last_request. Right before commiting device suicide we free'd last_request but never set it to NULL so platform_device_unregister() would lead to bogus kernel paging request. Fix this and also simply supress uevents right before we commit suicide as they are pointless. This fix is required for kernels >= v2.6.39 $ git describe --contains 4d9d88d1 v2.6.39-rc1~468^2~25^2^2~21 The impact of not having this present is that a bogus paging access may occur (only read) upon cfg80211 unload time. You may also get this BUG complaint below. Although Johannes could not reproduce the issue this fix is theoretically correct. mac80211_hwsim: unregister radios mac80211_hwsim: closing netlink BUG: unable to handle kernel paging request at ffff88001a06b5ab IP: [] reg_device_uevent+0x1a/0x50 [cfg80211] PGD 1836063 PUD 183a063 PMD 1ffcb067 PTE 1a06b160 Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC CPU 0 Modules linked in: cfg80211(-) [last unloaded: mac80211] Pid: 2279, comm: rmmod Tainted: G W 3.1.0-wl+ #663 Bochs Bochs RIP: 0010:[] [] reg_device_uevent+0x1a/0x50 [cfg80211] RSP: 0000:ffff88001c5f9d58 EFLAGS: 00010286 RAX: 0000000000000000 RBX: ffff88001d2eda88 RCX: ffff88001c7468fc RDX: ffff88001a06b5a0 RSI: ffff88001c7467b0 RDI: ffff88001c7467b0 RBP: ffff88001c5f9d58 R08: 000000000000ffff R09: 000000000000ffff R10: 0000000000000000 R11: 0000000000000001 R12: ffff88001c7467b0 R13: ffff88001d2eda78 R14: ffffffff8164a840 R15: 0000000000000001 FS: 00007f8a91d8a6e0(0000) GS:ffff88001fc00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: ffff88001a06b5ab CR3: 000000001c62e000 CR4: 00000000000006f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process rmmod (pid: 2279, threadinfo ffff88001c5f8000, task ffff88000023c780) Stack: ffff88001c5f9d98 ffffffff812ff7e5 ffffffff8176ab3d ffff88001c7468c2 000000000000ffff ffff88001d2eda88 ffff88001c7467b0 ffff880000114820 ffff88001c5f9e38 ffffffff81241dc7 ffff88001c5f9db8 ffffffff81040189 Call Trace: [] dev_uevent+0xc5/0x170 [] kobject_uevent_env+0x1f7/0x490 [] ? sub_preempt_count+0x29/0x60 [] ? _raw_spin_unlock_irqrestore+0x4a/0x90 [] ? devres_release_all+0x27/0x60 [] kobject_uevent+0xb/0x10 [] device_del+0x157/0x1b0 [] platform_device_del+0x1d/0x90 [] platform_device_unregister+0x16/0x30 [] regulatory_exit+0x5d/0x180 [cfg80211] [] cfg80211_exit+0x2b/0x45 [cfg80211] [] sys_delete_module+0x16c/0x220 [] ? trace_hardirqs_on_caller+0x7e/0x120 [] system_call_fastpath+0x16/0x1b Code: RIP [] reg_device_uevent+0x1a/0x50 [cfg80211] RSP CR2: ffff88001a06b5ab ---[ end trace 147c5099a411e8c0 ]--- Reported-by: Johannes Berg Cc: Scott James Remnant Cc: stable@vger.kernel.org Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5b2bbf75a24d6b06afff6de0eb4819413fd81971 Author: Johannes Berg Date: Tue Nov 8 13:04:41 2011 +0100 mac80211: fix bug in ieee80211_build_probe_req ieee80211_probereq_get() can return NULL in which case we should clean up & return NULL in ieee80211_build_probe_req() as well. Cc: stable@vger.kernel.org Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f8d1ccf15568268c76f913b45ecdd33134387f1a Author: Johannes Berg Date: Tue Nov 8 12:28:33 2011 +0100 mac80211: fix NULL dereference in radiotap code When receiving failed PLCP frames is enabled, there won't be a rate pointer when we add the radiotap header and thus the kernel will crash. Fix this by not assuming the rate pointer is always valid. It's still always valid for frames that have good PLCP though, and that is checked & enforced. This was broken by my commit fc88518916793af8ad6a02e05ff254d95c36d875 Author: Johannes Berg Date: Fri Jul 30 13:23:12 2010 +0200 mac80211: don't check rates on PLCP error frames where I removed the check in this case but didn't take into account that the rate info would be used. Reported-by: Xiaokang Qin Cc: stable@vger.kernel.org Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e29ec6247053ad60bd0b36f155b647364a615097 Merge: 1a6422f cc438fc Author: John W. Linville Date: Wed Nov 9 13:41:11 2011 -0500 Merge branch 'master' of ssh://ra.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit cc438fccd5783c9f7b4c4858358ac897dcf8a58d Author: Eyal Shapira Date: Tue Nov 8 15:54:46 2011 +0200 wl12xx: fix wl12xx_scan_sched_scan_ssid_list() check that all given ssids are in filters A minor fix for the check that verifies that all given SSIDs (in req) exist in the filters (the match sets) Signed-off-by: Eyal Shapira Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit a59be0811c322f80aaa886b144239393efece42d Author: Helmut Schaa Date: Tue Nov 8 14:01:13 2011 +0100 ath: Fix NULL ptr dereference in ath_reg_apply_world_flags This happens with devices using a regulatory domain 0x68 that are only 5Ghz capable because ath_reg_apply_active_scan_flags assumes that we always have a 2,4Ghz band. CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == 82cd838c, ra == 82cd8384 Oops[#1]: Cpu 0 $ 0 : 00000000 00000061 00000003 00000024 $ 4 : 00000003 000016c1 82f900ac 00000024 $ 8 : 00000000 82cda304 0058bad8 00000005 $12 : 005908f8 001e8481 00000003 1dcd6500 $16 : 00000002 00000000 82c700c0 82c700c0 $20 : 82d415e4 82c70d64 82c70200 82c715bc $24 : 00000000 11e1a300 $28 : 82ce2000 82ce3c70 82c715a8 82cd8384 Hi : 00000000 Lo : 0000001e epc : 82cd838c ath_reg_apply_world_flags+0x78/0x17c [ath] Not tainted ra : 82cd8384 ath_reg_apply_world_flags+0x70/0x17c [ath] Status: 1000d403 KERNEL EXL IE Cause : 80800008 BadVA : 00000000 PrId : 00019374 (MIPS 24Kc) Modules linked in: ath9k(+) ath9k_common ath9k_hw ath mac80211 cfg80211 compat_firmware_class compat arc4 aes_generic deflate ecb cbc leds_gpio button_hotplug gpio_buttons input_polldev ie Process insmod (pid: 464, threadinfo=82ce2000, task=838b31d8, tls=00000000) Stack : 00000000 00000002 82f900ac 82c700c0 82d415e4 82c70d64 00000000 00000068 82f900ac 82cd88f4 82c700c0 82cda304 00000001 000020f0 82f90000 82c70d40 00000002 82f90000 82f900ac 82d4207c 82d518a0 00000002 7fee6118 8017c0d8 00000008 8397ba00 82c70d40 00000000 82c70200 83813000 83813058 b0010000 82d518a0 00000002 7fee6118 82d4b8c8 83445cc0 80120dc0 83804000 800eeda0 ... Call Trace: [<82cd838c>] ath_reg_apply_world_flags+0x78/0x17c [ath] [<82cd88f4>] ath_regd_init+0x464/0x488 [ath] [<82d4207c>] ath9k_init_device+0x6a4/0x6b4 [ath9k] [<82d4b8c8>] ath_pci_probe+0x27c/0x358 [ath9k] [<80181de0>] pci_device_probe+0x64/0xa4 [<8019e874>] driver_probe_device+0xb8/0x190 [<8019e9b8>] __driver_attach+0x6c/0xa4 [<8019dfc0>] bus_for_each_dev+0x60/0xb0 [<8019d744>] bus_add_driver+0xc4/0x25c [<8019ed6c>] driver_register+0xe0/0x198 [<8018206c>] __pci_register_driver+0x50/0xe0 [<82dd0010>] ath9k_init+0x10/0x54 [ath9k] [<8006b4a0>] do_one_initcall+0x68/0x1ec [<800a901c>] sys_init_module+0xec/0x23c [<80062544>] stack_done+0x20/0x3c Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit c26887d2a48600bfa87a27ce41ff78828bd7243c Author: Johannes Berg Date: Tue Nov 8 09:20:07 2011 +0100 cfg80211: fix missing kernel-doc Two new struct members were not documented, fix that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9270fd61a3b3efecb06d77f71efec6fb7daccb25 Merge: 24b9c37 d13431c Author: John W. Linville Date: Tue Nov 8 14:59:14 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth commit d13431ca3eb2a2c14314f04813cdc11cd869f150 Author: Wen-chien Jesse Sung Date: Tue Nov 8 14:30:22 2011 +0800 Bluetooth: Add support for Broadcom BCM20702A0 Since this device declares itself as vendor specific, must add a new entry to device ID table to support it. usb-device output of this device: T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=413c ProdID=8197 Rev=01.12 S: Manufacturer=Broadcom Corp S: Product=BCM20702A0 S: SerialNumber=D0DF9AA9C9F1 C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none) I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none) I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none) Signed-off-by: Wen-chien Jesse Sung Signed-off-by: Gustavo F. Padovan commit f3f668b0ef4399b67e60e4c10a30099d630a6206 Author: Andrzej Kaczmarek Date: Mon Nov 7 17:19:04 2011 -0200 Bluetooth: Use miliseconds for L2CAP channel timeouts Timers set by __set_chan_timer() should use miliseconds instead of jiffies. Commit 942ecc9c4643db5ce071562e0a23f99464d6b461 updated l2cap_set_timer() so it expects timeout to be specified in msecs instead of jiffies. This makes timeouts unreliable when CONFIG_HZ is not set to 1000. Signed-off-by: Andrzej Kaczmarek Signed-off-by: Gustavo F. Padovan commit 94956eed14b4b16d401c8ad36d68df0608f968cb Merge: 50e6963 e45a618 Author: Linus Torvalds Date: Mon Nov 7 10:55:33 2011 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (47 commits) forcedeth: fix a few sparse warnings (variable shadowing) forcedeth: Improve stats counters forcedeth: remove unneeded stats updates forcedeth: Acknowledge only interrupts that are being processed forcedeth: fix race when unloading module MAINTAINERS/rds: update maintainer wanrouter: Remove kernel_lock annotations usbnet: fix oops in usbnet_start_xmit ixgbe: Fix compile for kernel without CONFIG_PCI_IOV defined etherh: Add MAINTAINERS entry for etherh bonding: comparing a u8 with -1 is always false sky2: fix regression on Yukon Optima netlink: clarify attribute length check documentation netlink: validate NLA_MSECS length i825xx:xscale:8390:freescale: Fix Kconfig dependancies macvlan: receive multicast with local address tg3: Update version to 3.121 tg3: Eliminate timer race with reset_task tg3: Schedule at most one tg3_reset_task run tg3: Obtain PCI function number from device ... commit 4dff523a913197e3314c7b0d08734ab037709093 Author: Arek Lichwa Date: Wed Oct 26 11:23:22 2011 +0200 Bluetooth: Revert: Fix L2CAP connection establishment This reverts commit 330605423ca6eafafb8dcc27502bce1c585d1b06. The commit introduces regression when two 2.1 devices attempt establish rfcomm channel. Such connection is refused since there's a security block issue on l2cap. It means the link is unencrypted. 2011-09-16 18:08:46.567616 < ACL data: handle 1 flags 0x00 dlen 24 0000: 14 00 40 00 06 00 02 00 0f 35 03 19 12 00 ff ff ..@......5....˙˙ 0010: 35 05 0a 00 00 ff ff 00 5....˙˙. 2011-09-16 18:08:46.572377 > HCI Event: Number of Completed Packets (0x13) plen 5 handle 1 packets 1 2011-09-16 18:08:46.577931 > ACL data: handle 1 flags 0x02 dlen 88 L2CAP(d): cid 0x0040 len 84 [psm 0] 0000: 07 00 02 00 4f 00 4c 35 4a 35 48 09 00 00 0a 00 ....O.L5J5H..... 0010: 01 00 00 09 00 01 35 03 19 12 00 09 00 05 35 03 ......5.......5. 0020: 19 10 02 09 00 09 35 08 35 06 19 12 00 09 01 02 ......5.5....... 0030: 09 02 00 09 01 02 09 02 01 09 00 0a 09 02 02 09 ................ 0040: 00 00 09 02 03 09 00 00 09 02 04 28 01 09 02 05 ...........(.... 0050: 09 00 02 00 .... 2011-09-16 18:08:46.626057 < HCI Command: Authentication Requested (0x01|0x0011) plen 2 handle 1 2011-09-16 18:08:46.627614 > HCI Event: Command Status (0x0f) plen 4 Authentication Requested (0x01|0x0011) status 0x00 ncmd 1 2011-09-16 18:08:46.627675 > HCI Event: Link Key Request (0x17) plen 6 bdaddr 00:00:F2:6A:29:69 2011-09-16 18:08:46.634999 < HCI Command: Link Key Request Reply (0x01|0x000b) plen 22 bdaddr 00:00:F2:6A:29:69 key 58CD393179FC902E5E8F512A855EE532 2011-09-16 18:08:46.683278 > HCI Event: Command Complete (0x0e) plen 10 Link Key Request Reply (0x01|0x000b) ncmd 1 status 0x00 bdaddr 00:00:F2:6A:29:69 2011-09-16 18:08:46.764729 > HCI Event: Auth Complete (0x06) plen 3 status 0x00 handle 1 2011-09-16 18:08:46.764821 < ACL data: handle 1 flags 0x00 dlen 12 0000: 08 00 01 00 02 05 04 00 03 00 41 00 ..........A. 2011-09-16 18:08:46.764851 > HCI Event: Command Status (0x0f) plen 4 Unknown (0x00|0x0000) status 0x00 ncmd 2 2011-09-16 18:08:46.768117 > HCI Event: Number of Completed Packets (0x13) plen 5 handle 1 packets 1 2011-09-16 18:08:46.770894 > ACL data: handle 1 flags 0x02 dlen 16 L2CAP(s): Connect rsp: dcid 0x0000 scid 0x0041 result 3 status 0 Connection refused - security block 2011-09-16 18:08:49.000691 < ACL data: handle 1 flags 0x00 dlen 12 0000: 08 00 01 00 06 06 04 00 40 00 40 00 ........@.@. 2011-09-16 18:08:49.015675 > HCI Event: Number of Completed Packets (0x13) plen 5 handle 1 packets 1 2011-09-16 18:08:49.016927 > ACL data: handle 1 flags 0x02 dlen 12 L2CAP(s): Disconn rsp: dcid 0x0040 scid 0x0040 2011-09-16 18:08:51.009480 < HCI Command: Disconnect (0x01|0x0006) plen 3 handle 1 reason 0x13 Reason: Remote User Terminated Connection 2011-09-16 18:08:51.011525 > HCI Event: Command Status (0x0f) plen 4 Disconnect (0x01|0x0006) status 0x00 ncmd 1 2011-09-16 18:08:51.123494 > HCI Event: Disconn Complete (0x05) plen 4 status 0x00 handle 1 reason 0x16 Reason: Connection Terminated by Local Host Signed-off-by: Arek Lichwa Signed-off-by: Gustavo F. Padovan commit 24b9c373ab787ccacfa2c46736153708796f5cd6 Author: Janusz.Dziedzic@tieto.com Date: Mon Nov 7 09:47:47 2011 +0200 mac80211: uAPSD - fix IEEE80211_FCTL_MOREDATA bit setting Set IEEE80211_FCTL_MOREDATA bit also in case we have buffered frames (more than one) only for one AC. Signed-off-by: Janusz Dziedzic Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit db652e4b36e5f1e5f49a4a49caf3aa365fe851c4 Author: Jesper Juhl Date: Sun Nov 6 22:58:31 2011 +0100 net, wireless, mwifiex: Fix mem leak in mwifiex_update_curr_bss_params() If kmemdup() fails we leak the memory allocated to bss_desc. This patch fixes the leak. I also removed the pointless default assignment of 'NULL' to 'bss_desc' while I was there anyway. Signed-off-by: Jesper Juhl Reviewed-by: Srivatsa S. Bhat Signed-off-by: John W. Linville commit 3b6ef6334febb05d3050a96546e635f038dbcb15 Author: Johannes Berg Date: Fri Nov 4 11:01:46 2011 +0100 cfg80211: fix cmp_ies When comparing two items by IE, the sort order wasn't stable, which could lead to issues in the rbtree. Make it stable by making a missing IE sort before a present IE. Also sort by length first if it differs and then by contents. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 133a3ff2c934223a8143bfa52401bba962a97165 Author: Johannes Berg Date: Thu Nov 3 14:50:13 2011 +0100 cfg80211: allow setting TXQ parameters only in AP mode In other modes the parameters should not be set. Right now, mac80211 will set them, even if the user asked for setting them on VLANs which the driver doesn't know about, causing all kinds of trouble. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6c7394197af90f6a332180e33f5d025d3037d883 Author: Johannes Berg Date: Thu Nov 3 09:27:01 2011 +0100 nl80211: fix HT capability attribute validation Since the NL80211_ATTR_HT_CAPABILITY attribute is used as a struct, it needs a minimum, not maximum length. Enforce that properly. Not doing so could potentially lead to reading after the buffer. Cc: stable@vger.kernel.org Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3432f9233704a66e6067944339a311744243707d Author: Eliad Peller Date: Sun Oct 30 15:41:59 2011 +0200 mac80211: use min rate as basic rate for buggy APs Some buggy APs (and even P2P_GO) don't advertise their basic rates in the association response. In such case, use the min supported rate as the basic rate. Reported-by: Pontus Fuchs Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit ae8e46723f803057daff392bdc93332be2f0ec98 Author: Arend van Spriel Date: Sat Oct 29 11:30:15 2011 +0200 brcm80211: smac: eliminate a null pointer dereference in dma.c Though it's unlikely, di may be null, so we can't dereference di->dma.dmactrlflags until we've checked it. Move this de-reference after the check, and adjust the error message to not require de-referencing di. This is based upon Julia's original patch: <1319846297-2985-2-git-send-email-julia@diku.dk> Reported-by: Julia Lawall Acked-by: Arend van Spriel Signed-off-by: Julian Calaby Signed-off-by: John W. Linville commit 73d51f38c736ae286372e90056a7f31519f555ac Author: Rafał Miłecki Date: Mon Oct 17 17:15:44 2011 +0200 b43: HT-PHY: report signal to mac80211 Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 694718d8ad2f0b11d7376f8aa32b1befff6e5966 Author: Rafał Miłecki Date: Mon Oct 17 16:59:25 2011 +0200 b43: fill ctl1 word on all newer PHYs, fix PHY errors This fixes PHY transmission errors reported on some LP-PHY and HT-PHY cards. For LP-PHY they were quite rare and not really noticable. On HT-PHY they were critical, OFDM rates were not available at all. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 32aaeffbd4a7457bf2f7448b33b5946ff2a960eb Merge: 208bca0 67b8499 Author: Linus Torvalds Date: Sun Nov 6 19:44:47 2011 -0800 Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits) Revert "tracing: Include module.h in define_trace.h" irq: don't put module.h into irq.h for tracking irqgen modules. bluetooth: macroize two small inlines to avoid module.h ip_vs.h: fix implicit use of module_get/module_put from module.h nf_conntrack.h: fix up fallout from implicit moduleparam.h presence include: replace linux/module.h with "struct module" wherever possible include: convert various register fcns to macros to avoid include chaining crypto.h: remove unused crypto_tfm_alg_modname() inline uwb.h: fix implicit use of asm/page.h for PAGE_SIZE pm_runtime.h: explicitly requires notifier.h linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h miscdevice.h: fix up implicit use of lists and types stop_machine.h: fix implicit use of smp.h for smp_processor_id of: fix implicit use of errno.h in include/linux/of.h of_platform.h: delete needless include acpi: remove module.h include from platform/aclinux.h miscdevice.h: delete unnecessary inclusion of module.h device_cgroup.h: delete needless include net: sch_generic remove redundant use of net: inet_timewait_sock doesnt need ... Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in - drivers/media/dvb/frontends/dibx000_common.c - drivers/media/video/{mt9m111.c,ov6650.c} - drivers/mfd/ab3550-core.c - include/linux/dmaengine.h commit 22097fd297c85ec6c2e700d506f231f7cae442e1 Merge: 1a67a57 54d5026 Author: John W. Linville Date: Fri Nov 4 14:46:34 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit f956c34e2a665a1c457d0af7db7604b22f5acb19 Author: Wey-Yi Guy Date: Sat Oct 29 23:15:15 2011 -0700 iwlwifi: don't perform "echo test" when cmd queue stuck Perform "echo test" when cmd queue stuck detected, somethime it will cause calltrace. I am not sure how to fix it yet, just remove the action now until find a better way to handle it. Reported-by: Reinette Chatre Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit addc98519207fb8ca0609da720469e415f784d0c Author: Larry Finger Date: Fri Oct 28 12:17:49 2011 -0500 b43: Remove unneeded message The driver can spam the logs with "RX: Packet dropped" messages. These drops originate from 1. a correpted PLCP, 2. decryption errors, and 3. packet size underruns. Condition #3 logs a separate message, thus no dropped message is needed. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 05cb91085760ca378f28fc274fbf77fc4fd9886c Author: Johannes Berg Date: Fri Oct 28 11:59:47 2011 +0200 mac80211: disable powersave for broken APs Only AID values 1-2007 are valid, but some APs have been found to send random bogus values, in the reported case an AP that was sending the AID field value 0xffff, an AID of 0x3fff (16383). There isn't much we can do but disable powersave since there's no way it can work properly in this case. Cc: stable@vger.kernel.org Reported-by: Bill C Riemers Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8a39ef8ba0fa0410d71db8e981e887fe4fdeca88 Author: Wey-Yi Guy Date: Thu Oct 27 17:19:39 2011 -0700 iwlwifi: allow pci_enable_msi fail Continue the init process even fail to enable msi out_iounmap is no longer used, remove it Reported-by: werner Tested-by: werner Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 3209e061ad04465b3999091f315049c95ac6cbcb Author: Andres Salomon Date: Wed Oct 26 10:19:26 2011 -0700 libertas: ensure we clean up a scan request properly Commit 2e30168b ("libertas: terminate scan when stopping interface") adds cleanup code to lbs_eth_stop to call cfg80211_scan_done if there's an outstanding cfg80211_scan_request. However, it assumes that the scan request was allocated via the cfg80211 stack. Libertas has its own internal allocation method, kept track of with priv->internal_scan. This doesn't set scan_req->wiphy, amongst other things, which results in hitting a BUG() when we call cfg80211_scan_done on the request. This provides a function to take care of the low-level scan_req cleanup details. We simply call that to deal with finishing up scan requests. The bug we were hitting was: [ 964.321495] kernel BUG at net/wireless/core.h:87! [ 964.329970] Unable to handle kernel NULL pointer dereference at virtual address 00000000 [ 964.341963] pgd = dcf80000 ... [ 964.849998] 9fe0: 00000000 beb417b8 4018e280 401e822c 60000010 00000004 00000000 00000000 [ 964.865007] [] (__bug+0x1c/0x28) from [] (cfg80211_scan_done+0x54/0x6c) [ 964.895324] [] (cfg80211_scan_done+0x54/0x6c) from [] (lbs_eth_stop+0x10c/0x188 [libertas]) [ 964.895324] [] (lbs_eth_stop+0x10c/0x188 [libertas]) from [] (__dev_close_many+0x94/0xc4) [ 964.918995] [] (__dev_close_many+0x94/0xc4) from [] (dev_close_many+0x78/0xe0) Signed-off-by: Andres Salomon Acked-by: Dan Williams Signed-off-by: John W. Linville commit 93348928f2c980718434b1bc42f9d7638d665db4 Author: Rajkumar Manoharan Date: Tue Oct 25 16:47:36 2011 +0530 ath9k_hw: Fix noise floor calibration timeout on fast channel change During the fast channel change noise floor values are being loaded twice at init_cal and after channel_change. The commit "ath9k_hw: Improve fast channel change for AR9003 chips" overlooked it that caused failure to load nf while doing bgscan. This patch performs noise floor calibration after the fast and full reset. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 98fb2cc115b4ef1ea0a2d87a170c183bd395dd6c Author: Rajkumar Manoharan Date: Mon Oct 24 18:13:40 2011 +0530 ath9k_hw: Update AR9485 initvals to fix system hang issue This patch fixes system hang when resuming from S3 state and lower rate sens failure issue. Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit e3a4cc2f073739c9c9c2e97efc774703061f034a Author: Jouni Malinen Date: Sun Oct 23 22:36:04 2011 +0300 mac80211: Fix TDLS support validation in add_station handler We need to verify whether the command is successful before allocating the station entry to avoid extra processing. This also fixes a memory leak on the error path. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 94d55d62bd757611f07a9122e5e07ce929b8d38d Author: Christian Lamparter Date: Fri Oct 21 18:38:56 2011 +0200 carl9170: fix AMPDU TX_CTL_REQ_TX_STATUS handling Previously the driver did not care if TX_CTL_REQ_TX_STATUS was set on aggregated frames or not and it would silently drop successfully sent frames if possible [much like: "no news is good news!"]. But, TX_CTL_REQ_TX_STATUS was invented for a reason and no tx status report should ever be dropped if it is set. Reported-by: Johannes Berg Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit fd26981cf53ee91951a92fae53416e4ce639164c Author: Rajkumar Manoharan Date: Fri Oct 21 12:53:51 2011 +0530 ath9k_hw: Fix regression of register offset of AR9330/AR9340 The commit ce407afc10 introduced regression for AR9330/AR9340 register offsets. Some of the register offsets are common for AR9330/AR9340/AR9485 except AR9380. Fix that. Cc: stable@kernel.org [3.1.0+] Cc: Senthil Balasubramanian Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 6911bf0453e0d6ea8eb694a4ce67a68d071c538e Author: Eliad Peller Date: Thu Oct 20 19:05:50 2011 +0200 mac80211: config hw when going back on-channel When going back on-channel, we should reconfigure the hw iff the hardware is not already configured to the operational channel. Signed-off-by: Eliad Peller Cc: stable@kernel.org # 2.6.39+ Signed-off-by: John W. Linville commit eaa7af2ae582c9a8c51b374c48d5970b748a5ce2 Author: Eliad Peller Date: Thu Oct 20 19:05:49 2011 +0200 mac80211: fix remain_off_channel regression The offchannel code is currently broken - we should remain_off_channel if the work was started, and the work's channel and channel_type are the same as local->tmp_channel and local->tmp_channel_type. However, if wk->chan_type and local->tmp_channel_type coexist (e.g. have the same channel type), we won't remain_off_channel. This behavior was introduced by commit da2fd1f ("mac80211: Allow work items to use existing channel type.") Tested-by: Ben Greear Signed-off-by: Eliad Peller Cc: stable@kernel.org # 2.6.39+ Signed-off-by: John W. Linville commit 91ae4d02913808fc4056168766185d1a3bd63f65 Author: Rajkumar Manoharan Date: Thu Oct 20 14:29:38 2011 +0530 ath9k_hw: Fix radio retention for AR9462 IQ calibration during fast channel change sometimes failed with RTT. And also restoring invalid radio retention readings during init cal could cause failure to set the channel properly. This patch counts the valid rtt history readings and clears rtt mask. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 52d6d4ef5e6d1517688e27c11c01ab303ec681dd Author: Rajkumar Manoharan Date: Thu Oct 20 14:22:43 2011 +0530 ath9k_hw: Fix regression of register offset for AR9003 chips My recent commits (3782c69d, 324c74a) introduced regression for register offset selection that based on the macversion. Not using parentheses in proper manner for ternary operator leads to select wrong offset for the registers. This issue was observed with AR9462 chip that immediate disconnect after the association with the following message ieee80211 phy3: wlan0: Failed to send nullfunc to AP 00:23:69:12:ea:47 after 500ms, disconnecting. Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit cda4ee3f2e6907e89baf7a12e02e02fa208c0625 Author: Emmanuel Grumbach Date: Fri Oct 14 12:54:47 2011 -0700 iwlagn: fix the race in the unmapping of the HCMD As Stanislaw pointed out, my patch iwlagn: fix a race in the unmapping of the TFDs solved only part of the problem. The race still exists for TFDs of the host commands. Fix that too. Reported-by: Stanislaw Gruszka Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit c125d5e846894043361c0c89c1140be8fd6600b7 Merge: 6a32e4f 6b441fa Author: John W. Linville Date: Wed Nov 2 15:15:51 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth commit de0a5345a55b8dd5a4695181275df0e691176830 Merge: 994c0e9 8535639 Author: Linus Torvalds Date: Wed Nov 2 09:45:39 2011 -0700 Merge branch 'for-linus' of git://github.com/richardweinberger/linux * 'for-linus' of git://github.com/richardweinberger/linux: (90 commits) um: fix ubd cow size um: Fix kmalloc argument order in um/vdso/vma.c um: switch to use of drivers/Kconfig UserModeLinux-HOWTO.txt: fix a typo UserModeLinux-HOWTO.txt: remove ^H characters um: we need sys/user.h only on i386 um: merge delay_{32,64}.c um: distribute exports to where exported stuff is defined um: kill system-um.h um: generic ftrace.h will do... um: segment.h is x86-only and needed only there um: asm/pda.h is not needed anymore um: hw_irq.h can go generic as well um: switch to generic-y um: clean Kconfig up a bit um: a couple of missing dependencies... um: kill useless argument of free_chan() and free_one_chan() um: unify ptrace_user.h um: unify KSTK_... um: fix gcov build breakage ... commit bad3118fcdeb4b7b5bf18cb40b2548cf891646b2 Author: Al Viro Date: Thu Aug 18 20:12:50 2011 +0100 um: a couple of missing dependencies... Signed-off-by: Al Viro Signed-off-by: Richard Weinberger commit 67220a9ea3eb9cf61de7e384b6bcaaa78f680c9d Author: Andy Shevchenko Date: Mon Oct 31 17:13:00 2011 -0700 wireless: at76c50x: follow rename pack_hex_byte to hex_byte_pack There is no functional change. Signed-off-by: Andy Shevchenko Acked-by: John W. Linville Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9075fa968a0a4347aef35e235e2995c0e57dddd Author: Joe Perches Date: Mon Oct 31 17:11:33 2011 -0700 treewide: use __printf not __attribute__((format(printf,...))) Standardize the style for compiler based printf format verification. Standardized the location of __printf too. Done via script and a little typing. $ grep -rPl --include=*.[ch] -w "__attribute__" * | \ grep -vP "^(tools|scripts|include/linux/compiler-gcc.h)" | \ xargs perl -n -i -e 'local $/; while (<>) { s/\b__attribute__\s*\(\s*\(\s*format\s*\(\s*printf\s*,\s*(.+)\s*,\s*(.+)\s*\)\s*\)\s*\)/__printf($1, $2)/g ; print; }' [akpm@linux-foundation.org: revert arch bits] Signed-off-by: Joe Perches Cc: "Kirill A. Shutemov" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 452962366c11a9126fabac8cb28af49c27464408 Author: Paul Gortmaker Date: Tue Aug 30 17:50:46 2011 -0400 staging: Add module.h to more drivers implicitly using it. This 2nd batch of implicit module.h users only appeared when we removed the unnecessary module.h from include/linux/miscdevice.h [The 1st batch is already present in Greg's staging tree.] Signed-off-by: Paul Gortmaker commit a59b968ee0ff6e68443d5790fda2a117b36c1f9b Author: Paul Gortmaker Date: Mon Aug 29 16:44:23 2011 -0400 bluetooth: add module.h to drivers/bluetooth files as required. Signed-off-by: Paul Gortmaker commit d0e88ec90151c52ca9aa67adece8f2b8bd3c9f3b Author: Paul Gortmaker Date: Thu Sep 29 16:37:30 2011 -0400 drivers/net: wireless/ath/ath5k/debug.c does not need module.h It only has module_param and EXPORT_SYMBOL, so now that export.h is in scope at the same time as the recent ath5k update, we can delete this module.h include. Reported-by: Stephen Rothwell Signed-off-by: Paul Gortmaker commit 6eb07caf1ac5723720caea2ee93cd11b7058a0aa Author: Paul Gortmaker Date: Thu Sep 15 19:46:05 2011 -0400 drivers/net: Add moduleparam.h to drivers as required. These files were using moduleparam infrastructure, but were not including anything for it -- which is fine when module.h is being implicitly included in all files, but that is going away. Signed-off-by: Paul Gortmaker commit ac5c24e9e613df556f054f1fa811fca0c24fe500 Author: Paul Gortmaker Date: Tue Aug 30 14:18:44 2011 -0400 drivers/net: change moduleparam.h to module.h as required. Signed-off-by: Paul Gortmaker commit ee40fa0656a730491765545ff7550f3c1ceb0fbc Author: Paul Gortmaker Date: Fri May 27 16:14:23 2011 -0400 drivers/net: Add export.h to files using EXPORT_SYMBOL/THIS_MODULE These were getting the macros from an implicit module.h include via device.h, but we are planning to clean that up. Signed-off-by: Paul Gortmaker drivers/net: Add export.h to wireless/brcm80211/brcmfmac/bcmsdh.c This relatively recently added file uses EXPORT_SYMBOL and hence needs export.h included so that it is compatible with the module.h split up work. Signed-off-by: Paul Gortmaker commit 9d9779e723a5d23b94abbe5bb7d1197921f6f3dd Author: Paul Gortmaker Date: Sun Jul 3 15:21:01 2011 -0400 drivers/net: Add module.h to drivers who were implicitly using it The device.h header was including module.h, making it present for most of these drivers. But we want to clean that up. Call out the include of module.h in the modular network drivers. Signed-off-by: Paul Gortmaker commit bc3b2d7fb9b014d75ebb79ba371a763dbab5e8cf Author: Paul Gortmaker Date: Fri Jul 15 11:47:34 2011 -0400 net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules These files are non modular, but need to export symbols using the macros now living in export.h -- call out the include so that things won't break when we remove the implicit presence of module.h from everywhere. Signed-off-by: Paul Gortmaker commit d9b9384215e17c68d7b6bd05d6fa409e5d4140d7 Author: Paul Gortmaker Date: Sun Sep 18 13:21:27 2011 -0400 net: add moduleparam.h for users of module_param/MODULE_PARM_DESC These files were getting access to these two via the implicit presence of module.h everywhere. They aren't modules, so they don't need the full module.h inclusion though. Signed-off-by: Paul Gortmaker commit 3a9a231d977222eea36eae091df2c358e03ac839 Author: Paul Gortmaker Date: Fri May 27 09:12:25 2011 -0400 net: Fix files explicitly needing to include module.h With calls to modular infrastructure, these files really needs the full module.h header. Call it out so some of the cleanups of implicit and unrequired includes elsewhere can be cleaned up. Signed-off-by: Paul Gortmaker commit 6b441fab28ea1cbbf3da75dcd1e7438e6cba704c Author: David Herrmann Date: Wed Oct 26 11:22:46 2011 +0200 Bluetooth: bfusb: Fix error path on firmware load When loading the usb-configuration we do not signal the end of configuration on memory allocation error. This patch moves the memory allocation to the top so every error path uses "goto error" now to correctly send the usb-ctrl message when detecting some error. This also replaces GFP_ATOMIC with GFP_KERNEL as we are allowed to sleep here. Signed-off-by: David Herrmann Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit b91a4e3e3a16085623d47f03b338d9b74954ac67 Author: David Herrmann Date: Tue Oct 25 21:13:36 2011 +0200 Bluetooth: bcm203x: Use GFP_KERNEL in workqueue A workqueue is allowed to sleep so we can safely use GFP_KERNEL instead of GFP_ATOMIC. This is still legacy code when the driver used timer BHs and not a worqueue. Signed-off-by: David Herrmann Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit fc501ad7a10a356819505b1e526079d47fdebc2c Author: David Herrmann Date: Wed Oct 26 11:13:13 2011 +0200 Bluetooth: bcm203x: Fix race condition on disconnect When disconnecting a bcm203x device we kill and destroy the usb-urb, however, there might still be a pending work-structure which resubmits the now invalid urb. To avoid this race condition, we simply set a shutdown-flag and synchronously kill the worker first. This also adds a comment to all schedule_work()s, as it is really not clear that they are used as replacement for short timers (which can be seen in the git history). Signed-off-by: David Herrmann Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 0ba22bb258341783939ed07bf7e7a9d92f3b0edf Author: David Herrmann Date: Tue Oct 25 12:09:52 2011 +0200 Bluetooth: ath3k: Use GFP_KERNEL instead of GFP_ATOMIC We are allowed to sleep here so no need to use GFP_ATOMIC. The caller (ath3k_probe) calls request_firmware() which definitely sleeps. Hence, we should avoid using GFP_ATOMIC. Signed-off-by: David Herrmann Signed-off-by: Gustavo F. Padovan commit dafbde395ed560ddc3695df40f61d91c47433228 Author: Johan Hedberg Date: Mon Oct 24 22:36:26 2011 +0200 Bluetooth: Set HCI_MGMT flag only in read_controller_info The HCI_MGMT flag should only be set when user space requests the full controller information. This way we avoid potential issues with setting change events ariving before the actual read_controller_info command finishes. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit e1b6eb3ccb0c2a34302a9fd87dd15d7b86337f23 Author: Szymon Janc Date: Mon Oct 17 23:05:49 2011 +0200 Bluetooth: Increase HCI reset timeout in hci_dev_do_close I've noticed that my CSR usb dongle was not working if it was plugged in when PC was booting. It looks like I get two HCI reset command complete events (see hcidump logs below). The root cause is reset called from off_timer. Timeout for this reset to complete is set to 250ms and my bt dongle requires more time for replying with command complete event. After that, chip seems to reply with reset command complete event for next non-reset command. Attached patch increase mentioned timeout to HCI_INIT_TIMEOUT, this value is already used for timeouting hci_reset_req in hci_dev_reset(). This might also be related to BT not working after suspend that was reported here some time ago. Hcidump log: 2011-09-12 23:13:27.379465 < HCI Command: Reset (0x03|0x0003) plen 0 2011-09-12 23:13:27.380797 > HCI Event: Command Complete (0x0e) plen 4 Reset (0x03|0x0003) ncmd 1 status 0x00 2011-09-12 23:13:27.380859 < HCI Command: Read Local Supported Features (0x04|0x000 3) plen 0 2011-09-12 23:13:27.760789 > HCI Event: Command Complete (0x0e) plen 4 Reset (0x03|0x0003) ncmd 1 status 0x00 2011-09-12 23:13:27.760831 < HCI Command: Read Local Version Information (0x04|0x00 01) plen 0 2011-09-12 23:13:27.764780 > HCI Event: Command Complete (0x0e) plen 12 Read Local Version Information (0x04|0x0001) ncmd 1 status 0x00 HCI Version: 1.1 (0x1) HCI Revision: 0x36f LMP Version: 1.1 (0x1) LMP Subversion: 0x36f Manufacturer: Cambridge Silicon Radio (10) Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 7e0bb71e75020348bee523720a0c2f04cc72f540 Merge: b9e2780 0ab1e79 Author: Linus Torvalds Date: Tue Oct 25 15:18:39 2011 +0200 Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm * 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (63 commits) PM / Clocks: Remove redundant NULL checks before kfree() PM / Documentation: Update docs about suspend and CPU hotplug ACPI / PM: Add Sony VGN-FW21E to nonvs blacklist. ARM: mach-shmobile: sh7372 A4R support (v4) ARM: mach-shmobile: sh7372 A3SP support (v4) PM / Sleep: Mark devices involved in wakeup signaling during suspend PM / Hibernate: Improve performance of LZO/plain hibernation, checksum image PM / Hibernate: Do not initialize static and extern variables to 0 PM / Freezer: Make fake_signal_wake_up() wake TASK_KILLABLE tasks too PM / Hibernate: Add resumedelay kernel param in addition to resumewait MAINTAINERS: Update linux-pm list address PM / ACPI: Blacklist Vaio VGN-FW520F machine known to require acpi_sleep=nonvs PM / ACPI: Blacklist Sony Vaio known to require acpi_sleep=nonvs PM / Hibernate: Add resumewait param to support MMC-like devices as resume file PM / Hibernate: Fix typo in a kerneldoc comment PM / Hibernate: Freeze kernel threads after preallocating memory PM: Update the policy on default wakeup settings PM / VT: Cleanup #if defined uglyness and fix compile error PM / Suspend: Off by one in pm_suspend() PM / Hibernate: Include storage keys in hibernation image on s390 ... commit 8a9ea3237e7eb5c25f09e429ad242ae5a3d5ea22 Merge: 1be025d 8b3408f Author: Linus Torvalds Date: Tue Oct 25 13:25:22 2011 +0200 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1745 commits) dp83640: free packet queues on remove dp83640: use proper function to free transmit time stamping packets ipv6: Do not use routes from locally generated RAs |PATCH net-next] tg3: add tx_dropped counter be2net: don't create multiple RX/TX rings in multi channel mode be2net: don't create multiple TXQs in BE2 be2net: refactor VF setup/teardown code into be_vf_setup/clear() be2net: add vlan/rx-mode/flow-control config to be_setup() net_sched: cls_flow: use skb_header_pointer() ipv4: avoid useless call of the function check_peer_pmtu TCP: remove TCP_DEBUG net: Fix driver name for mdio-gpio.c ipv4: tcp: fix TOS value in ACK messages sent from TIME_WAIT rtnetlink: Add missing manual netlink notification in dev_change_net_namespaces ipv4: fix ipsec forward performance regression jme: fix irq storm after suspend/resume route: fix ICMP redirect validation net: hold sock reference while processing tx timestamps tcp: md5: add more const attributes Add ethtool -g support to virtio_net ... Fix up conflicts in: - drivers/net/Kconfig: The split-up generated a trivial conflict with removal of a stale reference to Documentation/networking/net-modules.txt. Remove it from the new location instead. - fs/sysfs/dir.c: Fairly nasty conflicts with the sysfs rb-tree usage, conflicting with Eric Biederman's changes for tagged directories. commit 59e52534172d845ebffb0d7e85fc56fb7b857051 Merge: 73692d9 0d89e54 Author: Linus Torvalds Date: Tue Oct 25 12:11:02 2011 +0200 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (59 commits) MAINTAINERS: linux-m32r is moderated for non-subscribers linux@lists.openrisc.net is moderated for non-subscribers Drop default from "DM365 codec select" choice parisc: Kconfig: cleanup Kernel page size default Kconfig: remove redundant CONFIG_ prefix on two symbols cris: remove arch/cris/arch-v32/lib/nand_init.S microblaze: add missing CONFIG_ prefixes h8300: drop puzzling Kconfig dependencies MAINTAINERS: microblaze-uclinux@itee.uq.edu.au is moderated for non-subscribers tty: drop superfluous dependency in Kconfig ARM: mxc: fix Kconfig typo 'i.MX51' Fix file references in Kconfig files aic7xxx: fix Kconfig references to READMEs Fix file references in drivers/ide/ thinkpad_acpi: Fix printk typo 'bluestooth' bcmring: drop commented out line in Kconfig btmrvl_sdio: fix typo 'btmrvl_sdio_sd6888' doc: raw1394: Trivial typo fix CIFS: Don't free volume_info->UNC until we are entirely done with it. treewide: Correct spelling of successfully in comments ... commit 1805b2f04855f07afe3a71d620a68f483b0ed74f Merge: 78d81d1 f42af6c Author: David S. Miller Date: Mon Oct 24 18:18:09 2011 -0400 Merge branch 'master' of ra.kernel.org:/pub/scm/linux/kernel/git/davem/net commit 9e903e085262ffbf1fc44a17ac06058aca03524a Author: Eric Dumazet Date: Tue Oct 18 21:00:24 2011 +0000 net: add skb frag size accessors To ease skb->truesize sanitization, its better to be able to localize all references to skb frags size. Define accessors : skb_frag_size() to fetch frag size, and skb_frag_size_{set|add|sub}() to manipulate it. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 41ebe9cde738a972d05c7282e09f5ed54cff0e8d Merge: fd38f734 5c1381a Author: John W. Linville Date: Mon Oct 17 15:05:26 2011 -0400 Merge branch 'master' of git://git.infradead.org/users/linville/wireless-next into for-davem commit 5c1381ac3f3f49ab1e0886ea8f1432c9a5def519 Author: Daniel Drake Date: Fri Oct 14 12:05:26 2011 +0100 libertas: fix changing interface type when interface is down The recent changes to only power the device when the interface up introduced a bug: changing interface type, legal when the interface is down, performs device I/O. Fix this functionality by validating and recording the interface type when the change is requested, but only applying the change if/when the interface is brought up. Signed-off-by: Daniel Drake Acked-by: Dan Williams Signed-off-by: John W. Linville commit 7a72476766735c57bc00d655770f8f21f232f482 Author: Helmut Schaa Date: Thu Oct 13 16:30:40 2011 +0200 mac80211: Provide station flags to cfg80211 Only station flags that are already defined in nl80211 are added for now. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit bb6e753e95a968fab0e366caace78fb2c08cc239 Author: Helmut Schaa Date: Thu Oct 13 16:30:39 2011 +0200 nl80211: Add sta_flags to the station info Reuse the already existing struct nl80211_sta_flag_update to specify both, a flag mask and the flag set itself. This means nl80211_sta_flag_update is now used for setting station flags and also for getting station flags. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 59b66255bc7804970098533ce7c9bf6967f35f62 Author: Johannes Berg Date: Thu Oct 13 13:19:19 2011 +0200 mac80211: fix TID for null poll response The queue mapping/TID for non-QoS null data responses to is never set, making it default to BK. Fix that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 423e38e8079f8f4fe0bf66d4f9a7d61beb232aca Author: Rajkumar Manoharan Date: Thu Oct 13 11:00:44 2011 +0530 ath9k: Rename AR9480 into AR9462 Renamed to be in sync with Marketing term and to avoid confusion with other chip names. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 76db2f8c87498122d08436c6476e67e44e390f18 Author: Rajkumar Manoharan Date: Thu Oct 13 11:00:43 2011 +0530 ath9k_hw: Rename AR9480 -> AR9462 initvals The AR946/8x chips are 2x2 Dual band with BT support. In order to avoid misleading with other chips and to be in sync with marketing team's term, AR9480 is renamed as AR9462. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit a126ff511b12bd0e7b6ca9c16ab3f6f325ba6356 Author: Rajkumar Manoharan Date: Thu Oct 13 11:00:42 2011 +0530 ath9k_hw: Do fast channel change based on reusable calibration results Support the fast channel change across band switch only when there are available of reusable cabliration results. And also observed that doing agc control calibration on fastcc, sometimes causing calibration timeout. Hence changing agc control to be run only on full chip reset. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 324c74ad64c7528a9cf243455723d5ed57238e15 Author: Rajkumar Manoharan Date: Thu Oct 13 11:00:41 2011 +0530 ath9k_hw: Add radio retention support for AR9480 Supported calibrations of radio retention table (RTT) are - DC offset - Filter - Peak detect Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 1aef40b82c48d028d92e811c7f7dc5a0dbf9fa9a Author: Rajkumar Manoharan Date: Thu Oct 13 11:00:40 2011 +0530 ath9k_hw: Update normal/min noise floor value for AR9480 To improve sensitivity for AR9480, the normal and minimum noise floor values of both bands are updated. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 19787b251eccf66282d686cf2ef9a2b3033439dd Author: Rajkumar Manoharan Date: Thu Oct 13 11:00:39 2011 +0530 ath9k_hw: Support fast channel change on 5GHz for AR9003 chips The commit "ath9k_hw: Improve fast channel change for AR9003 chips" fixes the fast channel change issue for AR9003 chips that was originally observed in AR9382 chip. Hence enabling fastcc support again for 11A channel for AR9003 chips. Cc: Paul Stewart Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 8ad74c4d8c5e26121f698f56595768b76d1bed81 Author: Rajkumar Manoharan Date: Thu Oct 13 11:00:38 2011 +0530 ath9k_hw: Cleanup Tx calibrations for AR9003 chips Currently Tx IQ calibration is enabled by default for all AR9003 chips. But for AR9480, the calibration status should be read from chip after processing ini. And also the carrier leak calibration status is checked during init cal. As the init_cal is being called for fast channel change too, the tx_cl status only be read after full reset. Hence moving that into process ini function. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 77a5a6648da6b90d6ba990bf03c59993cdd5a516 Author: Rajkumar Manoharan Date: Thu Oct 13 11:00:37 2011 +0530 ath9k_hw: Add support to reuse Carrier leak calibration This patch adds support to reuse Carrier leak calibration during fast channel change for AR9480 chips. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 34013524a1644bbd00c592541f67c536a384e707 Author: Rajkumar Manoharan Date: Thu Oct 13 11:00:36 2011 +0530 ath9k_hw: Add support to reuse TxIQ cal measurements Pass an argument to decide whether to reuse the Tx IQ calibration measurements or not during fast channel change. This will be later used by MCI support for AR9480. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 5f0c04ea1e7394c2b28fa247c1722487f9a77523 Author: Rajkumar Manoharan Date: Thu Oct 13 11:00:35 2011 +0530 ath9k_hw: Improve fast channel change for AR9003 chips In order to reduce the overall scan time, fast channel change should be implemented properly. This patch adds fast channel change support across band switch or channel mode switch instead of doing full chip reset. During the fastcc, tx iqcal measurements are preserved and will be reloaded after successful the channel change. This patch also addressed fast channel issue where the STA can not see APs in higher than operating channel on 5GHz band after the association. Cc: Paul Stewart Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit a240dc7b3c7463bd60cf0a9b2a90f52f78aae0fd Author: Rajkumar Manoharan Date: Thu Oct 13 11:00:34 2011 +0530 ath9k_hw: Updated AR9003 tx gain table for 5GHz The 5G Tx gain table w/ XPA is updated to improve spur performance in high_power Tx gain table. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit a08b36d15727c784ea83aac6ccd223c08f8b1f36 Author: Rajkumar Manoharan Date: Thu Oct 13 11:00:33 2011 +0530 ath9k_hw: Update AR9003 initval to improve phase noise Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit d2e452aed400120929703104eeaeee0ebbf0a955 Author: Rajkumar Manoharan Date: Thu Oct 13 11:00:32 2011 +0530 ath9k_hw: Updated ar9003 initval table for AR9380 The ar9003 table is updated to increase XLNA BIAS output driver strengh. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit eec353c5dab7f0e2b217d2793a3e75ea942e1cca Author: Rajkumar Manoharan Date: Thu Oct 13 10:49:13 2011 +0530 ath9k_hw: Fix ASPM L1 issue for AR9480 Because of not clearing Bit 14 of AR_WA, the ASPM L1 is not enabled when entering into sleep mode. AR9480 does not need bit 14 to be set. Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 711825a06bb288e04f8236d77c4e12eba9a1c478 Author: Amitkumar Karwar Date: Wed Oct 12 20:29:33 2011 -0700 mwifiex: fix make namespacecheck warnings This patch takes care of warnings found by running 'make namespacecheck': 1. Remove dead code. 2. Reorder function definitions to avoid forward declarations. 3. Remove unnecessary function/structure declarations and mark them as static. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit efaaa8b8414e0ab4ba09aaaf79ab92a34b75797b Author: Amitkumar Karwar Date: Wed Oct 12 20:28:06 2011 -0700 mwifiex: use separate wait condition for each command node Currently global wait condition (adapter->cmd_wait_q.condition) is used while sending synchronous commands to FW. When two threads enter in mwifiex_send_cmd_sync() routine at the same time, both the threads wait for their command responses. Since wait condition is same for both, they wake up simultaneously after getting response of 1st command. After this when a thread is waiting for command response of 3rd command, it wakes up after getting response of 2nd command and so on. Therefore we don't wait for the response of last command(0xaa) during unload. Hence while next time loading the driver command time out is seen for INIT command. This problem is resolved by having separate wait condition flag for each command(except scan command). Since scan command is treated differently (by maintaining scan pending q etc.), newly defined flag (scan_wait_q_woken) is used as a scan wait condition. Signed-off-by: Amitkumar Karwar Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 207ae4a3733686df2aabd2dd6feefbde4e69cdd5 Author: Rafał Miłecki Date: Wed Oct 12 23:18:15 2011 +0200 b43: N-PHY: report signal to mac80211 Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 5b346f3eb4b59e00fbaca51637f2cf1df3f47f9d Author: Rafał Miłecki Date: Wed Oct 12 23:18:14 2011 +0200 Revert "b43: trivial: do not report any link quality instead of invalid one" This reverts commit 55ad5962e97430c83d51df36fc18865ee4f78c48. I assumed N is newer than LP, which isn't true. This regressed LP case. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit b7a57e762ecf5d9971549ab3f9eb66b559840e72 Author: Stephen Rothwell Date: Wed Oct 12 21:35:07 2011 +0200 net: wireless: brcm80210: include module.h Signed-off-by: Stephen Rothwell Signed-off-by: John W. Linville commit d8f6cd03de79530a7b8234d2c33a71f83d5b14b0 Author: Alwin Beukers Date: Wed Oct 12 20:51:32 2011 +0200 brcm80211: removed file wifi.c Wifi.c was empty after previous cleanups, so it was removed. Reviewed-by: Arend van Spriel Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 447606514450655885c5369782d7baa2478916a7 Author: Alwin Beukers Date: Wed Oct 12 20:51:31 2011 +0200 brcm80211: moved function brcmu_format_flags Moved the brcmu_format_flags function and brcmu_bit_desc structure into smac. Names were adjusted accordingly. Reported-by: Johannes Berg Reviewed-by: Roland Vossen Reviewed-by: Arend van Spriel Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 53a2277d2ad411b440d2f102ced7bebef42c2fd7 Author: Alwin Beukers Date: Wed Oct 12 20:51:30 2011 +0200 brcm80211: moved function brcmu_mkiovar Moved the brcmu_mkiovar function into fmac, adjusting the name accordingly. Reported-by: Johannes Berg Reviewed-by: Roland Vossen Reviewed-by: Arend van Spriel Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 3de67818e7e7ef95c8f7eac665dd29454c07b48b Author: Alwin Beukers Date: Wed Oct 12 20:51:29 2011 +0200 brcm80211: moved function brcmu_chspec_malformed Moved brcmu_chspec_malformed into the only file using it. The function name was adjusted accordingly. Reported-by: Johannes Berg Reviewed-by: Roland Vossen Reviewed-by: Arend van Spriel Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit f8e4b412c9df596557baf36f9d9635fd4f55a2a0 Author: Alwin Beukers Date: Wed Oct 12 20:51:28 2011 +0200 brcm80211: moved function brcmu_parse_tlvs Moved the brcmu_parse_tlvs function and brcmu_tlv structure into the only file using them. Names were adjusted accordingly. Reported-by: Johannes Berg Reviewed-by: Roland Vossen Reviewed-by: Arend van Spriel Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit b0551fb7e01d76165367ce77ddfcb80009b31427 Author: Alwin Beukers Date: Wed Oct 12 20:51:27 2011 +0200 brcm80211: moved function brcmu_chipname Moved the brcmu_chipname function into the only file using it. The function name was adjusted accordingly. Reported-by: Johannes Berg Reviewed-by: Roland Vossen Reviewed-by: Arend van Spriel Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit ef6ac17a20a424fdfb049ae475d62b92c192d1bc Author: Alwin Beukers Date: Wed Oct 12 20:51:26 2011 +0200 brcm80211: moved power conversion functions Moved brcmu_mw_to_qdbm and brcmu_qdbm_to_mw functions into the only file using them. Names were adjusted accordingly. Reported-by: Johannes Berg Reviewed-by: Roland Vossen Reviewed-by: Arend van Spriel Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit f53b170f465d52546c33faa962c3d2609a6bf5b3 Author: Alwin Beukers Date: Wed Oct 12 20:51:25 2011 +0200 brcm80211: removed unused functions Removed brcmu_bitcount, brcmu_mhz2channel, brcmu_chspec_ctlchan. Reported-by: Johannes Berg Reviewed-by: Roland Vossen Reviewed-by: Arend van Spriel Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit a718e2fed1a31239922d06d7877fc3436eb05288 Author: Roland Vossen Date: Wed Oct 12 20:51:24 2011 +0200 brcm80211: fmac: fixed weird indentation And changed function name to something more appropriate. Reported-by: Johannes Berg Reviewed-by: Alwin Beukers Reviewed-by: Arend van Spriel Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit c68cdc0ff6da538226bd440ecc6a005e74e0ace6 Author: Arend van Spriel Date: Wed Oct 12 20:51:23 2011 +0200 brcm80211: use endian annotation for scan time configuration For scanning several timeout parameters are configured on the device. These parameters have been endian annotated and converted appropriately. Reported-by: Johannes Berg Reviewed-by: Roland Vossen Reviewed-by: Franky (Zhenhui) Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit f588bc0c0b98cec3183333e52e3a28df2a3fc0c1 Author: Arend van Spriel Date: Wed Oct 12 20:51:22 2011 +0200 brcm80211: use endian annotation for roaming related parameters The parameters for roaming are sent to the device and should be little endian. These have been annotated and converted appropriately. Reported-by: Johannes Berg Reviewed-by: Roland Vossen Reviewed-by: Franky (Zhenhui) Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit c4e382d23969e97e9d07d1dc7a5b96d068170479 Author: Arend van Spriel Date: Wed Oct 12 20:51:21 2011 +0200 brcm80211: use endian annotations for assoc ie length request The driver requests the device for number of ie's in assoc request and response. This needed to be endian annotated. Reported-by: Johannes Berg Reviewed-by: Roland Vossen Reviewed-by: Franky (Zhenhui) Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 40c8e95af02d29a488d6a6b127f562d9210e6005 Author: Arend van Spriel Date: Wed Oct 12 20:51:20 2011 +0200 brcm80211: use endian annotation for pmk related structure The pairwise master key configuration is sent to the device. The structure has been annotated for endianess checking. Reported-by: Johannes Berg Reviewed-by: Roland Vossen Reviewed-by: Franky (Zhenhui) Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 668310754f32b6c0a421361a3e45767a4b5f5c05 Author: Arend van Spriel Date: Wed Oct 12 20:51:19 2011 +0200 brcm80211: use endian annotations in scan related function The scan related functions provide scan parameters to the device which need to be in little-endian. These parameters have been annotated and conversions were placed as needed. Reported-by: Johannes Berg Reviewed-by: Roland Vossen Reviewed-by: Franky (Zhenhui) Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 1062904c9b053ed4f2b77900aacc122f68febb0b Author: Arend van Spriel Date: Wed Oct 12 20:51:18 2011 +0200 brcm80211: fix annotations in TOE configuration functions The configuration function for the TCP offload engine were not taking CPU endianess into account. Proper annotations and conversions have been added. Reported-by: Johannes Berg Reviewed-by: Roland Vossen Reviewed-by: Franky (Zhenhui) Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit b5036243c122996d524235536542187dd3138aee Author: Arend van Spriel Date: Wed Oct 12 20:51:17 2011 +0200 brcm80211: rename variable in _brcmf_set_multicast_list() The variable allmulti was used to provision IFF_ALLMULTI to the device as well as IFF_PROMISC. For clarity the variable has been renamed. Reviewed-by: Roland Vossen Reviewed-by: Franky (Zhenhui) Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit f7264adb9a0ec492c3f6ee2a476a9ad9027317f9 Author: Arend van Spriel Date: Wed Oct 12 20:51:16 2011 +0200 brcm80211: add endian annotation to packet filter structures The packet filter structures were byte copied and transferred over the host bus to the device. As such they are little endian and have been annotated accordingly. Reported-by: Johannes Berg Reviewed-by: Franky (Zhenhui) Lin Reviewed-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit df4492f89499fa5ba45f8fdfe1f100b4112f5368 Author: Arend van Spriel Date: Wed Oct 12 20:51:15 2011 +0200 brcm80211: fix sparse endianess error in mac80211_if.c The ht capabilities provided upon registration with mac80211 must be in little endian. This was fixed adding cpu_to_le16() conversion. Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit af5349581c01780824d3229fc958354c1f7e9c91 Author: Arend van Spriel Date: Wed Oct 12 20:51:14 2011 +0200 brcm80211: remove sparse warning in fullmac debug function The debug function did a write operation which required a different pointer type resulting in a sparse warning. Reviewed-by: Roland Vossen Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 94bdc2a2d487b1d51f024dba5db0bc34013d7706 Author: Alwin Beukers Date: Wed Oct 12 20:51:13 2011 +0200 brcm80211: cleanup function prototypes - removed unneeded fn prototypes from include files. - explicitly marked fn prototypes as extern in include files. - reordered functions to account for removed forward declarations in include files. - removed unused functions: brcms_c_txflowcontrol_override, brcms_c_txflowcontrol_prio_isset, brcms_c_txflowcontrol. Reviewed-by: Roland Vossen Reviewed-by: Arend van Spriel Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 2a7fc5b1c17a6055fe2753ebacaf43b5780bcf99 Author: Roland Vossen Date: Wed Oct 12 20:51:12 2011 +0200 brcm80211: smac: decreased timer callback irq level Timer functions were called at soft-irq level, leading to the limitation that mutexes could not be used. Lifted this limitation by migrating to work queues. Reviewed-by: Alwin Beukers Reviewed-by: Arend van Spriel Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit be69c4ef462a476523f89c74e7db29f6ad207a1a Author: Roland Vossen Date: Wed Oct 12 20:51:11 2011 +0200 brcm80211: smac: removed redundant timer function parameters Parameter 'wl' is already stored in struct brcms_timer, so the number of function parameters could be decreased. Reviewed-by: Alwin Beukers Reviewed-by: Arend van Spriel Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 55182e4adfffa808a1d07a515637c05c67028a5f Author: Johannes Berg Date: Wed Oct 12 17:28:21 2011 +0200 mac80211: reformat TX unauthorised check Reformat the check, the indentation is completely strange. Also change the last part of the condition to make the code shorter. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 107ef97a170dec95893f34614edd92eb8cb9b5d0 Author: Stanislaw Gruszka Date: Wed Oct 12 10:16:35 2011 +0200 iwlagn: fix priv->cfg->ht_params NULL pointer dereference This fix regression introduced by commit: commit 15b3f3b006b42a678523cad989bfd60b76bf4403 Author: Wey-Yi Guy Date: Fri Jun 3 07:54:13 2011 -0700 iwlagn: set smps mode after assoc for 1000 device Also remove unneeded brackets on the way. Address: https://bugzilla.redhat.com/show_bug.cgi?id=744155 Cc: stable@kernel.org # 3.1+ Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit f9a703e173849425079e29e63bf960c2625e0a85 Author: Dan Carpenter Date: Wed Oct 12 11:10:37 2011 +0300 iwmc3200wifi: add a range check to iwm_cfg80211_get_key() Smatch complains that "key_index" is capped at 5 in nl80211_get_key() but iwm->keys[] only has 4 elements. I don't know if this is really needed, but the other ->get_key() implementations seemed to check for overflows so I've added a check here. Signed-off-by: Dan Carpenter Acked-by: Samuel Ortiz Signed-off-by: John W. Linville commit d83579e2a50ac68389e6b4c58b845c702cf37516 Author: Chaoming Li Date: Tue Oct 11 21:28:51 2011 -0500 rtlwifi: rtl8192de: Updates from latest Reaktek driver - Part III This patch incorporate the differences between the 06/20/2011 and 08/16/2011 Realtek releases of the rtl8192de driver. The changes include: 1. Update for new chip versions Signed-off-by: Chaoming Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 5c079d8848740278e70100797265a2965197c84f Author: Chaoming Li Date: Wed Oct 12 15:59:09 2011 -0500 rtlwifi: rtl8192se: Updates from latest Realtek driver version - Part II This patch incorporate the differences between the 06/20/2011 and 08/16/2011 Realtek releases of the rtl8192se driver. The changes include: 1. Fixing some typos in register usage. 2. A change in the handling of decryption status for 802.11w packets. Signed-off-by: Chaoming Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit db7599391385f9837ac8a35b8f9d202b85409992 Author: Chaoming Li Date: Tue Oct 11 21:28:49 2011 -0500 rtlwifi: rtl8192ce: Add new chip revisions This patch incorporate the differences between the 06/20/2011 and 08/16/2011 Realtek releases of the rtlwifi driver. The changes include: 1. Adding new chip revisions including new firmware. Signed-off-by: Chaoming Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 09e92f0be2cc14dc808de0c0f12b57981b8c027d Author: Chaoming Li Date: Tue Oct 11 21:28:48 2011 -0500 rtlwifi: Update to new Realtek version - Part I This patch incorporate the differences between the 06/20/2011 and 08/16/2011 Realtek releases of the rtlwifi driver. The changes include: 1. Handling of IEEE80211_HW_CONNECTION_MONITOR. 2. Fix typo to get proper response to nullfunc frames. Signed-off-by: Chaoming Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 603be3885b9d518ff4822b357e2687b6ff02f1ac Author: Larry Finger Date: Tue Oct 11 21:28:47 2011 -0500 rtlwifi: Change PCI drivers to use the new PM framework Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 7f2a5e214d3f8daf1e9a5ad021c74528f970e673 Author: Helmut Schaa Date: Tue Oct 11 18:08:55 2011 +0200 mac80211: Populate radiotap header with MCS info for TX frames mac80211 already filled in the MCS rate info for rx'ed frames but tx'ed frames that are sent to a monitor interface during the status callback lack this information. Add the radiotap fields for MCS info to ieee80211_tx_status_rtap_hdr and populate them when sending tx'ed frames to the monitors. The needed headroom is only extended by one byte since we don't include legacy rate information in the rtap header for HT frames. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit a2fe81667410723d941a688e1958a49d67ca3346 Author: Helmut Schaa Date: Tue Oct 11 18:08:54 2011 +0200 mac80211: Build TX radiotap header dynamically Get rid of the ieee80211_tx_status_rtap_hdr struct and instead build the rtap header dynamically. This makes it easier to extend the rtap header generation in the future. Add ieee80211_tx_radiotap_len to calculate the expected size of the rtap header before generating it. Since we can't check if the rtap header fits into the requested headroom during compile time anymore add a WARN_ON_ONCE. Also move the actual rtap header generation into its own function. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 7bd9897e1a07d97e6297f38f741e2d1851e243b8 Author: Emmanuel Grumbach Date: Mon Oct 10 07:27:19 2011 -0700 iwlagn: add missing include to iwl-agn-rs.h A few were missing Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 397ede37a4defbe0000f2cc994fe9b7225f33c89 Author: Emmanuel Grumbach Date: Mon Oct 10 07:27:18 2011 -0700 iwlagn: remove uneeded include to iwl-dev.h iwl-core.c and iwl-trans-pcie-tx.c don't need to include iwl-dev.h Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 6a686c600268b71619f93d35f9373e2b6ab5947b Author: Emmanuel Grumbach Date: Mon Oct 10 07:27:17 2011 -0700 iwlagn: move iwl_enable_rfkill_int and kill iwl-helpers.h Move iwl_enable_rfkill_int to iwl-core.h, and remove the empty iwl-helpers.h Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 8c22254454eaa4f483103c6850f6f16d4f09c161 Author: Emmanuel Grumbach Date: Mon Oct 10 07:27:16 2011 -0700 iwlagn: move iwl_beacon_time_mask_XXX near to usage Since iwl_beacon_time_mask_[high,low] are used in iwl-core.c only, move them to there. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 02f13d853c0632033f07752c87b0bfd74fd40b0b Author: Johannes Berg Date: Mon Oct 10 07:27:15 2011 -0700 iwlagn: remove 6000 hw header The constants can be moved together with the similar ones for other devices and we can then remove the file. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 0b3e6f861a108dee24e93624b279984e7385012f Author: Johannes Berg Date: Mon Oct 10 07:27:14 2011 -0700 iwlagn: remove 5000 hw header The inline function in this header is only used in a single file, so we can move it there. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 3246c4e6addfbf69b23095b69c5484cd76ddb37b Author: Wey-Yi Guy Date: Mon Oct 10 07:27:13 2011 -0700 iwlagn: rename iwl-rx.c to iwl-agn-rx.c After driver split, there were no shared functions between agn and legacy; rename iwl-rx.c to iwl-agn-rx.c Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit c745f55baf63d08d6e9bb20682102fb8bae8f67a Author: Wey-Yi Guy Date: Mon Oct 10 07:27:12 2011 -0700 iwlagn: merge station management functions After driver split, no need to separate station management functions in two files, merge it Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit ade4c649a0e9e862751fe1c98f43fbee86554c8a Author: Wey-Yi Guy Date: Mon Oct 10 07:27:11 2011 -0700 iwlagn: rename all the mac80211 callback functions Use the same calling style for all the mac80211 callback functions Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 770c72c48193b070e13a08d5df7f3a2cac204569 Author: Wey-Yi Guy Date: Mon Oct 10 07:27:10 2011 -0700 iwlagn: add debug for mac80211 callback Add IWL_DEBUG_MAC80211 debug for all mac80211 callback function Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit ef082cb1e5f57fd3435fd9ccdf67e9d1c6bb7b17 Author: Wey-Yi Guy Date: Mon Oct 10 07:27:09 2011 -0700 iwlagn: don't stop rts/cts until last aggregation queue close Once enable rts/cts for aggregation queue, do not disable until the last aggregation queue closed. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 8921d4cab903a0578663d8c924d9054e96c2a0fa Author: Wey-Yi Guy Date: Mon Oct 10 07:27:08 2011 -0700 iwlagn: more info on warning for shutdown agg queue When detect wrong state on shutdown aggregation queue, show more information for debugging Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit add6ff1aa35495f259056954202494f89f11cc98 Author: Wey-Yi Guy Date: Mon Oct 10 07:27:07 2011 -0700 iwlwifi: update comments on how to enable debug flag Modify comments on how to enable and change debug_level Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit f3129b73889086f326d810c1cf4e807849321d64 Author: Wey-Yi Guy Date: Mon Oct 10 07:27:06 2011 -0700 iwlagn: use low retry limit for WoWLAN When in D3 state, use low retry limit for both data and rts Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 281e27c8092da95c83f6bc3df8fc11235f4b364c Author: Wey-Yi Guy Date: Mon Oct 10 07:27:05 2011 -0700 iwlagn: do nothing when disable agg in wrong state When disable aggregation request come in on wrong agg state. ignore it Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 9e8107ed9058e910eee982ee94d3a5eb201fb5d1 Author: Emmanuel Grumbach Date: Mon Oct 10 07:27:03 2011 -0700 iwlagn: warn only once if AGG state is wrong This one can be _very_ noisy. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 984ecb9293b77901947f3ade5f7e1a70bfc7d940 Author: Emmanuel Grumbach Date: Mon Oct 10 07:27:02 2011 -0700 iwlagn: fix a race in the unmapping of the TFDs While inspecting the code, I saw that iwl_tx_queue_unmap modifies the read pointer of the Tx queue without taking any locks. This means that it can race with the reclaim flow. This can possibly lead to a DMA warning complaining that we unmap the same buffer twice. This is more a W/A than a fix since it is really weird to take sta_lock inside iwl_tx_queue_unmap, but it can help until we revamp the locking model in the transport layer. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit b319d3eb964a602dd1f77bd04b033c40f896e06f Author: Wey-Yi Guy Date: Mon Oct 10 07:27:01 2011 -0700 iwlagn: Add "_d" sku to 105 series of devices Add additional sku to 105 series Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 5131a600f044bc2a85cadda1eeef684fdb6b190c Author: Wey-Yi Guy Date: Mon Oct 10 07:27:00 2011 -0700 iwlagn: add "_d" sku to 6005 series of devices Add additional sku to 6005 series of devices Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 78558cb4415919cae5ebc0213abd75fa86d7933b Author: Wey-Yi Guy Date: Mon Oct 10 07:26:59 2011 -0700 iwlagn: set rts retry limit setup the rts rety limit for tx command Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit c3322b30fe37db53feb4f60ccb1eb5175af2d2e0 Author: Wey-Yi Guy Date: Mon Oct 10 07:26:58 2011 -0700 iwlagn: remove un-necessary step No need to copy twice. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit d36120c6259e0d5bc435b8b690f73907357c26fb Author: Johannes Berg Date: Mon Oct 10 07:26:57 2011 -0700 iwlagn: stop interrupts when suspending Occasionally, the device will send interrupts while it is resuming, at a point where we are not set up again to handle them. This causes the core IRQ handling to completely disable the IRQ, and then the driver won't work again until it is reloaded/rebound. To fix this issue disable the IRQ on suspend, this will cause us to only get interrupts again after we've setup everything on resume. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 26bfc0cfdb6b9a12911f8dde4f96c958aef357ae Author: Don Fry Date: Mon Oct 10 07:26:56 2011 -0700 iwlagn: eliminate bus pointer from iwl_priv structure A pointer to the bus structure is still in iwl_priv. Finish cleanup and remove it. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 3eae4bb176d3d51f6c61b8b1679116e58586d669 Author: Emmanuel Grumbach Date: Mon Oct 10 07:26:55 2011 -0700 iwlagn: kill hw_params.max_stations Not needed since driver split. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit c079166e1bb5d8e8ee9ee25f5a2ea3ff457ead65 Author: Johannes Berg Date: Mon Oct 10 07:26:54 2011 -0700 iwlagn: send simple LQ command for WoWLAN For some reason, WoWLAN doesn't always seem to be happy with more advanced LQ commands. Since we don't need them as we're not going to send a lot of data, simply program the station with the very simple default LQ command. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 164ae97eb5be612b58b2b1b395bb8287f555c661 Author: Johannes Berg Date: Mon Oct 10 07:26:53 2011 -0700 iwlagn: don't assign seqno to QoS Null frames 802.11 says: "Sequence numbers for QoS (+)Null frames may be set to any value." However, if we use the normal counters then peers will get confused with aggregation since there'll be holes in the sequence number sequence. To avoid that, don't assign sequence numbers to QoS Null frames. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi GUy Signed-off-by: John W. Linville commit 3bde2b68cfdeb3b68284172fa7759287a63cd981 Author: Johannes Berg Date: Mon Oct 10 07:26:52 2011 -0700 iwlagn: update beacon smarter Updating the beacon every time right after one was transmitted is pointless, most of the time we might not even have to update it. We will update it every time it changes, which includes from set_tim(), a callback iwlwifi didn't implement so far. This also reduces latency for clients, previously we would update the beacon right after the previous one was transmitted, and then a TIM change would only take effect after that again -- updating the beacon right after the TIM changes makes the TIM change go out to the air faster. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 7e4005cc4ae49100582ee1c97368dd79474f0a82 Author: Wey-Yi Guy Date: Mon Oct 10 07:26:51 2011 -0700 iwlagn: add "echo test" command to debugfs For command queue testing, add "echo test" to debugfs Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 46e7741ea176b6bb86d9d0ae5770c2e7528dc146 Author: Wey-Yi Guy Date: Mon Oct 10 07:26:50 2011 -0700 iwlagn: check rf kill in queue stuck check the RF KILL flag in queue stuck watch dog function Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 317d09f76976c5a0b1e758fe45474a47cbea1aef Author: Wey-Yi Guy Date: Mon Oct 10 07:26:49 2011 -0700 iwlagn: add "echo" test when command queue stuck When detect command queue stuck, instead of reload the firmware do the "echo" test to make sure it is really stuck before reload Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 05c89b917da27c15c82433bc6fc740548ee1cb35 Author: Wey-Yi Guy Date: Mon Oct 10 07:26:48 2011 -0700 iwlagn: add WARN if tx cmd complete come back late For error condition, STATUS_HCMD_ACTIVE already got clear before receive tx cmd complete, give warning Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit e80eb00276c990b8d192cc594e607d2f4b4bfc65 Author: Wey-Yi Guy Date: Mon Oct 10 07:26:47 2011 -0700 iwlagn: add REPLY_ECHO host command Add "echo" host command for testing and drebugging to make sure uCode still responding Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit d10630aff7e40d97c8c8be91408d5f2433b12603 Author: Wey-Yi Guy Date: Mon Oct 10 07:26:46 2011 -0700 iwlagn: add cmd queue pointer info when timeout When detect cmd queue time out, display the current read/write pointer Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 88149db4948ef90cf6220d76e34955e46c2ff9f9 Author: Szymon Janc Date: Mon Sep 26 14:19:47 2011 +0200 Bluetooth: rfcomm: Fix sleep in invalid context in rfcomm_security_cfm This was triggered by turning off encryption on ACL link when rfcomm was using high security. rfcomm_security_cfm (which is called from rx task) was closing DLC and this involves sending disconnect message (and locking socket). Move closing DLC to rfcomm_process_dlcs and only flag DLC for closure in rfcomm_security_cfm. BUG: sleeping function called from invalid context at net/core/sock.c:2032 in_atomic(): 1, irqs_disabled(): 0, pid: 1788, name: kworker/0:3 [] (unwind_backtrace+0x0/0x108) from [] (dump_stack+0x20/0x24) [] (dump_stack+0x20/0x24) from [] (__might_sleep+0x110/0x12c) [] (__might_sleep+0x110/0x12c) from [] (lock_sock_nested+0x2c/0x64) [] (lock_sock_nested+0x2c/0x64) from [] (l2cap_sock_sendmsg+0x58/0xcc) [] (l2cap_sock_sendmsg+0x58/0xcc) from [] (sock_sendmsg+0xb0/0xd0) [] (sock_sendmsg+0xb0/0xd0) from [] (kernel_sendmsg+0x3c/0x44) [] (kernel_sendmsg+0x3c/0x44) from [] (rfcomm_send_frame+0x50/0x58) [] (rfcomm_send_frame+0x50/0x58) from [] (rfcomm_send_disc+0x78/0x80) [] (rfcomm_send_disc+0x78/0x80) from [] (__rfcomm_dlc_close+0x2d0/0x2fc) [] (__rfcomm_dlc_close+0x2d0/0x2fc) from [] (rfcomm_security_cfm+0x140/0x1e0) [] (rfcomm_security_cfm+0x140/0x1e0) from [] (hci_event_packet+0x1ce8/0x4d84) [] (hci_event_packet+0x1ce8/0x4d84) from [] (hci_rx_task+0x1d0/0x2d0) [] (hci_rx_task+0x1d0/0x2d0) from [] (tasklet_action+0x138/0x1e4) [] (tasklet_action+0x138/0x1e4) from [] (__do_softirq+0xcc/0x274) [] (__do_softirq+0xcc/0x274) from [] (do_softirq+0x60/0x6c) [] (do_softirq+0x60/0x6c) from [] (local_bh_enable_ip+0xc8/0xd4) [] (local_bh_enable_ip+0xc8/0xd4) from [] (_raw_spin_unlock_bh+0x48/0x4c) [] (_raw_spin_unlock_bh+0x48/0x4c) from [] (data_from_chip+0xf4/0xaec) [] (data_from_chip+0xf4/0xaec) from [] (send_skb_to_core+0x40/0x178) [] (send_skb_to_core+0x40/0x178) from [] (cg2900_hu_receive+0x15c/0x2d0) [] (cg2900_hu_receive+0x15c/0x2d0) from [] (hci_uart_tty_receive+0x74/0xa0) [] (hci_uart_tty_receive+0x74/0xa0) from [] (flush_to_ldisc+0x188/0x198) [] (flush_to_ldisc+0x188/0x198) from [] (process_one_work+0x144/0x4b8) [] (process_one_work+0x144/0x4b8) from [] (worker_thread+0x198/0x468) [] (worker_thread+0x198/0x468) from [] (kthread+0x98/0xa0) [] (kthread+0x98/0xa0) from [] (kernel_thread_exit+0x0/0x8) Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 722c9930f209dc428c1e568bd2c0f4cbd3b30dbd Author: Stephen Rothwell Date: Wed Oct 12 13:36:00 2011 +1100 net: wireless: brcm80211: replace ndo_set_multicast_list with ndo_set_rx_mode Signed-off-by: Stephen Rothwell Signed-off-by: John W. Linville commit d930faee141bd0a6a4873791996c5354c9a85ca7 Author: Amitkumar Karwar Date: Tue Oct 11 17:41:21 2011 -0700 mwifiex: add support for Marvell pcie8766 chipset This patch supports 88W8766P chipset with a PCIe interface. The corresponding firmware image file is located at: "mrvl/pcie8766_uapsta.bin" Signed-off-by: Amitkumar Karwar Signed-off-by: Ramesh Radhakrishnan Signed-off-by: Yogesh Ashok Powar Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: Frank Huang Signed-off-by: John W. Linville commit ec205999d31bbb1208ab59c3b6d22c47cca74257 Author: Felix Fietkau Date: Sat Oct 8 22:02:59 2011 +0200 ath9k: only send FCS-fail packets to mac80211 if requested Prevents lots of broken frames from showing up on monitor interfaces by default. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 846d9363505d14e591a427619ccb7ffe6a7a3541 Author: Felix Fietkau Date: Sat Oct 8 22:02:58 2011 +0200 ath9k_hw: fix a regression in key miss handling The commit "ath9k_hw: Fix incorrect key_miss handling" changed the code to only report key miss errors if a MIC error wasn't reported. When checking the flags in that order in the MAC code, it might miss some real events, because the value of the MIC error flag is undefined under some conditions. The primary issue addressed by the previous commit is making sure that MIC errors are properly reported on the STA side. This can be fixed in a better way by adding a separate rx status flag for key miss and ignoring it for multicast frames. This fix slightly improves stability in AP mode on some older hardware, like AR9132. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 1b428a26a13732444ca4c16914e03cfe878b15f4 Author: Felix Fietkau Date: Sat Oct 8 20:06:22 2011 +0200 ath9k_hw: remove EEP_REG_1 It was previously used for current_rd_ext Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit cd2ea0df6892893c9a47b55f37a4d73736221a39 Author: Felix Fietkau Date: Sat Oct 8 20:06:21 2011 +0200 ath: remove ath_regulatory::current_rd_ext It is unused since the previous dead code that was using it had been removed earlier. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit ca2c68cc7bc80fc4504fb420df04cce99c9ee6ec Author: Felix Fietkau Date: Sat Oct 8 20:06:20 2011 +0200 ath9k_hw: clean up tx power handling The code for handling various restrictions concerning regulatory limits, antenna gain, etc. is very convoluted and duplicated across various EEPROM parsing implementations, making it hard to review. This patch partially cleans up the mess by unifying regulatory limit handling in one function and simplifying handling of antenna gain. It also removes unused transmit power scaling arrays from the EEPROM code, which belonged to an unimplemented API that isn't supposed to be in the driver anyway. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 72d874c67c3cdf21ca95045baabac6a5843222d8 Author: Felix Fietkau Date: Sat Oct 8 20:06:19 2011 +0200 ath9k_hw: make ath9k_hw_set_interrupts use ah->imask by default Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit ac06697c79bad09e44a8b1d52104014016fb90de Author: Felix Fietkau Date: Sat Oct 8 15:49:57 2011 +0200 ath9k: disable unnecessary PHY error reporting PHY errors relevant for ANI are always tracked by hardware counters, the bits that allow them to pass through the rx filter are independent of that. Enabling PHY errors in the rx filter often creates lots of useless DMA traffic and might be responsible for some of the rx dma stop failure warnings. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 55ad5962e97430c83d51df36fc18865ee4f78c48 Author: Rafał Miłecki Date: Fri Oct 7 22:39:35 2011 +0200 b43: trivial: do not report any link quality instead of invalid one We don't want to report random quality info (new PHYs are affected). Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 73a253ca9865cf743c9bc1c97982cb343f535655 Author: Larry Finger Date: Fri Oct 7 11:27:33 2011 -0500 rtlwifi: Change debug parameter to apply to individual drivers The current debug parameter is applied to rtlwifi, which means that all loaded drivers have the same level of debugging applied. In addition, the previous method requires a two-step load process to enable debugging. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit d5294971f11fc2b150437e43a4057c867c2bf413 Author: Johannes Berg Date: Fri Oct 7 14:55:40 2011 +0200 mac80211: dont orphan TX skb This was another workaround for truesize "bugs". The reason we did this was that when we orphaned the SKB it wouldn't be truesize-checked later. Now that the check is gone (and we just charge the former smaller size to the socket) there's no longer a reason to orphan the skb here. Keep the skb charged to the socket until it is really freed (or orphaned in TX status). This helps flow control and allows us to get at the socket later for other purposes. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 72267e5cfefb2b54b6a16e5775da01e26ede2953 Author: Johannes Berg Date: Fri Oct 7 14:55:39 2011 +0200 mac80211: dont adjust truesize There's no need to adjust truesize. The history of this was that we always ran into skb_truesize_bug (via skb_truesize_check) which has since been removed in commit 92a0acce186cd. skb_truesize_check() checked that truesize was bigger or equal to the actual allocation, which would trigger in mac80211 due to header adding. The check no longer exists and we shouldn't be messing with the truesize anwyay. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 73b9f03a813d66484105c4ed648a1aa66fa267aa Author: Johannes Berg Date: Fri Oct 7 14:01:26 2011 +0200 mac80211: parse radiotap header earlier We can now move the radiotap header parsing into ieee80211_monitor_start_xmit(). This moves it out of the hotpath, and also helps the code since now the radiotap header will no longer be present in ieee80211_xmit() etc. which is easier to understand. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a26eb27ab430147a82e4a9f2f1ebfadf03d99550 Author: Johannes Berg Date: Fri Oct 7 14:01:25 2011 +0200 mac80211: move fragment flag to info flag as dont-fragment The purpose of this is two-fold: 1) by moving it out of tx_data.flags, we can in another patch move the radiotap parsing so it no longer is in the hotpath 2) if a device implements fragmentation but can optionally skip it, the radiotap request for not doing fragmentation may be honoured Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 68f2b517bcbd81cb19321d5ca208d4c0f13b8728 Author: Johannes Berg Date: Fri Oct 7 14:01:24 2011 +0200 mac80211: remove tx_data ethertype It's set, but never used, so kill it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5d9cf4a5d7d46e412bc43b20c79743d81a0328cb Author: Johannes Berg Date: Fri Oct 7 14:01:23 2011 +0200 mac80211: optimise monitor xmit Since the only way the interface can be a monitor interface in ieee80211_xmit() is because the frame came from ieee80211_monitor_start_xmit() we can move all the code there. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit daa5c408a57514aaeef49a798202d285ee355c3e Author: Felix Fietkau Date: Fri Oct 7 02:28:15 2011 +0200 ath9k: fix retry counting / BAR handling during queue flush When tx is suspended temporarily and the queue is flushed, do not increase the retry count or attempt to send out BAR frames. Instead simply retry the affected subframes normally after the reset. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 26a64259b702ec3eccb785e32e473eefcc76b5a5 Author: Felix Fietkau Date: Fri Oct 7 02:28:14 2011 +0200 ath9k: improve PS filter clearing and retry counting for A-MPDU Do not increment the retry counter if packets to a sleeping station were not sent because of tx failure, instead of only checking the filter flag. Clear the PS filter only after an A-MPDU was reported as filtered, otherwise the hardware might do some unnecessary extra retransmissions. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 030d6294351bfb0e29e2814bb8f6e6c2e25ffb54 Author: Felix Fietkau Date: Fri Oct 7 02:28:13 2011 +0200 ath9k: keep track of what's triggering hardware resets Export how many times each of the reset triggers has fired through debugfs. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 34d25810c7e73e49eed39a5d66170f3516a3c734 Author: Felix Fietkau Date: Fri Oct 7 02:28:12 2011 +0200 ath9k: indicate which queues are blocked when stopping tx fails Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 97091317aa86955dfacf1e1b2ed55cd9e399958c Author: Javier Cardona Date: Thu Oct 6 14:54:22 2011 -0700 mac80211: Fix regression that allowed mpaths between non-peers. Mesh paths should only exist over established peer links. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 3d82de0fa584fbe73cf74a3bbc906c8710c523b8 Author: Yogesh Ashok Powar Date: Wed Oct 5 14:58:24 2011 -0700 mwifiex: fix smatch errors drivers/net/wireless/mwifiex/main.c +828 mwifiex_remove_card(52) error: potential null derefence 'priv'. drivers/net/wireless/mwifiex/main.c +828 mwifiex_remove_card(52) error: we previously assumed 'priv' could be null (see line 820) drivers/net/wireless/mwifiex/txrx.c +90 mwifiex_process_tx(24) error: potential null derefence 'local_tx_pd'. drivers/net/wireless/mwifiex/sta_ioctl.c +766 mwifiex_rate_ioctl_set_rate_value(30) error: buffer overflow 'rate' 14 <= 14 Cc: Dan Carpenter Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit f49bbd2a45bf37d9fe202486712c89c214e33b5a Author: Dan Carpenter Date: Wed Oct 5 08:48:20 2011 +0300 ath9k: remove some bogus error handling code If "axq_qnum >= ARRAY_SIZE(sc->tx.txq)", then the call to ath9k_hw_releasetxqueue() would read beyond the end of the ah->txq[] array and possibly corrupt memory. Fortunately, ath9k_hw_setuptxqueue() doesn't return high values of "axq_qnum" and this code can be removed. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 8fb7475bde74814e5f9d0871590e00a6acb36a20 Author: Dan Carpenter Date: Wed Oct 5 08:46:37 2011 +0300 ath5k: remove some unneeded error handling code th5k_hw_setup_tx_queue() returns a valid offset into the ah->ah_txq[] array. The ah->ah_txq[] and the ah->txqs[] array are the same size. Both have AR5K_NUM_TX_QUEUES elements. So this error handling code will never trigger. Also it's wrong. The call to ath5k_hw_release_tx_queue() with a qnum of AR5K_NUM_TX_QUEUES or more will just trigger a WARN_ON() and return. Or if it missed the WARN_ON(), it would just corrupt some memory and return. Signed-off-by: Dan Carpenter Reviewed-by: Bob Copeland Signed-off-by: John W. Linville commit 28a1bcdb57d50f3038a255741ecc83e391e5282e Author: Johannes Berg Date: Tue Oct 4 18:27:10 2011 +0200 mac80211: fix offchannel TX cookie matching When I introduced in-kernel off-channel TX I introduced a bug -- the work can't be canceled again because the code clear the skb pointer. Fix this by keeping track separately of whether TX status has already been reported. Cc: stable@kernel.org [2.6.38+] Reported-by: Jouni Malinen Tested-by: Jouni Malinen Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit af4dc88c56559c1ebf53628ddcc18dde23924e33 Author: Wey-Yi Guy Date: Tue Oct 4 07:10:19 2011 -0700 iwlagn: separate init calib and rt calib My previous patch for init calib cfg disable a set of calibration for both init and runtime which cause performance issue, Fix it Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit dcd83976bea3ae3bc0822ed26cf200d9d6203121 Author: Johannes Berg Date: Tue Oct 4 15:07:33 2011 +0200 mac80211: pass no-CCK flag through to HW scan This is needed so that offloaded scan can do the right thing. Without this patch, the no_cck flag contains random values from the kernel heap. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5dde8e174909eee6945d5b294fad443c5bf094eb Merge: 5b435de 694440d Author: John W. Linville Date: Tue Oct 11 15:56:29 2011 -0400 Merge branch 'for-linville' of git://github.com/lucacoelho/wl12xx commit 5b435de0d786869c95d1962121af0d7df2542009 Author: Arend van Spriel Date: Wed Oct 5 13:19:03 2011 +0200 net: wireless: add brcm80211 drivers Add the brcm80211 tree to drivers/net/wireless, and disable the version that's in drivers/staging. This version includes the sources currently in staging, plus any changes that have been sent out for review. Sources in staging will be deleted in a followup patch. Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 094daf7db7c47861009899ce23f9177d761e20b0 Merge: 3ed6f69 5f68a2b Author: John W. Linville Date: Tue Oct 11 15:35:42 2011 -0400 Merge branch 'master' of git://git.infradead.org/users/linville/wireless-next into for-davem Conflicts: Documentation/feature-removal-schedule.txt commit 5f68a2b0a890d086e40fc7b55f4a0c32c28bc0d2 Author: John W. Linville Date: Tue Oct 11 15:33:10 2011 -0400 ath6kl: fixup merge damage in ath6kl_mgmt_tx CC [M] drivers/net/wireless/ath/ath6kl/cfg80211.o drivers/net/wireless/ath/ath6kl/cfg80211.c:1838:2: warning: initialization from incompatible pointer type Caused by commit e9f935e3e8dc0bddd0df6d148165d95925422502... Signed-off-by: John W. Linville commit 8b0c11679fd37522d8d34a76101319a085d80912 Author: Rick Jones Date: Fri Oct 7 19:13:28 2011 -0400 net: Remove unnecessary driver assignments of ethtool_ringparam fields to zero Per comments from Ben Hutchings on a previous patch, sweep the floors a little removing unnecessary assignments of zero to fields of struct ethtool_ringparam in driver code supporting ethtool -g. Signed-off-by: Rick Jones Signed-off-by: David S. Miller commit 9696cc90071e3660ec02a3728acdedb68afdce4c Merge: c28b56b e3cba32 Author: Rafael J. Wysocki Date: Fri Oct 7 23:17:07 2011 +0200 Merge branch 'pm-qos' into pm-for-linus * pm-qos: PM / QoS: Update Documentation for the pm_qos and dev_pm_qos frameworks PM / QoS: Add function dev_pm_qos_read_value() (v3) PM QoS: Add global notification mechanism for device constraints PM QoS: Implement per-device PM QoS constraints PM QoS: Generalize and export constraints management code PM QoS: Reorganize data structs PM QoS: Code reorganization PM QoS: Minor clean-ups PM QoS: Move and rename the implementation files commit d727b60659a1173eb4142a5fc521ce67c28b34e1 Merge: 3ee72ca 2a5306c Author: Rafael J. Wysocki Date: Fri Oct 7 23:16:55 2011 +0200 Merge branch 'pm-runtime' into pm-for-linus * pm-runtime: PM / Tracing: build rpm-traces.c only if CONFIG_PM_RUNTIME is set PM / Runtime: Replace dev_dbg() with trace_rpm_*() PM / Runtime: Introduce trace points for tracing rpm_* functions PM / Runtime: Don't run callbacks under lock for power.irq_safe set USB: Add wakeup info to debugging messages PM / Runtime: pm_runtime_idle() can be called in atomic context PM / Runtime: Add macro to test for runtime PM events PM / Runtime: Add might_sleep() to runtime PM functions commit 694440d93b9963a2c426708cb11494236c0b2552 Author: Eliad Peller Date: Wed Oct 5 11:55:38 2011 +0200 wl12xx: disable AP-mode-specific quirks The current wl12xx fw (7.3.0.0.77) supports both STA and AP mode, and we no longer use AP-mode-specific quirks. WL12XX_QUIRK_END_OF_TRANSACTION is still used for certain HWs, while WL12XX_QUIRK_LPD_MODE is not used anymore. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 6d158ff38d8c99dc1bee775a66451168316692f4 Author: Shahar Levi Date: Thu Sep 8 13:01:33 2011 +0300 wl12xx: Add support for HW channel switch The wl12xx FW supports HW channel switch. If we don't use it, sometimes the firmware gets confused when recalibrating to the new channel, causing RX problems. This commit adds HW channel switch support by implementing the channell_switch op. Signed-off-by: Shahar Levi [added one comment, remove the tx_flush and rephrased the commit message] Signed-off-by: Luciano Coelho commit c9e79a4714493df6508d8346195ea30fb69b7783 Author: Luciano Coelho Date: Tue Sep 27 16:22:35 2011 +0300 wl12xx: set max_sched_scan_ie_len correctly The wiphy max_sched_scan_ie_len attribute was not set correctly and remained as 0, so when IEs were being passed in a scheduled scan, we were returning -EINVAL. Fix this by setting the attribute properly. Signed-off-by: Luciano Coelho commit 4b29886feb072427df80ca6395b2b11a09245eaf Author: Eliad Peller Date: Mon Oct 3 12:06:36 2011 +0200 wl12xx: configure rate policy for p2p operations p2p packets should go out only with OFDM rates. Configure a new rate policy that will (later) be used during p2p_find (when the p2p_cli / p2p_go interfaces are in use, we won't have to use this policy, as the configured rates should already be OFDM-only). Additionally, update CONF_TX_MAX_RATE_CLASSES to reflect the current value from the fw api. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 5d6bcdfe38ce883946aebf751a64695471ce1ab5 Author: Ian Campbell Date: Thu Oct 6 11:10:48 2011 +0100 net: use DMA_x_DEVICE and dma_mapping_error with skb_frag_dma_map When I converted some drivers from pci_map_page to skb_frag_dma_map I neglected to convert PCI_DMA_xDEVICE into DMA_x_DEVICE and pci_dma_mapping_error into dma_mapping_error. Signed-off-by: Ian Campbell Signed-off-by: David S. Miller commit c675786a162ce06ffd3f63beca933d83431eae38 Author: Paul Bolle Date: Wed Oct 5 14:56:46 2011 +0200 btmrvl_sdio: fix typo 'btmrvl_sdio_sd6888' It should be 'btmrvl_sdio_sd8688', of course. Signed-off-by: Paul Bolle Signed-off-by: Jiri Kosina commit d6222fb0d669307a49e2a96aad86c156a9bb9551 Merge: 76ed94b c510eae Author: John W. Linville Date: Tue Oct 4 14:06:47 2011 -0400 Merge branch 'master' of git://github.com/padovan/bluetooth-next commit 76ed94be65c8bd80b565865c186dd9f24bb2f23b Author: Mohammed Shafi Shajakhan Date: Fri Sep 30 11:31:28 2011 +0530 ath9k_hw: set pci_express capability true for AR9480 the AR_SREV register does not seems to indicate whether AR9480 is pci_express capable or not though the other information like macVersion etc can be obtained properly. this fix is essential as ASPM won't be intialized and its related driver functionality ath9k_hw_configpcipowersave won't be called Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 6321eb0977b011ac61dfca36e7c69b2c4325b104 Author: Mohammed Shafi Shajakhan Date: Fri Sep 30 11:31:27 2011 +0530 ath9k_hw: Fix number of GPIO pins for AR9287/9300 this patch fixes the assumption of maximum number of GPIO pins present in AR9287/AR9300. this fix is essential as we might encounter some functionality issues involved in accessing the status of GPIO pins which are all incorrectly assumed to be not within the range of max_num_gpio of AR9300/AR9287 chipsets Cc: stable@kernel.org Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 8f641d93c38ae93c67263d4e03f793092d471b12 Author: Daniel Drake Date: Mon Oct 3 11:33:02 2011 +0100 libertas: detect TX lockups and reset hardware Recent patches added support for resetting the SD8686 hardware when commands time out, which seems to happen quite frequently soon after resuming the system from a Wake-on-WLAN-triggered resume. At http://dev.laptop.org/ticket/10969 we see the same thing happen with transmits. In this case, the hardware will fail to respond to a frame passed for transmission, and libertas (correctly) will block all further commands and transmissions as the hardware can only deal with one thing at a time. This results in a lockup while the system waits indefinitely for the dead card to respond. Hook up a TX lockup timer to detect this and reset the hardware. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 8a3a3c85e44d58f5af0adac74a0b866ba89a1978 Author: Eliad Peller Date: Sun Oct 2 10:15:52 2011 +0200 mac80211: pass vif param to conf_tx() callback tx params should be configured per interface. add ieee80211_vif param to the conf_tx callback, and change all the drivers that use this callback. The following spatch was used: @rule1@ struct ieee80211_ops ops; identifier conf_tx_op; @@ ops.conf_tx = conf_tx_op; @rule2@ identifier rule1.conf_tx_op; identifier hw, queue, params; @@ conf_tx_op ( - struct ieee80211_hw *hw, + struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, const struct ieee80211_tx_queue_params *params) {...} Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit 3c607d27c818cf4a5d28f2c73b18a88f8fbdfa33 Author: Don Fry Date: Fri Sep 30 11:40:20 2011 -0700 iwlagn: rename iwlagn module iwlwifi and alias to iwlagn. Rename the iwlagn module as iwlwifi in preparation for future changes. Add an alias to iwlagn for backward compatibility. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 28d8c1df03502918bcafed38a0ccdca090b3a38b Author: Mohammed Shafi Shajakhan Date: Fri Sep 30 12:17:28 2011 +0530 ath9k_hw: extend GPIO pin select mask for rfkill this extends the bits for rf kill GPIO selection to [7:2] from [4:2] as we use GPIO pin 11 as rfkill for AR9480 and also remove few unused macros Cc: Wilson Tsao Cc: "Hu, Russell" Cc: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 44b815c6b063ddadacc062a28a3e3facc8486f31 Author: Amitkumar Karwar Date: Thu Sep 29 20:43:41 2011 -0700 mwifiex: handle an error path correctly In failure case locks are not allocated in mwifiex_register(). So mwifiex_free_lock_list() routine call becomes redundant. Also we don't need to check return type for mwifiex_init_lock_list() routine. It never fails. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit d85c5fe462fe3531f607fda787e9c80617e35437 Author: Amitkumar Karwar Date: Thu Sep 29 20:43:40 2011 -0700 mwifiex: correct AMSDU aggregation check The commit "mwifiex: remove list traversal.."(fcf2176c87..) wrongly modifies AMSDU aggregation check. Due to this even though packet size for iperf traffic is already large, we unnecessarily try to aggregate them which adds some delay. If Tx iperf is started on UUT for 30 seconds, UUT keeps sending Tx packets for few more seconds. That commit is reverted to fix the problem. Also, MIN_NUM_AMSDU check is moved inside the loop to optimize the loop. Signed-off-by: Amitkumar Karwar Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 8c34559b4a6df32e4af1b073397fa4dc189a5485 Author: Luis R. Rodriguez Date: Thu Sep 29 10:42:19 2011 -0700 ath9k_htc: add AVM FRITZ!WLAN 11N v2 support This was reported and tested by Martin Walter over at AVM GmbH Berlin. This also applies to 3.0.1 so sendint to stable. Cc: s.kirste@avm.de Cc: d.friedel@avm.de Cc: Martin Walter Cc: Peter Grabienski Cc: stable@kernel.org Tested-by: Martin Walter Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b6f35301efda5e94342cfcca9e29b7b3e9a5f827 Author: Rajkumar Manoharan Date: Thu Sep 29 20:34:04 2011 +0530 mac80211: Send nullfunc frames at lower rate during connection monitor Recently mac80211 was changed to use nullfunc instead of probe request for connection monitoring for tx ack status reporting hardwares. Sometimes in congested network, STA got disconnected quickly after the association. It was observered that the rate control was not adopted to environment due to minimal transmission. As the nullfunc are used for monitoring purpose, these frames should not be sacrificed for rate control updation. So it is better to send the monitoring null func frames at minimum rate that could help to retain the connection. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit e209c5a7ed1870ab7f112ad47083b5d616e8b6a4 Author: Sangwook Lee Date: Thu Sep 29 12:57:17 2011 +0100 net:rfkill: add a gpio setup function into GPIO rfkill Add a gpio setup function which gives a chance to set up platform specific configuration such as pin multiplexing, input/output direction at the runtime or booting time. Signed-off-by: Sangwook Lee Signed-off-by: John W. Linville commit 893d73f4a15bda966cb72f84897898eb235e134c Author: Helmut Schaa Date: Thu Sep 29 13:42:25 2011 +0200 mac80211: Allow noack flag overwrite for injected frames Allow injected unicast frames to be sent without having to wait for an ACK. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit a5abbcb2206953eb1bf86281626363f2fd7a8ceb Merge: 49a5954 62c83ac Author: John W. Linville Date: Mon Oct 3 14:59:35 2011 -0400 Merge branch 'for-linville' of git://github.com/kvalo/ath6kl commit 62c83ac4d6bcfa6a116c8f1c8ace05cb3933a4f1 Author: Kalle Valo Date: Mon Oct 3 13:44:40 2011 +0300 ath6kl: include vmalloc.h in debug.c Fixes compilation errors when compiling for ARM: ath6kl/debug.c:312: error: implicit declaration of function 'vmalloc' ath6kl/debug.c:312: warning: assignment makes pointer from integer without a cast ath6kl/debug.c:342: error: implicit declaration of function 'vfree' ath6kl/debug.c:696: warning: assignment makes pointer from integer without a cast ath6kl/debug.c:871: warning: assignment makes pointer from integer without a cast Signed-off-by: Kalle Valo commit ef548626429531fedae9ae44c1e89e14cf3244f7 Author: Kalle Valo Date: Sat Oct 1 09:43:09 2011 +0300 ath6kl: fix size_t related warnings My earlier debug log additions added these warnings when compiling 64 bit kernels: ath6kl/init.c:962: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' ath6kl/init.c:975: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' ath6kl/init.c:988: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' ath6kl/init.c:1009: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' ath6kl/init.c:1192: warning: format '%d' expects type 'int', but argument 4 has type 'size_t' ath6kl/init.c:1236: warning: format '%d' expects type 'int', but argument 4 has type 'size_t' ath6kl/init.c:1267: warning: format '%d' expects type 'int', but argument 4 has type 'size_t' Reported-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 49a59543eb5a5d268b3d11747f9c3c557ae271a0 Author: Johannes Berg Date: Thu Sep 29 16:04:41 2011 +0200 mac80211: dont assign seqno to or aggregate QoS Null frames 802.11 says: "Sequence numbers for QoS (+)Null frames may be set to any value." However, if we use the normal counters then peers will get confused with aggregation since there'll be holes in the sequence number sequence. To avoid that, neither assign a sequence number to QoS null frames nor put them on aggregation. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 37fbd9080088f5f98ab81a6f2ad456857971a089 Author: Johannes Berg Date: Thu Sep 29 16:04:39 2011 +0200 mac80211: allow out-of-band EOSP notification iwlwifi has a separate EOSP notification from the device, and to make use of that properly it needs to be passed to mac80211. To be able to mix with tx_status_irqsafe and rx_irqsafe it also needs to be an "_irqsafe" version in the sense that it goes through the tasklet, the actual flag clearing would be IRQ-safe but doing it directly would cause reordering issues. This is needed in the case of a P2P GO going into an absence period without transmitting any frames that should be driver-released as in this case there's no other way to inform mac80211 that the service period ended. Note that for drivers that don't use the _irqsafe functions another version of this function will be required. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 40b96408831f038b1a6b45e8b22cd050f82a3896 Author: Johannes Berg Date: Thu Sep 29 16:04:38 2011 +0200 mac80211: explicitly notify drivers of frame release iwlwifi needs to know the number of frames that are going to be sent to a station while it is asleep so it can properly handle the uCode blocking of that station. Before uAPSD, we got by by telling the device that a single frame was going to be released whenever we encountered IEEE80211_TX_CTL_POLL_RESPONSE. With uAPSD, however, that is no longer possible since there could be more than a single frame. To support this model, add a new callback to notify drivers when frames are going to be released. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5bade101eceedb716e39bd35b2928c465e3fbd10 Author: Johannes Berg Date: Thu Sep 29 16:04:37 2011 +0200 mac80211: add missing station flags to debugfs My work and some previous work didn't add all the flags, add them now and while at it simplify the code. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c2c98fdeb5c897499644eb247285c8e3dacc6450 Author: Johannes Berg Date: Thu Sep 29 16:04:36 2011 +0200 mac80211: optimise station flags The flaglock in struct sta_info has long been something that I wanted to get rid of, this finally does the conversion to atomic bitops. The conversion itself is straight-forward in most places, a few things needed to change a bit since we can no longer use multiple bits at the same time. On x86-64, this is a fairly significant code size reduction: text data bss dec hex 427861 23648 1008 452517 6e7a5 before 425383 23648 976 450007 6ddd7 after Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit deeaee197b0fa694ba6c8f02cdb57b3be7115b4f Author: Johannes Berg Date: Thu Sep 29 16:04:35 2011 +0200 mac80211: reply only once to each PS-poll If a PS-poll frame is retried (but was received) there is no way to detect that since it has no sequence number. As a consequence, the standard asks us to not react to PS-poll frames until the response to one made it out (was ACKed or lost). Implement this by using the WLAN_STA_SP flags to also indicate a PS-Poll "service period" and the IEEE80211_TX_STATUS_EOSP flag for the response packet to indicate the end of the "SP" as usual. We could use separate flags, but that will most likely completely confuse drivers, and while the standard doesn't exclude simultaneously polling using uAPSD and PS-Poll, doing that seems quite problematic. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ce662b44ce22e3e8886104d5feb2a451d7ba560f Author: Johannes Berg Date: Thu Sep 29 16:04:34 2011 +0200 mac80211: send (QoS) Null if no buffered frames For PS-poll, there's a possible race between us expiring a frame and the station polling for it -- send it a null frame in that case. For uAPSD, the standard says that we have to send a frame in each SP, so send null if we don't have any other frames. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 47086fc51aa2220f58049704a8b73e4fcdf372b9 Author: Johannes Berg Date: Thu Sep 29 16:04:33 2011 +0200 mac80211: implement uAPSD Add uAPSD support to mac80211. This is probably not possible with all devices, so advertising it with the cfg80211 flag will be left up to drivers that want it. Due to my previous patches it is now a fairly straight-forward extension. Drivers need to have accurate TX status reporting for the EOSP frame. For drivers that buffer themselves, the provided APIs allow releasing the right number of frames, but then drivers need to set EOSP and more-data themselves. This is documented in more detail in the new code itself. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4049e09acdf4ffd270cb8fbf1cf5b39c3d02357c Author: Johannes Berg Date: Thu Sep 29 16:04:32 2011 +0200 mac80211: allow releasing driver-buffered frames If there are frames for a station buffered in the driver, mac80211 announces those in the TIM IE but there's no way to release them. Add new API to release such frames and use it when the station polls for a frame. Since the API will soon also be used for uAPSD it is easily extensible. Note that before this change drivers announcing driver-buffered frames in the TIM bit actually will respond to a PS-Poll with a potentially lower priority frame (if there are any frames buffered in mac80211), after this patch a driver that hasn't been changed will no longer respond at all. This only affects ath9k, which will need to be fixed to implement the new API. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8a8656fa5bbbc8568348d95184d374edb03a48b7 Author: Johannes Berg Date: Thu Sep 29 16:04:31 2011 +0200 mac80211: clear more-data bit on filtered frames It doesn't seem likely, but maybe possible, that the more-data bit needs to be recomputed due to changes in the queued frames. Clear it for filtered frames to ensure that we never send it incorrectly. It'll be set again as necessary when we retransmit this frame. The more likely case is maybe where the station woke up after the filtered frame in which case more-data should be clear when the frame is transmitted to the station since it is now awake. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b0b97a8ad5c4640785f9a1c8e979f1c0fba147e1 Author: Johannes Berg Date: Thu Sep 29 16:04:30 2011 +0200 mac80211: remove return value from add_pending_skbs Now that we no longer use the return value, we no longer need to maintain it either, so remove it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 948d887dec1042a7d78ae311908113e26502062f Author: Johannes Berg Date: Thu Sep 29 16:04:29 2011 +0200 mac80211: split PS buffers into ACs For uAPSD support we'll need to have per-AC PS buffers. As this is a major undertaking, split the buffers before really adding support for uAPSD. This already makes some reference to the uapsd_queues variable, but for now that will never be non-zero. Since book-keeping is complicated, also change the logic for keeping a maximum of frames only and allow 64 frames per AC (up from 128 for a station). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 60750397122fe0fb81a6e52fd790b3f749b6e010 Author: Johannes Berg Date: Thu Sep 29 16:04:28 2011 +0200 mac80211: also expire filtered frames mac80211 will expire normal PS-buffered frames, but if the device rejected some frames for a sleeping station, these won't be on the ps_tx_buf queue but on the tx_filtered queue instead; this is done to avoid reordering. However, mac80211 will not expire frames from the filtered queue, let's fix that. Also add a more comments to what all this expiry is doing and how it works. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c868cb35d013896ab6a80a554fb88baef06cedcd Author: Johannes Berg Date: Thu Sep 29 16:04:27 2011 +0200 mac80211: unify TIM bit handling Currently, the TIM bit for a given station is set and cleared all over the place. Since the logic to set/clear it will become much more complex when we add uAPSD support, as a first step let's collect the entire logic in one place. This requires a few small adjustments to other places. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 042ec4533720122e6cb93dd9f3b6a75fe2fcff16 Author: Johannes Berg Date: Thu Sep 29 16:04:26 2011 +0200 mac80211: let drivers inform it about per TID buffered frames For uAPSD implementation, it is necessary to know on which ACs frames are buffered. mac80211 obviously knows about the frames it has buffered itself, but with aggregation many drivers buffer frames. Thus, mac80211 needs to be informed about this. For now, since we don't have APSD in any form, this will unconditionally set the TIM bit for the station but later with uAPSD only some ACs might cause the TIM bit to be set. ath9k is the only driver using this API and I only modify it in the most basic way, it won't be able to implement uAPSD with this yet. But it can't do that anyway since there's no way to selectively release frames to the peer yet. Since drivers will buffer frames per TID, let them inform mac80211 on a per TID basis, mac80211 will then sort out the AC mapping itself. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 941c93cd039852b7ab02c74f4698c99d82bd6cfe Author: Arik Nemtsov Date: Wed Sep 28 14:12:54 2011 +0300 mac80211: data path modification for TDLS peers Mark the STA entries of enabled TDLS peers with a new "peer authorized" flag. During link setup, allow special TDLS setup frames through the AP, but otherwise drop all packets destined to the peer. This is required by the TDLS (802.11z) specification in order to prevent reordering of MSDUs between the AP and direct paths. When setup completes and the peer is authorized, send data directly, bypassing the AP. In the Rx path, allow data to be received directly from TDLS peers. Signed-off-by: Arik Nemtsov Cc: Kalyan C Gaddam Signed-off-by: John W. Linville commit 07ba55d7f1d0da174c9bc545c713b44cee760197 Author: Arik Nemtsov Date: Wed Sep 28 14:12:53 2011 +0300 nl80211/mac80211: allow adding TDLS peers as stations When adding a TDLS peer STA, mark it with a new flag in both nl80211 and mac80211. Before adding a peer, make sure the wiphy supports TDLS and our operating mode is appropriate (managed). In addition, make sure all peers are removed on disassociation. A TDLS peer is first added just before link setup is initiated. In later setup stages we have more info about peer supported rates, capabilities, etc. This info is reported via nl80211_set_station(). Signed-off-by: Arik Nemtsov Cc: Kalyan C Gaddam Signed-off-by: John W. Linville commit dfe018bf99537e42c816d3f543620a7e09fcf3cd Author: Arik Nemtsov Date: Wed Sep 28 14:12:52 2011 +0300 mac80211: handle TDLS high-level commands and frames Register and implement the TDLS cfg80211 callback functions. Internally prepare and send TDLS management frames. We incorporate local STA capabilities and supported rates with extra IEs given by usermode. The resulting packet is either encapsulated in a data frame, or assembled as an action frame. It is transmitted either directly or through the AP, as mandated by the TDLS specification. Declare support for the TDLS external setup wiphy capability. This tells usermode to handle link setup and discovery on its own, and use the kernel driver for sending TDLS mgmt packets. Signed-off-by: Arik Nemtsov Cc: Kalyan C Gaddam Signed-off-by: John W. Linville commit 768db3438b4b48a33d073093bb364e624409cab7 Author: Arik Nemtsov Date: Wed Sep 28 14:12:51 2011 +0300 mac80211: standardize adding supported rates IEs Relocate the mesh implementation of adding the (extended) supported rates IE to util.c, anticipating its use by other parts of mac80211. Signed-off-by: Arik Nemtsov Cc: Kalyan C Gaddam Signed-off-by: John W. Linville commit 109086ce0b0f94760bdb0e8e2566ff8a2d673639 Author: Arik Nemtsov Date: Wed Sep 28 14:12:50 2011 +0300 nl80211: support sending TDLS commands/frames Add support for sending high-level TDLS commands and TDLS frames via NL80211_CMD_TDLS_OPER and NL80211_CMD_TDLS_MGMT, respectively. Add appropriate cfg80211 callbacks for lower level drivers. Add wiphy capability flags for TDLS support and advertise them via nl80211. Signed-off-by: Arik Nemtsov Cc: Kalyan C Gaddam Signed-off-by: John W. Linville commit a76011e2cbb6915f60488477311e0f269cee6496 Author: Greg Dietsche Date: Wed Sep 28 17:54:04 2011 -0500 iwlagn: iwl-agn-rs: remove unnecessary null check for sta and lq_sta both sta and lq_sta are guaranteed to be not null in the calling function so we don't need to check them here. Signed-off-by: Greg Dietsche Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 90826313fd69d198da7574779460f793765abfa5 Author: Mohammed Shafi Shajakhan Date: Wed Sep 28 16:56:10 2011 +0530 ath9k/ath9k_htc: Fix PS wrappers for RF kill ath9k_hw_gpio_get reads the GPIO in/out registers to get the status of GPIO pins, so use PS wrappers Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 3b9ce80ce96aeaeacab5e26442987df45584a049 Author: Johannes Berg Date: Tue Sep 27 20:56:12 2011 +0200 cfg80211/mac80211: apply station uAPSD parameters selectively Currently, when hostapd sets the station as authorized we also overwrite its uAPSD parameter. This obviously leads to buggy behaviour (later, with my patches that actually add uAPSD support). To fix this, only apply those parameters if they were actually set in nl80211, and to achieve that add a bitmap of things to apply. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ffca287118d8c9a0a62e16a5ed96ff004caadeda Author: Larry Finger Date: Tue Sep 27 00:48:21 2011 -0500 rtlwifi: Remove unused _usb_nbytes_read_write and _usb_writeN_sync Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 970ba6a64db9e8a01193d36a7345745527c30463 Author: Larry Finger Date: Tue Sep 27 00:48:20 2011 -0500 rtlwifi: Remove unused routine _usb_readN_sync Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 93a1df48d224296fb527d32fbec4d5162828feb4 Author: Yogesh Ashok Powar Date: Mon Sep 26 20:37:26 2011 -0700 mwifiex: add cfg80211 handlers add/del_virtual_intf Making adding and deleting virtual interfaces dynamic. Adding handlers for creating and deleting virtual interface with given name and dev respectively. Also, creating default interface of type station on insmod of the driver. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 4ec6f9c0c9602bf8e6972eca470fbd1e99c5b222 Author: Amitkumar Karwar Date: Mon Sep 26 20:37:25 2011 -0700 mwifiex: fix Tx data rate display issue "iw dev mlan0 link" shows wrong data rate, because data rate is not sent properly to cfg80211 stack. Also stack is not updated with mcs and Tx data flags information. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit cbaaf592b742ccecfd066e796cdb1eda461f4db2 Author: Amitkumar Karwar Date: Mon Sep 26 20:37:24 2011 -0700 mwifiex: remove unreachable code In disconnected state "iw dev mlan0 link" command will return from cfg80211 stack itself. We also have an error check in mwifiex_cfg80211_get_station() routine. Therefore the code under "if (!priv->media_connected)" condition in mwifiex_rate_ioctl_get_rate_value() routine becomes unreachable. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 82df4d38a0194ad1804d1ab4716577d194be5a53 Author: Amitkumar Karwar Date: Mon Sep 26 20:37:23 2011 -0700 mwifiex: remove unnecessary mwifiex_dump_station_info() call An extra call to mwifiex_dump_station_info() routine in get_station callback function is redundant Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit f73c604cfbf7f611e3ec129a0548fcbe8574d180 Author: Rajkumar Manoharan Date: Mon Sep 26 22:16:56 2011 +0530 ath9k: Remove redundant my beacon check at ath_rx_ps_beacon Make use of the rx status's is_mybeacon in order to avoid redundant memcmp. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 185d1589ccc9f49afcdaede480523df2bfec7c01 Author: Rajkumar Manoharan Date: Mon Sep 26 21:48:39 2011 +0530 ath9k: Remove unnecessary AMPDU check at tx status Fill the ampdu_[ack]_len for both aggregation and normal frames. So that we could avoid unnecesary conditional at tx status. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 89888e368eebb8d5c3dbf58425b95fc773aee511 Author: Lorenzo Bianconi Date: Sat Sep 24 18:48:26 2011 +0200 mac80211: max_tp_rate2 management of minstrel_ht I noticed a possible issue in the max_tp_rate2 management of minstrel_ht. In particular, if we look up just among max_tp_rate2 of each group it will be possible that the selected rate will not be the mcs with second maximum throughput. I wrote this simple patch. Signed-off-by: Lorenzo Bianconi Signed-off-by: John W. Linville commit 4ca8c452a655d96639975d132f586f2829f6564e Author: Andy Shevchenko Date: Wed Sep 28 12:30:59 2011 +0300 wireless: at76c50x: use native hex_pack_byte() method Signed-off-by: Andy Shevchenko Cc: "John W. Linville" Tested-by: Pavel Roskin Signed-off-by: John W. Linville commit 8e00f5fbb4ecbc3431fa686cba60cd76a62604af Merge: 56fd49e 0874073 Author: John W. Linville Date: Fri Sep 30 14:52:16 2011 -0400 Merge branch 'master' of git://git.infradead.org/users/linville/wireless-next into for-davem Conflicts: drivers/net/wireless/iwlwifi/iwl-pci.c drivers/net/wireless/wl12xx/main.c commit c510eae377c773241ff0b6369a8f3581da941a51 Author: Oliver Neukum Date: Wed Sep 21 11:41:45 2011 +0200 btusb: add device entry for Broadcom SoftSailing From 0cea73465cd22373c5cd43a3edd25fbd4bb532ef Mon Sep 17 00:00:00 2001 From: Oliver Neukum Date: Wed, 21 Sep 2011 11:37:15 +0200 Subject: [PATCH] btusb: add device entry for Broadcom SoftSailing This device declares itself to be vendor specific It therefore needs to be added to the device table to make btusb bind. Signed-off-by: Oliver Neukum Signed-off-by: Gustavo F. Padovan commit e95beb414168f8fcae195b5a77be29b3362d6904 Author: Andre Guedes Date: Mon Sep 26 20:48:35 2011 -0300 Bluetooth: hci_le_adv_report_evt code refactoring There is no reason to treat the first advertising entry differently from the potential other ones. Besides, the current implementation can easily leads to typos. Signed-off-by: Andre Guedes Signed-off-by: Gustavo F. Padovan commit b6f98044a6cbeba8234a3d433d715e9ef36880c4 Author: Waldemar Rymarkiewicz Date: Fri Sep 23 10:01:30 2011 +0200 Bluetooth: Fix possible NULL pointer dereference Checking conn->pending_sec_level if there is no connection leads to potential null pointer dereference. Don't process pin_code_request_event at all if no connection exists. Signed-off-by: Waldemar Rymarkiewicz Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit c6efe578fc5dd02463d2ee20343494da56bdd3a9 Author: Stephen Rothwell Date: Wed Sep 28 18:32:34 2011 +1000 wireless/ath6kl: use of module_param requires the inclusion of moduleparam.h Otheriwse the module.h split up fails like this: drivers/net/wireless/ath/ath6kl/init.c:27:26: error: expected ')' before 'uint' Signed-off-by: Stephen Rothwell Signed-off-by: Kalle Valo commit b9b6ee603923be45c4022a0dce5fa8ccf4284524 Author: Kalle Valo Date: Tue Sep 27 14:31:21 2011 +0300 ath6kl: improve wmi debug messages Add a new debug level ATH6KL_DBG_WMI_DUMP and other minor improvements to the wmi debug messages. Signed-off-by: Kalle Valo commit 6bc364315aac6ab256ce3cdc00aa90cb57279a1f Author: Kalle Valo Date: Tue Sep 27 14:31:11 2011 +0300 ath6kl: add debug logs for booting Just to make it easier to find out why boot fails. Signed-off-by: Kalle Valo commit f7325b85efe1395b52ef1006dafe3c0d4ff79f15 Author: Kalle Valo Date: Tue Sep 27 14:30:58 2011 +0300 ath6kl: add sdio debug messages Add extensive debug messages to sdio.c. Makes it easier to debug various problems. Signed-off-by: Kalle Valo commit ef094103233344271990d15045d6a776386c3784 Author: Kalle Valo Date: Tue Sep 27 14:30:45 2011 +0300 ath6kl: add prefix parameter to ath6kl_dbg_dump() Makes it easier to recognise longs dumps. Obligatory screenshot using "rx" prefix: ath6kl: ath6kl_rx rx 00000000: 10 10 00 00 00 00 08 30 00 00 00 00 00 00 f9 0b .......0........ rx 00000010: 2c 44 08 30 00 00 f9 0b 0c a4 02 00 00 00 73 d2 ,D.0..........s. rx 00000020: 94 00 f9 0b 04 8c 01 00 02 00 07 02 02 00 f9 0b ................ Signed-off-by: Kalle Valo commit 9a7308341b71f3c5e88e6a30f9d6a1cfb3bc2b4f Author: Kalle Valo Date: Tue Sep 27 23:33:28 2011 +0300 ath6kl: silence "invalid rate" warning For some reason firmware is sending invalid rates when we try to query current bitrate from ath6kl_get_station() and a warning is issued: [ 3810.415720] ath6kl: invalid rate: 1935633515 [ 3811.105493] ath6kl: invalid rate: 1935633515 [ 3811.556063] ath6kl: invalid rate: 1935633515 As the warning happens way too often, convert the warning to a debug message once we have a proper fix. But to make it easy to follow how often the problem appears, add a debugfs to print various statistics about workarounds and make this issue the first WAR. Signed-off-by: Kalle Valo commit 0874073570d9184a169a4ae2abbe8dbcb71878e9 Merge: cd32984 ba54238 Author: John W. Linville Date: Wed Sep 28 10:28:09 2011 -0400 Merge branch 'master' of git://git.infradead.org/users/linville/wireless Conflicts: drivers/net/wireless/iwlwifi/iwl-scan.c net/wireless/nl80211.c commit 67c9e840a098fa62c0b464387160ff8f52a7ef4a Author: Szymon Janc Date: Thu Jul 28 16:24:33 2011 +0200 Bluetooth: Mark not declared l2cap_core functions as static Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 0e8339151fa85cb9b088abfb13e2dd5214a25429 Author: Anderson Lizardo Date: Wed Jul 27 18:40:09 2011 -0300 Bluetooth: use recommended LE connection parameters The new connection parameters now match the recommended values for Proximity and Health Thermometer profiles. The previous values were ramdomly chosen, and are either too low or too high for most cases. New values: Scan Interval: 60 ms Scan Window: 30 ms Minimum Connection Interval: 50 ms Maximum Connection Interval: 70 ms Supervision Timeout: 420 ms See "Table 5.2: Recommended Scan Interval and Scan Window Values" and "Table 5.3: Recommended Connection Interval Values" for both profiles for details. Note that the "fast connection" parameters were chosen, because we do not support yet dynamically changing these parameters from initiator side. Additionally, the Proximity profile recommends (section "4.4 Alert on Link Loss"): "It is recommended that the Link Supervision Timeout (LSTO) is set to 6x the connection interval." Minimum_CE_Length and Maximum_CE_Length were also changed from 0x0001 to 0x0000 because they are informational and optional, and old value was not reflecting reality. Signed-off-by: Anderson Lizardo Signed-off-by: Gustavo F. Padovan commit 84084a3197a9fdec10fa542c0df11928a784e7fc Author: Mat Martineau Date: Fri Jul 22 14:54:00 2011 -0700 Bluetooth: Perform L2CAP SDU reassembly without copying data Use sk_buff fragment capabilities to link together incoming skbs instead of allocating a new skb for reassembly and copying. The new reassembly code works equally well for ERTM and streaming mode, so there is now one reassembly function instead of two. Signed-off-by: Mat Martineau Signed-off-by: Gustavo F. Padovan commit 5b668eb3270f3f9c13ddf6e4fb57bf20c83dccff Author: Mat Martineau Date: Fri Jul 22 14:53:59 2011 -0700 Bluetooth: Handle fragmented skbs in bt_sock_stream_recvmsg() ERTM reassembly will be more efficient when skbs are linked together rather than copying every incoming data byte. The existing stream recv function assumes skbs are linear, so it needs to know how to handle fragments before reassembly is changed. bt_sock_recvmsg() already handles fragmented skbs. Signed-off-by: Mat Martineau Signed-off-by: Gustavo F. Padovan commit 449357200c5d73d80a9c42dee5dafed684b3cd17 Author: Mat Martineau Date: Fri Jul 22 14:53:58 2011 -0700 Bluetooth: Linearize skbs for use in BNEP, CMTP, HIDP, and RFCOMM Fragmented skbs are only encountered when receiving ERTM or streaming mode L2CAP data. BNEP, CMTP, HIDP, and RFCOMM generally use basic mode, but they need to handle fragments without crashing. Signed-off-by: Mat Martineau Signed-off-by: Gustavo F. Padovan commit 9fd481e03c1e9c76c814b88b9ea1cbda9afb0812 Author: Peter Hurley Date: Thu Jul 14 08:48:32 2011 -0400 Bluetooth: Allow ACL packets over USB in HCI_RAW mode Removed tests which prevent transmission of ACL packets when the device is in HCI_RAW mode. These tests verified that there are ACL or LE links currently tracked by the HCI connection manager. However, a HCI_RAW mode device does not use the connection manager. In these circumstances, the connection counts will be zero, and thus, transmitted ACL packets dropped. The acl_num test is actually a vestige of a previous bulk URB scheme that is no longer used by this driver (bulk URBs were not started until at least one ACL connection was created). This was incompatible with some endpoint implementations and was dropped - see commit 43c2e57f94. The utility of these tests is marginal - currently, the hci tx scheduler cannot send an ACL or LE packet for an untracked connection (except if the device is in HCI_RAW mode). Lastly, no other transport layer driver enforces these same tests. Signed-off-by: Peter Hurley Acked-by: Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit cd32984f64cb4fdd84e33f30da1f10582fc43cbf Author: Arik Nemtsov Date: Mon Sep 26 09:36:42 2011 +0300 mac80211: treat the WME sta flag as a bit Correct flag usage - use it as a bit index instead of a bit value. Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit 2fb40577b05a869904a8fcf7098d26f3c7809644 Author: Dan Carpenter Date: Mon Sep 26 09:30:40 2011 +0300 wl3501_cs: min_t() cast truncates high bits wrqu->encoding.length comes from the network administrator. It's size u16. We want to limit "tocopy" to the smallest value of either "len_keys", "wrqu->encoding.length" or 100. But because .length gets cast from u16 to u8 we might use a random, smaller value than the was desired. It's probably not very serious, but we may as well fix it. Btw, this is from code auditing and not from testing. I don't know if this affects anyone in real life. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit f6f3def323e5d60cc2a5659533dce547c0aac5fc Author: Eliad Peller Date: Sun Sep 25 20:06:54 2011 +0300 mac80211: save tx params per sdata save and configure tx param per sdata, rather than per hardware. Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit f70f01c2ebbe31fbd8a96be3b45c5620dac45b96 Author: Eliad Peller Date: Sun Sep 25 20:06:53 2011 +0300 cfg80211/mac80211: add netdev param to set_txq_params() tx params are currently configured per hw, although they should be configured per interface. Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit aad14ceb45f5ff12da2ab5b37a596e6f81566515 Author: Rajkumar Manoharan Date: Sun Sep 25 14:53:31 2011 +0530 mac80211: Send the management frame at requested rate Whenever the scan request or tx_mgmt is requesting not to use CCK rate for managemet frames through NL80211_ATTR_TX_NO_CCK_RATE attribute, then mac80211 should select appropriate least non-CCK rate. This could help to send P2P probes and P2P action frames at non 11b rates without diabling 11b rates globally. Cc: Jouni Malinen Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit e9f935e3e8dc0bddd0df6d148165d95925422502 Author: Rajkumar Manoharan Date: Sun Sep 25 14:53:30 2011 +0530 nl80211/cfg80211: Add support to disable CCK rate for management frame Add a new nl80211 attribute to specify whether to send the management frames in CCK rate or not. As of now the wpa_supplicant is disabling CCK rate at P2P init itself. So this patch helps to send P2P probe request/probe response/action frames being sent at non CCK rate in 2GHz without disabling 11b rates. This attribute is used with NL80211_CMD_TRIGGER_SCAN and NL80211_CMD_FRAME commands to disable CCK rate for management frame transmission. Cc: Jouni Malinen Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 84b1bec6d716fc8c289e2530cab109a6e097455b Author: Johannes Berg Date: Thu Sep 22 15:15:00 2011 -0700 iwlagn: fix scan complete processing When we cancel a scan, the completion runs only from the workqueue. This can cause the remain-on-channel scan to fail when another one was just canceled, because we're still aborting it. To fix this, run the completion inline with the lock still held before returning from iwl_scan_cancel_timeout(). Also, to avoid the scan complete work from completing a new scan prematurely, add a new STATUS_SCAN_COMPLETE bit. Reported-by: Reinette Chatre Signed-off-by: Johannes Berg Tested-by: Reinette Chatre Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit a2fa2462f05115722beb2443d081a72f4f4450ea Author: Johannes Berg Date: Thu Sep 22 15:14:59 2011 -0700 iwlagn: move iwl_process_scan_complete up To make the next patch easier to read, move the function up, it'll be needed earlier in this file in the next patch. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit f253247a944fcf5f48ca434331d9e4f72f5fef8d Author: Johannes Berg Date: Thu Sep 22 15:14:58 2011 -0700 iwlagn: refactor scan complete We'll need to be able to run scan complete inline, not from the workqueue, so refactor it. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 98efb4a52b5c64c79647ea4fdb2c6a3f3db6e743 Author: Johannes Berg Date: Thu Sep 22 15:14:57 2011 -0700 iwlagn: make iwl_scan_cancel_timeout void The return value of iwl_scan_cancel_timeout() isn't used anywhere, so let's just remove it. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 0288356272153f916f31b8331780a7336872f63b Author: Johannes Berg Date: Thu Sep 22 15:14:56 2011 -0700 iwlagn: remove Kelvin support Only 5150 series devices report their temperature in Kelvin, and for those we already convert it to Celsius when storing into priv->temperature, so there's no way priv->temperature will ever be in Kelvin. Remove support for this. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 325a7ddf7b27ed3ded3d7fb7c3313266e510a978 Author: Johannes Berg Date: Thu Sep 22 15:14:55 2011 -0700 iwlagn: fix slot programming When an AP mode interface is added with a DTIM period of two, the slot programming is wrong. Fix it by taking into account the DTIM period. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 8bd2c1ead5e2b67270aedfc95dcac8d6955db4e5 Author: Johannes Berg Date: Thu Sep 22 15:14:54 2011 -0700 iwlagn: fix dangling scan request If iwl_scan_initiate() fails for any reason, priv->scan_request and priv->scan_vif are left dangling. This can lead to a crash later when iwl_bg_scan_completed() tries to run a pending scan request. In practice, this seems to be very rare due to the STATUS_SCANNING check earlier. That check, however, is wrong -- it should allow a scan to be queued when a reset/roc scan is going on. When a normal scan is already going on, a new one can't be issued by mac80211, so that code can be removed completely. I introduced this bug when adding off-channel support in commit 266af4c745952e9bebf687dd68af58df553cb59d. Cc: stable@kernel.org [3.0] Reported-by: Peng Yan Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 7f90dce1ea9de432cf1f196c743a8d5a119e38ba Author: Emmanuel Grumbach Date: Thu Sep 22 15:14:53 2011 -0700 iwlagn: use kcalloc when possible for array allocation As everybody knows kcalloc checks the multiplication is safe and that we don't run into overflow. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 1a8496137d3707061758df1f7df1e7700a4863fd Author: Emmanuel Grumbach Date: Thu Sep 22 15:14:52 2011 -0700 iwlagn: update rate scaling with BA notifications In the current code, the rate scaling isn't fed with statistics from the BA notifications. This is since my patch: iwlagn: reclaim the packets in transport layer Fix that. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 1895b36bfb6165feb8f0b2060114632e46798dfe Author: Wey-Yi Guy Date: Thu Sep 22 15:14:51 2011 -0700 iwlagn: add debugging to show probe related info in scan notification Add debugging to show the status of probe in scan notification to help debug probe related issues Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 02dc84fe18482badbc8f2e45174d1147f8ebde0a Author: Emmanuel Grumbach Date: Thu Sep 22 15:14:50 2011 -0700 iwlagn: set the sequence control from the transport layer Since all the queue logic has been moved to the transport layer, the sequence number is set in the transport layer. While doing that I forgot that the mac header is copied to the TB of the TX cmd in the upper layer before the call to the transport layer. So basically we used the sequence number from mac80211... This was fine for the first assocation but after the second, mac80211 resets its counters while we don't hence a shift that led to terrible impact on performance. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 511afa3bfbb421ff0e87086725367f762587ab87 Author: Emmanuel Grumbach Date: Thu Sep 22 07:15:37 2011 -0700 iwlagn: sparse warning priv->temperature is signed Since priv->temperature is signed, we cannot use debugfs_create_u32 to refer to it. Use a regular debugfs file instead. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit d56da92092c7808fea0b6ad85fd97095067a2616 Author: Emmanuel Grumbach Date: Thu Sep 22 07:15:36 2011 -0700 iwlagn: remove warning in iwl_rx_handle Txid was used without being initialized. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 1a8f0d39a04beb0fd61f46ed99fd05189083b409 Author: Felix Fietkau Date: Thu Sep 22 08:04:32 2011 -0600 ath9k: fix a regression in ath9k_ps_restore After 'ath9k: optimize ath9k_ps_restore', it would only send the device to network sleep and not to full sleep anymore, potentially causing more battery drain. Reported-by: Vivek Natarajan Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 5cf80993add2d01dcfe3283cb290998b9d3d72cd Author: Amitkumar Karwar Date: Wed Sep 21 21:43:25 2011 -0700 mwifiex: reset skb length before inserting to free queue After handling command response, cmd skb is inserted into command free queue(which keeps track of availabile skbs) for reuse purpose. Skb length is not getting reset to zero here. This patch takes care of it. Signed-off-by: Amitkumar Karwar Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 4ed5d521b062b7256dcfe46a3194f89ff44fdc66 Author: Amitkumar Karwar Date: Wed Sep 21 21:43:24 2011 -0700 mwifiex: pass correct band parameter to ieee80211_channel_to_frequency() ieee80211_channel_to_frequency() routine expects band parameter in the form of "enum ieee80211_band band". Currently driver specific band (BAND_A, BAND_AN etc.) is passed to the routine. This patch makes sure that correct parameter is passed. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 5116f3cef206e7fcd6023ba8595a6321f33c2044 Author: Amitkumar Karwar Date: Wed Sep 21 21:43:23 2011 -0700 mwifiex: update bss band information In recent commit "mwifiex: use cfg80211 dynamic scan..." (7c6fa2a843..) scan table handling in driver is removed to make use of cfg80211 dynamic scan table. Now driver sends beacon buffers found in scanning directly to stack and parse the buffer for requested BSS only during association. Beacon buffer doesn't contain bss band information. Driver gets it from firmware in separate tlv (chan_band_tlv). Currently since we don't inform stack about bss bandinfo, there is an issue with 5GHz association. Use "priv" field of struct cfg80211_bss to store bandinfo. This fixes 5GHz association issue. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit d06b7b9e1fd5f2512840a687bd13b50caa42f82b Author: Amitkumar Karwar Date: Wed Sep 21 21:43:22 2011 -0700 mwifiex: fix 5GHz association issue Sometimes association in 5GHz doesn't work. Dmesg log shows "Can not find requested SSID xyz" error message. Currently while preparing scan channel list for firmware Null entries are created for disabled channels. The routine which retrieves this list ignores channels after Null entry. Hence sometimes driver doesn't scan the channel of requested AP and association fails. The issue is fixed by avoiding those NULL entries. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 177c3732feda607adcd07aefd8ecfd79c9f0bd53 Author: Rafał Miłecki Date: Wed Sep 21 21:44:15 2011 +0200 b43: LCN-PHY: minor clean ups Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 93dbd82808d4c53869aaf5e2db73b646f8d6f15e Author: Rafał Miłecki Date: Wed Sep 21 21:44:14 2011 +0200 b43: update dummy transmission Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 7955d87f5ce94bb19554892b5dee963f276fd265 Author: Rafał Miłecki Date: Wed Sep 21 21:44:13 2011 +0200 b43: add missing MMIO defines Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit b4c3f34afffcab01b6eb5155399a0b85b1123ada Author: Daniel Drake Date: Wed Sep 21 18:43:59 2011 +0100 libertas: scan behaviour consistency improvements When scanning for the broadcast SSID, there is no need to add the SSID TLV (restoring the behaviour of the driver behaviour in the wext days, confirmed in Marvell specifications). If bssid is unspecified, the current scan code will usually fire off an active scan probing for the specific requested SSID. However, if a scan is ongoing (or has just finished), those scan results will be used instead (even if that scan is totally different, e.g. a passive scan on channel 4 for a different SSID). Fix this inconsistency by always firing off a scan when associating without a bssid. Signed-off-by: Daniel Drake Acked-by: Dan Williams Signed-off-by: John W. Linville commit 38ba3c57af1c737966fb58bcbeecdc71f5f4fa90 Author: Jouni Malinen Date: Wed Sep 21 18:14:56 2011 +0300 cfg80211: Validate cipher suite against supported ciphers Instead of using a hardcoded list of cipher suites in nl80211.c, use a shared function in util.c to verify that the driver advertises support for the specified cipher. This provides more accurate validation of the values and allows vendor-specific cipher suites to be added in drivers. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 6d30240e3d68f1da7303801f840132d0821f1767 Author: Jouni Malinen Date: Wed Sep 21 18:11:33 2011 +0300 cfg80211: Remove strict validation of AKM suites NL80211_ATTR_AKM_SUITES can be used to configure new AKMs, like FT or the SHA-256 -based AKMs or FT from 802.11r/802.11w. In addition, vendor specific AKMs could be used. The current validation code for the connect command prevents cfg80211-based drivers from using these mechanisms even if the driver would not actually use this AKM value (i.e., it uses WPA/RSN IE from user space). mac80211-based drivers allow any AKM to be used since this value is not used there. Remove the unnecessary validation step in cfg80211 to allow drivers to decide what AKMs are supported. In theory, we could handle this by advertising supported AKMs, but that would not be very effective unless we enforce all drivers (including mac80211) to advertise the set of supported AKMs. This would require additional changes in many places whenever a new AKM is introduced even though no actually functionality changes may be required in most drivers. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 37a41b4affa33bb237d3692bf51f1b5ebcaf29d8 Author: Eliad Peller Date: Wed Sep 21 14:06:11 2011 +0300 mac80211: add ieee80211_vif param to tsf functions TSF can be kept per vif. Add ieee80211_vif param to set/get/reset_tsf, and move the debugfs entries to the per-vif directory. Update all the drivers that implement these callbacks. Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit 129321804e36721e71fadcab5b475bd37bf53044 Author: Mohammed Shafi Shajakhan Date: Wed Sep 21 14:22:49 2011 +0530 ath9k: add Block ACK bitmap in sample debug this represents the bitmap of block ACK received after the successful transmission of an aggregate frame. also made few changes to beautify the display Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 1b4304da0adcc31727da3ee7f89dd180f4e65473 Author: Kalle Valo Date: Tue Sep 27 11:05:26 2011 +0300 ath6kl: allow firmware to override firmware patch address In some firmware versions their patch address has changed. If the firmware provides one, use it to override the default address. Signed-off-by: Kalle Valo commit 00b1edf16960695d820607845797b14e6ed1a26c Author: Jouni Malinen Date: Tue Sep 27 11:00:08 2011 +0300 ath6kl: fix TCP corruption Commit 94e532d1a ("ath6kl: Fix system freeze under heavy data load") aligns the skb data without checking if the skb is cloned. Because of this ath6kl can corrupt the local TCP stack information that can result in TCP retransmission failing and TCP connections stalling. To avoid the corruption we need to copy the skb. Now the alignment in ath6kl_htc_tx_buf_align() doesn't corrupt TCP packets anymore (and is not even used for the cloned skb's that got copied since the alignment of the data is handled at the copy time). Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 85a8eefdc9ee5ec222fb146a4df5d67c306488c4 Merge: bb8f2cb 6b66189 Author: John W. Linville Date: Tue Sep 27 14:20:23 2011 -0400 Merge branch 'for-linville' of git://github.com/lucacoelho/wl12xx commit bb8f2cb284f1afa430a252d306d2bb29f6b9ce64 Merge: ed46fdf ab0ff76 Author: John W. Linville Date: Tue Sep 27 14:15:00 2011 -0400 Merge branch 'master' of git://github.com/padovan/bluetooth-next commit aad9339fa2a5e5b51874cfec9883819f59090198 Author: Vasanthakumar Thiagarajan Date: Mon Sep 26 14:49:03 2011 +0530 ath6kl: Remove unnecessary retrieval of first list entry in ath6kl_htc_tx_setup_scat_list() It is unnecessary to take the first list entry from queue again for transmission. Sometimes it may look racy when the head of the list changes between subsequent retrival, but should not happen in practical. Reported-by: Jouni Malinen Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 3038fac8d8dbecbda8fe92eb94bf1992e6b60ee4 Author: Rajkumar Manoharan Date: Mon Sep 26 14:29:18 2011 +0530 ath6kl: Fix compilation error while compiling w/o debug drivers/net/wireless/ath/ath6kl/htc_hif.o: In function `ath6kl_debug_fwlog_event': drivers/net/wireless/ath/ath6kl/debug.h:109: multiple definition of `ath6kl_debug_fwlog_event' drivers/net/wireless/ath/ath6kl/debug.o: drivers/net/wireless/ath/ath6kl/debug.h:109: first defined here drivers/net/wireless/ath/ath6kl/htc_hif.o: In function `ath6kl_debug_cleanup': drivers/net/wireless/ath/ath6kl/debug.h:118: multiple definition of `ath6kl_debug_cleanup' drivers/net/wireless/ath/ath6kl/debug.o: drivers/net/wireless/ath/ath6kl/debug.h:118: first defined here Signed-off-by: Rajkumar Manoharan Signed-off-by: Kalle Valo commit 6b661895a195f244097a60d4d4c9f09983d7efc7 Author: Arik Nemtsov Date: Thu Sep 22 09:52:06 2011 +0300 wl12xx: report the stop_ba event to all STAs in AP-mode Use the AP_MAX_LINKS as the upper boundary for traversing the links array, thereby guaranteeing BA sessions with all connected STAs are stopped when the stop_ba event is received. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit f80c2d12e51845c3a697e9ce9d8a98287f1aae38 Author: Arik Nemtsov Date: Thu Sep 22 09:52:05 2011 +0300 wl12xx: correct fw_status structure for 8 sta support in AP-mode Fix an erroneous labeling of array boundaries in the fw_status structure. Reported-by: Dan Carpenter Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit af7fbb28efff0c0d8fc0852ad6622e5437a7611e Author: Eliad Peller Date: Mon Sep 19 13:51:42 2011 +0300 wl12xx: implement set_bitrate_mask callback Save the configured bitrate, and use the min allowed rate as the basic rate (e.g. when scanning). Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 68eaaf6ee5ac35d8e592834219cee9c9e88fdb24 Author: Arik Nemtsov Date: Sat Sep 3 20:22:03 2011 +0300 wl12xx: AP mode - support hidden SSID If a hidden SSID is requested, generate a probe response template containing the real SSID. Depends on the patch "mac80211: add ssid config to bss information in AP-mode". Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit df4c849f4608e8962f019fea6021ebd602a11641 Author: Eliad Peller Date: Thu Sep 15 16:05:47 2011 +0300 wl12xx: Use dev_hlid for auth and assoc req On roaming, the auth and assoc req are sent with the sta hlid. This is wrong, as the sta hlid is configured according to the old ap. Use the dev_hlid instead. Move the wl1271_tx_update_filters() call into wl1271_tx_get_hlid(), so wl->dev_hlid will be valid. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit c6930b07b3d0a8c529e1d9287bd5994319cf447d Author: Eliad Peller Date: Thu Sep 15 13:00:01 2011 +0300 wl12xx: send all pending packets on channel change There is a race condition between wl1271_tx_work() and the channel switch, so make sure all the pending packets are being sent before switching channel. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 26b4bf2e0f0dbafa4dd575b03ffcb12710ef5611 Author: Eliad Peller Date: Thu Sep 15 12:07:05 2011 +0300 wl12xx: remove P2P ie from probe response wl12xx uses a single probe response template, regardless of the probe request. However, the P2P spec forbids including the p2p ie in some cases (e.g. the probe request didn't include the p2p ie). The fw responds only to probe requests that don't include the p2p ie, and passes up probe requests that include them (the supplicant will answer them). Thus, strip the p2p ie from the probe response template. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit d48055d9fc730a7389bac782f98a96de763129e3 Author: Eliad Peller Date: Thu Sep 15 12:07:04 2011 +0300 wl12xx: remove TIM ie from probe response wl12xx uses the beacon as the probe response template. However, the beacon includes a TIM ie, which shouldn't exist in the probe response. Delete it from the skb before configuring the probe response template. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 06b660e1a31cf1c7bdcfb87ebf7785dd715b7d17 Author: Shahar Levi Date: Mon Sep 5 13:54:36 2011 +0300 wl12xx: Include OFDM rates in IBSS mode We were including only 11b rates in IBSS mode. This patch adds OFDM rates. [Rephrased commit log and removed one unnecessary comment. -- Luca] Signed-off-by: Shahar Levi Signed-off-by: Luciano Coelho commit d3b104ae22a761dbec8410e6e66ac048c9ff9b5f Author: Shahar Levi Date: Mon Sep 12 10:00:37 2011 +0300 wl12xx: fix sdio_test module functionality Due to some changes in PM in recent kernels, the sdio_test module has been broken for a while. This patch fixes the code that powers the card on and off. Also made some small indentation fixes in the Makefile. [Rephrased commit log and removed the change in the FW name, since it's done in another patch. -- Luca] Signed-off-by: Shahar Levi Signed-off-by: Luciano Coelho commit 1de547d6dcc66f6d9d227de9f510acbbf88a654f Author: Vasanthakumar Thiagarajan Date: Fri Sep 23 10:57:50 2011 +0530 ath6kl: Fix disconnect event reporting Driver does not report disconnect event properly when in connecting state, this leads to issues failures in starting reconnection. Send a disconnect command to target when a disconnect event is received with reason code other than 3 (DISCONNECT_CMD - disconnect request from host) to make the frimware stop trying to connect even after giving disconnect event. There will be one more disconnect event for this disconnect command with reason code DISCONNECT_CMD which will be notified to cfg80211. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 5694f962964c5162f6b49ddb5d517180bd7d1d98 Author: Kalle Valo Date: Mon Sep 19 21:38:44 2011 +0300 ath6kl: pass only unicast frames for aggregation When pinging form ar6003 to the AP RTT was high even when power save was disabled: 100 packets transmitted, 97 received, 3% packet loss, time 99125ms rtt min/avg/max/mdev = 1.875/46.733/795.506/139.181 ms After some investigation one reason for this was that received multicast traffic confused the aggrecation logic and caused 400 ms timeouts when receiving multicast frames from AP. A simple way to fix is to pass only unicast frames for aggregation. This improves RTT: 100 packets transmitted, 99 received, 1% packet loss, time 99144ms rtt min/avg/max/mdev = 2.083/13.084/403.390/56.794 ms Signed-off-by: Kalle Valo commit 6cd9d21a0c1e2648c07c32c66bb25795ad3208aa Author: Luciano Coelho Date: Thu Sep 22 10:06:10 2011 +0300 wl12xx: fix forced passive scans We were using incorrect max and min dwell times during forced passive scans because we were still using the active scan states to scan (passively) the channels that were not marked as passive. Instead of doing passive scans in active states, we now skip active states and scan for all channels in passive states. Cc: # 2.6.36+ Signed-off-by: Luciano Coelho commit 865121361f0be55555c540c3df444ed06e090b33 Author: Jouni Malinen Date: Wed Sep 21 16:57:29 2011 +0300 ath6kl: Report PMKSA candidate events through cfg80211 This allows RSN pre-authentication to be used when roaming decisions are done in the target. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 011a36e1193c02abcdc4853be09275a0fe9d1a32 Author: Vivek Natarajan Date: Mon Sep 19 13:29:16 2011 +0530 ath6kl: Indicate the roaming capability of the firmware When the rssi of the current AP drops, both wpa_supplicant and the firmware may do a background scan to find a better AP and try to associate. This might lead to a race condition where both may try to connect to some AP based on their scan results. Since the firmware is capable of handling roaming, let wpa_supplicant know about this capability so that it will back off from bgscan based roaming. Signed-off-by: Vivek Natarajan Signed-off-by: Kalle Valo commit f3674ee97b11c97c9d314a8dae1d1d281b90aea1 Merge: 32c1087 ed46fdf Author: Kalle Valo Date: Thu Sep 22 10:33:13 2011 +0300 Merge remote branch 'wireless-next/master' into ath6kl-next commit 8decf868790b48a727d7e7ca164f2bcd3c1389c0 Merge: 3fc7237 d93dc5c Author: David S. Miller Date: Thu Sep 22 03:23:13 2011 -0400 Merge branch 'master' of github.com:davem330/net Conflicts: MAINTAINERS drivers/net/Kconfig drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c drivers/net/ethernet/broadcom/tg3.c drivers/net/wireless/iwlwifi/iwl-pci.c drivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c drivers/net/wireless/rt2x00/rt2800usb.c drivers/net/wireless/wl12xx/main.c commit 32c1087460626f9cfa2b397eafd247bf039bacac Author: Jouni Malinen Date: Mon Sep 19 19:15:07 2011 +0300 ath6kl: Export beacon interval and DTIM period through STA info Now that we allow the first Beacon frame after each connection to be processed at the host, we can figure out the DTIM period and expose it with Beacon interval through STA info BSS parameters to user space. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 551185ca0a97a11917edc3ad8e11d68912795902 Author: Jouni Malinen Date: Mon Sep 19 19:15:06 2011 +0300 ath6kl: Update BSS information after connection Since we may end up using a dummy BSS entry when roaming, allow one Beacon frame -based bssinfo from the current BSS to be processed prior to starting to filter all bssinfo events. This allows cfg80211 BSS table to be filled with proper data in the roaming case where the full Beacon data may not have been present at the time of roamed event. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 82e14f56f7408cb13c47eef9fd6922f22e88109a Author: Jouni Malinen Date: Mon Sep 19 19:15:05 2011 +0300 ath6kl: Remove unnecessary bssinfo event header conversion There is no point in unconditionally converting the bssinfo header to the old version since only the new header is being used and the driver can as well read the values from it when needed. Leaving out the conversion saves some extra memory copying. In addition, use the calculated "rssi" value snr - 95 dBm to get the proper value in cfg80211 BSS table (i.e., something that more or less matches with the value used in STA info). Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 457fb0415a887b6389854b850e9815cf0ec44178 Author: Jouni Malinen Date: Mon Sep 19 19:15:04 2011 +0300 ath6kl: Remove the unused node table implementation Now that the scan results are reported directly to the cfg80211 BSS table there is no need for maintaining this internal node table implementation for scan results. Remove the definitions and node table functions. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 1aaa8c7469db14c3cbb0776afda0fb007eb43f46 Author: Jouni Malinen Date: Mon Sep 19 19:15:03 2011 +0300 ath6kl: Replace internal node table with cfg80211 BSS table The internal node table in ath6kl was not really used for any useful purpose. It was just used to collect scan results during a scan and then provide them in a burst to cfg80211 at the completion of the scan. There is no point in doing this since cfg80211 is perfectly capable of maintaining the BSS table and the BSS inform messages are sent in separate function calls anyway. This provides more complete information in the cfg80211 BSS table since this allows Beacon and Probe Response frames to be distinguished and IEs from them reported separately. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 3b25ed186fc3ac8d2517332bfbd5c44016c10f82 Author: Jouni Malinen Date: Mon Sep 19 19:15:02 2011 +0300 ath6kl: Remove unnecessary node table update on disconnect event Since ath6kl does not actually update cfg80211 BSS table when this event occurs, there is not much need for removing the entries from the internal table that is not really used or exposed. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 64b834d83a191dd6585c0778b1a7a92c36775554 Author: Jouni Malinen Date: Mon Sep 19 19:15:01 2011 +0300 ath6kl: Remove RSSI update for internal node table ath6kl does not actually update cfg80211 BSS table when this update occurs, so there is not much need in updating the internal table that is not used or exposed. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit f195d5076a734c6d96a0dd80fe2a3b1e608e7979 Author: Jouni Malinen Date: Mon Sep 19 19:15:00 2011 +0300 ath6kl: Remove deprecated WMI_OPT_RX_FRAME_EVENTID processing This event has been deprecated and there is no need for ath6kl to include code for processing it. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 01cac476a4bb07b5b6f205b15809e0a845574653 Author: Jouni Malinen Date: Mon Sep 19 19:14:59 2011 +0300 ath6kl: Fix BSS update on roaming This fixes the BSS "update" just before the connected or roamed event. The previous implementation was completely broken: it forced a hardcoded signal strength and IEs from Association _Request_ frame instead of any Beacon information. This broke various things, including PMKSA caching. The current workaround for creating a dummy BSS entry before the roamed event is not exactly ideal, but that is quite a bit better than the previous state. As a future improvement, cfg80211 could potentially be extended to allow this type of use or ath6kl could delay sending the roamed event before receiving a BSS info event. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 49753128d8fc976576c497c81962cf1ae57174aa Author: Dan Carpenter Date: Wed Sep 21 10:13:56 2011 +0300 mwifiex: remove unneeded NULL check We dereference "rate" on the lines before so the checks here are too late to help. This function is only called from mwifiex_dump_station_info() and "rate" is always a non-NULL pointer so the check can be removed. Signed-off-by: Dan Carpenter Acked-by: Bing Zhao Signed-off-by: John W. Linville commit aef0ba54ecb961ae559106540f37ab734b64410d Author: Dan Carpenter Date: Wed Sep 21 10:13:29 2011 +0300 mwifiex: add a kfree() to an error path We're not likely to hit this small memory leak, but lets fix it anyway to keep the static checkers happy. Signed-off-by: Dan Carpenter Acked-by: Bing Zhao Signed-off-by: John W. Linville commit 5adcb81037558aa545676f78dea2b2ce6c3b5819 Author: Amit Beka Date: Tue Sep 20 15:37:27 2011 -0700 iwlagn: remove duplicate list init iwl_trans_rx_alloc is only called from iwl_rx_init, so no need to init the lists twice. Signed-off-by: Amit Beka Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 08ecf10441c79ebebe5ce6b6ff9a06c586f5895c Author: Emmanuel Grumbach Date: Tue Sep 20 15:37:26 2011 -0700 iwlagn: pending frames musn't be incremented if agg is on During my works on the transport layer I removed code that updated a local variable (is_agg) that is needed to keep the pending_frames count up to date. Fix this. Also, there should be no way to have a packet with TX_CTL_AMPDU set while the internal aggregation state machine is not in AGG_ON state. Add a WARN_ON to ensure that. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit edb5c2f38d3eef3a45457846a76732586f6bcf5c Author: Emmanuel Grumbach Date: Tue Sep 20 15:37:25 2011 -0700 iwlagn: remove uneeded declaration This has been removed but the declaration hasn't. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 132f98c2dc702940ed2bb58e7aa48432c2c62f7b Author: Emmanuel Grumbach Date: Tue Sep 20 15:37:24 2011 -0700 iwlagn: simplify the iwl_device_cmd layout This simplifies both the transport layer and the upper layer. Kill the union in the device command, which avoids the funny syntax we had: cmd->cmd.payload. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 247c61d625154e18a105d663281c52376a882762 Author: Emmanuel Grumbach Date: Tue Sep 20 15:37:23 2011 -0700 iwlagn: remove the callback in host commands Before this patch, the upper layer could register a callback for each host command. This mechanism allowed the upper layer to have different callbacks for the same command ID. In fact, it wasn't used and the rx_handlers is enough: same callback for all the command with a specific command ID. The iwl_send_add_station needs the access the command that was sent while handling the response (regardless if the command was sent in SYNC or ASYNC mode). So now, all the handlers receive the host command that was sent. This implies a change in the handler signature. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 390808db4ab5c658dc1eb8078d82027ce7d0ea78 Author: Johannes Berg Date: Tue Sep 20 15:37:22 2011 -0700 iwlagn: split remain-on-channel If we're associated and want to do P2P at the same time, the scan for remain-on-channel is currently limited to 80ms because of the way the device will behave in that case. Instead of doing that, split up the dwell times into little pieces. It will not actually be a single big dwell time then, but will be close enough. This improves robustness of P2P in such scenarios. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit c68929060181eb088bef252c5f493a66a44e77b1 Author: Johannes Berg Date: Tue Sep 20 15:37:21 2011 -0700 iwlagn: remove common station priv Since the driver split there's no more need for shared/non-shared private station data so remove struct iwl_station_priv_common entirely. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 6e809a16d98efa8b1483a25ab8886dd2aa200d0f Author: Johannes Berg Date: Tue Sep 20 15:37:20 2011 -0700 iwlagn: move scan code to scan file Since the driver split there's no longer a need to have the scan code scattered across multiple files, so move it all back to iwl-scan.c Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit ba4a14e1024fd783f0e56d96538a959a44651897 Author: Thomas Pedersen Date: Tue Sep 20 13:43:32 2011 -0700 mac80211: notify peer when shutting down peer link Send a Mesh Peering Close frame when we deactivate a mesh peer link. Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit 6f2d93353a48af4d5b6ea2a79994d7c9a94b356a Author: Johannes Berg Date: Tue Sep 20 17:40:51 2011 +0200 mac80211: fix AP/VLAN PS buffer race When an AP interface is removed without the AP/VLAN interfaces having been removed before already, the AP-VLAN interface might still have sleeping stations and buffer multicast frames which will happen on the AP interface. Thus, we need to remove AP/VLAN interfaces before purging buffered broadcast frames. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ab0ff76d1bda3b3b3e65caaa0cc5e4b01a81b2ee Author: Luiz Augusto von Dentz Date: Mon Sep 12 20:00:50 2011 +0300 Bluetooth: mark l2cap_create_iframe_pdu as static l2cap_create_iframe_pdu is only used in l2cap_core.c Signed-off-by: Luiz Augusto von Dentz Signed-off-by: Gustavo F. Padovan commit f8523598ee608a8c4d1f3bbd3639785be3321111 Author: Andre Guedes Date: Fri Sep 9 18:56:26 2011 -0300 Bluetooth: Check 'dev_class' in mgmt_device_found() The mgmt_device_found event will be used to report LE devices found during discovery procedure. Since LE advertising reports events doesn't have class of device information, we need to check if 'dev_class' is not NULL before copying it. Signed-off-by: Andre Guedes Signed-off-by: Gustavo F. Padovan commit a8f13c8cd2c732828e5da735c204447a55cdab03 Author: Andre Guedes Date: Fri Sep 9 18:56:24 2011 -0300 Bluetooth: Reduce critical region. This patch reduces the critial region (protected by hdev->lock) in hci_cc_le_set_scan_enable(). This way, only really required code is synchronized. Signed-off-by: Andre Guedes Signed-off-by: Gustavo F. Padovan commit 51beabdf624df14d0805b001d3f939629b70d9db Author: Anderson Briglia Date: Mon Sep 19 14:41:09 2011 -0400 Bluetooth: Fix wrong memcpy size on LE start encryption This patch fixes wrong memcpy size when copying rand value to HCI_OP_LE_START_ENC command. The compiler pretends that the array parameter was declared as a pointer and sizeof reports the size of the pointer. [1] [1] http://www.c-faq.com/aryptr/aryparmsize.html Signed-off-by: Anderson Briglia Signed-off-by: Anderson Lizardo Signed-off-by: Gustavo F. Padovan commit ca10b5ee0cb298f094db00dba7e397a8bc4e8398 Author: Vinicius Costa Gomes Date: Thu Aug 25 20:02:37 2011 -0300 Bluetooth: Remove support for other SMP keys than the LTK For now, only the LTK is properly supported. We are able to receive and generate the other types of keys, but we are not able to use them. So it's better not request them to be distributed. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit feb45eb5961b1c8c4f5e9559f48e513d2714b223 Author: Vinicius Costa Gomes Date: Thu Aug 25 20:02:35 2011 -0300 Bluetooth: Fix not setting a pending security level For slave initiated security, we should set a default security level, for now BT_SECURITY_MEDIUM. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit a492cd52b530cbcf42eb7349e6b435804a7a9271 Author: Vinicius Costa Gomes Date: Thu Aug 25 20:02:29 2011 -0300 Revert "Bluetooth: Add support for communicating keys with userspace" This reverts commit 5a0a8b49746771fba79866fb9185ffa051a6a183. If we use separate messages and list for SMP specific keys we can simplify the code. Conflicts: net/bluetooth/mgmt.c Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 988c5997d32052a58bd0127710bc8e2c8c5665b1 Author: Vinicius Costa Gomes Date: Thu Aug 25 20:02:28 2011 -0300 Bluetooth: Use the LTK after receiving a LE Security Request When receiving a security request from the remote device we should find if there is already a LTK associated with the remote device, if found we should use it to encrypt the link. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 0fb4eb6f630a22bf4c2f358ef2db91f28a3d18d4 Author: Vinicius Costa Gomes Date: Thu Aug 25 20:02:27 2011 -0300 Bluetooth: Fix sending wrong authentication requirements Until we support any pairing method (Passkey Entry, OOB) that gives MITM protection we shouldn't send that we have MITM protection. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 5e762444b0d3e56bbd66f5092434c4a1ba698313 Author: Antti Julku Date: Thu Aug 25 16:48:02 2011 +0300 Bluetooth: Add mgmt events for blacklisting Add management interface events for blocking/unblocking a device. Sender of the block device command gets cmd complete and other mgmt sockets get the event. Event is also sent to mgmt sockets when blocking is done with ioctl, e.g when blocking a device with hciconfig. This makes it possible for bluetoothd to track status of blocked devices when a third party block or unblocks a device. Event sending is handled in mgmt_device_blocked function which gets called from hci_blacklist_add in hci_core.c. A pending command is added in mgmt_block_device, so that it can found when sending the event - the event is not sent to the socket from which the pending command came. Locks were moved out from hci_core.c to hci_sock.c and mgmt.c, because locking is needed also for mgmt_pending_add in mgmt.c. Signed-off-by: Antti Julku Signed-off-by: Gustavo F. Padovan commit c908df362c20be0eeef506fe62e13d835a4633f9 Author: Vinicius Costa Gomes Date: Fri Sep 2 14:51:22 2011 -0300 Bluetooth: Use the MEDIUM security level for pairings This lifts the requirement of 16 digits pin codes when pairing with devices that do not support SSP when using the mgmt interface. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit e9bf2bf03e14627fac8520468231ea11dfa37610 Author: Vinicius Costa Gomes Date: Fri Sep 2 14:51:20 2011 -0300 Bluetooth: Require authentication if MITM protection is requested The HIGH security level requires a 16 digit pin code for non-SSP bondings. Sometimes this requirement is not acceptable and we still want protection againts MITM attacks (which is something that the MEDIUM security level doesn't provide), for that we should allow another way to request authentication without using the HIGH security level. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 8aab47574a7f5b46a4cdbc6fd820ab34e6c5dbf9 Author: Vinicius Costa Gomes Date: Mon Sep 5 14:31:31 2011 -0300 Bluetooth: Move SMP crypto functions to a workqueue The function crypto_blkcipher_setkey() called by smp_e() can sleep, so all the crypto work has to be moved to hci_dev workqueue. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 1c1def09c446aae441410b70e6439ffe44dee866 Author: Vinicius Costa Gomes Date: Mon Sep 5 14:31:30 2011 -0300 Bluetooth: Move SMP fields to a separate structure The objective is to make the core to have as little as possible information about SMP procedures and logic. Now, all the SMP specific information is hidden from the core. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 142c69c6eaab26587264881bb71546e30aafdcee Author: David Herrmann Date: Fri Aug 26 13:27:12 2011 +0200 Bluetooth: hidp: Add support for NO_INIT_REPORTS quirk During setup the host initializes all HID reports. Some devices do not support this. If this quirk is set, we skip the initialization. See also usbhid_init_reports() for this quirk. Signed-off-by: David Herrmann Signed-off-by: Gustavo F. Padovan commit 21061df3a2577b8d1feb1ca3cb51445085692e89 Author: Peter Hurley Date: Wed Aug 24 10:04:56 2011 -0400 Bluetooth: Add LE link type for debugfs output Add LE link type as known connection type for debugfs stringizing output. Signed-off-by: Peter Hurley Signed-off-by: Gustavo F. Padovan commit f6422ec624a19ba144b4b5cdbbc5ee41cc6f6400 Author: Antti Julku Date: Wed Jun 22 13:11:56 2011 +0300 Bluetooth: Add mgmt command for fast connectable mode Add command to management interface for enabling/disabling the fast connectable mode. Signed-off-by: Antti Julku Signed-off-by: Gustavo F. Padovan commit cfafccf730d363accacbd165542095ce6f7d2de8 Author: Vinicius Costa Gomes Date: Fri Aug 19 21:06:56 2011 -0300 Bluetooth: Add link_type information to the mgmt Connected event One piece of information that was lost when using the mgmt interface, was the type of the connection. Using HCI events we used to know the type of the connection based on the type of the event, e.g. HCI_LE_Connection_Complete for LE links. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 160dc6ac1256ed15a507bec9a2ff1f6d24a5a3ff Author: Vinicius Costa Gomes Date: Fri Aug 19 21:06:55 2011 -0300 Bluetooth: Add support for running SMP without a socket When doing the pairing procedure we won't have an associated socket, but we still have to do the SMP negotiation. This adds support for encrypting the link and exchanging keys. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 7a512d0172d3f54079efb2983afe04a5e68cfe50 Author: Vinicius Costa Gomes Date: Fri Aug 19 21:06:54 2011 -0300 Bluetooth: Add support for pairing via mgmt over LE Using the advertising cache we are able to infer the type of the remote device, and so trigger pairing over the correct link type. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit d26a23454813908a1bf0e2fd8c73233b22c6dbd7 Author: Vinicius Costa Gomes Date: Fri Aug 19 21:06:51 2011 -0300 Bluetooth: Add a flag to indicate that SMP is going on Add HCI_CONN_LE_SMP_PEND flag to indicate that SMP is pending for that connection. This allows to have information that an SMP procedure is going on for that connection. We use the HCI_CONN_ENCRYPT_PEND to indicate that encryption (HCI_LE_Start_Encryption) is pending for that connection. While a SMP procedure is going on we hold an reference to the connection, to avoid disconnections. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit e2dcd113d15ef99d23498859e7006955b5367698 Author: Vinicius Costa Gomes Date: Fri Aug 19 21:06:50 2011 -0300 Bluetooth: Reset the security timer when a command is queued Each time a SMP command is enqueued, we reset the SMP timer, this way we follow exactly what the spec mandates: "The Security Manager Timer shall be reset when an L2CAP SMP command is queued for transmission." Vol. 3, Part H, Section 3.4 Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 52087a792c1513b85de674a4fc67fb92855474c3 Author: Luiz Augusto von Dentz Date: Wed Aug 17 16:23:00 2011 +0300 Bluetooth: make use of connection number to optimize the scheduler This checks if there is any existing connection according to its type before start iterating in the list and immediately stop iterating when reaching the number of connections. Signed-off-by: Luiz Augusto von Dentz Signed-off-by: Gustavo F. Padovan commit da3ba88a9996cd64c6768bed5727e02da81e2c8d Author: Larry Finger Date: Mon Sep 19 14:34:10 2011 -0500 rtlwifi: Combine instances of RTL_HAL_IS_CCK_RATE macros. Three drivers, rtl8192ce, rtl8192cu and rtl8192de, use the same macro to check if a particular rate is in the CCK set. This common code is relocated to a common header file. A distinct macro used by rtl8192se with the same name is renamed. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 87b6d09225506236c58bf407f9b750591a3b3a7b Author: Larry Finger Date: Mon Sep 19 14:34:09 2011 -0500 rtlwifi: rtl8192de: Change modinfo messages The various modparam messages are difficult to understand. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 7664beeb2fb2d7ed13b2609dab8b84724263f135 Author: Larry Finger Date: Mon Sep 19 14:34:08 2011 -0500 rtlwifi: rtl8192se: Change modinfo messages The various modparam messages are difficult to understand. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit eed72316586a3ad401eff054b7c7a3ea56869541 Author: Larry Finger Date: Mon Sep 19 14:34:07 2011 -0500 rtlwifi: rtl8192ce: Change modinfo messages The various modparam messages are difficult to understand. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit f36369afce40a20b6328590c1f9a777d0810f815 Author: Rajkumar Manoharan Date: Mon Sep 19 20:15:48 2011 +0530 ath9k: Store noise immunity values across scanning CCK/OFDM noise immunilty values are always reset to defaults during bgscan. This could affect the link quality and performance when the STA is associated in a noisy channel. So do not override the learned values across the scanning. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit a7ce1c9446a7f7513211e4698d07357d20452909 Author: Alexander Simon Date: Sun Sep 18 00:16:45 2011 +0200 mac80211: fix indentation Signed-off-by: Alexander Simon Signed-off-by: John W. Linville commit e30815016bbd0b5c3dcdc29f53e054b57938f1aa Author: Rajkumar Manoharan Date: Thu Sep 15 17:40:50 2011 +0530 wireless: Do not allow disabled channel in scan request cfg80211_conn_scan allows disabled channels at scan request. Hence probe request was seen at the disabled one. This patch ensures that disabled channel never be added into the scan request's channel list. Acked-by: Johannes Berg Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 4d8b61490c14a36efdee4a8bf523e26809df05ac Merge: c9df56b 8c23516 Author: John W. Linville Date: Tue Sep 20 14:11:55 2011 -0400 Merge branch 'master' of git://git.infradead.org/users/linville/wireless Conflicts: drivers/net/wireless/iwlwifi/iwl-pci.c drivers/net/wireless/iwlwifi/iwl-trans-pcie-tx.c drivers/net/wireless/rt2x00/rt2800usb.c drivers/net/wireless/wl12xx/main.c commit c9df56b48e4ff003eaebd680ec7a45342dcd03ea Author: Jouni Malinen Date: Fri Sep 16 18:56:23 2011 +0300 cfg80211/nl80211: Add PMKSA caching candidate event When the driver (or most likely firmware) decides which AP to use for roaming based on internal scan result processing, user space needs to be notified of PMKSA caching candidates to allow RSN pre-authentication to be used. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 2981808269941490f209b2db88ae021d7007b39d Author: Rafał Miłecki Date: Fri Sep 16 16:36:32 2011 +0200 b43: LCN-PHY: finish sense setup Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 6be19ccd698abf9c4f0b7bba5a704f94e7ccdf54 Author: Mohammed Shafi Shajakhan Date: Fri Sep 16 19:03:40 2011 +0530 rfkill: properly assign a boolean type Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 39193498913f82dd7e484aa908843ca4114c3b0c Author: Johannes Berg Date: Fri Sep 16 13:45:25 2011 +0200 cfg80211: validate IBSS BSSID The IBSS BSSID is never validated, so an invalid one might end up being used. Fix this by rejecting invalid configuration. Reported-by: Marek Lindner Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bbb5574224168ef62c8549535c0d0a99e989ecf3 Author: Rafał Miłecki Date: Fri Sep 16 12:34:03 2011 +0200 b43: LCN-PHY: add more init tweaks Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 1b0a69c1ff445c265b173cc82c3f41a01dd90bec Author: Rafał Miłecki Date: Fri Sep 16 12:34:02 2011 +0200 b43: LCN-PHY: init TX power control Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit ac78a52f49e3645c49e2c13a239b570d2e590bee Author: Rafał Miłecki Date: Fri Sep 16 12:34:01 2011 +0200 b43: LCN-PHY: implement SPUR avoidance mode Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 0c5644b98b54dd4d156aba098689adb2054205cd Author: Rafał Miłecki Date: Fri Sep 16 12:34:00 2011 +0200 b43: LCN-PHY: set TX filters Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit b534706a0692912e72d4be78f45be57c5b231ed5 Author: Rafał Miłecki Date: Fri Sep 16 12:33:59 2011 +0200 b43: LCN-PHY: tweaks for channel switching They have been taken from brcmsmac, add Broadcom's copyright. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 7cc44ed48d0ec0937c1f098642540b6c9ca38de5 Author: Rajkumar Manoharan Date: Fri Sep 16 15:32:34 2011 +0530 mac80211: Fix regression on queue stop during 2040 bss change The commit "mac80211: stop tx before doing hw config and rate update" stops the tx queue and call drv_flush so frequently whenever a beacon got received with 11n htcap. This leads to massive "Failed to stop TX DMA" logspam on embedded hw. So the queue stop and flush should be called if and only if there is a change in the channel type. Reported-by: Felix Fietkau Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 143bb15de5ea904195d8e52cca7e2edbf5b31159 Author: Wey-Yi Guy Date: Thu Sep 15 11:46:54 2011 -0700 iwlagn: signedness bug re-apply the unsigned shorts bug fixed by Dan Carpenter but get lost after the file move. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 000850065c3b8ee6c9e8125496be3ee9773903cc Author: Wey-Yi Guy Date: Thu Sep 15 11:46:53 2011 -0700 iwlagn: fix stack corruption for temperature offset v2 Same stack corruption problem as temperature offset Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit effd4d9aece9184f526e6556786a94d335e38b71 Author: Johannes Berg Date: Thu Sep 15 11:46:52 2011 -0700 iwlagn: do not use interruptible waits Since the dawn of its time, iwlwifi has used interruptible waits to wait for synchronous commands and firmware loading. This leads to "interesting" bugs, because it can't actually handle the interruptions; for example when a command sending is interrupted it will assume the command completed fully, and then leave it pending, which leads to all kinds of trouble when the command finishes later. Since there's no easy way to gracefully deal with interruptions, fix the driver to not use interruptible waits. This at least fixes the error iwlagn 0000:02:00.0: Error: Response NULL in 'REPLY_SCAN_ABORT_CMD' I have seen in P2P testing, but it is likely that there are other errors caused by this. Cc: Stanislaw Gruszka Cc: stable@kernel.org [2.6.24+] Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 7d8f2d50b5082385ad0e0ab5f7dc2a6f1c19819c Author: Wey-Yi Guy Date: Thu Sep 15 11:46:51 2011 -0700 iwlagn: use iwl_eeprom_calib_hdr structure For retrieve calibration hdr related information, instead of using structure in one place and #define in other place, unify the method to use data structure. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit c6f30347a79502cc81e8ec55248b569b3a90ba2a Author: Wey-Yi Guy Date: Thu Sep 15 11:46:50 2011 -0700 iwlagn: add support for v2 of temperature offset calibration For 2000 series of NICs, version 2 of temperature offset calibration should be used. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 18d0077f0c4a3b88a04bf164db39671edafc30b8 Author: Johannes Berg Date: Thu Sep 15 11:46:49 2011 -0700 iwlagn: remove drvdata support from bus layer Since the removal of the sysfs files, it is no longer necessary to have upper layers control the drvdata, so let the PCI driver have it for itself completely. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit ca934b6715c134573da5acea01e9258eb0bf7c27 Author: Johannes Berg Date: Thu Sep 15 11:46:48 2011 -0700 iwlagn: move sysfs files to debugfs The debug_level and temperature files should be in debugfs, the txpower file is completely unneeded since TX power can be set with iw/iwconfig. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit fd90b3c1bab995f9225d8048d6d60e39dedac7ed Author: Johannes Berg Date: Thu Sep 15 11:46:47 2011 -0700 iwlagn: remove unused function declarations iwl_suspend and iwl_resume don't exist. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit cebcbd752a2e8b3a4da1d554cc570fc5310af057 Author: Johannes Berg Date: Thu Sep 15 11:46:46 2011 -0700 iwlagn: rename iwl-pci.h to iwl-cfg.h There's nothing PCI(E) specific in this file. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit c01a404756ef7dd4089b3d5d2010cba99732e385 Author: Johannes Berg Date: Thu Sep 15 11:46:45 2011 -0700 iwlagn: clean up PM code The transport callbacks might as well be undefined when CONFIG_PM_SLEEP is not set, so ifdef all of it out and make everything available for PM_SLEEP only. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 72afb108ad679f0694d3232ffdd34b0e906773ef Author: Johannes Berg Date: Thu Sep 15 11:46:44 2011 -0700 iwlagn: Makefile whitespace cleanup Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 370ad313be78473bfdb066397e38abf1b0dd5b5c Author: Johannes Berg Date: Thu Sep 15 11:46:43 2011 -0700 iwlagn: generically provide iwl_trans_send_cmd_pdu There's no need to have the transport layer have a callback for iwl_trans_send_cmd_pdu() since it is just a generic wrapper around iwl_trans_send_cmd(). Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit c17d0681b8a4d93217464d8026361c7b44b3ca99 Author: Johannes Berg Date: Thu Sep 15 11:46:42 2011 -0700 iwlagn: move PCI-E transport files Move all the PCI-E specific transport files to be iwl-trans-pcie*; specifically iwl-trans.c which is really iwl-trans-pcie.c. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 701cb0997f42196a42c3566da1d35451b4b899e2 Author: Wey-Yi Guy Date: Thu Sep 15 11:46:41 2011 -0700 iwlagn: merge eeprom access into single file After driver split and no need to support legacy devices, there is no reason we need to separate the NVM access into different files, merge those. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 1dd9124e2911b34744672c91ad865f39711f5542 Author: Emmanuel Grumbach Date: Thu Sep 15 11:46:40 2011 -0700 iwlagn: provide data after WARN_ON From time to time, we hit a WARN_ON in iwl_mac_remove_interface. This basically means that we got out of sync with mac80211: the vif we hold differs from the vif 80211 passes as parameter. Try to get some data that will help to debug this. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 403ba56aedf2b3092e12219188e5c248f04c5acc Author: Don Fry Date: Thu Sep 15 11:46:39 2011 -0700 iwlagn: replace beacon_time_fsf_bits variable with #define All devices use the same value for beacon_time_tsf_bits. Use the #define Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit b8c2b05e14fbe1ba3fffa31931a1a9ef8da933f9 Author: Fry, Donald H Date: Thu Sep 15 11:46:38 2011 -0700 iwlagn: simplify chain_noise_num_beacons indirection chain_noise_num_beacons is set and never changes. Use the #define rather than 3 levels of indirection. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 5092e47afcbe6c470094c32095794b16083dfac2 Author: Fry, Donald H Date: Thu Sep 15 11:46:37 2011 -0700 iwlagn: fix modinfo display for 135 ucode. The modinfo report for 135 ucode is iwlwifi-135-IWL135_UCODE_API_MAX.ucode Change to show the value of the define: iwlwifi-135-6.ucode Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit ff647af65656b731f81d2216e01d3d1dcb2130bf Author: Wey-Yi Guy Date: Thu Sep 15 11:46:36 2011 -0700 iwlagn: New SKU for 6005 SFF Adding another SKU for 6005 series devices. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 9845ad22fdac09109d230bd4070311c98b119ebe Author: Joe Perches Date: Thu Sep 15 12:47:26 2011 -0700 iwlagn: Convert kzalloc to kcalloc Convert kzalloc to kcalloc, coalesce multiple lines too. Signed-off-by: Joe Perches Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 21023e2696679bea2a42aa963de74ce37c049b13 Author: Emmanuel Grumbach Date: Thu Sep 15 11:46:34 2011 -0700 iwlagn: add documentation to the transport layer and do a few clean up fixes on the way Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit eeb7f8cb93966250e5768ea9f8fec8830567c02a Author: Emmanuel Grumbach Date: Thu Sep 15 11:46:33 2011 -0700 iwlagn: document the bus layer API Add documentation to the bus layer API - iwl-bus.h Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 14991a9d8469ccac12c5d243e975d3ab78c8238a Author: Emmanuel Grumbach Date: Thu Sep 15 11:46:32 2011 -0700 iwlagn: use enum iwl_rxon_context_id instead of u8 enum iwl_rxon_context_id is the right type to use when we need a rxon_context_id. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 859cfb0a99369cf51dc2125ebc3476382a15c322 Author: Emmanuel Grumbach Date: Thu Sep 15 11:46:31 2011 -0700 iwlagn: move iwl_stop / wake_queue to the upper layer Add a wrapper in the upper layer to call the mac80211's function. This allows not to have the transport layer call mac80211 directly. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 909e9b23e4b1d4a783e8d2e5e2c865b7ebdb0675 Author: Emmanuel Grumbach Date: Thu Sep 15 11:46:30 2011 -0700 iwlagn: free the Tx cmd when a non empty Tx queue is freed When a non-empty Tx queueis freed, the buffer it contains must be freed too. Since the Tx cmd are now allocated from a pool, the Tx cmd must be freed too. This patch avoids to destroy a non-empty pool of Tx cmd. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 39644e9ac5329dc92d9547976c8f30f18da90097 Author: Emmanuel Grumbach Date: Thu Sep 15 11:46:29 2011 -0700 iwlagn: unmap cmd queue's tfds as BIDI If the driver is unloaded while there is still a host command in flight, its tfd will be freed by iwl_tx_queue_free. This function is called for both types of queues: Tx queues and cmd queue. This didn't take in count the fact that in Tx queues, tfds are mapped as TO_DEVICE (besides the first TB), whereas in cmd queue, all TBs are mapped as BIDI. Hence, tx_queue_free unmapped the second (and higher) TB of each tfd in the cmd queue as TO_DEVICE, whereas they must be freed as BIDI. This means that if a multi TFD is in flight while we unload the driver (which is quite unlikely but can happen), we will get the warning below. This patch fixes this. [ 445.234060] ------------[ cut here ]------------ [ 445.236273] WARNING: at lib/dma-debug.c:861 check_unmap+0x337/0x780() [ 445.236654] iwlagn 0000:02:00.0: DMA-API: device driver frees DMA memory with different direction [device address=0x0000000126950540] [size=8 bytes] [mapped with DMA_BIDIRECTIONAL] [unmapped with DMA_TO_DEVICE] [ 445.236654] Modules linked in: ... [ 445.236654] Pid: 1415, comm: modprobe Not tainted 3.1.0-rc4-wl-65912-g5215ff1-dirty #79 [ 445.236654] Call Trace: [ 445.236654] [] warn_slowpath_common+0x71/0xa0 [ 445.236654] [] warn_slowpath_fmt+0x47/0x50 [ 445.236654] [] check_unmap+0x337/0x780 [ 445.236654] [] ? free_one_page+0x156/0x320 [ 445.236654] [] debug_dma_unmap_page+0x5a/0x60 [ 445.236654] [] iwlagn_unmap_tfd.isra.11+0x121/0x1c0 [iwlagn] [ 445.236654] [] iwlagn_txq_free_tfd+0x42/0x70 [iwlagn] [ 445.236654] [] iwl_tx_queue_unmap+0x4e/0x70 [iwlagn] [ 445.236654] [] iwl_trans_pcie_tx_free+0x10d/0x440 [iwlagn] [ 445.236654] [] ? destroy_workqueue+0xb9/0x1e0 [ 445.236654] [] iwl_trans_pcie_free+0x2a/0x2c0 [iwlagn] [ 445.236654] [] iwl_remove+0x149/0x17e [iwlagn] [ 445.236654] [] iwl_pci_remove+0x1f/0x65 [iwlagn] [ 445.236654] [] pci_device_remove+0x47/0x120 [ 445.236654] [] __device_release_driver+0x7c/0xe0 [ 445.236654] [] driver_detach+0xc8/0xd0 [ 445.236654] [] bus_remove_driver+0x88/0xe0 [ 445.236654] [] driver_unregister+0x62/0xa0 [ 445.236654] [] pci_unregister_driver+0x44/0xc0 [ 445.236654] [] iwl_pci_unregister_driver+0x15/0x20 [iwlagn] [ 445.236654] [] iwl_exit+0x9/0xa74 [iwlagn] [ 445.236654] [] sys_delete_module+0x184/0x240 [ 445.236654] [] ? retint_swapgs+0xe/0x13 [ 445.236654] [] ? trace_hardirqs_on_thunk+0x3a/0x3f [ 445.236654] [] system_call_fastpath+0x16/0x1b [ 445.236654] ---[ end trace 1fbc362b7dbe5d74 ]--- [ 445.236654] Mapped at: [ 445.236654] [] debug_dma_map_page+0x8b/0x150 [ 445.236654] [] iwl_enqueue_hcmd+0x837/0xa40 [iwlagn] [ 445.236654] [] iwl_trans_pcie_send_cmd+0x8d/0x580 [iwlagn] [ 445.236654] [] iwl_send_calib_results+0x75/0xd0 [iwlagn] [ 445.236654] [] iwlagn_alive_notify+0x196/0x1f0 [iwlagn] [ 445.386500] iwlagn 0000:02:00.0: PCI INT A disabled Reported-by: Johannes Berg Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 17a68dd7bc25b3671d54b3b371df9b5baf985b20 Author: Emmanuel Grumbach Date: Thu Sep 15 11:46:28 2011 -0700 iwlagn: warn about buggy fw that doesn't set SEQ_RX_FRAME The way we check if there is host command that should be reclaimed is way too complicated. We should have a clear indication from the fw. The fw is expected to set the SEQ_RX_FRAME bit if the frame was originated by the fw which indicates to the driver that there is no host command to free. Somehow, there seem to have been buggy fw out there, hence the very old comment. This code checks if we have still buggy fw out there. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit d2c71c20789189cd01978efcbdd61231f5929eaf Author: Rajkumar Manoharan Date: Thu Sep 15 19:02:54 2011 +0530 ath9k: Reset caldata on radio enable Not doing so, the caldata continues to retain older history values learned on that channel. It is always safer to start noise floor calibration from the defaults after the assoication. So this patch resets the nf history buffer when none of the STA vifs are associated. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 05bfe3d2a5794cc9e9b8119f36d1d7848ecd8967 Author: Rajkumar Manoharan Date: Thu Sep 15 19:02:53 2011 +0530 ath9k: load noise floor from history after the full chip reset Currently during the full reset, the nf calibration is always restarted from the defaults. The noise floor history buffers are never be used again after the scan and ath reset. This patch ensures that nf histories are always be used that helps to improve the signal quality on congested environment Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit e9c10469cf3c71bc1c6b0f01319161e277d6ac9b Author: Rajkumar Manoharan Date: Thu Sep 15 19:02:25 2011 +0530 ath9k_hw: Fix magnitude/phase coeff correction Do the magnitude/phase coeff correction only if the outlier is detected. Updating wrong magnitude/phase coeff factor impacts not only tx gain setting but also leads to poor performance in congested networks. In the clear environment the impact is very minimal because the outlier happens very rarely according to the past experiment. It occured less than once every 1000 calibrations. Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 491b209d06192a8b93d226b4e5d7399747bf01ef Author: Felix Fietkau Date: Thu Sep 15 14:25:38 2011 +0200 ath9k_hw: remove ar9100_hw_compute_pll_control AR913x uses the same PLL register layout as AR9160 and later. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit bf3f204b92c48c4afa3e827dfe98353560d9aa7f Author: Felix Fietkau Date: Thu Sep 15 14:25:37 2011 +0200 ath9k_hw: fix setting the hardware diversity flag ath9k_hw_set_diversity is only called from init.c where it cannot affect the hardware setting because it's cleared on the next reset. Instead of using a PHY op for something that's supposed to be initialized statically, set the register value directly in the INI override function. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit d7084da0ceeddb9caf84de20cf687bb4a9b842b1 Author: Felix Fietkau Date: Thu Sep 15 14:25:36 2011 +0200 ath9k_hw: remove dead code in the eeprom ops The eeprom .set_addac function is only necessary for AR9160, remove it from eeprom_4k.c and remove the dummy function from eeprom_9287.c Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 1b8714f7dcd8b41cd2843c42a6cc16ba2d4c899f Author: Felix Fietkau Date: Thu Sep 15 14:25:35 2011 +0200 ath9k_hw: clean up hardware revision checks - AR_SREV_5416_20_OR_LATER is always true, remove it - AR_SREV_9280_20_OR_LATER is always true within eeprom_4k.c and eeprom_9287.c - (AR_SREV_9271 || AR_SREV_9285) is always true in eeprom_4k.c Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f11cc949fd9fed7040eba39eab11e7bee274b527 Author: Felix Fietkau Date: Thu Sep 15 12:59:49 2011 +0200 ath9k: sync the dma buffer after changing the retry flag Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 0c28ec587a2f061b93a98ac02a53b4152cbe48f4 Author: Eliad Peller Date: Thu Sep 15 11:53:01 2011 +0300 cfg80211: add cfg80211_find_vendor_ie() function Add function to find vendor-specific ie (along with vendor-specific ie struct definition and P2P OUI values) Signed-off-by: Eliad Peller Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 6e82bc4a5bf3a1ce597324c8667baa6a2ed12604 Author: Felix Fietkau Date: Thu Sep 15 10:03:12 2011 +0200 ath9k: fix setting the IEEE80211_TX_CTL_CLEAR_PS_FILT flag When the driver inserts padding between the 802.11 header and data, it needs to set the hdr variable to the new header location. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 42cecc3465578e442b794851fd8802dcb85a192c Author: John W. Linville Date: Mon Sep 19 15:42:31 2011 -0400 Revert "ath9k: do not insert padding into tx buffers on AR9380+" This reverts commit 4245d31347bdc99a608dc1d1cfe64e44aa3d1771. commit 376cf5d3fd3c84855f1bf8d62aa05b7e4bcf1b8c Merge: 12e62d6 045c745 Author: John W. Linville Date: Mon Sep 19 15:42:21 2011 -0400 Merge branch 'for-linville' of git://github.com/lucacoelho/wl12xx commit b53d63ecce17c4ddf8636def9f6e8b865c3927f9 Merge: 765cf99 12e62d6 Author: John W. Linville Date: Mon Sep 19 15:00:16 2011 -0400 Merge branch 'master' of ssh://infradead/~/public_git/wireless-next into for-davem commit 9df337a104ab99c595cc4ede2c917ba1c2b66374 Author: Vivek Natarajan Date: Thu Sep 15 20:30:43 2011 +0530 ath6kl: deinitialise wiphy on error This fixes the following panic observed on card removal. BUG: unable to handle kernel paging request at f86e22ac EIP is at wiphy_update_regulatory+0x252/0x590 [cfg80211] Call Trace: [] set_regdom+0x165/0x600 [cfg80211] [] ? __kmalloc+0x10a/0x190 [] ? nla_parse+0xb7/0xd0 [] ? T.1400+0x12/0x20 [cfg80211] [] nl80211_set_reg+0xe4/0x270 [cfg80211] [] ? nl80211_pre_doit+0x0/0x160 [cfg80211] [] genl_rcv_msg+0x23b/0x280 [] ? genl_rcv_msg+0x0/0x280 [] netlink_rcv_skb+0x86/0xb0 [] ? genl_rcv+0x0/0x30 [] genl_rcv+0x1c/0x30 Signed-off-by: Vivek Natarajan Signed-off-by: Kalle Valo commit 151411e88fe1d1a729a4f706a2aebef8bc000a69 Author: Jouni Malinen Date: Thu Sep 15 15:10:16 2011 +0300 ath6kl: Fix static WEP configuration in AP mode Configuration of the WEP keys needs to be delayed until the AP mode has been properly started at the target. Partial support for delaying the WEP key configuration was already in place in the driver, but the actual part of deciding when to do this was missing. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 7107676a3a46415c27186bc7d5ce988498897c66 Author: Felix Fietkau Date: Thu Sep 15 09:37:46 2011 +0200 mac80211: fix endian issues and comments for BAR failure handling Signed-off-by: Felix Fietkau Cc: Helmut Schaa Signed-off-by: John W. Linville commit 4245d31347bdc99a608dc1d1cfe64e44aa3d1771 Author: Felix Fietkau Date: Wed Sep 14 21:24:27 2011 +0200 ath9k: do not insert padding into tx buffers on AR9380+ With the new EDMA descriptor format, a single descriptor can contain up to four buffer pointers. By splitting the buffer into two parts, we can let the hardware add the padding internally instead of using memmove on the skb data. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 3afd21e7c5b3b6312193fbee628b000dce82ecf5 Author: Felix Fietkau Date: Wed Sep 14 21:24:26 2011 +0200 ath9k: optimize ath_tx_rc_status usage The only flag that needs to be set when ath_tx_rc_status is called with rc_update == false is the IEEE80211_TX_STAT_TX_FILTERED flag. All other data is ignored in that case. This flag can be set from ath_tx_complete_buf instead, so that we can drop a few redundant calls to ath_tx_rc_status and remove the rc_update function parameter Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit bdf2dbfb084f421dc6dc2f2234194ddb6ec2ea8d Author: Felix Fietkau Date: Wed Sep 14 21:24:25 2011 +0200 ath9k: remove a redundant check in ath_tx_form_aggr ath_lookup_legacy now checks all the tx rate flags for MCS vs legacy Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit c6c539f023423a7a730f5759be1b3b45c2d1d1ca Author: Felix Fietkau Date: Wed Sep 14 21:24:24 2011 +0200 ath9k: optimize ath9k_ps_restore ath_hw_cycle_counters_update only needs to be called if the power state changes. Most of the time this does not happen, even when ps_usecount goes down to 0. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 66ac69c8c3bd176b49c19e52c37449dec24c9588 Author: Felix Fietkau Date: Wed Sep 14 21:24:23 2011 +0200 ath9k_hw: remove the old tx descriptor API Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 493cf04fd37bf265dc3c9aad357e3e34654c86e3 Author: Felix Fietkau Date: Wed Sep 14 21:24:22 2011 +0200 ath9k: use the new API for setting tx descriptors With the new API, tx descriptors can be written in one single pass instead of having to re-read and rewrite fields from multiple places. This makes the code easier to read and also slightly improves performance on embedded MIPS hardware. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 2b63a41d14245345d6c498506c5634613afa80c0 Author: Felix Fietkau Date: Wed Sep 14 21:24:21 2011 +0200 ath9k_hw: add a new API for setting tx descriptors Instead of using lots of different functions with long argument lists, pull all the necessary information from one struct. This makes the code easier to read and eliminates the need for copying data between multiple linked descriptors. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 60f8cc60fa41b8c44662a3a4d99862e3b81cfa6f Author: Felix Fietkau Date: Wed Sep 14 21:24:20 2011 +0200 ath9k_hw: do not recalculate the descriptor checksum in ar9003_hw_fill_txdesc Reduces the number of accesses to uncached descriptor memory. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 7a2721a3233d32c958a474f78c20e25c9efa221c Author: Felix Fietkau Date: Wed Sep 14 21:24:19 2011 +0200 ath9k: call ath9k_hw_set_desc_link for beacon descriptors This ensures that only ath9k_hw_set_desc_link needs to recalculate the tx descriptor checksum on AR9380+ Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 38dad7ba60475618d873fe703e7ef564a963fd1f Author: Felix Fietkau Date: Wed Sep 14 21:24:18 2011 +0200 ath9k: move ath_buf_set_rate to remove a forward declaration Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 399c64895d206b16c704827d0a71b7467e441c94 Author: Felix Fietkau Date: Wed Sep 14 21:24:17 2011 +0200 ath9k: reduce the number of functions that access the tx descriptor Makes it easier to clean up the ath9k_hw descriptor API Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 55797b1ae5bfc33f1c0f978cdc7cd89a8d9460fc Author: Felix Fietkau Date: Wed Sep 14 21:24:16 2011 +0200 ath9k: remove ATH_TX_XRETRY and BUF_XRETRY flags Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 3483288caf3d979e6b032d62f75f57893adf0d53 Author: Felix Fietkau Date: Wed Sep 14 21:23:03 2011 +0200 ath9k: ensure that rx is not enabled during a reset During a reset, rx buffers are flushed after rx has been disabled. To avoid race conditions, rx needs to stay disabled during the reset, so avoid any calls to ath9k_hw_rxena in that case. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit c31c8261bf7b817e323d29ba66c031f6b0982680 Author: Felix Fietkau Date: Wed Sep 14 21:23:02 2011 +0200 ath9k: make beacon timer initialization more reliable When starting the AP beacon timer, it assumes that the TSF has recently been cleared. Set the SC_OP_TSF_RESET flag to ensure that this is always the case. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit e392700741a4a5f061f3fcc9f5f2ceb0e0b0953e Author: Felix Fietkau Date: Wed Sep 14 21:23:01 2011 +0200 ath9k: fix enabling interrupts after a hardware error interrupt The interrupt handler increases the interrupt disable refcount, so the tasklet needs to always call ath9k_hw_enable_interrupts. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit c5d2593bad0d3440ce3b464d9e3c514d364820f8 Author: Mohammed Shafi Shajakhan Date: Wed Sep 14 15:09:40 2011 +0530 ath9k: Fix PS wrappers and enabling LED in ath_pci_resume it seems we are not enabling LED properly, in addition we have a PS wrapper fix for this Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 79ac9b3033eef5dd1144da035cf18b00e35ddf48 Author: Mohammed Shafi Shajakhan Date: Wed Sep 14 15:09:13 2011 +0530 ath9k: enable LED pin for AR946/8x chipsets now the LED starts working for AR946/8x chipsets Cc: "Balasubramanian, senthilkumar" Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 7db062ac4bafac040afb28faf355fc2acb426413 Author: Rajkumar Manoharan Date: Wed Sep 14 14:20:30 2011 +0530 ath9k_hw: Do full chip reset on 11A channels for AR9003 AR9003 seems to have issues sometimes with fast channel change in 5GHz and this case is handled specifically for AR9280 by doing a full reset. Let's do a full reset for 5GHz channles of AR9380 & for all channels of AR9280 pci chips. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit b54af8af49cd93c1ac33e3a8f0bb2f5acc8c7d0e Author: Senthil Balasubramanian Date: Tue Sep 13 22:38:19 2011 +0530 ath9k_hw: move register definitions to header files Move the register macros to appropriate header files to be in sync with other register definitions and also a single place to refer everything. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 2577c6e8f2320f1d2f09be122efef5b9118efee4 Author: Senthil Balasubramanian Date: Tue Sep 13 22:38:18 2011 +0530 ath9k_hw: Add support for AR946/8x chipsets. This patch adds support for AR946/8x chipets. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 4d0707e66d82f46998d49be98adea0e705647be1 Author: Senthil Balasubramanian Date: Tue Sep 13 22:38:17 2011 +0530 ath9k_hw: Split tx/rx gain table initval handling Split tx/rx gain table initval hanlding part so readability is better and easy to manage the code. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit ce407afc1008a67969ae05717e86dcee9ce5de76 Author: Senthil Balasubramanian Date: Tue Sep 13 22:38:16 2011 +0530 ath9k_hw: Add initvals and register definitions for AR946/8x chipsets. Add initvals and register modifications required to support AR946/8x chipsets. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 910868db3f114df32387a9c51a729b2645febe4d Author: Eliad Peller Date: Sun Sep 11 09:46:55 2011 +0300 nl80211/cfg80211/mac80211: fix wme docs Add/fix some missing docs. Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit bd1a272806e6554c54959f2b46f6d40c182468c0 Merge: 55768fa c6ceb87 Author: John W. Linville Date: Fri Sep 16 16:20:43 2011 -0400 Merge branch 'for-linville' of git://github.com/lucacoelho/wl12xx commit 9c223f9bbad78aabfe9c4dfd75ca2660f78f20f9 Merge: 986eaa9 b4d3de8 Author: David S. Miller Date: Fri Sep 16 15:14:19 2011 -0400 Merge branch 'for-davem' of git://git.infradead.org/users/linville/wireless-next commit 170826dd0d9fa71b648aa31ecb1e2973d777dbdb Author: Vasanthakumar Thiagarajan Date: Sat Sep 10 15:26:35 2011 +0530 ath6kl: Set the sme_state to disconnected in disconnect() callback After a successful completion of disconnect() driver needs to set it's sme_state to SME_DISCONNECTED to be in sync with cfg80211 state. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit ac59a2b285abbcec1ec487ef56dcc25c654853fb Author: Vasanthakumar Thiagarajan Date: Sat Sep 10 15:26:34 2011 +0530 ath6kl: Remove auth type fall back in auto authentication mode Target already tries with different authentication mechanism when authentication type is configured to NL80211_AUTHTYPE_AUTOMATIC. Remove this piece of code from driver. Having this code in driver even affects auto + WEP authentication in some cases. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 97e0496d056726ab46e7e977315f2ab847b34209 Author: Kalle Valo Date: Mon Sep 12 13:47:34 2011 +0300 ath6kl: add firmware capabilities support The new firmware format includes capability bits which make it possible to check what features the firmware supports. Add infrastructure to read the capabilities. For now it only provides ATH6KL_FW_CAPABILITY_HOST_P2P which is not even used anywhere yet, but that will be added later. Signed-off-by: Kalle Valo commit 8a13748034e93b4134455ebf51e2fada8eb00aca Author: Kalle Valo Date: Wed Sep 7 10:55:17 2011 +0300 ath6kl: read reserved ram size from firmware file A new version of firmware needs different reserved ram size so read that from the firmware image. Signed-off-by: Kalle Valo commit 639d0b8996aa5913402b846932d57a51a23a40c9 Author: Kalle Valo Date: Mon Sep 12 12:48:09 2011 +0300 ath6kl: read firmware start address from hardware It's actually possible to read the firmware start address from hardware, that way there's no need to hardcode the address in hardware. Thanks to Chilam Ng for the idea. Signed-off-by: Kalle Valo commit 991b27eaf937a67bb575a95be5c592d9b9109a84 Author: Kalle Valo Date: Wed Sep 7 10:55:17 2011 +0300 ath6kl: refactor firmware ext data addr and reserved ram handling size Less if clauses this way and again easier to override the values. Signed-off-by: Kalle Valo commit a01ac4144e7af80f8c1fd861dc5d280c5687c2a9 Author: Kalle Valo Date: Wed Sep 7 10:55:17 2011 +0300 ath6kl: refactor firmware load address code Currently the load address was calculated everytime when it was needed, and with a mess if clauses. Simplify this by adding a field to struct ath6kl for each address and choose the address with simple switch statements. Also move the code just after target version is retrieved. That way it's easier to override the values later in the boot process. Signed-off-by: Kalle Valo commit 50d412346e49aee71b66d90dffb68f8d90ed35b2 Author: Kalle Valo Date: Wed Sep 7 10:55:17 2011 +0300 ath6kl: add support for firmware API 2 format In the new format all the format images are embedded into one file. Signed-off-by: Kalle Valo commit cfc301edfb4f762309b5704ae316ea98d7ba1106 Author: Kalle Valo Date: Wed Sep 7 10:55:16 2011 +0300 ath6kl: fix busy loop in ath6kl_bmi_get_rx_lkahd() Brent reported that ath6kl busy loops if firmware doesn't boot for some reason (in this case he was using an older firmware which wasn't supported by ath6kl). Investigation revealed that this was even on purpose, ath6kl_bmi_get_rx_lkahd() had a parameter to disable the timeout check, which is extremely evil. I didn't find any reason why the timeout needs to be disabled so I just removed the feature. The function already busyloops a maximum of one second if it doesn't get an answer, even that's too long. If something takes longer than that a more friendly approach is needed. Reported-by: Brent Taylor Signed-off-by: Kalle Valo commit 772c31ee438e4d2d7a5e049b8d73c2ee8902f656 Author: Kalle Valo Date: Wed Sep 7 10:55:16 2011 +0300 ath6kl: separate firmware fetch from upload In preparation for the new firmware image format. Signed-off-by: Kalle Valo commit 92ecbff48e3993ca58525533dc58ec1025c45609 Author: Sam Leffler Date: Wed Sep 7 10:55:16 2011 +0300 ath6kl: query device tree for firmware board-id When no default board data file is present query the device tree for a board-id setting to identify the board data to use. If the FDT lacks the necesary info fall back to the previous behaviour of using a compile-time board filename. Signed-off-by: Sam Leffler Signed-off-by: Kalle Valo commit e060c38434b2caa78efe7cedaff4191040b65a15 Merge: 10e4ac5 cc39c6a Author: Jiri Kosina Date: Thu Sep 15 15:08:05 2011 +0200 Merge branch 'master' into for-next Fast-forward merge with Linus to be able to merge patches based on more recent version of the tree. commit 77cd7693787d0021786078da22a015cea938e466 Author: Kartik Mohta Date: Mon Jul 11 00:18:07 2011 -0400 libertas_tf: deb_defs.h: Fix typo in include guard Signed-off-by: Kartik Mohta Signed-off-by: Jiri Kosina commit f1ee39ff69bfe7f15398c6b13fdf496134c05c75 Author: Justin P. Mattock Date: Tue Jul 5 21:51:36 2011 -0700 ipw2x00: comment typo fix encryptiong to encryption The below patch fixes a typo. Signed-off-by: Justin P. Mattock Signed-off-by: Jiri Kosina commit fb914ebff5d0c4cf4e9ff16974057e07f82805c7 Author: Vitaliy Ivanov Date: Thu Jun 23 20:01:55 2011 +0300 treewide: typo 'interrrupt' word corrections. Signed-off-by: Justin P. Mattock Signed-off-by: Vitaliy Ivanov Signed-off-by: Jiri Kosina commit 55768fa6d9462c18c1ce3c862db3bf55bac3b1c7 Author: Andres Salomon Date: Thu Sep 8 17:35:17 2011 -0700 libertas: prioritize usb8388_olpc.bin firmware on OLPC machines Normally, the v9 firmware will be loaded if it's available. However, on OLPC XO-1 machines, the olpc-specific firmware supports extra functionality. This makes the libertas driver attempt to load the custom firmware first if the machine is an OLPC machine; if that fails (or it's not an OLPC machine), fall back to attempting to load the other firmwares. usb8388_olpc.bin is currently found in the linux-firmware repository. Signed-off-by: Andres Salomon Acked-by: Dan Williams Signed-off-by: John W. Linville commit fd235913f9d86fde954f7e1215bd0921ee70cb19 Author: Randy Dunlap Date: Thu Sep 8 10:16:50 2011 -0700 wireless: fix kernel-doc warning in net/cfg80211.h Fix kernel-doc warning in net/cfg80211.h: Warning(include/net/cfg80211.h:1884): No description found for parameter 'registered' Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit d7d259d3a5e5975b8d0b67759f2632fbd0d508d2 Author: Helmut Schaa Date: Thu Sep 8 14:39:04 2011 +0200 rt2x00: Use the available helper functions to initialize the WCID table Use rt2800_config_wcid and rt2800_delete_wcid_attr to initialize the WCID table instead of writing to the registers directly. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit af35323db6a177514ef6c77b961bf9db31648cd9 Author: Helmut Schaa Date: Thu Sep 8 14:38:36 2011 +0200 rt2x00: Forbid aggregation for STAs not programmed into the hw If a STA is not known by the hw (i.e. has no WCID assigned) don't allow aggregation since this might mess up tx status reports and we won't be able to distinguish the reports of multiple WCID-less STAs. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a2b1328a23c57fbb9c51e6660a11049c35d151f9 Author: Helmut Schaa Date: Thu Sep 8 14:38:01 2011 +0200 rt2x00: Make use of sta_add/remove callbacks in rt2800 This allows us to assign a WCID to each STA even for STAs without crypto key. To achieve this search for an unused WCID in the HW WCID table and assign it to the according STA. When configuring a pairwise key for this STA we don't need to write the MAC address and BSSIDX anymore but just update the crypto related fields in the WCID_ATTR table. This has two advantages: 1) Setting a new key for an already available STA (PTK rekeying) is slightly less expensive and should improve performance in situations where a lot of rekeying happens (e.g. a huge number of stations and/or a small rekeying interval) 2) The TXWI now gets a WCID assigned for unencrypted frames which will be reflected in the corresponding tx status report. This should make tx status reports in unencrypted AP mode more reliable as we can distinguish between multiple key-less STAs. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ead2bb64a38c471ad0a769f61921f330f062dd50 Author: Helmut Schaa Date: Thu Sep 8 14:37:19 2011 +0200 rt2x00: Add WCID to HT TX descriptor When sending an unencrypted frame to a STA the driver might want to pass a suitable WCID since we don't have a key index to allow tx status reports to get properly assigned to the correct STA. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f03fcfc110739be5bae4f0edf33998b019ff7436 Author: Helmut Schaa Date: Thu Sep 8 14:36:45 2011 +0200 rt2x00: Add WCID to crypto struct When a WCID was already assigned to a STA the key configuration functions need to use the same WCID for configuring the keys. Hence, add the WCID to the crypo configuration structure. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit b4943d8113500ee783072ba2ba7506ad76df3726 Author: Helmut Schaa Date: Thu Sep 8 14:36:04 2011 +0200 rt2x00: Introduce sta_add/remove callbacks This implements a basic sta_add and sta_remove callback. Introduce a new structure rt2x00_sta and ask mac80211 to allocate it as private part of its ieee80211_sta. rt2x00_sta only contains the WCID for now. The sta_add callback allows the driver to assign a WCID to a station that is currently being added. The same wcid is also passed to the sta_remove callback one mac80211 removes this STA. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 183255235aadefd5a987021346e7aee2cbe721eb Author: Helmut Schaa Date: Thu Sep 8 14:34:22 2011 +0200 rt2x00: Move bssidx calculation into its own function This will be used by a later patch. No functional changes. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1ea57b1f12c045db5fca5d1299963ca1c70983ea Author: Shahar Levi Date: Thu Sep 8 08:44:05 2011 +0300 mac80211: Update device channel in case of HW channel switch supported The hw.conf.channel value is not updated properly for drivers that support HW channel switch. Since the switch is done entirely by the driver and we don't call ieee80211_hw_config(), this value remains untouched. This patch fixes that by setting the new channel directly in ieee80211_chswitch_work(). Signed-off-by: Shahar Levi Signed-off-by: John W. Linville commit 5fbdf4a2dfbc320bb8422c88c0f59b624043add1 Author: Javier Cardona Date: Wed Sep 7 17:49:54 2011 -0700 mac80211: Mark all mesh stations as QoS capable Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 2154c81c32fa44364f83218a10d8dbec4e76d4f5 Author: Javier Cardona Date: Wed Sep 7 17:49:53 2011 -0700 mac80211: Mesh data frames must have the QoS header Per sec 7.1.3.5 of draft 12.0 of 802.11s, mesh frames indicate the presence of the mesh control header in their QoS header. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 4777be41638cfab56c78b2a764a5f83beb6cfdd2 Author: Javier Cardona Date: Wed Sep 7 17:49:52 2011 -0700 mac80211: Start implementing QoS support for mesh interfaces In order to support QoS in mesh, we need to assign queue mapping only after the next hop has been resolved, both for forwarded and locally originated frames. Also, now that this is fixed, remove the XXX comment in ieee80211_select_queue(). Also, V-Shy Ho reported that the queue mapping was not being applied to the forwarded frame (fwd_skb instead of skb). Fixed that as well. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 3de3d966007592693e68a973f62a1e3828565af0 Author: Helmut Schaa Date: Wed Sep 7 20:11:26 2011 +0200 rt2x00: Avoid unnecessary uncached Reading the TX desciptor words from coherent memory is always uncached and potentially slow. Hence, don't read the TX descriptor prior to writing it since we update all fields anyway. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5dada06cf156b1b70dcb76de5a63349aa33b135c Author: Helmut Schaa Date: Wed Sep 7 20:11:03 2011 +0200 rt2x00: Update some TX descriptor Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 550245b56c4a3746fdcbe051b4a75b60303cb531 Author: Helmut Schaa Date: Wed Sep 7 20:10:45 2011 +0200 rt2x00: Remove incorrect led blink rt2800 devices are not capable of configuring arbitrary LED on/off periods. The LED_CFG register fields ON_PERIOD and OFF_PERIOD are only used by the hw when the LED mode is set to "blink upon TX". Hence, remove the blink callback. This will result in software emulation for LED blinking. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0f287b74a9cbf4bea155f5b441c9a4aa35c4b119 Author: Helmut Schaa Date: Wed Sep 7 20:10:25 2011 +0200 rt2x00: Add LED_CFG register description Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 31937c423ed3a13613b3aa7459e7405dd428f2d8 Author: Helmut Schaa Date: Wed Sep 7 20:10:02 2011 +0200 rt2x00: Minor optimizazion in txdone path We can save an indirect function call + some instructions for fetching the actual function pointer by passing the driver specific txwi pointer directly from rt2800pci/rt2800usb to rt2800lib instead of using the rt2800_drv_get_txwi callback. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4319e193271dc93241338eb0173fc26dc6c35465 Author: Johannes Berg Date: Wed Sep 7 11:50:48 2011 +0200 cfg80211: verify format of uAPSD information The format is intended to be like the subfields in the QoS Info field, verify that is the case. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ff620849110649b5f94989ddfd7a72b2bd43bd42 Author: Emmanuel Grumbach Date: Tue Sep 6 09:31:25 2011 -0700 iwlagn: fix compilation when debug flags is unset Trivial fixes to allow compilation without warnings when debug compilation flag isn't set. Also fix the compilation when debugfs flag isn't set. Fix a warning: unused priv pointer on the way. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 1ad625ce74f5211045aad6450f7382fd3c599f7e Author: Wey-Yi Guy Date: Tue Sep 6 09:31:24 2011 -0700 iwlagn: remove lines from the wrong place Few lines for program bt_ch_announce being place in the wrong place. Remove those. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit ec8f734f1b1b582f4a5800565b46e9279858bc77 Author: Wey-Yi Guy Date: Tue Sep 6 09:31:23 2011 -0700 iwlagn: enable 11n support for "_d" sku "_d" SKU is 11n enabled device Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 05f8a09faeb4e3a9dd5a877eff747bb898048b5d Author: Wey-Yi Guy Date: Tue Sep 6 09:31:22 2011 -0700 iwlagn: disply queue read/write pointer when stuck When driver detect queue stuck, display current read/write pointer before perform frimware reload. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 7a10e3e4076d09779da5a02b0ab6ce551d964d48 Author: Emmanuel Grumbach Date: Tue Sep 6 09:31:21 2011 -0700 iwlagn: iwl-trans.c can't dereference iwl_priv any more This reaches encapsulation for this file. In order to reach this: * move priv->valid_context to iwl_shared * move the last_rejected initialization to the upper layer * define a wrapper iwl_nic_config in the upper layer that calls to cfg->lib->ops->nic_config Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 41f5e0475c7c04b17b207736146187636b04eb4c Author: Emmanuel Grumbach Date: Tue Sep 6 09:31:20 2011 -0700 iwlagn: move traffic_log back to upper layer The traffic log debugfs handlers were mistakenly moved to the transport layer because they print the pointers of the Tx / Rx queues. The pointers of the queues can be fetched by another debugfs handler. So bring the traffic log back to the upper layer and remove the part that reads the Tx / Rx queues' pointers. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 522376d206da66cecc90929134ad70c0446e874b Author: Emmanuel Grumbach Date: Tue Sep 6 09:31:19 2011 -0700 iwlagn: clean up of transport layer Move a few declarations needed by the transport layer to iwl-shared.h Move iwl_cmd_meta, iwl_tx_queue and friends to the internal transport header file. Move iwl_device_cmd iwl_host_cmd and friends to iwl-trans.h since these structs are used in the API to the transport layer. Move get_cmd_string to the upper layer with a declaration in iwl-shared.h. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 3e10caeb55b2693b38f1f80c67c79d918fc42e42 Author: Emmanuel Grumbach Date: Tue Sep 6 09:31:18 2011 -0700 iwlagn: remove priv dereferences from the transport layer Another round of clean up on the transport layer. Define a wrapper around wiphy_rfkill_set_hw_state to prevent the transport layer from accessing priv->hw. Also move wait_command_queue to the transport layer. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 65e291acd806fae8cb6fff73a93def84d0ad327a Author: Emmanuel Grumbach Date: Tue Sep 6 09:31:17 2011 -0700 iwlagn: merge iwl_pci_down and iwl_pci_remove The latter was the only place that called the first. The two functions were split when the iwl_pci_probe called iwl_pci_down upon failure in the probe. Since iwl_pci_probe undoes its work by itself, there is no need to split between iwl_pci_down, and iwl_pci_remove. Thanks to Pavel Roskin for pointing that out. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit a944aa9dee00c1f696768bcf4a99e6b1d308351a Author: Wey-Yi Guy Date: Tue Sep 6 09:31:16 2011 -0700 iwlagn: only perform necessary calibration at init time During init time, only the necessary calibration should be performed. This not only save time, also avoid uCode crash because lack of necessary information. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit e948b99d6f38b726ad1c8f99a2672b792756b549 Author: Rajkumar Manoharan Date: Tue Sep 6 21:59:51 2011 +0530 ath9k_hw: Fix magnitude/phase average in TxIQ Calibration The commit "ath9k_hw: Fix Tx IQ Calibration hang issue in AR9003 chips" did not consider more than one potential sample while calculating magnitude/phase average if more than one sample has the same value which could affect post-processing of outlier detection that causes an undesirable Tx IQ correction value will be assigned to tx gain settings where outlier happens. Cc: Kai Shi Reported-by: Paul Stewart Signed-off-by: Rajkumar Manoharan Signed-off-by: Paul Stewart Signed-off-by: John W. Linville commit 6bc05a9555543d0f8cc56bf2647819aebe39e938 Author: Rajkumar Manoharan Date: Tue Sep 6 21:00:07 2011 +0530 ath9k: Move cycle conters under cc_lock This patch protects cycle counters access by cc_lock and also prints current sample index. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit f7e014dac29b1abe5c8fa8d721d43928633340ab Author: Rajkumar Manoharan Date: Tue Sep 6 21:00:06 2011 +0530 ath9k: Take the samples in unassociated state Currently the samples debugfs which maintains the snapshorts of mac/bb only on associated state. Hence to cover issues on idle state, the samples are taken whenever the driver is ready. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit cd0b8d89c75233d8468f3c585e4e022f6779ac84 Author: Johannes Berg Date: Tue Sep 6 14:13:06 2011 +0200 mac80211: further optimise buffer expiry timer Juuso optimised the timer to not run all the time in commit 3393a608c4979a94d1887efc05b7. However, after that it will still run once more even if all frames just expired. Fixing that also makes the function return value a little clearer in the process. Also, while at it, change the return value to bool (instead of int). Cc: Juuso Oikarinen Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0eff8fcd290dc7f25d393fb3692e8e673babdeeb Author: Rafał Miłecki Date: Sun Sep 4 23:23:53 2011 +0200 b43: N-PHY: implement few random missing ops Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 73d07a39ee3eadb9ff6734432151a10c50329804 Author: Rafał Miłecki Date: Sun Sep 4 23:23:52 2011 +0200 b43: N-PHY: split workarounds into per-PHY-ver functions Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 44f4008b5983f058fbea6d238f8c78908676d092 Author: Rafał Miłecki Date: Sun Sep 4 23:23:51 2011 +0200 b43: N-PHY: replace some hacks with nice tables ops Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit c002831a07ddba2a81fe1172c497ec7e673ba720 Author: Rafał Miłecki Date: Sun Sep 4 23:18:22 2011 +0200 b43: N-PHY: use helper for checking IPA Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 7827493b886c307bc497a669305207f8a5b36eb2 Author: Arik Nemtsov Date: Sun Sep 4 11:11:32 2011 +0300 mac80211: add ssid config to bss information in AP-mode Set SSID information from nl80211 beacon parameters. Advertise changes in SSID to low level drivers. Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit 28e3181a7717b7e7934391c29e21c5302324479c Author: Rafał Miłecki Date: Sun Sep 4 09:11:46 2011 +0200 b43: LCN-PHY: load TX gain table on init Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 108f4f3c4afff207486f9bc0ba9af2bdd4b19793 Author: Rafał Miłecki Date: Sat Sep 3 21:01:02 2011 +0200 b43: add my copyrights and myself as the module author Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit b0037fab39b52d9b478b2997630a4c0c7e542222 Author: Rafał Miłecki Date: Sat Sep 3 21:01:01 2011 +0200 b43: drop Copyright for not really copyrightable info As discussed in "Licensing wlc_phy_radio.h and brcm80211" (Message-ID: ) content of that file is not copyrightable, just names and numbers. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 64ed5cf01345da60b5fd9f27e22e5e2e2ffb0a33 Author: Christian Lamparter Date: Sat Sep 3 09:06:20 2011 +0200 minstrel_ht: fix Open BA session request floods Minstrel HT tries very hard to establish a BA session with each peer once there's some data on the way. However the stack does not inform minstrel if an aggregation session is already in place, so it keeps trying and wastes good cycles in the tx status path. [ 8149.946393] Open BA session requested for $AP tid 0 [ 8150.048765] Open BA session requested for $AP tid 0 [ 8150.174509] Open BA session requested for $AP tid 0 [ 8150.274376] Open BA session requested for $AP tid 0 ... Signed-off-by: Christian Lamparter Acked-by: Felix Fietkau Signed-off-by: John W. Linville commit 43c3528430bd29f5e52438cad7cf7c0c62bf4583 Author: Felix Fietkau Date: Sat Sep 3 01:40:27 2011 +0200 ath9k: implement .get_antenna and .set_antenna On MIMO chips this can be used to enable/disable hardware chains, ensuring that the MCS information is updated accordingly. On non-MIMO chips with rx diversity (e.g. 9285), this configures the rx input antenna. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 9adcf440dcc886a950a6049f928ab679912d99f4 Author: Felix Fietkau Date: Sat Sep 3 01:40:26 2011 +0200 ath9k: merge reset related functions reduces unnecessary code duplication. Also takes the sc_pcu_lock within ath_reset instead of callsites, which makes it possible to always cancel all queued work items before the reset, possibly fixing a few race conditions (work items vs reset) along with it. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 236de5149b9cbec3e76aef00a4663a8de7feeebe Author: Felix Fietkau Date: Sat Sep 3 01:40:25 2011 +0200 ath9k: always call ath_reset from workqueue context This makes it much easier to add further rework to avoid race conditions between reset and other work items. Move other functions to make ath_reset static. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit e8cfe9f8c488f5b345ab557148c7af57af4fbe25 Author: Felix Fietkau Date: Sat Sep 3 01:40:24 2011 +0200 ath9k: move a few functions around Helps with making ath_reset static in the next commit Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 82b2d334314c387ebd857b88a3d889c9a2cfec4a Author: Felix Fietkau Date: Sat Sep 3 01:40:23 2011 +0200 ath9k: eliminate common->{rx,tx}_chainmask we already have ah->{rx,tx}chainmask for the same purpose Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 693828fe92933ce4fff4c1e51365b2e6ab033b0e Author: Rajkumar Manoharan Date: Fri Sep 2 13:51:59 2011 +0530 mac80211: stop tx before doing hw config and rate update The assumption is that during the hw config, transmission was already stopped by mac80211. Sometimes the AP can be switching b/w the ht modes due to intolerant or etc where STA is in the middle of transmission. In such scenario, buffer overflow was observed at driver side. And also before updating the rate control, the frames are continued to xmited with older rates. This patch ensures that the frames are always xmitted with updated rates and avoid buffer overflow. Signed-off-by: Rajkumar Manoharan Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit c9c0d9ecdceebe51d1c4e2231f0e691556ec348f Author: Rafał Miłecki Date: Thu Sep 1 22:49:57 2011 +0200 b43: N-PHY: implement enabling TX power control Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit cfee66b0f9891fc2b79a238e737308a2732365d2 Author: Javier Cardona Date: Tue Sep 6 13:05:21 2011 -0700 mac80211: Stop forwarding mesh traffic when tx queues are full Tx flow control for non-mesh modes of operation only needs to act on the net device queues: when the hardware queues are full we stop accepting traffic from the net device. In mesh, however, we also need to stop forwarding traffic. This patch checks the hardware queues before attempting to forward a mesh frame. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 2157fdd6ae3f760a95c5c50072a1b4ac656eb9f5 Author: Thomas Pedersen Date: Thu Sep 1 12:32:14 2011 -0700 mac80211: check if mesh frame is in RMC after decrypt To check whether a frame is in the RMC, we need access to the mesh header. This header is encrypted in encrypted data frames, so make this check after the frame has been decrypted. Signed-off-by: Thomas Pedersen Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 8c771244fbab51661da7dbbabfa5dceffb3e3cce Author: Felix Fietkau Date: Sat Aug 20 15:53:55 2011 +0200 mac80211: make ieee80211_send_bar available for drivers To properly maintain the peer's block ack window, the driver needs to be able to control the new starting sequence number that is sent along with the BlockAckReq frame. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit d7549cbb9ab0674ef44ea15bd9f9ea1c685adfa6 Author: Sven Neumann Date: Tue Aug 30 23:38:54 2011 +0200 cfg80211: reorder code to obsolete forward declaration Reorder functions to remove the need for a forward declaration introduced by the last commit. Signed-off-by: Sven Neumann Cc: John W. Linville Cc: Luis R. Rodriguez Cc: Daniel Mack Cc: linux-wireless@vger.kernel.org Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit eac03e381957a05f3842ceb8de987a1025966ecf Author: Sven Neumann Date: Tue Aug 30 23:38:53 2011 +0200 cfg80211: hold reg_mutex when updating regulatory The function wiphy_update_regulatory() uses the static variable last_request and thus needs to be called with reg_mutex held. This is the case for all users in reg.c, but the function was exported for use by wiphy_register(), from where it is called without the lock being held. Fix this by making wiphy_update_regulatory() private and introducing regulatory_update() as a wrapper that acquires and holds the lock. Signed-off-by: Sven Neumann Cc: John W. Linville Cc: Luis R. Rodriguez Cc: Daniel Mack Cc: linux-wireless@vger.kernel.org Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 045c745f8ccdb584ccc97f068c7c10c1090fbcf9 Author: Eliad Peller Date: Sun Aug 28 15:23:01 2011 +0300 wl12xx: support p2p interfaces Declare support for p2p interfaces, and create p2p_cli/p2p_go roles when being asked for. Indicate we are using a p2p interface by setting the wl->p2p flag. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 93f8c8e02597b7d7997c4a0a10173ac90ad378e8 Author: Arik Nemtsov Date: Tue Aug 30 09:34:01 2011 +0300 wl12xx: set mac80211 flags for A-MPDU aggregation support We set the mac80211 flag for A-MPDU support and also indicate that Tx-agg session setup is performed in HW. This patch depends on "mac80211: add flag to indicate HW only Tx-agg setup support" Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit f1acea9a9d48174f982e14a7a488b208d39d825f Author: Arik Nemtsov Date: Thu Aug 25 12:43:17 2011 +0300 wl12xx: AP mode - clean BA and queue state in tx_reset Reset the BA state of all connected stations and explicitly clear the Tx queues. The latter is needed for clearing dummy packets from tx_queue_count. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit f4d3b6ab5e78fbdf3c27123cc29c44ff3d626c59 Author: Arik Nemtsov Date: Thu Aug 25 12:43:16 2011 +0300 wl12xx: AP mode - enable the BA constraint event from the FW Unblock the RX BA constraint event from firmware in AP mode as well. This allows us to stop RX BA sessions when the FW requests it. In addition refactor the handler for this event to make the flow clearer. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit da03209eaca9302e110925f84a515e03062aaa9e Author: Arik Nemtsov Date: Thu Aug 25 12:43:15 2011 +0300 wl12xx: don't regulate links when a single STA is connected When operating as AP track the number of connected stations. When a single STA is connected don't regulate the PS status of the link. Since this is the only STA connected, there's no point holding space in FW for other links. This will speed up communications with a single connected STA in PSM. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit c47e8229fa5622e4e3f2d6b8e847c4429696a275 Author: Arik Nemtsov Date: Thu Aug 25 12:43:14 2011 +0300 wl12xx: support up to 8 stations in AP-mode Change the max number of AP stations to 8, up from 5. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 56d4f8f685c073c7ed7203b78c57f5d893d65102 Author: Arik Nemtsov Date: Thu Aug 25 12:43:13 2011 +0300 wl12xx: AP mode - don't regulate FW blocks for non-active STAs Check a STA is associated before regulating its PS-status in mac80211. Should never happen, so warn as a precaution. [Small cosmetic change wrt Kalle Valo's comment. -- Luca] Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit f8e0af6b8732b47c2531a280753d29a4ca2d114b Author: Arik Nemtsov Date: Thu Aug 25 12:43:12 2011 +0300 wl12xx: don't indicate up PS-filtered dummy packets Dummy packets are currently only sent on the system_hlid link. The system_hlid link should never be filtered for PS (as it is not a STA link). Even so, for correctness, don't indicate dummy packets up. The skb does not belong to mac80211 and as such does not contain a correct skb->cb. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 20a33e52edfd75510ee8cc56a013dd55cb0de0aa Author: Luciano Coelho Date: Fri Sep 2 14:28:23 2011 +0300 wl12xx: ignore sched scan match sets without SSID For now, cfg80211 only support match sets with SSIDs, but in the future more parameters will be added. This patch ignores eventual matches that do not contain SSIDs in preparation for the future. This change also affects the case where broadcast SSIDs are used. Matching a broadcast SSID will match everything, so they can be ignored. Signed-off-by: Luciano Coelho commit 221737d24f884f3f829e7f94d24fc4cc6d0f7b41 Author: Luciano Coelho Date: Fri Sep 2 14:28:22 2011 +0300 wl12xx: increase number of allowed SSIDs in sched_scan The latest firmware supports up to 16 SSIDs in the scheduled scan lists. Increase the number we report to cfg80211 and increase the min/max dwell time to 30 and 60 TUs respectively, because otherwise we don't have the time to send the probes for all SSIDs. Signed-off-by: Luciano Coelho commit fb55377b2aa9464b773e8688a135d5b4c6aa91fa Author: Luciano Coelho Date: Fri Sep 2 14:28:21 2011 +0300 wl12xx: add support for sched_scan filters Implement support for filtering in scheduled scans. With this commit we now use the match sets passed by cfg80211 to filter on SSIDs. Due to the nature of the wl12xx firmware API, we don't allow SSIDs to be sent in the probe requests if they are not going to match any of the filters. Signed-off-by: Luciano Coelho commit 1ec23f7f709b7ab5552cb9c34089633c384ec657 Author: Eliad Peller Date: Thu Aug 25 14:26:54 2011 +0300 wl12xx: declare support for WIPHY_FLAG_AP_UAPSD Declare support for uapsd when working as AP, and set psd_type and sp_len whan a station is being added. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit b6883582a8ea6a7a70d4cc9f4c121ed3d8a75681 Author: Eliad Peller Date: Wed Aug 31 14:50:13 2011 +0300 wl12xx: use kstrtoul_from_user simplify code by calling kstrtoul_from_user() (instead of copy_from_user() + kstrtoul()) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 04907011d59101b508b1c4258f2731fd8f6b6c0a Author: Luciano Coelho Date: Thu May 19 09:35:00 2011 +0300 wl12xx: remove deprecated CONFIG_WL12XX_HT flag The driver now support HT properly, so we can always have HT enabled. Remove the WL12XX_HT configuration. Signed-off-by: Luciano Coelho commit 14623787abd1217f4c48f128fd4dc03e238265fe Author: Arik Nemtsov Date: Sun Aug 28 15:11:57 2011 +0300 wl12xx: don't queue a new dummy packet if one is already pending The firmware only asks for one dummy packet at a time, but sometimes we are unable to provide it before a FW timer expires. When this happens, the FW will re-request the dummy packet. If a packet is still queued in the driver queues, do nothing in this case. This prevents spurious dummy packets from clogging up the VO AC. Signed-off-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 9487775c5b785d7c1e8182825c9ff9cf5e88149e Author: Eliad Peller Date: Sun Aug 28 15:11:56 2011 +0300 wl12xx: add config_hangover command Add wl12xx_acx_config_hangover() and respective conf values. This command configures how long the chip will stay awake after it was configured to enter psm. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit e0b38265b035a8a2ea05071b67b997f5db181c45 Author: Eliad Peller Date: Sun Aug 28 15:11:55 2011 +0300 wl12xx: check for ROC on scan_complete When scan completes, and we are not associated, we should start the dev role and ROC. however, we might already be in this situation (e.g. if we got disconnected during scan). check for it. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 2ec7da254c5bdb5fe1dc18f8f5bdbe32deb3c466 Author: Eliad Peller Date: Sun Aug 28 15:11:54 2011 +0300 wl12xx: don't use WL1271_SCAN_OPT_PRIORITY_HIGH flag When setting the WL1271_SCAN_OPT_PRIORITY_HIGH flag, the driver requests a scan *now*, and the fw doesn't enter psm before scanning, which in turn might cause packets loss. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 87579550b2532c23789c89eaa61814d5e71ea521 Author: Eliad Peller Date: Sun Aug 28 15:11:53 2011 +0300 wl12xx: don't disconnect on recovery allow full connection recovery by dropping the beacon_loss notification. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit a0a521560a686ccb06c92919f1047f94acbb8835 Author: Eliad Peller Date: Thu Aug 25 18:11:00 2011 +0300 wl12xx: add beacon_filtering debugfs file Allow enabling/disabling beacon_filtering by debugfs, in order to reduce the log size while debugging (beacon filtering is disabled by default in AP mode, as beacons are needed for ERP configuration). Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 2a5bff091f4c32d07f007d6491453b67b497a3a4 Author: Eliad Peller Date: Thu Aug 25 18:10:59 2011 +0300 wl12xx: add module_param to trigger BUG() on recovery Crashing on recovery is useful for debugging, as a JTAG can be connected in order to investigate the current fw state. (otherwise, a reconfiguration will occur) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 5c472148b0894478c427f5b1b0f69602cb103f88 Author: Eliad Peller Date: Thu Aug 25 18:10:58 2011 +0300 wl12xx: print the seq_num of rx packet Make it easier to match the driver log against a sniffer log. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit c91d06006dd327153d163e5299b8c92f82da86b3 Author: Eliad Peller Date: Thu Aug 25 18:10:57 2011 +0300 wl12xx: print acx id Add id param to the acx debug print (on wl1271_cmd_configure) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit c6ceb8726f0cee28c6ff1101e6c326e6d86ea749 Merge: 56e6786 bd4932b Author: Luciano Coelho Date: Wed Sep 14 11:32:15 2011 +0300 Merge branch 'wl12xx-next' into for-linville commit 56e6786e59cba2c714091ed53deffa6001a32841 Author: Pavel Roskin Date: Thu Sep 1 11:54:12 2011 -0400 cfg80211: print bandwidth in chan_reg_rule_print_dbg() Two spaces and the second "KHz" suggest that the code author meant to print the bandwidth but forgot it. The code appears in commit e702d3cf already with two spaces and "KHz" in place of the bandwidth. Signed-off-by: Pavel Roskin Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f84f234c6417e3d60b1cfeaf9d16c3bd1c8fe2a5 Author: Bill Jordan Date: Wed Aug 31 17:51:00 2011 -0400 ath9k: ath9k_hw_set_txpowerlimit sets previous txpower In commit 9c204b46c7af93e334114bea1f5eeaa6fea9ba07 (ath9k_hw: do not limit initial tx power to 20 dbm), setting of txpower was broken. This patch fixes it by initializing reg_pwr from the new power limit, not the previous value. Signed-off-by: Bill Jordan Signed-off-by: John W. Linville commit cf577fc242ea5295f676ae3bf9ecb524d78d9e77 Author: Rafał Miłecki Date: Wed Aug 31 23:36:21 2011 +0200 b43: LCN-PHY: add conditions for few operations It was not possible to guess the conditions from MMIO dumps. Take them from brcmsmac code. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit bce4dc4a5d6c0ec9b40e353023a4bb30f791dfd2 Author: Rafał Miłecki Date: Wed Aug 31 23:36:20 2011 +0200 b43: LCN-PHY: rename functions, get rid of magic names We've compared b43 with brcmsmac and took functions names from the later. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 71c1d1e97f5849078a68992aee97d0bbe128ac63 Author: Rafał Miłecki Date: Wed Aug 31 23:36:19 2011 +0200 b43: LCN-PHY: upload additional 0x7 table Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 095be64ebf112a7427490e360db4505ebd39a212 Author: Rafał Miłecki Date: Wed Aug 31 23:36:18 2011 +0200 b43: LCN-PHY: rewrite 0x7 table at the end of init This is not implemented in brcmsmac, but was noticed in (newer) wl. Can be workaround for some hardware bug. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit b35e6d9a1c35fbb91716ab14551cc0985b443cd6 Author: Rafał Miłecki Date: Wed Aug 31 23:36:17 2011 +0200 b43: LCN-PHY: put tables functions in correct file Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 0b4ff45d8e0f0f34e18823bd4e144bc324cae4ba Author: Rafał Miłecki Date: Wed Aug 31 23:36:16 2011 +0200 b43: LCN-PHY: minor fixes The biggest change is reversing order of reading 32-bit table value. MMIO dumps has shown it's done that way for LCN-PHY. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 5126d97ef5a38df8b24abb7611dcba7e5b729021 Author: zero.lin Date: Wed Aug 31 20:43:52 2011 +0200 rt2x00: Add new chipset support Signed-off-by: zero.lin Signed-off-by: John W. Linville commit a1f1c21c181be20a8b7e073e5292ff1fe77769fa Author: Luciano Coelho Date: Wed Aug 31 16:01:48 2011 +0300 nl80211/cfg80211: add match filtering for sched_scan Introduce filtering for scheduled scans to reduce the number of unnecessary results (which cause useless wake-ups). Add a new nested attribute where sets of parameters to be matched can be passed when starting a scheduled scan. Only scan results that match any of the sets will be returned. At this point, the set consists of a single parameter, an SSID. This can be easily extended in the future to support more complex matches. Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit cedb5412baeffd7326fc4869aa996d7f68d98ebb Author: Eliad Peller Date: Wed Aug 31 11:29:43 2011 +0300 nl80211/cfg80211: add WIPHY_FLAG_AP_UAPSD flag add WIPHY_FLAG_AP_UAPSD flag to indicate uapsd support on AP mode. Advertise it to userspace by including a new NL80211_ATTR_SUPPORT_AP_UAPSD attribute. Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit 4690c33df6be8bf78a0d5fe58baae33462b0bc1f Author: Dan Carpenter Date: Wed Aug 31 09:38:30 2011 +0300 iwlwifi: signedness bug in iwl_trans_pcie_tx_agg_alloc() unsigned shorts and unsigned chars are never == -1. Signed-off-by: Dan Carpenter Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 427977ab2e24bb76c733cc50be97d4262028f14a Author: Dan Carpenter Date: Wed Aug 31 09:37:42 2011 +0300 iwlwifi: fix double assign in iwl_start_tx_ba_trans_ready() "vif" is assigned twice. We can remove the first one. This silences a Smatch warning that "ctx" could be one step past the end of the priv->contexts[] array. Signed-off-by: Dan Carpenter Reviewed-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 81a91d575512de74b1455d0ea213bde6f7b1e026 Author: Rajkumar Manoharan Date: Wed Aug 31 10:47:30 2011 +0530 ath9k_hw: Fix rx latency of 11a mode Rx latecy to start signal(usec) of 11a is 41 not 37 and also corrected the rx delay in quarter rate. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 4c5ade414912cd903906339491675352bfccbdfe Author: Dan Carpenter Date: Tue Aug 30 22:16:15 2011 +0300 mac80211: handle allocation failures in mesh_pathtbl_init() The calls to kzalloc() weren't checked here and it upsets the static checkers. Obviously they're not super likely to fail, but we might as well add some error handling. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit edf6b784c0e574696915e7b04fe42158f3112d0d Author: Arik Nemtsov Date: Tue Aug 30 09:32:38 2011 +0300 mac80211: add flag to indicate HW only Tx-agg setup support When this flag is set, Tx A-MPDU sessions will not be started by mac80211. This flag is required for devices that support Tx A-MPDU setup in hardware. Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit 24616152b1d184864370c5ea21f8fdbd5a90d58d Author: Joe Perches Date: Mon Aug 29 14:17:41 2011 -0700 wireless: Remove unnecessary OOM logging messages Removing unnecessary messages saves code and text. Site specific OOM messages are duplications of a generic MM out of memory message and aren't really useful, so just delete them. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 246c0812049f92109ab9771e34480a2ce816f005 Author: Joe Perches Date: Mon Aug 29 14:17:34 2011 -0700 rfkill: Remove unnecessary OOM logging messages Removing unnecessary messages saves code and text. Site specific OOM messages are duplications of a generic MM out of memory message and aren't really useful, so just delete them. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit d15b84590a1d2ec021ada00a0e67ee5851a0ea2b Author: Joe Perches Date: Mon Aug 29 14:17:31 2011 -0700 mac80211: Remove unnecessary OOM logging messages Removing unnecessary messages saves code and text. Site specific OOM messages are duplications of a generic MM out of memory message and aren't really useful, so just delete them. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 239289e446d4e86ae94b1ca57e358b106cc4bee6 Author: Javier Cardona Date: Mon Aug 29 13:23:09 2011 -0700 mac80211: Consolidate mesh path duplicated functions Signed-off-by: John W. Linville commit cd72e817480bd3a1d2cdf03b65a1f3920c1c88a0 Author: Javier Cardona Date: Mon Aug 29 13:23:08 2011 -0700 mac80211: Consolidate {mesh,mpp}_path_flush into one function Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 19c50b3dc530278a0d07dceebff1683f3bdc4a2b Author: Javier Cardona Date: Mon Aug 29 13:23:07 2011 -0700 mac80211: Don't iterate twice over all mpaths when once in sufficient Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit ad99d141144c4996c810fe75f04c387214ca360a Author: Javier Cardona Date: Mon Aug 29 13:23:06 2011 -0700 mac80211: Remove redundant mesh path expiration checks Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit f5e50cd0757cc97cd1caded0d3f07ff09b5319e4 Author: Javier Cardona Date: Mon Aug 29 13:23:05 2011 -0700 mac80211: Improve mpath state locking No need to take the mpath state lock when an mpath is removed. Also, no need checking the lock when reading mpath flags. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit ece1a2e7e86078c8379937b546e32cb7f25fcb6c Author: Javier Cardona Date: Mon Aug 29 13:23:04 2011 -0700 mac80211: Remove mesh paths when an interface is removed When an interface is removed, the mesh paths associated with it should also be removed. This fixes a bug we observed when reloading a device driver module without reloading mac80211s. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit af089c15cb13e1c5d984e41f495c8363dd5b1e30 Author: Javier Cardona Date: Mon Aug 29 13:23:03 2011 -0700 mac80211: Fix RCU pointer dereference in mesh_path_discard_frame() Reported by Pedro Larbig (ASPj) Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 5982b47aa410e6aef55a5b0087269f5c9c172110 Author: Yogesh Ashok Powar Date: Mon Aug 29 13:21:10 2011 -0700 mwifiex: replace kmalloc & memcpy sequence with kmemdup Sequence of kmalloc/kzalloc and memcpy is replaced with kmemdup. Cc: Walter Harms Signed-off-by: Yogesh Ashok Powar Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 3459731a39894e5377283b3ccf2fede54e19aae1 Author: Felix Fietkau Date: Mon Aug 29 18:57:54 2011 +0200 ath9k: fix checks for first subframe delimiter padding The commit "ath9k_hw: Fix exceed transmission burst-time of 5GHz" added a padding of 60 delimiters on the first subframe to work around an issue on AR9380, but it lacked the checks to prevent it from being applied to pre-AR9380, enterprise AR9380 or AR9580+ Signed-off-by: Felix Fietkau Cc: Rajkumar Manoharan Signed-off-by: John W. Linville commit 2a36a0ec1550ffb4d608134e2504a6a67d1d1740 Author: Yogesh Ashok Powar Date: Mon Aug 29 17:12:44 2011 +0530 mwl8k: Set hardware flag IEEE80211_HW_AP_LINK_PS This will avoid mac80211 to trigger PS mode for connected station based on the PM bit of incoming frames. AP firmware is capable of handling such frames and buffering TX frames destined to the stations that are in PS mode. Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit 3c42e6ef28d89fc2157d4d65869471f607fcf64e Author: Felix Fietkau Date: Mon Aug 29 13:39:47 2011 +0200 ath9k_hw: fix the last register write for ar5416 addac The previous register used in these initvals was probably accidentally copied over from the AR9100 values. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit b8b0b974f212798585d397eefe0c81f5ba3c2829 Author: Felix Fietkau Date: Mon Aug 29 13:39:46 2011 +0200 ath9k_hw: drop an unused column in AR5008-AR9002 initvals It was used for the defunct 'turbo' mode which was never implemented in the driver. Saves ~7.5k uncompressed Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f4b34b550a5428345f3794e62de48ad5a3db3954 Author: Vivek Natarajan Date: Mon Aug 29 14:23:03 2011 +0530 cfg80211/nl80211: Indicate roaming feature capability to userspace. When the rssi of the current AP drops, both wpa_supplicant and the firmware may do a background scan to find a better AP and try to associate. Since firmware based roaming is faster, inform wpa_supplicant to avoid roaming and let the firmware decide to roam if necessary. For fullmac drivers like ath6kl, it is just enough to provide the ESSID and the firmware will decide on the BSSID. Since it is not possible to do pre-auth during roaming for fullmac drivers, the wpa_supplicant needs to completely disconnect with the old AP and reconnect with the new AP. This consumes lot of time and it is better to leave the roaming decision to the firmware. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit f0425beda4d404a6e751439b562100b902ba9c98 Author: Felix Fietkau Date: Sun Aug 28 21:11:01 2011 +0200 mac80211: retry sending failed BAR frames later instead of tearing down aggr Unfortunately failed BAR tx attempts happen more frequently than I expected, and the resulting aggregation teardowns cause performance issues, as the aggregation session does not always get re-established properly. Instead of tearing down the entire aggr session, we can simply store the SSN of the last failed BAR tx attempt, wait for the first successful tx status event, and then send another BAR with the same SSN. Signed-off-by: Felix Fietkau Cc: Helmut Schaa Signed-off-by: John W. Linville commit 765b07e46725287ceb1be648b6cb5988fbb585f2 Author: Rafał Miłecki Date: Sun Aug 28 19:59:28 2011 +0200 b43: LCN-PHY: implement saving and restoring PHY & radio configuration Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 39f7d33c499980267f68fcb1fadd03bdcbc9ab9a Author: Rafał Miłecki Date: Sun Aug 28 14:59:58 2011 +0200 b43: LCN-PHY: prepare functions for channel switching Switching is not fully implemented yet, prepare place for the code. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit bd3bf693c72826d7c5be9df09fe3d1198b89b538 Author: Rafał Miłecki Date: Sun Aug 28 14:28:44 2011 +0200 b43: LCN-PHY: implement more PHY ops before radio init Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit f533d0fa5efe4bb7a08ead8c6fcf7af243a9035f Author: Rafał Miłecki Date: Sun Aug 28 14:28:43 2011 +0200 b43: LCN-PHY: add R/W ops for PHY and radio Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit adb5066ae2cefede1807c29ac16e1faa381416da Author: Felix Fietkau Date: Sun Aug 28 01:52:10 2011 +0200 ath9k_hw: do not apply the 2.4 ghz ack timeout workaround to cts It is only used to workaround interoperability issues related to longer delays in receiving the block ack, so it is not necessary to apply it to the CTS exchange. Should improve throughput slightly, especially when there are lots of retransmissions. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 2cca397f76a4a48ac20c34ec1e35bac8c6b08d1c Author: Javier Cardona Date: Tue Sep 6 12:10:43 2011 -0700 mac80211: Defer tranmission of mesh path errors Under failure conditions, the mesh stack sends PERR messages to the previous sender of the failed frame. This happens in the tx feedback path, in which the transmission queue lock may be taken. Avoid a deadlock by sending the path error via the pending queue. Signed-off-by: John W. Linville commit b4d3de8ca25fcdf697da38d9f9785cb508edea4d Merge: 3857e3e 2fa8b6a Author: John W. Linville Date: Tue Sep 13 15:41:16 2011 -0400 Merge branch 'master' of git://git.infradead.org/users/linville/wireless-next into for-davem commit 6bbc7c35ed0fb61c7739e91d5ee7016455770511 Author: Jouni Malinen Date: Mon Sep 5 17:38:47 2011 +0300 ath6kl: Allow enabling of P2P support For now, use a module parameter (ath6kl_p2p) to allow P2P support to be enabled. This is needed since there is no mechanism for enabling the P2P mode more dynamically for a single netdev. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 689def90ac16df09e2b6ca6af86dca68706cc75b Author: Kalle Valo Date: Tue Sep 6 11:10:49 2011 +0300 ath6kl: unify rx function naming in htc.c Similarly like with the tx path, unify naming in htc rx path. No functional changes. Signed-off-by: Kalle Valo commit dfa0104c2a2699e73a49b4ca10bbb99796b05889 Author: Kalle Valo Date: Tue Sep 6 11:10:49 2011 +0300 ath6kl: unify tx function names in htc.c This is to make it easier follow tx code path inside htc.No functional changes. Signed-off-by: Kalle Valo commit 060337604577e55c5bf3246bcaf161929c603d54 Author: Vivek Natarajan Date: Tue Sep 6 13:01:36 2011 +0530 ath6kl: Process regulatory requests from firmware. Process the regulatory code from eeprom and pass the country information to cfg80211. kvalo: add space between struct name and * Signed-off-by: Vivek Natarajan Signed-off-by: Kalle Valo commit 6e4604c8b91743c5a797fc2674544618854ed0f2 Author: Jouni Malinen Date: Mon Sep 5 17:38:46 2011 +0300 ath6kl: Allow AP mode to be configured Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 572e27c00c9d1250ae2b4951eae7e73992174138 Author: Jouni Malinen Date: Mon Sep 5 17:38:45 2011 +0300 ath6kl: Fix AP mode connect event parsing and TIM updates This cleans up the connect event parsing by defining a union in struct wmi_connect_event to match with the three possible sets of fields that the target uses depending on which type of connect event is being indicated. In addition, two AP cases are now separated from ath6kl_connect_event() so that correct field names can be used to make it actually possible to understand what the code is doing. The bug hiding in the previous mess was in parsing the AID incorrectly when processing the new station connecting event in AP mode. The fix here for that is also fixing TIM updates for PS buffering to use the correct AID. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit d6e51e6a0cc50b6dd8d9f3a733427cca3f9afdee Author: Jouni Malinen Date: Mon Sep 5 17:38:44 2011 +0300 ath6kl: Fix WMI message structure for AP_SET_PVB There is a 2-octet reserved field between the flag and aid fields. Fix that to make the target actually behave as requested. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 11869befc7285be712623536daa30791aec1682f Author: Jouni Malinen Date: Fri Sep 2 20:07:06 2011 +0300 athk6l: Fix channel list processing in scan requests Limit the length of the channel list to WMI_MAX_CHANNELS to avoid rejection of the request in wmi.c. Since there is not really much point in using a specific list of more than 32 channels, drop the channel list if more channels are specified and scan all channels. Fix cfg80211 scan API use: ar->scan_req must be set only if returning success from scan() handler. The previous version would result in use of freed memory and likely kernel panic should the scan request fail to be sent to the target. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 252c068b9fba57493940af344b6d92ee3c278941 Author: Vasanthakumar Thiagarajan Date: Mon Sep 5 11:19:46 2011 +0300 ath6kl: Add debugfs support to write a chip register To write a value to register: echo = > /ieee80211/phyX/ath6kl/reg_write kvalo: rename file to reg_write to follow the style of other debugfs files Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit f9ea0753a18448a5e92369317b6ac061fe1275bf Author: Vasanthakumar Thiagarajan Date: Mon Sep 5 11:19:46 2011 +0300 ath6kl: Fix endianness in register write Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 38c35ffd38be9fbbf2ec0b67a802472d3f58f9fa Author: Vasanthakumar Thiagarajan Date: Mon Sep 5 11:19:45 2011 +0300 ath6kl: Make ath6kl_diag_write32() non-static So that this can be called from debug.c when adding support to write chip register. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit e5090444be811ce45653969363be8fcb4c52d597 Author: Vivek Natarajan Date: Wed Aug 31 15:02:19 2011 +0530 ath6kl: Add debugfs entry to modify roaming parameters. Firmware initiates roaming only after it reaches a rssi of 20. This lower rssi threshold can be modified through a wmi command to modify the roaming behavior. kvalo: rename debugfs functions and move comment about rssi units next to ath6kl_wmi_set_roam_lrssi_cmd() Signed-off-by: Vivek Natarajan Signed-off-by: Kalle Valo commit b142b91401b8e39671db74bd4fe89f281f4c2978 Author: Vasanthakumar Thiagarajan Date: Wed Aug 31 15:48:15 2011 +0530 ath6kl: Fix endianness in requesting chip register read Need to make sure the chip address for which we need the value si endian safe. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 91d57de5adfc40184ef7cb8974104459c5211add Author: Vasanthakumar Thiagarajan Date: Fri Sep 2 10:40:06 2011 +0300 ath6kl: Add debugfs interface to dump diagnostic registers from firmware To dump a particular register: echo > /ieee80211/phyX/ath6kl/reg_addr To dump the entire register set: echo 0 > /ieee80211/phyX/ath6kl/reg_addr Register values will be available at: cat /ieee80211/phyX/ath6kl/reg_dump kvalo: commit log cleanup, renamed few functions, removed a warning message Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit bc07ddb29a7b71ad009bcd84bee4c93908cf22b6 Author: Kalle Valo Date: Fri Sep 2 10:32:05 2011 +0300 ath6kl: read fwlog from firmware ring buffer Firmare sends the logs only when it's internal ring buffer is full. But if firmware crashes we need to retrieve the latest logs through diagnose window. This is now done everytime the debugfs file is read. Signed-off-by: Kalle Valo commit addb44be036dd5fc814be770ec4b90f08c820e76 Author: Kalle Valo Date: Fri Sep 2 10:32:05 2011 +0300 ath6kl: cleanup diagnose window read and write functions Just to make them a bit easier to read and unify naming. 32 suffix in the function name means that it will be a 32 bit transfer. If there's no number a buffer is transfered instead. Use void pointers to get rid of ugly casts. Don't provide target address as a pointer, pass it by value. Same for the value used in write32(). Signed-off-by: Kalle Valo commit 939f1ccec80bd2dad5638de2a6819c66d4cb6f32 Author: Kalle Valo Date: Fri Sep 2 10:32:04 2011 +0300 ath6kl: implement support to set firmware log parameters Firmware log parameters can be controlled now with help of fwlog_mask debugfs file. Signed-off-by: Kalle Valo commit bdf5396be177b689c00ae6ebed00d13fafaed36e Author: Kalle Valo Date: Fri Sep 2 10:32:04 2011 +0300 ath6kl: add firmware log support Firmware sends binary logs with WMIX_DBGLOG_EVENTID event. Create a buffer which stores the latest logs and which can be copied from fwlog debugfs file with cp command. To save memory firmware log support is enabled only when CONFIG_ATH6KL_DEBUG is enabled. Signed-off-by: Kalle Valo commit d748753cd71f4504129fc6bd2262e0c5e4abe62f Author: Jouni Malinen Date: Thu Sep 1 11:33:20 2011 +0300 ath6kl: Do not enable Probe Request reporting by default Probe Request reporting will be needed for P2P and WPS, but some firmware builds do not seem to like this when P2P is not enabled. Since we do not yet enable P2P, the safest option here is to just remove this call for now and bring it back as a more dynamic version once ath6kl starts advertising support for P2P. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit a846401f9f99f2b823a5d685b2977cc2f41134be Author: Kalle Valo Date: Thu Sep 1 12:04:59 2011 +0300 ath6kl: fix compilation when NL80211_TESTMODE is disabled ERROR: "ath6kl_tm_rx_report_event" [drivers/net/wireless/ath/ath6kl/ath6kl.ko] undefined Reported-by: Jouni Malinen Signed-off-by: Kalle Valo commit 003353b0d27489228eff79447d0731687cea0207 Author: Kalle Valo Date: Thu Sep 1 10:14:21 2011 +0300 ath6kl: add testmode support This is port from the staging version of ath6kl. The interface to user space is exactly same. Signed-off-by: Kalle Valo commit 4495ab167044d3ba3127dac06762138f5122ddc9 Author: Jouni Malinen Date: Tue Aug 30 21:58:11 2011 +0300 ath6kl: Define __CHECK_ENDIAN__ for sparse Make sparse check endianness with "make C=1". Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 1b1e6ee300b84eff3c7b0ee8de2396eb815f1b9d Author: Jouni Malinen Date: Tue Aug 30 21:58:10 2011 +0300 ath6kl: Return error from wmi.c instead of -EIO in ath6kl_cfg80211_scan Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 8bdfbf40721a4338eb4f6dec55b3205188c45973 Author: Jouni Malinen Date: Tue Aug 30 21:58:09 2011 +0300 ath6kl: Include P2P IE(s) in GO Probe Response depending on request P2P has special rules on when to include P2P IE(s) in Probe Response frame based on the Probe Request frame. Handle P2P IE(s) separately to follow these rules. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit a587526a44d0c2812ee9d650e7c0626b48697aca Author: Edward Lu Date: Tue Aug 30 21:58:08 2011 +0300 ath6kl: Do not clear CONNECT bit setting in AP mode for STA disconnect Signed-off-by: Edward Lu Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 229ed6b55f3caa4f1a975fd297ec44c5cedf4ea0 Author: Edward Lu Date: Tue Aug 30 21:58:07 2011 +0300 ath6kl: Fix default key installation in AP mode Signed-off-by: Edward Lu Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 38acde3c137919c1aeced3eab0f79bb416f5ad8a Author: Edward Lu Date: Tue Aug 30 21:58:06 2011 +0300 ath6kl: Fix a typo in ath6k context Signed-off-by: Edward Lu Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 6b5e5d257211ee3e3df780488e8d31ce2bd9940f Author: Jouni Malinen Date: Tue Aug 30 21:58:05 2011 +0300 ath6kl: Add support for new P2P iftypes in mode changes Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit f80574ae1538f6fb17aeedb005380fd6961e976e Author: Jouni Malinen Date: Tue Aug 30 21:58:04 2011 +0300 ath6kl: Advertise supported mgmt_stypes Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 9809d8ef274bb53f47998bbc401efcbb10226893 Author: Jouni Malinen Date: Tue Aug 30 21:58:03 2011 +0300 ath6kl: Report received Action frames to cfg80211 Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit a0df5db15b432cd49319254132fda80cb3081ad6 Author: Jouni Malinen Date: Tue Aug 30 21:58:02 2011 +0300 ath6kl: Notify cfg80211 of TX status of mgmt_tx frames Use WMI_TX_STATUS_EVENTID event to generate cfg80211_mgmt_tx_frame() calls. Since we support only a single pending frame for now, use the hardcoded cookie value 1 and store a copy of the pending frame in the driver. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit ae32c30a6ec991088e5346036015be1a9f9cf14b Author: Jouni Malinen Date: Tue Aug 30 21:58:01 2011 +0300 ath6kl: Report received Probe Request frames to cfg80211 Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 1276c9ef6db2bc856579bc7f02e4cc710b089f0d Author: Edward Lu Date: Tue Aug 30 21:58:00 2011 +0300 ath6kl: Support channel set request for startscan command Signed-off-by: Edward Lu Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit b84da8c738681b96e7691d985191ebf9ee4a21e8 Author: Jouni Malinen Date: Tue Aug 30 21:57:59 2011 +0300 ath6kl: Use set_appie command to add Probe Request IEs Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit f9e5f05cb9c944696def27618215216df59c7c33 Author: Jouni Malinen Date: Tue Aug 30 21:57:58 2011 +0300 ath6kl: Add cfg80211 calls for remain-on-channel events Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 4dea08e07e2103f183bf3a316c80e80950412ca5 Author: Jouni Malinen Date: Tue Aug 30 21:57:57 2011 +0300 ath6kl: Request P2P capabilities during target init Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 8a6c8060c0b166ce5ce4a3563b511b1f641dbea8 Author: Jouni Malinen Date: Tue Aug 30 21:57:56 2011 +0300 ath6kl: Implement mgmt_tx Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 63fa1e0ca7a2c1e0cbf5f39b866340127ddc1480 Author: Jouni Malinen Date: Tue Aug 30 21:57:55 2011 +0300 ath6kl: Implement remain_on_channel and cancel_remain_on_channel Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 6465ddcf6c1e06d3fde870624be4418e747f0e8b Author: Jouni Malinen Date: Tue Aug 30 21:57:54 2011 +0300 ath6kl: Add new WMI commands and events for P2P Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 238751365a1c42b1d66beb03dd81ca5d0fd12833 Author: Jouni Malinen Date: Tue Aug 30 21:57:53 2011 +0300 ath6kl: Use change_station() to authorize/unauthorize STAs Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 9a5b13182cc10d693c55a5c02d753e54514b9bfc Author: Jouni Malinen Date: Tue Aug 30 21:57:52 2011 +0300 ath6kl: Delay initial group key setup in AP mode The target is not ready to accept addkey commands until the connect event has been delivered, so delay these operations for the initial GTK. In addition, properly set interface connected and mark netdev ready when the AP mode setup has been completed. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 3c774bbab78435e349de2c88fc6e054716f8f2ea Author: Jouni Malinen Date: Tue Aug 30 21:57:51 2011 +0300 ath6kl: Fix AP mode (Re)AssocReq IE processing Need to use correct length field for association request frame and parse the IEs to find WPA/WPS/RSN IE. In addition, copying of the IE better make sure it fits in into the buffer to avoid buffer overflows. In addition, add the (Re)AssocReq IEs to the cfg80211 new station event for user space. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 6a7c9badab158086b6162c661a47c4f1a4a68e92 Author: Jouni Malinen Date: Tue Aug 30 21:57:50 2011 +0300 ath6kl: Add functionality for starting AP mode Use cfg80211 add/del_beacon callbacks for starting/stopping AP mode and set_beacon to update AP configuration (mainly, to update Beacon and Probe Response IEs). Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 78fc485622240f812ad95bba5a2165f4e7c77b54 Author: Vasanthakumar Thiagarajan Date: Fri Aug 26 13:06:33 2011 +0530 ath6kl: Add debugfs file entry to dump credit distribution stats It would be at /ieee80211/phyX/ath6kl/credit_dist_stats. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 03f68a95e5763faf7b95993b3407fb816c200893 Author: Vasanthakumar Thiagarajan Date: Fri Aug 26 13:06:32 2011 +0530 ath6kl: Add debugfs entry to dump target stats It would be at /ieee80211/phyX/ath6kl/tgt_stats. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit d999ba3e21dc1c84cac9caf68db78fd6dbde7817 Author: Vasanthakumar Thiagarajan Date: Fri Aug 26 13:06:31 2011 +0530 ath6kl: Add initial debugfs changes Just initial debugfs changes. The debugfs directory would be created at /ieee80211/phyX/ath6kl. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit f7a7e7ae5db1d436805de7fe19c51b5b2657c63e Author: Vasanthakumar Thiagarajan Date: Mon Aug 22 20:40:22 2011 +0530 ath6kl: Avoid rolling back of entire scatter setup in case of failure Current tx scatter gather implementation rolls back the entire scatter setup in case of a failure in setting up just one packet into the bundle. Instead of dopping the whole scatter setup, send the packets available just before the failure one using scatter gather I/O. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 3ce6ff501c92e15314f450edc2e93653a7325780 Author: Vasanthakumar Thiagarajan Date: Mon Aug 22 20:40:21 2011 +0530 ath6kl: Add wmi meta data information only it is available Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 8af123e8ee272ad175440891333602d8d4b8e63c Author: Vasanthakumar Thiagarajan Date: Mon Aug 22 20:40:20 2011 +0530 ath6kl: Remove unused meta_v2 from ath6kl_data_tx() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 94e532d1a053b1514ffdad00408eee925104bf27 Author: Vasanthakumar Thiagarajan Date: Mon Aug 22 20:14:31 2011 +0530 ath6kl: Fix system freeze under heavy data load Patch "ath6kl: Fix buffer alignment for scatter-gather write" does memmove for a length (scat_req->scat_list[i].len) which is not the actual length of data that is suppossed to be moved. The right lengh is packet->act_len + HTC_HDR_LENGTH. Using wrong length for data move during buffer alignment causes system freeze after the following WARN_ON and sometimes target assert. WARNING: at drivers/net/wireless/ath/ath6kl/main.c:771 ath6k_credit_distribute+0x196/0x1a0 [] ath6kl_htc_rxmsg_pending_handler+0x83f/0xe00 [ath6kl] [] ? __wake_up+0x53/0x70 [] ath6kldev_intr_bh_handler+0x188/0x650 [ath6kl] [] ath6kl_sdio_irq_handler+0x36/0x80 [ath6kl] [] sdio_irq_thread+0xfc/0x360 [] ? default_wake_function+0x12/0x20 [] ? sdio_claim_irq+0x220/0x220 [] kthread+0x96/0xa0 [] kernel_thread_helper+0x4/0x10 [] ? kthread_worker_fn+0x190/0x190 [] ? gs_change+0x13/0x13 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit abcb344b3b823c8c9eac6e13e45a53eaf1d5d00b Author: Kalle Valo Date: Fri Jul 22 08:26:20 2011 +0300 ath6kl: implement suspend support For now this is implemented so that if host supports power is kept in the chip. If that's not supported, an error is returned and sdio stack will remove the device during suspend. Signed-off-by: Kalle Valo commit 1df94a8578eb099d9362cc0b84ef85015c47bbc5 Author: Vasanthakumar Thiagarajan Date: Wed Aug 17 18:45:10 2011 +0530 ath6kl: Fix buffer alignment for scatter-gather I/O For non-scatter buffers, there is already a bounce buffer which takes care of alignment. This patch is influenced by a rough patch of Kalle. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 13e34ea1f4461007ee300c185f51c990e4381f40 Author: Vasanthakumar Thiagarajan Date: Tue Aug 16 11:19:38 2011 +0530 ath6kl: Fix bug in computing AMSU subframe padding This fixes AMSDU rx, otherwise it fails with the following warnings. "802.3 AMSDU frame bound check failed" Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 594a0bc85e3c2ffb17fc8c64a5121fa441c2d096 Author: Vasanthakumar Thiagarajan Date: Sun Aug 14 17:08:35 2011 +0530 ath6kl: Cleanup ath6kl_wmi_data_hdr_remove() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 67f9178fd93d40b72e2db2909f74ead070437317 Author: Vasanthakumar Thiagarajan Date: Sun Aug 14 17:08:34 2011 +0530 ath6kl: Minor cleanup in min_hdr_len computation Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 83dc5f2f93adae8907fa105e15a792d860f6affe Author: Vasanthakumar Thiagarajan Date: Sun Aug 14 17:08:33 2011 +0530 ath6kl: Release ar->lock right afer updating net_stats in ath6kl_rx() This lock is intended to protect stats there, not neccessary to hold it beyond that. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 65d2bb14ac44e8191beefa8756addd8505224b4a Author: Kalle Valo Date: Sun Aug 14 18:10:03 2011 -0700 ath6kl: fix indentation in htc_issued_send() One line used space to indent. Oddly enough checkpatch didn't complain about this. Signed-off-by: Kalle Valo commit 0e5cc8e606ed89a4a58260c88474c74348230bed Author: Raja Mani Date: Fri Aug 12 17:52:24 2011 +0530 ath6kl: Check sme state before delivering disconnect event to cfg80211 In some random cases, the firmware is sending two disconnect event to the host. In the current model, both diconnect events are passed to cfg80211 without checking local sme state machine, which is screwing cfg80211 layer state. Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit f91db9bbdae6c86f0178fa03937e39ef82932770 Author: Raja Mani Date: Fri Aug 12 17:52:23 2011 +0530 ath6kl: Avoid finding bss presence in cfg80211 scan list Connect event handler function is always reporting BSS info to CFG80211 layer first and then followed by connect event is passed. Before these steps, BSS presence is retrieved from CFG80211 layer, but it is not used. Hence, removing that part. Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit 31024d99003486c90c793dea58b55f7920f0488b Author: Kevin Fang Date: Mon Jul 11 17:14:13 2011 +0800 ath6kl: Add beginning of AR6004 initialisation support Support isn't complete yet. Signed-off-by: Kevin Fang Signed-off-by: Kalle Valo commit 0ce77920adcb16d6449de9ca481a553ea6008c6d Author: Jouni Malinen Date: Thu Aug 11 00:32:49 2011 +0300 ath6kl: Use cfg80211_inform_bss instead of cfg80211_inform_bss_frame There is no point in generating a bogus Beacon frame for cfg80211_inform_bss_frame when cfg80211_inform_bss can be used instead. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 9b22c7352b1882e45c7f24fe1575cee1846844cd Author: Ian Campbell Date: Mon Aug 29 23:18:22 2011 +0000 atlx: convert to SKB paged frag API. Signed-off-by: Ian Campbell Cc: Jay Cliburn Cc: Chris Snook Cc: Jie Yang Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller commit 6adaaac7f149a0d21e0e72ba82aae3d86669e440 Author: Ian Campbell Date: Mon Aug 29 23:18:21 2011 +0000 atl1e: convert to SKB paged frag API. Signed-off-by: Ian Campbell Cc: Jay Cliburn Cc: Chris Snook Cc: Jie Yang Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller commit 8d1bb865575d0d4a8cbe2ad5f8fd269e9dff0134 Author: Ian Campbell Date: Mon Aug 29 23:18:20 2011 +0000 atl1c: convert to SKB paged frag API. Signed-off-by: Ian Campbell Cc: Jay Cliburn Cc: Chris Snook Cc: Jie Yang Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller commit 2fa8b6a0e42570690a48a56cb65778211e3cc9cc Author: Greg Dietsche Date: Sun Aug 28 08:22:38 2011 -0500 iwlwifi: iwl-agn-rs.c: remove old comment this comment refers to some code that was removed. Signed-off-by: Greg Dietsche Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 44f1d26c16d5806f23f8d7ce5b85362a1897fbef Author: Felix Fietkau Date: Sun Aug 28 00:32:25 2011 +0200 ath9k: defer ath_tx_setup_buffer setup to the first tx attempt during aggr With sequence number and buffer allocation deferred to when they're needed for the first time, it becomes much easier to start dropping packets from the tid queue if necessary, e.g. when latency suddenly increases. This can lead to some future improvements in buffer management for better latency. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit fa05f87ad4213a3e99bea6f5e73611dc27b4304a Author: Felix Fietkau Date: Sun Aug 28 00:32:24 2011 +0200 ath9k: move seqno allocation in the tx path to ath_tx_setup_buffer Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 6a0ddaef7c2f50f2d3ee8dfbf37f66dda11f061a Author: Felix Fietkau Date: Sun Aug 28 00:32:23 2011 +0200 ath9k: move the sequence number from ath_frame_info to ath_buf It is only necessary for BAW tracking and moving it to the ath_buf makes it easier to add further improvements, such as deferring seqno allocation in the aggregation path. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 56dc63369270b60e59637d153caf2e6b424ca30e Author: Felix Fietkau Date: Sun Aug 28 00:32:22 2011 +0200 ath9k: clean up the aggregation tid queue Use a sk_buff_head instead containing skbs instead of a list_head containing ath_bufs. This makes it easier to decouple the aggregation code from the ath_buf struct Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit a75c0629716ea19ff934ef4ff1c31a4610bcb408 Author: Felix Fietkau Date: Sun Aug 28 00:32:21 2011 +0200 ath9k: use u8 for the tx key index This saves some space in struct ath_frame_info Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 29e76245d46ff530bb2b0311e9fc823fc07b1147 Author: Joe Perches Date: Fri Aug 26 01:56:39 2011 -0700 ath: Make ath_printk void not int and remove unused struct ath_common * Changing the return type and removing the unused argument from ath_printk reduces code size. Add an __always_unused struct ath_common * to the macros that call ath_printk to avoid unused variable warnings. $ size drivers/net/wireless/ath/built-in.o* text data bss dec hex filename 1159859 16235 212000 1388094 152e3e drivers/net/wireless/ath/built-in.o.new 1164175 16235 212032 1392442 153f3a drivers/net/wireless/ath/built-in.o.old Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 7b8112d6db0cc67dd2a722ca5bf707768890ac9d Author: Joe Perches Date: Fri Aug 26 01:56:38 2011 -0700 ath: Make ath_dbg void not int The return value is never used so make it void. Reduces object size a tiny bit. $ size drivers/net/wireless/ath/built-in.o* text data bss dec hex filename 1164175 16235 212032 1392442 153f3a drivers/net/wireless/ath/built-in.o.new 1164819 16235 212032 1393086 1541be drivers/net/wireless/ath/built-in.o.old Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 78b8e51dd93a36df55a1c9aacbf6c16361a98cbd Author: John W. Linville Date: Mon Aug 29 15:47:58 2011 -0400 wl12xx/sdio_test.c: fix build breakage from WL127X_FW_NAME change Commit c302b2c959164622558474871ae942da0e484a38 ("wl12xx: Use a single fw for both STA and AP roles") changed the name of the firmware name definition, breaking the build of wl12xx/sdio_test.c. Signed-off-by: John W. Linville commit 9a53bf54b8149bc1372f50a83b769f42772083ea Author: Larry Finger Date: Sat Aug 27 15:53:42 2011 -0500 b43: Fix swatch warning Swatch reports the following warning for main.c: CHECK drivers/net/wireless/b43/main.c drivers/net/wireless/b43/main.c +4115 b43_wireless_core_stop(7) warn: variable dereferenced before check 'dev' After analysis, this is not a bug, but a false warning. Nonetheless, a cleanup is in order to prevent some future janitor proposing the wrong fix, as I did in my original patch. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 1ba45b9e3a366fee0603cda51e61935b7dc9db7d Author: Larry Finger Date: Sat Aug 27 13:56:00 2011 -0500 ath9k: Fix a smatch warnings Smatch shows the following warnings: CHECK drivers/net/wireless/ath/ath9k/htc_drv_main.c drivers/net/wireless/ath/ath9k/htc_drv_main.c +1315 ath9k_htc_configure_filter(27) warn: inconsistent returns mutex:&priv->mutex: locked (1303) unlocked (1315) CHECK drivers/net/wireless/ath/ath9k/ar9003_eeprom.c drivers/net/wireless/ath/ath9k/ar9003_eeprom.c +3321 ar9300_eeprom_restore_internal(20) warn: returning -1 instead of -ENOMEM is sloppy Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit cf3af74824b1bf2bd60eb6a0dd82b27f9e9236ac Author: Rajkumar Manoharan Date: Sat Aug 27 16:17:47 2011 +0530 ath9k: Add debugfs support for mac/baseband samples This patch keep track of number of samples that includes DMA debugs registers, PCU observe, CR, channel noise, cycle conters, noisefloor history buffer and last N number of tx and rx descriptor status. These samples are grouped in table manner which dumping in debgufs. Debugfs file location: /ieee80211/phy#/ath9k/samples Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 059ee09b99942bf64f4075196a7a2a992e64193d Author: Felix Fietkau Date: Sat Aug 27 10:25:27 2011 +0200 ath9k: fix regression in sending aggregated packets The recent commit "ath9k: Send legacy rated frames as unaggregated" introduced a check to ensure that packets with non-MCS rates set in the rate series will not be aggregated. However, it failed to check if the rate series is valid before testing the flags, thus breaking aggregation for normal MCS-only packets if the last series is unset. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit a7be039d347743c289b7280d5de82abf7bbdf1d8 Author: Rajkumar Manoharan Date: Sat Aug 27 12:13:21 2011 +0530 ath9k: Fix eifs/usec timeout for AR9287 v1.3+ For AR9287 v1.3+ chips, MAC runs at 117MHz. But the initvals IFS parameters are loaded based on 44/88MHz clockrate. So eifs/usec from ini should not be used for AR9287 v1.3+. The mentioned values are tested on 2 chain HT40 mode. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit e3f2acc76dbae64d1b08455bbbaa855141d0238d Author: Rajkumar Manoharan Date: Sat Aug 27 11:22:59 2011 +0530 ath9k_hw: Set default slottime as 9us Initialize 9us slot time as that is what is used mostly (for non-ERP cases) and also to be in sync with initvals. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 547589668336d6cf25c2023173d5d2c25fb7bc48 Author: Rafał Miłecki Date: Fri Aug 26 20:41:40 2011 +0200 b43: make HT-PHY support experimental It was tested on three BCM4331 devices, code has been written from MMIO dumps only, but seems to be quite stable. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 14a8083e67653a963bb53f905044c23593026737 Author: Rafał Miłecki Date: Fri Aug 26 20:41:39 2011 +0200 b43: use 8K buffers for 64-bit DMA to workaround hardware bug Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 996bc370fa5f28f0a07d6c8dee26591db2f3dea9 Author: Larry Finger Date: Fri Aug 26 20:41:38 2011 +0200 b43: Relax requirement for descriptors to be in the DMA zone When 64-bit DMA was first used, there were problems with the BCM4311 (14e4:4311). The problem was "fixed" by using the GFP_DMA flag in the allocation of coherent ring descriptor memory. The original problem is now believed to have been due to bugs in the 64-bit DMA implementation in the rest of the kernel, and that those bugs have been fixed. Accordingly, the requirement for the descriptors to be in the DMA zone is relaxed. Bounce buffers are left in the DMA zone. Signed-off-by: Larry Finger Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 1eb85d63c73d924c172bde059ad8b0192abd74a4 Author: Axel Lin Date: Fri Aug 26 14:34:59 2011 +0800 p54spi: add "spi:" prefix for stlc45xx modalias Since commit e0626e38 (spi: prefix modalias with "spi:"), the spi modalias is prefixed with "spi:". This patch adds "spi:" prefix for modalias of stlc45xx. Also move it to be group with other modalias. Signed-off-by: Axel Lin Acked-By: Christian Lamparter Signed-off-by: John W. Linville commit debcf734287a4e15710e6da7add0febca349d5b4 Author: Johannes Berg Date: Thu Aug 25 23:13:56 2011 -0700 iwlagn: handle GO powersave In order to implement support for GO powersave on the P2P client side, the ucode needs to know what GO we're trying to authenticate/associate with, it needs to have a station entry and the BSSID in the RXON set. Implement the new mac80211 callbacks to give this data to the device. Since this is also useful for the device when a normal connection is established, also program it with the information in that case. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 8ad71bef4a9d8173cbcfbb2f796b08d33d4ca01b Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:32 2011 -0700 iwlagn: move tx queues to transport layer This finalizes the move of the data path to the transport layer. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit e20d434170c3a7f388d5e916825499c9c0738606 Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:31 2011 -0700 iwlagn: move the stop / wake queue logic to transport layer priv->mac80211_registered and priv->hw needed to move to shared. stop_queue API was added in order to allow the upper layer to stop the SW queues for regulatory purposes. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit f22be624c29b7f714e5a82ad13dc33a0cd1443a2 Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:30 2011 -0700 iwlagn: move check_stuck_queue to transport layer This one is really transport related. ==== moves Stanislaw's code to BSD area ==== Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 5f178cd2ebe8ac196b245428c574f1def1964b14 Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:29 2011 -0700 iwlagn: move wait_for_tx_queue_empty to transport layer This one is really transport related. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit c91bd12489f50809af94c46d7c4c4d98b70c6f47 Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:28 2011 -0700 iwlagn: cosmetics in iwl-trans.h Remove a few dereferences of priv from the transport layer while at it. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 7f01d567c5b9e136d9b070e00be88169d5b2227e Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:27 2011 -0700 iwlagn: move the disable agg logic to transport layer Since all the check_empty logic is now in the transport layer, the upper layer doesn't need to know anything about tx queues. The disable aggregation flow was the last to know what a tx queue is, so move it too. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 464021ffc1c080283e67729d966d76612728a08c Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:26 2011 -0700 iwlagn: move the check_empty logic to the transport layer This logic is responsible to tell mac80211 when the HW queues are empty and the BA session can be started / torn down. Fix a bug on the way: When the the Tx BA session is stopped and the HW queues aren't empty, we stop the SW queue to drain the HW queue and then switch to the legacy HW queue. This is the IWL_EMPTYING_HW_QUEUE_DELBA state. While in this state, we never wake the SW queue, even when the HW queue is almost empty, since we need to drain it completely. Look at iwl_trans_pcie_reclaim regarding this. Once the HW queue is really empty, we must wake the SW queue in order to get traffic to the legacy queue. This step was missing leading to an odd situation were the traffic would just stall after we tore down a Tx BA session while the HW queue was not empty. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 288712a6ccf47b9df104f800616f6659ecadc940 Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:25 2011 -0700 iwlagn: allocate resources for TX BA session in transport The queues and all the related logic suits to the transport layer. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit e13c0c59e0ec38558ac853d56555e915b4dc7dc2 Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:24 2011 -0700 iwlagn: move the mapping ac to queue / fifo to transport This mapping is transport related. This allows us to remove the notion of tx queue from the tx path in the upper layer. iwl_wake_any_queue moved to transport layer since it needs to access these mappings. The TX API is nicer now: int (*tx)(struct iwl_trans *trans, struct sk_buff *skb, struct iwl_device_cmd *dev_cmd, u8 ctx, u8 sta_id); Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit dfa2bdbab70901ddda3ec41f2e55f8396af9095f Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:23 2011 -0700 iwlagn: upper layer uses slabs to allocate tx cmds In a near future, the upper layer won't be aware of the tx queues. This allows to remove one place where the upper layer needed to provide the tx queue index to the transport layer. This also saves around 1.5MB. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit ba562f71198a2cb03bb8d20640ffdf996275c3f0 Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:22 2011 -0700 iwlagn: set tx_fifo for ampdu in transport layer the mapping tx_queue -> fifo is really transport related. The upper layer should be involved in such things. Note that upon agg_disable, the queue is always mapped to fifo 0, but this doesn't matter since when the queue will be setup again for a new BA session, it will be configured to the good fifo anyway. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 2c452297ff3eaafad41d24fa03d54a169ced8de1 Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:21 2011 -0700 iwlagn: upper layer stores iwl_rxon_context in skb's CB This removes the need for iwl_tx_info. Each tx queue holds an array of skbs, the transport layer doesn't need to know anything about the context in which a specific skb is sent. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit ae2c30bfcd29c6f1215d58a1c5663d58978011b8 Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:20 2011 -0700 iwlagn: stop the device before freeing it When we remove the module, we free all the tx and rx resources. Before doing that, we'd better stop the tx / rx activity. Calling iwl_trans_stop_device in iwl_remove helps also to remove a few API functions: * rx_free: happens in iwl_trans_free * tx_free: happens in iwl_trans_free * disable_sync_irq: happens in iwl_trans_stop_device Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit fd656935cd05f522d7db97386633f6a0d7751218 Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:19 2011 -0700 iwlagn: remove dereferences of priv from transport There are still quite a few, but much less. A few fields have been moved /copied to hw_params which sits in the shared area: * priv->cfg->base_params->num_of_ampdu_queues * priv->cfg->base_params->shadow_reg_enable * priv->cfg->sku * priv->ucode_owner Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 5f85a7890cbfd2be8f4c6620b2a6774d6b5ac647 Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:18 2011 -0700 iwlagn: iwl_tid_data moves to iwl-shared The rate scaling and the transport need to access the data in iwl_tid_data, hence the move. Note that the only component in the upper layer that needs this data is the rate scaling. Refactoring the rate scaling may help to move iwl_tid_data from the shared area to the transport area. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 1603dd495f87ae97763870d57237744d90bc2bab Author: Wey-Yi Guy Date: Thu Aug 25 23:11:17 2011 -0700 iwlagn: adding special "D" SKU for 2000 series One more sku for 2000 series with different Subsystem ID Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 332a4bad975616f33c2d1bf94c4ace2ea4113835 Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:16 2011 -0700 iwlagn: iwl-pci doesn't include iwl-dev any more Move all the iwlXXX_abgn_cfg forward declaration to a separate file so that iwl-pci.c doesn't need to include iwl-agn.h that includes all iwl-dev.h This allows to provide real encapsulation. Dereferencing iwl_priv in the bus layer will now lead to a compilation error. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit f090fba305658fe6e464e2fbd25fad81957ece26 Author: Daniel Halperin Date: Thu Aug 25 23:11:15 2011 -0700 iwlagn: fix compile warnings when CONFIG_PM_SLEEP is not set CC [M] drivers/net/wireless/iwlwifi/iwl-pci.o drivers/net/wireless/iwlwifi/iwl-pci.c:506: warning: ‘iwl_pci_suspend’ defined but not used drivers/net/wireless/iwlwifi/iwl-pci.c:519: warning: ‘iwl_pci_resume’ defined but not used These are only used if CONFIG_PM_SLEEP is enabled. CONFIG_PM depends (CONFIG_PM_SLEEP || CONFIG_PM_RUNTIME), so it can be set without CONFIG_PM_SLEEP selected. Signed-off-by: Daniel Halperin Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 83ed90155f98bd949735c2cc22d832b557a6d7d1 Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:14 2011 -0700 iwlagn: all function iwl-io.c receive iwl_bus Which means that iwl-io.c doesn't need to include iwl-dev.h any more. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit a72b8b088c3465b28192c1a14ba97be8223a8cec Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:13 2011 -0700 iwlagn: add missing includes a few h files weren't self contained. Fix that. Move iwl_dma_ptr to transport layer since it is not used by the upper layer any more. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 9d6b2cb1ccf9c1e00a0891eff78b93eb1a1fc372 Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:12 2011 -0700 iwlagn: move Keep Warm to transport layer It is relevant for PCIe only. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit dda61a4482661d71034cc132d1f474f19ce34a4d Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:11 2011 -0700 iwlagn: iwl-dev.h doesn't include iwl-fh.h any more Since iwl-fh.h contains transport related data, it shouldn't be included by the upper layer. Only the transport layer and iwl-agn-ucode.c includes it. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit ab9e212e92aa2820a5b961c42142d36257b0742c Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:10 2011 -0700 iwlagn: remove unused parameters from hw_params Some of them weren't used at all, the others always had the same value since the driver split. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 6bb7884758965ad0afd67801f0f41cefd53d0b0c Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:09 2011 -0700 iwlagn: remove references to priv from the transport layer Continue to the clean up of the priv dereferencing from the transport layer. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 16db88ba51d669ef63c58990771a47208913152c Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:08 2011 -0700 iwlagn: move dump_csr and dump_fh to transport layer These are transport layer related. Move also the corresponding debugfs handlers. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 72012474b01e2f2d433e4253505f5dcfb3345d17 Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:07 2011 -0700 iwlagn: move hcmd_lock to transport layer Since it is needed for host commands only, it is needed in transport layer only Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 6d8f6eeb350696050a1f5cf8f9d0daabab68eaf5 Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:06 2011 -0700 iwlagn: transport layer should receive iwl_trans Change a lot of functions to have them receive iwl_trans and not iwl_priv. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 790428b6552c698b2f295457b5dee686323cb732 Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:05 2011 -0700 iwlagn: move iwl_free_pages to iwl-shared.h This helper is used by the transport and the upper layer. Kill __iwl_free_pages which was used in the transport only. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 845a9c0d8acea87dede740bc5feb9ec2d00505d9 Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:04 2011 -0700 iwlagn: move all iwl_is_XXX helpers to iwl-shared.h Logic move after all priv->status moved to struct iwl_shared Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit effcea16e554b4d7497bbcfc80b9baca8e017691 Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:03 2011 -0700 iwlagn: fix the check of IWLAGN_FIRST_AMPDU_QUEUE BUILD_BUG_ON(ARRAY_SIZE(iwlagn_ipan_queue_to_tx_fifo) != IWLAGN_FIRST_AMPDU_QUEUE); This check can be buggy. IWLAGN_FIRST_AMPDU_QUEUE has to be greater than the ARRAY_SIZE of iwlagn_ipan_queue_to_tx_fifo. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 105183b156b7c220b47c3162e087101a0a6abc9f Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:02 2011 -0700 iwlagn: move scd_bc_tbls and scd_base_addr to iwl_trans_pcie Needed for PCIe only Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 04e1cabe4294fdf744489deb1e91edb1ec02e9a4 Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:01 2011 -0700 iwlagn: move reclaim related functions Now that the reclaim flow has been moved to the transport layer, a lot of functions can be made static or don't need to be exported outside the transport layer. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit a0eaad713f6fc1f63fe293ad6ce63cb01e05c03c Author: Emmanuel Grumbach Date: Thu Aug 25 23:11:00 2011 -0700 iwlagn: reclaim the packets in transport layer The reclaim flow is really transport related. Define a simple API to allow the upper layer to request from the transport layer to reclaim packets until an index written in the Tx response / BA notification. The transport layer prepares a list of the packets that are being freed and passes this list to the upper layer. Between the two layers, the CB of the skb is used to pass a pointer to the context (BSS / PAN) in which the skb was sent. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 1f7b6172db86e9ab2b4cd794441bb2c40ab287fc Author: Emmanuel Grumbach Date: Thu Aug 25 23:10:59 2011 -0700 iwlagn: move isr_statistics to transport layer It is accessed by the transport layer only, hence the move. The debugfs handlers that accessed it moved to the transport layer too. The rx_handlers part of it stayed in the upper layer and a special debugfs has been added for it Also add missing includes to iwl-commands.h. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit e4ef84d94b0dbb75b4da6628611341af5812360f Author: Wey-Yi Guy Date: Thu Aug 25 23:10:58 2011 -0700 iwlagn: add comments to module parameters Add more comments to iwl_mod_params Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit fee84f0dc45f40eabbddf619d5ec18d456c5185a Author: Wey-Yi Guy Date: Thu Aug 25 23:10:57 2011 -0700 iwlagn: more comments for bt channel inhibition Add comments for better description Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 6a9ae0dc1d4ed6a2007aea14e41d9ba0ae1e3fd4 Author: Wey-Yi Guy Date: Thu Aug 25 23:10:56 2011 -0700 iwlagn: support small form factor SKU of 6205 Different subsystem ID Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit dd5b6d0a2059027366028630746d951b1e1e24b3 Author: Wey-Yi Guy Date: Thu Aug 25 23:10:55 2011 -0700 iwlagn: enable 11n aggregation without checking traffic load Enable HT aggregation when it reach reasonable traffic without checking traffic load which delay enabling the aggregation and lower the throughput but this behavior can be overwrite by module parameter this address https://bugzilla.kernel.org/show_bug.cgi?id=40042 Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 7ff94706a055f3e21710b08ffbe3979d7db615db Author: Emmanuel Grumbach Date: Thu Aug 25 23:10:54 2011 -0700 iwlagn: move the NIC error flow to the transport layer It is transport dependent, move to the PCIe transport layer. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 0c325769a394559941acda83e888a1d9b1ef8b7f Author: Emmanuel Grumbach Date: Thu Aug 25 23:10:53 2011 -0700 iwlagn: move ISR related data to transport layer Since the ISR is entirely in the transport layer, its data should be in the pcie specific region. Change sync_irq to first disable and then synchronize the IRQ. iwl_isr and iwl_isr_ict now receive iwl_trans. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 57210f7c9f04a2509ee54a0f454003a714db96dd Author: Emmanuel Grumbach Date: Thu Aug 25 23:10:52 2011 -0700 iwlagn: move iwl_suspend / iwl_resume to the transport layer These flows needs to access the APM and a few other registers that can differ between different transports. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 5a878bf60b2bb1f1509f49b8b1784e3c9f204c64 Author: Emmanuel Grumbach Date: Thu Aug 25 23:10:51 2011 -0700 iwlagn: iwl_rx_queue moves to the iwl_trans_pcie Since this struct is specific to pcie transport, move it the the pcie specific transport layer. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 87e5666c0722d5f4cad3560ab5c180c8bba62b8b Author: Emmanuel Grumbach Date: Thu Aug 25 23:10:50 2011 -0700 iwlagn: transport handler can register debugfs entries Add a handler in iwl_trans_ops to allow it to add entries under debugfs dir given by the upper level. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 6fbfae8e65139061080c70c8c337f74c50e8fd55 Author: Emmanuel Grumbach Date: Thu Aug 25 23:10:49 2011 -0700 iwlagn: add comments to iwl_bus / iwl_trans Rename the recursive inclusion protection in iwl-bus.h while we are at it. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit e6bb4c9c00892c488f3218ea317dc6a71674faf4 Author: Emmanuel Grumbach Date: Thu Aug 25 23:10:48 2011 -0700 iwlagn: bus layer chooses its transport layer Remove iwl_transport_register which was a W/A. The bus layer knows what transport to use. So now, the bus layer gives the upper layer a pointer to the iwl_trans_ops struct that it wants to use. The upper layer then, allocates the desired transport layer using iwl_trans_ops->alloc function. As a result of this, priv->trans, no longer exists, priv holds a pointer to iwl_shared, which holds a pointer to iwl_trans. This required to change all the calls to the transport layer from upper layer. While we were at it, trans_X inlines have been renamed to iwl_trans_X to avoid confusions, which of course required to rename the functions inside the transport layer because of conflicts in names. So the static API functions inside the transport layer implementation have been renamed to iwl_trans_pcie_X. Until now, the IRQ / Tasklet were initialized in iwl_transport_layer. This is confusing since the registration doesn't mean to request IRQ, so I added a handler for that. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit f39c95e8d7a152b409977687a999356f0e54bde6 Author: Emmanuel Grumbach Date: Thu Aug 25 23:10:47 2011 -0700 iwlagn: priv->sta_lock moves to iwl_shared Since it is used by all the layers, it needs to move to iwl_shared. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 9ca06f0a3fbf57c672c7f2cdfc85747a0bbfaf28 Author: Emmanuel Grumbach Date: Thu Aug 25 23:10:46 2011 -0700 iwlagn: add IWL_DEBUG_FW_ERRORS instead of IWL_DEBUG(priv, IWL_DL_FW_ERRORS Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 44856c6596bf4b96eb17ee5e785b5fe5b8a12531 Author: Emmanuel Grumbach Date: Thu Aug 25 23:10:45 2011 -0700 iwlagn: modify the debug macro to be usable by all the layers Since all the layers need to print debug message, the debug macro cannot suppose that they will be given iwl_priv as a parameter and then dereference it. Use iwl_shared instead. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 6ac2f839b0b21225a65f41802c5f0df5eff4f16c Author: Emmanuel Grumbach Date: Thu Aug 25 23:10:44 2011 -0700 iwlagn: priv->mutex moves to iwl_shared Since it is used by all the layers, it needs to move to iwl_shared. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 10b15e6f67ba4d9abb8788100a5267341cc98b7b Author: Emmanuel Grumbach Date: Thu Aug 25 23:10:43 2011 -0700 iwlagn: priv->lock moves to iwl_shared Since it is used by all the layers, it needs to move to iwl_shared. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 63013ae30159c90d2a873e20e680e7810fa533fa Author: Emmanuel Grumbach Date: Thu Aug 25 23:10:42 2011 -0700 iwlagn: priv->status moves to iwl_shared Since it is used by all the layers, it needs to move to iwl_shared. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 74e28e44095e30ffd2d0258e4fe91826a15247e7 Author: Emmanuel Grumbach Date: Thu Aug 25 23:10:41 2011 -0700 iwlagn: workqueue moves to iwl_shared Since it is used by all the layers, it needs to move to iwl_shared. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit cefeaa5fa0be02cd51968975fec9cfaf7973bb3a Author: Emmanuel Grumbach Date: Thu Aug 25 23:10:40 2011 -0700 iwlagn: cmd_queue moves to iwl_shared Since it is used by all the layers, it needs to move to iwl_shared. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit d618912417fbce4f6514fe1cbef7df2e73bdb6c2 Author: Emmanuel Grumbach Date: Thu Aug 25 23:10:39 2011 -0700 iwlagn: hw_params moves to iwl_shared Since it is used by all the layers, it needs to move to iwl_shared. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 8f470ce31de1a9dfe6b53e0967eaa7e72b741714 Author: Emmanuel Grumbach Date: Thu Aug 25 23:10:38 2011 -0700 iwlagn: debug_level moves to struct iwl_shared This will allow all the modules to look at it. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit cac988a682d45d07276fef1cc1e035ef86d39849 Author: Emmanuel Grumbach Date: Thu Aug 25 23:10:37 2011 -0700 iwlagn: introduce struct iwl-shared - known by all layers This struct will hold pointers to all the layers, so that every layer will find the pointers it needs when calling another layer. Note that the drv_data set to struct device is now a pointer to struct iwl_shared. This solves of bug that I introduced in iwlagn: simplify the bus architecture Bug description: sysfs gets the the driver data from struct device. Till the aforementioned patch, dev_get_drvdata would return iwl_priv. After the patch, dev_get_drvdata return iwl_bus which is buggy since the sysfs handlers rely on this value, and sysfs handlers need iwl_priv. Now, dev_get_drvdata return iwl-shared. Since we have pointers to all the layers in iwl_shared, every layer will be able to get the pointer it needs: bus layer will gets iwl_bus from the PCI suspend callbacks, and the sysfs handlers will get the iwl_priv they need. In order to keep good encapsulation, we need to avoid to dereference iwl_priv from a different layer. This is why instead of including iwl-dev.h from iwl-shared.h, I added a forward declaration to iwl_priv. Moreover we keep type safety while providing encapsulation. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 48f20d354e729afcfb29ff41aca7583ebb94613d Author: Emmanuel Grumbach Date: Thu Aug 25 23:10:36 2011 -0700 iwlagn: introduce iwl-shared.h It will hold declaration of functions and forward declaration of struct that are used by several layers. This will allow modules not to include iwl_priv. iwl_bus and iwl_trans are still visible to all. All the layers share the module parameters, move the struct to iwl-shared.h. Also add all module parameters to iwl_mod_params instead of having them as global static. This includes * debug_level * ant_coupling * bt_ch_announce * wanted_ucode_alternative Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit a294b96f25f2d436c90ca54d91e13461696cbcd4 Author: Emmanuel Grumbach Date: Thu Aug 25 23:10:35 2011 -0700 iwlagn: use iwl_get_debug_level instead of iwl_debug_level The latter may return incomplete information. For example, if one switched IWL_DL_TX on through sysfs, IWL_DL_TX bit would have been set in priv->debug_level, but since iwl_alloc_traffic_mem looked at iwl_debug_level only, it wouldn't have allocated the tx_traffic buffer. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit f293bd1aeab7c4937c1688bd346c3910f7c73de0 Author: Wey-Yi Guy Date: Thu Aug 25 23:10:34 2011 -0700 iwlagn: remove out-dated comments Portion of iwl_cfg comments is not correct anymore, remove it. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit b39488a9bd00c520e46682bf75ba484aadc82af7 Author: Wey-Yi Guy Date: Thu Aug 25 23:10:33 2011 -0700 iwlagn: Rename iwlcore prefix There are number of functions with "iwlcore_" prefix which not feels right, rename those to "iwl_". No functional changes by making the renames. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 107021c4ce105c9c9d5406dfc4b1fe0f2aa86455 Author: Mohammed Shafi Shajakhan Date: Fri Aug 26 11:19:57 2011 +0530 ath9k: minor cleanup in ani removed a function declaration, removed a variable, renamed a variable Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 9976f62e7c4e77248b84a35ab0e87e6bc4682ca0 Author: Mohammed Shafi Shajakhan Date: Fri Aug 26 11:10:01 2011 +0530 ath9k: use appropriate debug mask in the Rx path of the driver it would be better to use ATH_DBG_ANY rather than ATH_DBG_XMIT for printing debug messages Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 1cda0fd6096355ad4b0d99b691c2f9ca3198d745 Author: Christian Lamparter Date: Thu Aug 25 23:47:35 2011 +0200 p54: Use do_div for 64-bit division to fix 32-bit kernels Use the do_div macro for 64-bit division. Otherwise, the module will reference __udivdi3 under 32-bit kernels, which is not allowed in kernel space. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 397e5d5b93ba99ad3dc56f1e294f487e77d2daa8 Author: Florian Fainelli Date: Thu Aug 25 21:33:48 2011 +0200 ath9k: add missing AR9340 in ath_mac_bb_names AR9340 is not listed in ath_mac_bb_names, which leads to such a message: ieee80211 phy0: Atheros AR???? Rev:0 mem=0xb8100000, irq=2 Signed-off-by: Florian Fainelli Signed-off-by: John W. Linville commit 4a711a8559adbf8639d445d8bf195fc929680d11 Author: Stanislaw Gruszka Date: Thu Aug 25 17:07:24 2011 +0200 cfg80211: document wiphy->registered Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 817a53d9866ab4118e2dd17a9ffe80700eac40ac Author: John W. Linville Date: Wed Aug 24 15:12:41 2011 -0400 mac80211: refactor skb copy to failq in mesh_path_move_to_queue This seems a bit less awkward... Signed-off-by: John W. Linville commit b38de31ffa870323c4f6957904303477c88fe905 Author: Peter Huewe Date: Tue Jun 7 22:36:14 2011 +0200 net/mac80211/debugfs: Convert to kstrou8_from_user This patch replaces the code for getting an number from a userspace buffer by a simple call to kstrou8_from_user. This makes it easier to read and less error prone. Since the old buffer was only 10 bytes long and the value is masked by a nibble-mask anyway, we don't need to use kstrtoul but rather kstrtou8. Kernel Version: v3.0-rc2 Signed-off-by: Peter Huewe Signed-off-by: John W. Linville commit ba6e5eb107b4b26444cb67ce6fb8eb0973a97964 Merge: f3116f6 a508a6e Author: John W. Linville Date: Mon Aug 29 14:52:20 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem commit e0a8c583c39580a97919c026598eedbf014cd8a5 Merge: a508a6e 04b4d69 Author: John W. Linville Date: Mon Aug 29 14:27:52 2011 -0400 Merge branch 'for-linville' of git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx commit a508a6ea234571e0e7d1e9f2455fc1eca54d1fef Author: Luis R. Rodriguez Date: Tue Aug 23 13:37:07 2011 -0700 ath9k: add AR9580 support This has been tested in STA and AP mode by Florian. Cc: David Quan Cc: Kathy Giori Cc: Senthil Balasubramanian Tested-by: Florian Fainelli Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 80d6e96be80593ae98a5d68c9ae4e054359d1a89 Author: Christian Lamparter Date: Thu Aug 25 15:00:54 2011 +0200 carl9170: Use do_div for 64-bit division to fix 32-bit kernels Use the do_div macro for 64-bit division. Otherwise, the module will reference __udivdi3 under 32-bit kernels, which is not allowed in kernel space. drivers/built-in.o: In function `carl9170_collect_tally': cmd.c:191: undefined reference to `__udivdi3' cmd.c:192: undefined reference to `__udivdi3' cmd.c:193: undefined reference to `__udivdi3' Reported-by: Kalle Valo Signed-off-by: Christian Lamparter Tested-by: Kalle Valo Signed-off-by: John W. Linville commit 5a63ef0faf90985c847a2f924a72a22830ed1c10 Author: Luis R. Rodriguez Date: Wed Aug 24 15:36:08 2011 -0700 ath9k_hw: add AR9580 support Here are the AR9580 1.0 initvals checksums using the Atheros initvals-tools [1]. This is useful for when we udate the initvals again with other values. It ensures that we match the same initvals used internally. The tool is documented on the wiki [2]. $ ./initvals -f ar9580-1p0 0x00000000e912711f ar9580_1p0_modes_fast_clock 0x000000004a488fc7 ar9580_1p0_radio_postamble 0x00000000f3888b02 ar9580_1p0_baseband_core 0x0000000003f783bb ar9580_1p0_mac_postamble 0x0000000094be244a ar9580_1p0_low_ob_db_tx_gain_table 0x0000000094be244a ar9580_1p0_high_power_tx_gain_table 0x0000000090be244a ar9580_1p0_lowest_ob_db_tx_gain_table 0x00000000ed9eaac6 ar9580_1p0_baseband_core_txfir_coeff_japan_2484 0x00000000c4d66d1b ar9580_1p0_mac_core 0x00000000e8e9043a ar9580_1p0_mixed_ob_db_tx_gain_table 0x000000003521a300 ar9580_1p0_wo_xlna_rx_gain_table 0x00000000301fc841 ar9580_1p0_soc_postamble 0x00000000a9a06b3a ar9580_1p0_high_ob_db_tx_gain_table 0x00000000a15ccf1b ar9580_1p0_soc_preamble 0x0000000029495000 ar9580_1p0_rx_gain_table 0x0000000037ac0ee8 ar9580_1p0_radio_core 0x00000000603a1b80 ar9580_1p0_baseband_postamble 0x000000003d8b4396 ar9580_1p0_pcie_phy_clkreq_enable_L1 0x00000000398b4396 ar9580_1p0_pcie_phy_clkreq_disable_L1 0x00000000397b4396 ar9580_1p0_pcie_phy_pll_on_clkreq [1] git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/initvals-tool.git [2] http://wireless.kernel.org/en/users/Drivers/ath9k_hw/initvals-tool Cc: David Quan Cc: Kathy Giori Cc: Senthil Balasubramanian Tested-by: Florian Fainelli Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5fa71984f37e882d8c93e20f6db56d2ac3470178 Author: Mohammed Shafi Shajakhan Date: Thu Aug 25 01:01:22 2011 +0530 ath9k_htc: Add get_stats call back currently this call back is used only in debugfs of mac80211 Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit c3e5fac8e54591d2e4585d3329ead61ba059eb1d Author: John W. Linville Date: Wed Aug 24 15:05:14 2011 -0400 b43: correct warning for uninitialized variable 'macstat' CC [M] drivers/net/wireless/b43/pio.o drivers/net/wireless/b43/pio.c: In function ‘pio_rx_frame’: drivers/net/wireless/b43/pio.c:614:6: warning: ‘macstat’ may be used uninitialized in this function Signed-off-by: John W. Linville commit 22c55e6e7ed46ad3734c206d90b5ccba3b318d22 Author: John W. Linville Date: Wed Aug 24 14:08:41 2011 -0400 ath9k: remove replicated null check in ath_pci_aspm_init Signed-off-by: John W. Linville commit ea5a08cfa5fe9d10333eb7d65a7158ab766dae93 Author: Rafał Miłecki Date: Wed Aug 24 11:52:35 2011 +0200 b43: HT-PHY: read clip state We don't know yet when to restore it, implement just reading. We found out what for are that PHY ops by comparing HT with N code. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit c750f795c721805f69254cf4dd91f67b28ff6ddc Author: Rafał Miłecki Date: Wed Aug 24 11:52:34 2011 +0200 b43: HT-PHY: use separated function for forcing RF sequence Comparison of the HT and N code has shown similarities in the ops performed after b43_mac_phy_clock_set. That way we understood what is happening in the HT-PHY code. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit dde88b736f228be8bb2a831a4c373910d0b950fa Author: Luis R. Rodriguez Date: Tue Aug 23 15:03:34 2011 -0700 wireless: relicense regulatory header to ISC I will suck out stuff to userspace to start the regulatory revampamp, this work will be permissively licensed. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9533b4ac86e20656d95f25e536c81c994e5f57a6 Author: Eliad Peller Date: Tue Aug 23 14:37:47 2011 +0300 mac80211: add uapsd_queues and max_sp params fields Add uapsd_queues and max_sp fields to ieee80211_sta. These fields might be needed by low-level drivers in order to configure the AP. Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit c75786c9ef9e726dc139325a775e90a684b00ed7 Author: Eliad Peller Date: Tue Aug 23 14:37:46 2011 +0300 nl80211/cfg80211: add STA WME parameters Add new NL80211_ATTR_STA_WME nested attribute that contains wme params needed by the low-level driver (uapsd_queues and max_sp). Add these params to the station_parameters struct as well. Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit a21fa87e3a3a8390f17f53967baa574f4e1e1e76 Author: Arik Nemtsov Date: Tue Aug 23 10:21:27 2011 +0300 mac80211: allow action frames with unknown BSSID in GO mode When operating as a P2P GO, we receive some P2P action frames where the BSSID is set to the peer MAC address. Specifically, this occurs for invitation responses. These are valid action frames and they should be passed up. Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit 1a6e9d0f2e5de4cc8dfa3e8e67c2decd02976cf3 Author: Rajkumar Manoharan Date: Tue Aug 23 12:32:57 2011 +0530 ath9k: Send legacy rated frames as unaggregated Currently the aggregation is formed till the aggregation limit is reached and the rate lookup is done for the first frame alone. But there can be a legacy rated frames in tid queue. This patch limits the subframe addition based on presence of legacy rate and sends the legacy rated frames as unaggregated one. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 2a33bee2753bf28411de8822e3e3c7501966eb1b Author: Guy Eilam Date: Wed Aug 17 15:18:15 2011 +0300 mac80211: fix race condition between assoc_done and first EAP packet When associating to an AP, the station might miss the first EAP packet that the AP sends due to a race condition between the association success procedure and the rx flow in mac80211. In such cases, the packet might fall in ieee80211_rx_h_check due to the fact that the relevant rx->sta wasn't allocated yet. Allocation of the relevant station info struct before actually sending the association request and setting it with a new dummy_sta flag solve this problem. The station will accept only EAP packets from the AP while it is in the pre-association/dummy state. This dummy station entry is not seen by normal sta_info_get() calls, only by sta_info_get_bss_rx(). The driver is not notified for the first insertion of the dummy station. The driver is notified only after the association is complete and the dummy flag is removed from the station entry. That way, all the rest of the code flow should be untouched by this change. Signed-off-by: Guy Eilam Signed-off-by: John W. Linville commit 8c71df7a2f6a5345d6cad34e810c50edeca81521 Author: Guy Eilam Date: Wed Aug 17 15:18:14 2011 +0300 mac80211: refactor sta_info_insert_rcu to 3 main stages Divided the sta_info_insert_rcu function to 3 mini-functions: sta_info_insert_check - the initial checks done when inserting a new station sta_info_insert_ibss - the function that handles the station addition for IBSS interfaces sta_info_insert_non_ibss - the function that handles the station addition in other cases The outer API was not changed. The refactoring was done for better usage of the different stages in the station addition in new scenarios added in the next commit. Signed-off-by: Guy Eilam Signed-off-by: John W. Linville commit df766267c8d8d71acb0b23575250cac718c6b711 Author: Rafał Miłecki Date: Tue Aug 16 12:14:07 2011 +0200 b43: drop Kconfig option of forcing PIO mode We have module param called use_pio which is much easier to use. Cc: Larry Finger Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit c613366113c8956ee869e12558099927586785bb Author: Thomas Pedersen Date: Thu Aug 25 10:36:14 2011 -0700 mac80211: mesh gate fixes Since a v1 of the mesh gate series was accidentally applied, this patch contains the changes in v2. These are: - automatically make mesh gate a root node. - use TU_TO_EXP_TIME macro. - initialize timer instead of checking for NULL timer function. - cleanups. Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit cc74998618a66d34651c784dd02412614c3e81cc Author: Jean Pihet Date: Thu Aug 25 15:35:12 2011 +0200 PM QoS: Minor clean-ups - Misc fixes to improve code readability: * rename struct pm_qos_request_list to struct pm_qos_request, * rename pm_qos_req parameter to req in internal code, consistenly use req in the API parameters, * update the in-kernel API callers to the new parameters names, * rename of fields names (requests, list, node, constraints) Signed-off-by: Jean Pihet Acked-by: markgross Reviewed-by: Kevin Hilman Signed-off-by: Rafael J. Wysocki commit e8db0be1245de16a6cc6365506abc392c3c212d4 Author: Jean Pihet Date: Thu Aug 25 15:35:03 2011 +0200 PM QoS: Move and rename the implementation files The PM QoS implementation files are better named kernel/power/qos.c and include/linux/pm_qos.h. The PM QoS support is compiled under the CONFIG_PM option. Signed-off-by: Jean Pihet Acked-by: markgross Reviewed-by: Kevin Hilman Signed-off-by: Rafael J. Wysocki commit bd4932b8ee2fbdbcf168930de9dcfed1018a085d Author: Luciano Coelho Date: Tue Aug 23 18:34:45 2011 +0300 wl12xx: use SCAN_SSID_TYPE_PUBLIC when using the wildcard in sched_scan When we are scanning for the wildcard SSID in a scheduled scan, we should use SCAN_SSID_TYPE_PUBLIC so that we don't filter out the scan results. Signed-off-by: Luciano Coelho commit f952079a19c69843f4da2f7e0da008192421c6ce Author: Luciano Coelho Date: Tue Aug 23 18:34:44 2011 +0300 wl12xx: add support for multiple SSIDs in sched_scan The wl12xx firmwares support multiple SSIDs in a single sched_scan run. This patch implements support for it. We use three different types os sched_scan: FILTER_ANY (ie. not filtering, only wildcard SSID in the probe_reqs); FILTER_LIST (ie. send out probe_reqs with the specified SSIDs and only report if they are found); and FILTER_DISABLED (ie. send out probe_reqs with the specified SSIDs, but report anything found). Since we still don't have proper filter support in nl80211/cfg80211 yet, we cannot use filters when the wildcard SSID is used. Thus, we will not filter anything if the wildcard SSID is specified. Signed-off-by: Luciano Coelho commit 05dba3550603b9dc8609b5ea7c3ffba4e3bb97f2 Author: Eliad Peller Date: Tue Aug 23 16:37:01 2011 +0300 wl12xx: enter psm only after station role was started The station didn't get into psm after recovery, because psm was configured before sta role was started. Move wl1271_ps_set_mode() to be executed only after the role was started. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit a879ed790a6108a3372be2d22a1ae81f59ab8db8 Author: Eliad Peller Date: Tue Aug 23 16:37:02 2011 +0300 wl12xx: increase psm_entry_retries In congested env, sometimes 5 psm entry retries are not enough. Increase the retries count to 8. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 53835a2d19f533acb0de2466d1ece7b673556419 Author: Eliad Peller Date: Tue Aug 23 15:56:23 2011 +0300 wl12xx: initialize rate_set on band rates initialization In some corner cases, (invalid) 11g rates were used while working on 11a band. Take care of it by initializing rate_set according to the configured band. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit cabb81c9a8d8dd7e5f220244246332ab24ef6d80 Author: Arik Nemtsov Date: Tue Aug 23 15:56:22 2011 +0300 wl12xx: allow 11a AP-mode for wl127x devices There was a check preventing 127x devices from using the 11a band when operating as AP. Since we now support this functionality, remove the check. With this patch, a 11a AP starts ok on 127x cards. Signed-off-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit e9eb8cbe77139470651c858b8b7a3d20d332cf47 Author: Guy Eilam Date: Tue Aug 16 19:49:12 2011 +0300 wl12xx: use 2 spare TX blocks for GEM cipher Add tx_spare_blocks member to the wl1271 struct for more generic configuration of the amount of spare TX blocks that should be used. The default value is 1. In case GEM cipher is used by the STA, we need 2 spare TX blocks instead of just 1. Signed-off-by: Guy Eilam Acked-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 25232490af96f899f7e17de2c136e03d2c9ded62 Author: Amitkumar Karwar Date: Mon Aug 22 17:26:37 2011 -0700 libertas: update readme file Since all wext specific code is removed, currently there is no way to configure deep sleep mode. This patch removes deep sleep configuration information in readme file. Signed-off-by: Amitkumar Karwar Signed-off-by: John W. Linville commit 5b62bb5cc1abe2a2c194833e9266cb78ae36fe61 Author: Larry Finger Date: Mon Aug 22 16:50:18 2011 -0500 rtlwifi: rtl8192de: Convert to use the new rate-mapping routine in rtlwifi This patch also deletes the now unused parts of rtl8192de/def.h. Signed-off-by: Larry Finger Cc: Chaoming Li Signed-off-by: John W. Linville commit 8e35337731abb901f3ae20ebc3f44a50ba6953e9 Author: Larry Finger Date: Mon Aug 22 16:50:17 2011 -0500 rtlwifi: rtl8192se: Convert to use the new rate-mapping routine in rtlwifi This patch also deletes the now unused parts of rtl8192se/def.h. Signed-off-by: Larry Finger Cc: Chaoming Li Signed-off-by: John W. Linville commit 2b67e88f648f3b16783feb09178719380150e51f Author: Larry Finger Date: Mon Aug 22 16:50:16 2011 -0500 rtlwifi: rtl8192cu: Convert to use the new rate-mapping routine in rtlwifi This patch also removes the now unused code from rtl8192ce/def.h. Signed-off-by: Larry Finger Cc: Chaoming Li Signed-off-by: John W. Linville commit 78851b66b1f4c00fe324d53ae55dbf5bf9a02e27 Author: Larry Finger Date: Mon Aug 22 16:50:15 2011 -0500 rtlwifi: rtl8192ce: Convert to use the new rate-mapping routine in rtlwifi Signed-off-by: Larry Finger Cc: Chaoming Li Signed-off-by: John W. Linville commit 7ad0ce3576edb2ea65bd5c93a83c4a6afaa1dd76 Author: Larry Finger Date: Mon Aug 22 16:50:14 2011 -0500 rtlwifi: Install updated rate-mapping routine In preparation for fixing the rate-mapping situation, place a driver-agnostic version in rtlwifi. This one contains the updated rate incormation. Signed-off-by: Larry Finger Cc: Chaoming Li Signed-off-by: John W. Linville commit f750323009b6540cc614304fd784300b49506797 Author: Julia Lawall Date: Mon Aug 22 16:16:14 2011 +0200 drivers/net/wireless/mwifiex/scan.c: test the just-initialized value Test the just-initialized value rather than some other one. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier x,y,f!={PTR_ERR,ERR_PTR,ERR_CAST}; statement S; @@ x = f(...); ( if (\(x == NULL\|IS_ERR(x)\)) S | *if (\(y == NULL\|IS_ERR(y)\)) { ... when != x return ...; } ) // Signed-off-by: Julia Lawall Acked-by: Bing Zhao Signed-off-by: John W. Linville commit 8b0be90c4d3770b0c31489fc3ae33e5d8ba9edf8 Author: Michael Büsch Date: Sun Aug 21 17:24:47 2011 +0200 b43/legacy: Remove firmware IDs This removes the "FWxx" ID strings from the b43 and b43legacy drivers. They were once used to match a specific driver revision to a set of firmware files. However, this is hardly useful today. Additionally, the IDs are not updated and maintained properly, so they might mislead users. Signed-off-by: Michael Buesch Acked-by: Larry Finger Signed-off-by: John W. Linville commit 8ad38d22dc6f6c244642ca1fbe9255d7d149870a Author: Rajkumar Manoharan Date: Sat Aug 20 17:34:19 2011 +0530 ath9k_hw: Disable Walsh spatial spreading for 2 chains The Walsh bit is disabled for regulatory consideration. FCC limit for walsh enable is lower than that for walsh disable. So disabling walsh bit will not limit tx power/affect tx power even in cases where we are not FCC limited (most client cards). If the tx power is not FCC limited, then enabling/disabling walsh bit will not affect Avg. EVM/overall performance in any visible manner. Cc: Felix Fietkau Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit a35e27802291a8119c2b12532fb5f3c1b3e565a2 Author: Rajkumar Manoharan Date: Sat Aug 20 17:22:10 2011 +0530 ath9k: Change rate control to use legacy rate as last MRR In congested network, having all rate reties at MCS rates is failing to transmit the frame offenly. By the time reaching the success rate set, the application gets timed out. One such scenario is that authentication time out during 4-Way handshake. This patch uses a legacy rate as last retry sequnce for unaggregated frames or if the first selected rate's PER is ~80% of max limit. And also observed from the tx status that the frame was trasmitted successfully by using legacy rates. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 2a15b394f8e46dd3e2ab365ab41cfa701d92fa77 Author: Rajkumar Manoharan Date: Sat Aug 20 17:22:09 2011 +0530 ath9k_hw: Fix descriptor status of TxOpExceeded Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 52c94f413fdf5011b7e54ae68e0a2cfcb1b311df Author: Mohammed Shafi Shajakhan Date: Sat Aug 20 17:21:42 2011 +0530 ath9k: Add support for get_stats callback this useful for debugging and to keep track of success/failure of frames such as ACK, RTS and FCS error count in a noisy environment Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 0d78156eef1d8869ea4e56f8a257252a8f262f04 Author: Christian Lamparter Date: Sat Aug 20 01:53:59 2011 +0200 p54: improve site survey The firmware keeps track of channel usage. This data can be used by the automatic channel selection to find the best channel. Survey data from wlan4 frequency: 5200 MHz [in use] noise: -91 dBm channel active time: 811909 ms channel busy time: 63395 ms channel transmit time: 59636 ms Survey data from wlan4 frequency: 5210 MHz noise: -91 dBm channel active time: 121 ms channel busy time: 119 ms channel transmit time: 0 ms Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 152e585dc9fe2c3436e87cc982f2446697778228 Author: Bill Jordan Date: Fri Aug 19 11:10:22 2011 -0400 ath9k: fix MGMT packets when using TKIP Prevent 8 bytes from being truncated from MGMT packets when using TKIP. Signed-off-by: Bill Jordan Signed-off-by: John W. Linville commit cbe1e82a543dae06ffdba9bc108a1a22dc55cde3 Author: Rafał Miłecki Date: Tue Aug 16 21:44:21 2011 +0200 b43: warn when forcing PIO mode We have resolved all the known issues with DMA mode, however some users (or distros) are still forcing PIO mode by config files. Without debugging enabled it's not noticable at all. Add the warning for them. Cc: Gregory Bellier Signed-off-by: Rafał Miłecki Acked-by: Larry Finger Signed-off-by: John W. Linville commit 948990251508d8d41f5dd2c9988d415fb8fb49c7 Author: Alex Hacker Date: Tue Aug 16 16:41:40 2011 +0600 ath9k_hw: fix EIFS value to microseconds The EIFS value read from AR_D_GBL_IFS_EIFS register in core clocks and then written back as microsecond value. Signed-off-by: Alex Hacker Acked-by: Felix Fietkau Signed-off-by: John W. Linville commit dc713fb2afa1be7a29f5c1d0b087c35bfbbe2815 Author: Rafał Miłecki Date: Mon Aug 15 18:50:56 2011 +0200 b43: LCN-PHY: init 0x2064 radio Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 78bc2463af4c311a188a9db4d833acf724bbc304 Author: Rafał Miłecki Date: Mon Aug 15 18:50:55 2011 +0200 b43: LCN-PHY: basic PHY init Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 00044f17afd36bf6397b9a2a12f242a057449e9a Author: Christian Lamparter Date: Mon Aug 15 20:09:54 2011 +0200 carl9170: export HW random number generator All AR9170 hardware have a 16-Bit random number generator. The documentation claims the values are suitable for "security keys". The "throughput" is around 320Kibit/s. It's slow, but it does work without introducing any special offload firmware commands. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit acf1771221f2877ab5d36487930cd6a2ecaa73e6 Author: Christian Lamparter Date: Mon Aug 15 19:50:48 2011 +0200 carl9170: improve site survey The firmware keeps track of channel usage. This data can be used by the automatic channel selection to find the *best* channel. Survey data from wlan22 frequency: 2412 MHz [in use] noise: -86 dBm channel active time: 3339608 ms channel busy time: 270982 ms channel transmit time: 121515 ms Survey data from wlan22 frequency: 2417 MHz noise: -86 dBm channel active time: 70 ms channel busy time: 2 ms channel transmit time: 1 ms Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit f5e2289a142c714732aef67cadbb0a8843565507 Author: Christian Lamparter Date: Mon Aug 15 19:39:51 2011 +0200 carl9170: import updated firmware headers Import new headers from our firmware branch: git://git.kernel.org/pub/scm/linux/kernel/git/chr/carl9170fw.git Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 7ccc83b0fc69d5b18602aa250c10be0d3ae920c6 Author: Christian Lamparter Date: Mon Aug 15 18:45:54 2011 +0200 carl9170: fix timekeeping for HW_COUNTER firmwares AR9170_PWR_REG_PLL_ADDAC is used to set the main clock divisor which affects the AHB/CPU speed. Because this would interfere with the firmware internal timekeeping, the function has to be moved into the firmware. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit bfe2ed8f4df2e7b6991c4039bb624dee5f8b6583 Author: Dan Carpenter Date: Mon Aug 15 14:25:35 2011 +0300 libertas: handle mesh networks in lbs_iface_active() There was an extra semicolon so the if condition wasn't used. We checked "priv->dev" twice instead of "priv->mesh_dev". Signed-off-by: Dan Carpenter Acked-by: Dan Williams Signed-off-by: John W. Linville commit ba2d00e816a11b532e0c035e5cf7b9311e72ac00 Author: Rafał Miłecki Date: Mon Aug 15 01:23:09 2011 +0200 b43: LCN-PHY: add init tables They were taken from MMIO dump with few RegExps and vim. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 7ed88528884bd477bddef367e8676b9e5ff99668 Author: Rafał Miłecki Date: Sun Aug 14 23:27:30 2011 +0200 b43: LCN-PHY: switch analog Analog is switched on right after reading PHY version: read16 0xfaafc3e0 -> 0xa801 phy_read(0x043b) -> 0x0000 phy_write(0x043b) <- 0x0000 Switched off after after killing radio: >>> Switch Radio(OFF) end phy_read(0x043c) -> 0x0000 phy_write(0x043c) <- 0x0007 phy_read(0x043b) -> 0x0000 phy_write(0x043b) <- 0x0007 Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit ba356b569f7c0ff5cdf6c1abb8a9b789e5eeed22 Author: Rafał Miłecki Date: Sun Aug 14 23:27:29 2011 +0200 b43: LCN-PHY: implement disabling radio wl reads radio version, then disables it. That's how we found it in MMIO dump: radio_read(0x0000) -> 0x0031 <-- RADIO READ WITHOUT 0x200 SET! radio_read(0x0001) -> 0x0064 <-- RADIO READ WITHOUT 0x200 SET! radio_read(0x0002) -> 0x0020 <-- RADIO READ WITHOUT 0x200 SET! read32 0xfaafc120 -> 0x04000400 phy_read(0x044d) -> 0x0000 phy_write(0x044d) <- 0x0000 phy_read(0x044c) -> 0x1fff phy_write(0x044c) <- 0x1fff phy_read(0x04b7) -> 0x0000 phy_write(0x04b7) <- 0x0000 phy_read(0x04b1) -> 0x0000 phy_write(0x04b1) <- 0x0000 phy_read(0x04b0) -> 0x7dff phy_write(0x04b0) <- 0x7dff phy_read(0x04fa) -> 0x0000 phy_write(0x04fa) <- 0x0000 phy_read(0x04f9) -> 0x007f phy_write(0x04f9) <- 0x007f Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit f928668f2d822ec51c0853fc92f4da2fef376958 Author: Rafał Miłecki Date: Sun Aug 14 23:27:28 2011 +0200 b43: LCN-PHY: add very basic PHY ops Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 0cc9772a6bd8002aaf7583194098e92481d9c7f1 Author: Rafał Miłecki Date: Sun Aug 14 20:16:37 2011 +0200 b43: fix DMA on some bugged hardware Some hardware with 64-bit DMA uses lower address word for setting routing (translation) bit. Add workaround for such boards. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 292121dce2af63dab371102097a887de7cf24233 Author: Felix Fietkau Date: Sat Aug 13 10:13:49 2011 -0600 ath9k: remove a bogus WARN_ON On embedded hardware it's normal to not have a PCI device for the PCI bridge that the wifi card is attached to. pdev->bus->self will be NULL in that case. In that case, simply return without emitting an useless kernel stack trace. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit d069a46be8ac745c193f2acc6071d9042b347224 Author: Rajkumar Manoharan Date: Sat Aug 13 10:28:18 2011 +0530 ath9k: Dump modal noisefloor calibration history Debugfs file location: /ieee80211/phy#/ath9k/dump_nfcal Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit e338a85e21d89574a0160fef7a89f42960cc5d7f Author: Rajkumar Manoharan Date: Sat Aug 13 10:28:17 2011 +0530 ath9k: Fix invalid noisefloor reading due to channel update While switching b/w HT20/40, the current channel's nf values are updated into history buffer. Since the current channel's channel type, channel flag got updated before reading nf value from hw. This channel type mismatch is causing invalid readings when hw is on ht20 but getnf tries to read on extn chains. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 6b3d348681a153b8e4a16ba1a6f792711e389a9e Author: Rajkumar Manoharan Date: Sat Aug 13 10:28:16 2011 +0530 ath9k: Fix noisefloor history update for extn chains Before doing hw reset the current channel's noisefloor readings are updated into history buffer. The extension chain's readings are considered only if the current channel was configured in HT40. While moving from HT40 to HT20, the extn chain's readings are skipped though the current channel is in ht40. This patch updates extn chain reading based on channel flag. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit f82b4bde17aeb6c2f8bf0540ee44811de4651cf6 Author: Rajkumar Manoharan Date: Sat Aug 13 10:28:15 2011 +0530 ath9k: Move ath9k_init_crypto to common Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit d77bf3eb5160c1356d7d7620b7d2fbe28e5e6257 Author: Rajkumar Manoharan Date: Sat Aug 13 10:28:14 2011 +0530 ath9k: Remove SC_OP_ENABLE_APM Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 56266bff6df685d9c26d08904ae1d43bad162539 Author: Rajkumar Manoharan Date: Sat Aug 13 10:28:13 2011 +0530 ath9k_hw: Remove unnecessary chainmask configuration The chainmasks were already configured at process_ini before doing init calibration. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 479c68927af8735597505320032c249e894f6b6c Author: Rajkumar Manoharan Date: Sat Aug 13 10:28:12 2011 +0530 ath9k: qinfo never be NULL in setuptxqueue Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 3de2111697ffca5b9b2fba452bced812725524de Author: Rajkumar Manoharan Date: Sat Aug 13 10:28:11 2011 +0530 ath9k: Remove unused argument tsf from ath9k_hw_rxprocdesc Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 29ab0b3632293b506d85adc9dcb323c79f40d428 Author: Rajkumar Manoharan Date: Sat Aug 13 10:28:10 2011 +0530 ath9k: Re-enable RXOEL interrupt after processing rx buffers Once RXEOL was disabled, it never be enabled again. This patch re-enables rxeol at the end of rx tasklet. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 0682c9b52bf51fbc67c4e79fcbdadcf70bd600f8 Author: Rajkumar Manoharan Date: Sat Aug 13 10:28:09 2011 +0530 ath9k: Fix rx overrun interrupt storm Whenever RXEOL is received, both RXORN and RXEOL got cleared to avoid rx overrun interrupt storm. This was handled only for edma chips. The same scenario was also observered with AR9280, doing frequent channel type switch b/w HT20/40 with bidi traffic that is causing failure to stop rx dma. This patch clears the RXEOL & RXORN interrupts for all chips. ath: DMA failed to stop in 10 ms AR_CR=0x00000024 AR_DIAG_SW=0x42000020 DMADBG_7=0x000062c0 ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ------------[ cut here ]------------ WARNING: at drivers/net/wireless/ath/ath9k/recv.c:532 ath_stoprecv+0x110/0x120 [ath9k]() Call Trace: [] warn_slowpath_common+0x7a/0xb0 [] warn_slowpath_null+0x15/0x20 [] ath_stoprecv+0x110/0x120 [ath9k] [] ath_reset+0x6a/0x200 [ath9k] Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 7a12dfdbf508fed2cbd1a9142c6e19341a55527b Author: Rajkumar Manoharan Date: Sat Aug 13 10:28:08 2011 +0530 ath9k_hw: Fix exceed transmission burst-time of 5GHz The WAR which adds extra delimiters when using RTS/CTS with aggregation and non-enterprise AR9003 chips. This extra padding is done after doing all the 4ms limit checks and hence the total aggregate sizes are exceeding the allowed duration. This patch limits the aggregate sizes appropriately after including these extra delimiters. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 16dd7267f460739b3e29d984e73f05c5ffe2b142 Author: Javier Cardona Date: Tue Aug 9 16:45:11 2011 -0700 {nl,cfg,mac}80211: let userspace make meshif mesh gate Allow userspace to set NL80211_MESHCONF_GATE_ANNOUNCEMENTS attribute, which will advertise this mesh node as being a mesh gate. NL80211_HWMP_ROOTMODE must be set or this will do nothing. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 0507e159a2b590666982b53ecf6fb2843a5bb423 Author: Javier Cardona Date: Tue Aug 9 16:45:10 2011 -0700 {nl,cfg,mac}80211: let userspace set RANN interval Allow userspace to set Root Announcement Interval for our mesh interface. Also, RANN interval is now in proper units of TUs. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 699403dbd41998a56d1d92d612ac261e5085a99f Author: Javier Cardona Date: Tue Aug 9 16:45:09 2011 -0700 {nl,mac}80211: add missing root mode meshconf entries This fix allows userspace to mark a meshif as a root node. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 5ee68e5b39de5cefecf147c58711f8ab01c21231 Author: Javier Cardona Date: Tue Aug 9 16:45:08 2011 -0700 mac80211: mesh gate implementation In this implementation, a mesh gate is a root node with a certain bit set in its RANN flags. The mpath to this root node is marked as a path to a gate, and added to our list of known gates for this if_mesh. Once a path discovery process fails, we forward the unresolved frames to a known gate. Thanks to Luis Rodriguez for refactoring and bug fix help. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 00e3f25c8556384bfec2a168c41e885fa6a7748c Author: Javier Cardona Date: Tue Aug 9 16:45:07 2011 -0700 mac80211: fix mesh path flushing Previously, mpaths were never flushed since the mpath is not active once we call this function. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit a6965c44e981214c7483e020106a30a869411231 Author: Javier Cardona Date: Tue Aug 9 16:45:06 2011 -0700 mac80211: mesh locking fixes mesh_queue_preq is invoked invoked from both user (work queue) and softirq (timer) context, so the _bh version of spinlock needs to be used. Also, the mpath->state_lock should be softirq safe as well. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 86d7f9f35dcc686d57465798201e678040916979 Author: Javier Cardona Date: Tue Aug 9 16:45:05 2011 -0700 mac80211: fix mpath timer NULL function If we have an mpath whose timer has not been initialized, don't try to delete it. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 7646887a5390123475fdd621620b9f270b38df98 Author: Javier Cardona Date: Tue Aug 9 16:45:04 2011 -0700 mac80211: improve mpath debugging make hwmp_dbg print the relevant sdata->name by default and improve formatting. Also add mpath_dbg macro for debugging of mesh path operations. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 87a8c8cb2001a64034f1bd64980ab826402ab881 Author: Rafał Miłecki Date: Tue Aug 23 19:09:30 2011 +0200 b43: HT-PHY: allow writing longer tables with a single call Sometimes we need to write table which is 2-10 elements long. It's easier to create such a function instead of defining array every time. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 98f8dc72ac50a931b982d0610d9ec08292ceafdc Author: Rafał Miłecki Date: Sat Aug 13 17:54:04 2011 +0200 b43: HT-PHY: init: add missing small-tables writes Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit b5be7e4c8f7bc60625302979a5c445738e3b1034 Author: Stefan Assmann Date: Sat Aug 13 12:12:36 2011 +0200 rtlwifi: add module parameter to set global debug level No need to recompile the module anymore to set the debug level. Signed-off-by: Stefan Assmann Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit a4042bb0932832328650fe9fb93d9afcb6699a04 Author: Rafał Miłecki Date: Sat Aug 13 01:41:12 2011 +0200 b43: HT-PHY: init: add some AFE (Analog Frontend) operation Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 357e24d2d07a2bb5bf706026d1ccf508c56b9b3e Author: Rafał Miłecki Date: Sat Aug 13 01:41:11 2011 +0200 b43: HT-PHY: init: add missing PHY mask/set ops MMIO hacks were used to trick ndis&wl. For example following: phy_read(0x0280) -> 0xffff phy_write(0x0280) <- 0xff3e *** phy_read(0x0280) -> 0x0000 phy_write(0x0280) <- 0x003e was translated to mask 0xff00 and set 0x3e. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit b50583484ab60ba5c3af9eff476a2cc712cf7f49 Author: Rafał Miłecki Date: Fri Aug 12 15:27:34 2011 +0200 b43: HT-PHY: init: init BPHY and upload 0x1a table Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 19240f36cf4c4ccc9a1b0a368d0fd59c9bbbfba6 Author: Rafał Miłecki Date: Fri Aug 12 13:13:46 2011 +0200 b43: HT-PHY: init: copy tables and reset CCA Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit f457f1842d3ad0f24cc0b181e60b6c59ed1d90ba Author: Rafał Miłecki Date: Fri Aug 12 13:13:45 2011 +0200 b43: HT-PHY: init: implement few simple PHY writes Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 15222b582dc761ba1eb1ed47367df43f803f3670 Author: Rafał Miłecki Date: Fri Aug 12 13:13:44 2011 +0200 b43: HT-PHY: init: zero EXTG registers Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit a63d7e67fc259249c563878f8e296a2ed6def039 Author: Nishant Sarmukadam Date: Fri Aug 12 12:20:21 2011 +0530 mwl8k: Traffic to clients gets affected when one client leaves a cyrpto bss When a client disassociates from a crypto enabled bss, data traffic to other clients connected to the bss is stalled. This was due to a boolean variable used to keep track if HW crypto is enabled i.e. if set key has been called to add a key. This flag was being reset every time delete key was called e.g when a station leaves the bss. Once the flag is reset, rx status flags were not being set for connected clients which disrupts traffic to these clients. Fix this issue by not resetting the flag since we do not need to reset this flag during the life time of the bss. Signed-off-by: Nishant Sarmukadam Signed-off-by: John W. Linville commit 25d49e4d63564c7004a4d6735d1d8c3cc41a7394 Author: Thomas Pedersen Date: Thu Aug 11 19:35:15 2011 -0700 mac80211: update mesh path selection frame format Make mesh path selection frames Mesh Action category, remove outdated Mesh Path Selection category and defines, use updated reason codes, add mesh_action_is_path_sel for readability, and update/correct path selection IEs. Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit 8db098507c5cbe499061d0f6aea426a36e7c72d7 Author: Thomas Pedersen Date: Fri Aug 12 20:01:00 2011 -0700 mac80211: update mesh peering frame format This patch updates the mesh peering frames to the format specified in the recently ratified 802.11s standard. Several changes took place to make this happen: - Change RX path to handle new self-protected frames - Add new Peering management IE - Remove old Peer Link IE - Remove old plink_action field in ieee80211_mgmt header These changes by themselves would either break peering, or work by coincidence, so squash them all into this patch. Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit 54ef656b05103f700ff8fc2aaf0382cfd0e54fe4 Author: Thomas Pedersen Date: Thu Aug 11 19:35:12 2011 -0700 mac80211: update mesh peering frame codes Have the mesh peering frames use the self-protected action and reason codes specified in 802.11s and defined in ieee80211.h. Remove the local enums. Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit 082ebb0c258d28af7452b19df9ef8b7553f37690 Author: Thomas Pedersen Date: Thu Aug 11 19:35:10 2011 -0700 mac80211: fix mesh beacon format Correct ordering of IEs in the mesh beacon while removing unneeded IEs from mesh peering frames. Set privacy bit in capability info if security is enabled. Add utility functions to aid in construction of IEs and reduce code duplication. Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit f6a3e99da82167e066ebde975ec604638b42d816 Author: Rafał Miłecki Date: Fri Aug 12 00:03:26 2011 +0200 b43: make forcing clock common (HT-PHY also uses that) Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 6a461c23e7051d090751a2030e5febf6356c8d57 Author: Rafał Miłecki Date: Fri Aug 12 00:03:25 2011 +0200 b43: include HT-PHY in some common code Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 17030f48e31adde5b043741c91ba143f5f7db0fd Author: Rafał Miłecki Date: Thu Aug 11 17:16:27 2011 +0200 b43: support new RX header, noticed to be used in 598.314+ fw Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 5d852905561a979dfb4d8a68f7313dcb8f055bec Author: Rafał Miłecki Date: Thu Aug 11 15:07:16 2011 +0200 b43: support new TX header, noticed to be used by 598.314+ fw Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit efe0249b0fd1e9a32a7e6a5dc9c751d4d97b0adf Author: Rafał Miłecki Date: Thu Aug 11 15:07:15 2011 +0200 b43: use enum for firmware header format Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 2391b7e8d40e4b3be0756396c628d2323f2d0b8d Author: Rafał Miłecki Date: Thu Aug 11 15:07:14 2011 +0200 b43: rename TX header formats Replace "old" and "new" with number of the first firmware known to use the given format. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit e69deded2bc29e6dd176089252a11b1854012c76 Author: Helmut Schaa Date: Thu Aug 11 16:17:42 2011 +0200 mac80211: Tear down BA session on BAR tx failure As described at [1] some STAs (i.e. Intel 5100 Windows) can end up correctly BlockAcking incoming frames without delivering them to user space if a AMPDU subframe got lost and we don't flush the receipients reorder buffer with a BlockAckReq. This in turn results in stuck connections. According to 802.11n-2009 it is not necessary to send a BAR to flush the recepients RX reorder buffer but we still do that to be polite. However, assume the following frame exchange: AP -> STA, AMPDU (failed) AP -> STA, BAR (failed) The client in question then ends up in the same situation and won't deliver frames to userspace anymore since we weren't able to flush its reorder buffer. This is not a hypothetical situation but I was able to observe this exact behavior during a stress test between a rt2800pci AP and a Intel 5100 Windows client. In order to work around this issue just tear down the BA session as soon as a BAR failed to be TX'ed. [1] http://comments.gmane.org/gmane.linux.kernel.wireless.general/66867 Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit c1407b6cb22245ae8653cfc195530a9b8eb52879 Author: Helmut Schaa Date: Thu Aug 11 16:17:41 2011 +0200 wireless: Introduce defines for BAR TID_INFO & MULTI_TID fields While at it also fix the indention of the other IEEE80211_BAR_CTRL_ defines. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 2a190322d4390bbd5184a2fd4f97bbef9f1f5b4e Author: Felix Fietkau Date: Wed Aug 10 13:50:30 2011 -0600 b43: reload phy and bss settings after core restarts b43_op_config and b43_op_bss_info_changed apply many settings by directly writing to hardware registers. These settings are lost as soon as the core is restarted and the initvals are reloaded. This was discovered because restarting hostapd led to the beacon interval getting set to ~33s (see https://dev.openwrt.org/ticket/8033 for more information). Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 69ce674bfa69c55cdf32710d811fa89738eafbef Author: Stanislaw Gruszka Date: Fri Aug 5 13:10:34 2011 +0200 ath9k: do btcoex ASPM disabling at initialization time Disable ASPM in pci ->probe on upstream (device) and downstream (PCIe port) component. According to e1000e driver authors this is required. I did not find that requirement in PCIe spec, but it seems to be logical for me. This need to be fixed for CONFIG_PCIEASPM, that will be done later ... Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 3b9cf1be8c4440ae0dd6809bcf3ab6e0e6c54573 Author: Stanislaw Gruszka Date: Fri Aug 5 13:10:33 2011 +0200 ath9k: merge common ->config_pci_powersave() checks Move common checks into wrapper function. Since ASPM can be only enabled on PCIe devices ->is_pciexpress check is unneeded. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 84c87dc86eaf5c3f70d6c85fac832b277b1f71c7 Author: Stanislaw Gruszka Date: Fri Aug 5 13:10:32 2011 +0200 ath9k: remove ->config_pci_powersave() redundant argument We always call ->config_pci_powersave() with both restore and power_off arguments equal to 0 or both equal to 1, so merge them into one argument. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit b38d355eaa223e420d0c45ff7a3279ea811552c5 Merge: ca1ba7c af2bf4b Author: John W. Linville Date: Mon Aug 22 14:28:50 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem Conflicts: drivers/staging/ath6kl/miscdrv/ar3kps/ar3kpsparser.c drivers/staging/ath6kl/os/linux/ar6000_drv.c commit 04b4d69c89593d907d81a4aa33e4e42a632fe436 Author: Arik Nemtsov Date: Sun Aug 14 13:17:39 2011 +0300 wl12xx: fix tx_queue_count spurious increment Only increment the queue count after actually queuing the skb. This avoids a spurious increment is case of dropped packets. Also move the Tx-watermark checking code after the packet is enqueued. This makes the count more accurate - it includes the just-queued packet. Signed-off-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 04216da393e1f6653cc99a58f2fa48d0dde417c0 Author: Arik Nemtsov Date: Sun Aug 14 13:17:38 2011 +0300 wl12xx: AP-mode - prevent Tx to stale/invalid stations Don't pollute the queues with Tx directed to invalid stations. This can happen during recovery. Signed-off-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit cf42039f33c8c7c12f19390661eb00ba47b96f91 Author: Arik Nemtsov Date: Sun Aug 14 13:17:37 2011 +0300 wl12xx: set the AP-started flag only after setting keys This fix eliminates a potential race between starting the AP role and setting encryption keys. Signed-off-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 9b17f1b371c5aa5179b3e5392bc22132a3371da4 Author: Arik Nemtsov Date: Sun Aug 14 13:17:35 2011 +0300 wl12xx: enable AP advanced functionality This adjusts FW TX block allocation for connected stations in PS. Firmware congestion is measured in allocated packets instead of blocks. Allow a link in PS to queue up to 2 packets to the FW. Signed-off-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 769d7ac62d328ff2c126fdee461b7d46e7ea89f4 Author: Eliad Peller Date: Sun Aug 14 13:17:36 2011 +0300 wl12xx: don't wait for disconnection event Sometimes the fw doesn't send the DISCONNECT_EVENT_COMPLETE_ID on station role stop, so don't wait for it. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit bdf91cfae66dd76a093c75cac8f6ada12fd21b83 Author: Arik Nemtsov Date: Sun Aug 14 13:17:34 2011 +0300 wl12xx: handle wrap-around overflow in released Tx blocks FW counter When the FW Tx released blocks counter wraps around, we should correct our calculation of released blocks. Otherwise we add a large negative figure to our driver freed blocks counter Signed-off-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 742246f8bc16c3a1a556c68ca2fabca162d14c24 Author: Arik Nemtsov Date: Sun Aug 14 13:17:33 2011 +0300 wl12xx: schedule TX packets according to FW packet occupancy When selecting packets for transmission, prefer the ACs that are least occupied in the FW. When packets for multiple ACs are present in the FW, it decides which to transmit according to WMM QoS parameters. With these changes, lower priority ACs should not be starved when higher priority traffic is present. Signed-off-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit bf54e301671a6ece6c94550294dc7faf14158cd3 Author: Arik Nemtsov Date: Sun Aug 14 13:17:32 2011 +0300 wl12xx: track freed packets in FW by AC Track the number of freed packets in each AC when receiving an interrupt from the FW. This paves the way for tracking allocated packets per AC. Signed-off-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 010d3d30a218fba961bd3d250a59b0ce9d5278f3 Author: Eliad Peller Date: Sun Aug 14 13:17:31 2011 +0300 wl12xx: don't remove key if hlid was already deleted When wep key was removed after disconnection, sta_hlid was invalid, and it resulted in a fw crash. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 7f97b487c4a9634afc008a76ff26268147d7ee8e Author: Eliad Peller Date: Sun Aug 14 13:17:30 2011 +0300 wl12xx: use ap_bcast_hlid for recorded keys when the key was recorded, wl->ap_bcast_hlid was invalid (since the role wasn't started), so when configuring the key we need to use the current ap_bcast_hlid. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 1a8adb67f9c37cad9539dd9dcb289ce1411680fc Author: Arik Nemtsov Date: Sun Aug 14 13:17:29 2011 +0300 wl12xx: AP-mode - configure HT rate support to the FW Unconditionally configure HT rate support to the FW on all ACs when starting the AP. When 11n support is disabled by usermode (hostapd), each STA joining the AP will appear as a non-HT STA. This will stop us from accidentally transmitting using MCS rates. Signed-off-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 99d5ad7b9ccedee4a9ff8e24688c7c20e428cd21 Author: Arik Nemtsov Date: Sun Aug 14 13:17:28 2011 +0300 wl12xx: AP-mode - configure STA HT rates on join When a new STA joins the BSS, configure the HT rates it supports to the FW. Signed-off-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 0b932ab9f156488a56577873b638ecb1e65fa8d7 Author: Arik Nemtsov Date: Sun Aug 14 13:17:27 2011 +0300 wl12xx: AP-mode - set STA HT capabilities when adding a STA In addition, set global HT operation mode via ACX_HT_BSS_OPERATION when a change is detected by usermode Signed-off-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 227e81e18422851901b9de11c5955d292c4a47fc Author: Eliad Peller Date: Sun Aug 14 13:17:26 2011 +0300 wl12xx: support IBSS vif type Start IBSS role when the interface type is IBSS. As with sta role, use the dev role until the role is started. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 31cd3aed29ca7ebcdaa2570a891a3fab75fe35f6 Author: Eliad Peller Date: Sun Aug 14 13:17:25 2011 +0300 wl12xx: add wl12xx_cmd_role_start_ibss() Add wl12xx_cmd_role_start_ibss() implementation and defintion. This function is used in order to start the IBSS role. Stopping the IBSS is done by using the same api as stop STA, so there is no need for a separate function. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit b42f068baab96a899bb5488ad9f0e72b14743ec5 Author: Eliad Peller Date: Sun Aug 14 13:17:24 2011 +0300 wl12xx: don't remove key if hlid was already deleted If hlid was already removed, there is no need to remove its key (it might cause a fw crash, as the key is invalid). Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit b67476ef1a6417b92d3bb52510ceee266cd9ea1e Author: Eliad Peller Date: Sun Aug 14 13:17:23 2011 +0300 wl12xx: call wl12xx_cmd_set_peer_state() in AP mode After adding a station, call wl12xx_cmd_set_peer_state(). This is required for 11n support. Change wl12xx_cmd_set_peer_state() prototype to get hlid as param. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 0f9c8250e10a16f48f82ffda3a5a7cb9e7b4a9ee Author: Arik Nemtsov Date: Wed Aug 17 10:45:49 2011 +0300 wl12xx: re-enable block ack session support Incorporate interface changes for HT support. Add ba_bitmap field to the wl1271_link struct, to indicate activate RX BA sessions (for AP mode). Signed-off-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit e51ae9be2e313b63a43f1f93578d9a71d38a77ea Author: Arik Nemtsov Date: Sun Aug 14 13:17:21 2011 +0300 wl12xx: use dynamic hlids for AP-mode Using hlid=0 in AP mode is a bug. Dynamically allocate HLIDs. Set the "first sta hlid" as 3. This will have to be changed when multiple vifs will be supported. Signed-off-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 712e9bf750c5d0db63040c5695dacf38aed4f42c Author: Arik Nemtsov Date: Sun Aug 14 13:17:20 2011 +0300 wl12xx: fix session counter Increment the session counter on every wl12xx_cmd_role_start_sta() command. Signed-off-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 3be4112cb2c53fcda85fb408aea9a6f94075683b Author: Eliad Peller Date: Sun Aug 14 13:17:19 2011 +0300 wl12xx: update BT coex configuration params The BT coex params api have been changed. Update it, and init coex for both sta and ap. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 251c177f886027fbce494202e44935762f103137 Author: Eliad Peller Date: Sun Aug 14 13:17:17 2011 +0300 wl12xx: replace dummy_join with ROC/CROC commands The ROC command asks the fw stay on the channel of the given hlid. it currently has 2 primary functions: 1. Allow tx/rx from the device role. In order to tx/rx packets while the stations is not associated (e.g. auth req/resp), the device role has to be used, along with ROC on its link. Keep the logic similiar to the one used in dummy_join. However, since we can't scan while we ROC, we add CROC before starting a scan, and ROC again (if needed) on scan complete. 2. Keeping the antenna for a specific link. We ROC until the connection was completed (after EAPOLs exchange) in order to prevent BT coex operations from taking the antenna and failing the connection (after this stage, psm can be used). During association, we ROC on the station role, and then CROC the device role, thus assuring being ROC during all the connection process. Delete the WL1271_FLAG_JOINED flag, and use a roc bitmap to indicate what roles are currently ROCed. Add wl12xx_roc/croc functions in order to wrap the roc/croc commands while taking care of the roc bitmap. The current ROC/CROC state-machine is a bit complicated. In the future we'll probably want to use wpa_supplicant to control the ROC during connection. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 79ebec76be4e7c2ebed9fb0b9510d10d599ed63e Author: Arik Nemtsov Date: Sun Aug 14 13:17:18 2011 +0300 wl12xx: handle dummy packet event also in ap mode Allow handling of DUMMY_PACKET_EVENT_ID also in ap mode. Signed-off-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit a7cba38471bd457db8c536c94073673f41ef66f4 Author: Eliad Peller Date: Sun Aug 14 13:17:16 2011 +0300 wl12xx: add ROC/CROC commands Add structs and functions to support the ROC/CROC commands. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit f4df1bd525e027aa1975e00f87a420aec7bef4e0 Author: Eliad Peller Date: Sun Aug 14 13:17:15 2011 +0300 wl12xx: add system_hlid system_hlid is a const hlid (always 0), used by the fw and driver for packets which are not bound to specific role (e.g. dynamic memory packets). indicate it as always allocated. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit fa6ad9f0f34b0754ce7551866b33587f077a2a51 Author: Eliad Peller Date: Sun Aug 14 13:17:14 2011 +0300 wl12xx: add set_rate_mgmt_params acx Configure rate management parameters on hw init Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit f42bd2cbf1d5ff4b161ad2c59ff12d66558c8374 Author: Eliad Peller Date: Sun Aug 14 13:17:13 2011 +0300 wl12xx: use wl1271_acx_beacon_filter_opt for both sta and ap Use ACX_BEACON_FILTER_OPT for both station and ap roles (use the generic wl1271_acx_beacon_filter_opt() instead of wl1271_acx_set_ap_beacon_filter() ). Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 154037d1681caaff7d33521b84017ee58b396438 Author: Eliad Peller Date: Sun Aug 14 13:17:12 2011 +0300 wl12xx: change max/default template size The max template size was increased in the new fw. However, we should use the max size only when needed, as it consumes some of the chip's memory. Thus, by default initialize the templates to the default size. Initialize to the maximum size only when required. Use WL1271_CMD_TEMPL_DFLT_SIZE instead of some of the predefined structs, as some of them didn't account for additional IEs that might be added to the template. Delete structs defintions not used after these changes. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 79b122dc51797b650201f21360481a0450e9b7e4 Author: Eliad Peller Date: Sun Aug 14 13:17:11 2011 +0300 wl12xx: update rx/tx Update the rx/tx descriptors according to the new fw api (fw >= 6/7.3.0.0.75) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit a4e02f330a69a305c4f7bc98d56e72aa0d4b6032 Author: Eliad Peller Date: Sun Aug 14 13:17:10 2011 +0300 wl12xx: update scan cmd api Update the scan command to use the new fw api (fw 6/7.3.0.0.75). Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 04e8079c69d6fa1aa023b0b6f58f818f965c10bb Author: Eliad Peller Date: Sun Aug 14 13:17:09 2011 +0300 wl12xx: add device role commands The device role is a special role used for rx and tx frames prior to association (as the STA role can get packets only from its associated bssid) Since this role is required for the sta association process, we enable it when a new sta interface is created. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit b78b47eb73fcf4f04226ab8014aa8dadf11675d9 Author: Eliad Peller Date: Sun Aug 14 13:17:08 2011 +0300 wl12xx: enable/disable role on interface add/remove According to the new multi-role flow, we have to enable the role before using (starting) it, and disable it on cleanup (after it's no longer needed). Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit c690ec816f9fa2ab2b6200c5b79b6933acca49a4 Author: Eliad Peller Date: Sun Aug 14 13:17:07 2011 +0300 wl12xx: update commands & events Change the commands and events according to the new fw api (fw >= 6/7.3.0.0.75). The main change is the replacement of JOIN/DISCONNECT commands, with ROLE_START/ROLE_STOP commands. The use of these commands should be preceded by the ROLE_ENABLE command (allocating role resources), and followed by the ROLE_DISABLE command (freeing role resources). Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 7f097988f1bff42177b99cb4c8ec62e818d0b1a6 Author: Eliad Peller Date: Sun Aug 14 13:17:06 2011 +0300 wl12xx: update acx commands Update the acx commands according to the new fw api (fw >= 6/7.3.0.0.75). The main change in most of the ACXs is the addition of a new role_id/link_id field, which is required for multi-role operation. Currently, we don't really support multi-role, as most of our data (inside wl) is global. As the current fw doesn't support concurrent roles yet, keep it this way and add wl->role_id and wl->sta_hlid to save the active role/link. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 4d56ad9cae9e8553176427adc2335f8a7f4556b2 Author: Eliad Peller Date: Sun Aug 14 13:17:05 2011 +0300 wl12xx: update fw status struct Update the fw status struct according to the new fw api (fw >= 6/7.0.0.35). All the roles use the same struct now. The memory accounting was changed a bit according to the struct changes. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 08c1d1c7042330e2280a7718be4ad88c2e8f8268 Author: Eliad Peller Date: Sun Aug 14 13:17:04 2011 +0300 wl12xx: remove rx filtering stuff The new fw doesn't support rx_filtering configuration (as a stand-alone command. the rx filtering is done automatically according to the active role). Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit dbe25cb5eb04b0ffdad582a93f9fe9edd0ed791b Author: Eliad Peller Date: Sun Aug 14 13:17:03 2011 +0300 wl12xx: temporarily disable advanced ap functions In order to keep to driver compiling during the patchset, while avoiding one-huge-patch, temporarily disable some advanced ap functions. These changes will be reverted later in the patchset, as part of the patches for advanced ap functions support. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 2920743a14764eda099700e1eca9a282393cee16 Author: Arik Nemtsov Date: Sun Aug 14 13:17:02 2011 +0300 wl12xx: use 1 spare block in all cases Remove support for firmwares that require 2 spare blocks for packet TX (and delete the WL12XX_QUIRK_USE_2_SPARE_BLOCKS quirk definition) Signed-off-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit c302b2c959164622558474871ae942da0e484a38 Author: Arik Nemtsov Date: Wed Aug 17 10:45:48 2011 +0300 wl12xx: Use a single fw for both STA and AP roles Firmware >= 6/7.3.0.0.75 (wl127x/wl128x) supports both STA and AP roles. Signed-off-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 7bb5d6ce9e6ebb3bb71915cb0224523d3c284b4f Author: Arik Nemtsov Date: Sun Aug 14 13:17:00 2011 +0300 wl12xx: Revert "wl12xx: schedule TX packets according to FW occupancy" This does not make sense in fw >= 6/7.3.0.0.75 (wl127x/wl128x) - we don't use Tx blocks to measure FW occupancy anymore. This reverts commit 9e374a37b6fa2310b71d3c5657cd0c1e693120c6. Signed-off-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 823dcd2506fa369aeb8cbd26da5663efe2fda9a9 Merge: eaa3666 98e7743 Author: David S. Miller Date: Sat Aug 20 10:39:12 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net commit 5b1b0b812a7b1a5b968c5d06d90d1cb88621b941 Author: Alan Stern Date: Fri Aug 19 23:49:48 2011 +0200 PM / Runtime: Add macro to test for runtime PM events This patch (as1482) adds a macro for testing whether or not a pm_message value represents an autosuspend or autoresume (i.e., a runtime PM) event. Encapsulating this notion seems preferable to open-coding the test all over the place. Signed-off-by: Alan Stern Acked-by: Greg Kroah-Hartman Signed-off-by: Rafael J. Wysocki commit afc4b13df143122f99a0eb10bfefb216c2806de0 Author: Jiri Pirko Date: Tue Aug 16 06:29:01 2011 +0000 net: remove use of ndo_set_multicast_list in drivers replace it by ndo_set_rx_mode Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 7c6fa2a843c5ac0f8e3e4bf679cee9c93d5e3437 Author: Amitkumar Karwar Date: Wed Aug 10 18:53:57 2011 -0700 mwifiex: use cfg80211 dynamic scan table and cfg80211_get_bss API Instead of maintaining static scan table in driver, scan list is sent to cfg80211 stack (after parsing each scan command response). In assoc handler (for infra and ibss network) requested BSS information is retrieved using cfg80211_get_bss() API. With the changes above some redundant code are removed. Signed-off-by: Amitkumar Karwar Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 9af73cf7f356801e6e5837eb338d197de5c8f37c Author: Felix Fietkau Date: Wed Aug 10 15:23:35 2011 -0600 ath9k: avoid sending a-mpdu packets to sleeping stations If the driver gets a tx status report for an A-MPDU sent to a station that just went to sleep, that leaves a race condition where this tx status can trigger another A-MPDU transmission. To fix this, check if the station is sleeping before queueing the tid. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 9946ecfb510462e59afddb2a992da804d58b6bcd Author: Jouni Malinen Date: Wed Aug 10 23:55:56 2011 +0300 nl80211/cfg80211: Add extra IE configuration to AP mode setup The NL80211_CMD_NEW_BEACON command is, in practice, requesting AP mode operations to be started. Add new attributes to provide extra IEs (e.g., WPS IE, P2P IE) for drivers that build Beacon, Probe Response, and (Re)Association Response frames internally (likely in firmware). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 5fb628e9105eef6796789b1ae93289e1566ccdf0 Author: Jouni Malinen Date: Wed Aug 10 23:54:35 2011 +0300 nl80211/cfg80211: Add crypto settings into NEW_BEACON This removes need from drivers to parse the beacon tail/head data to figure out what crypto settings are to be used in AP mode in case the Beacon and Probe Response frames are fully constructed in the driver/firmware. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 32e9de846be885444358b67267f837088c05e0c2 Author: Jouni Malinen Date: Wed Aug 10 23:53:31 2011 +0300 nl80211/cfg80211: Allow SSID to be specified in new beacon command This makes it easier for drivers that generate Beacon and Probe Response frames internally (in firmware most likely) in AP mode. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 0879fa44b54101c9955123582018cb511047a2b6 Author: Yogesh Ashok Powar Date: Tue Aug 9 18:02:26 2011 -0700 cfg80211/mac80211: move information element parsing logic to cfg80211 Moving the parsing logic for retrieving the information elements stored in management frames, e.g. beacons or probe responses, and making it available to other cfg80211 drivers. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit f3d4505de539f754b78d5c30e5d2cb41a0ed0117 Author: Marek Lindner Date: Wed Aug 3 16:35:16 2011 +0200 ath9k: remove eeprom txgain override for minor version < 19 ath9k_hw_4k_get_eeprom() overrides the eeprom value for txgain if the minor version is not 19 or above with a value of 0. ar9002_hw_init_mode_gain_regs() relies on this information to determine whether this is a high power wifi card or not. The override caused the driver to always use the 'normal' power tables even for high power devices if their minor version was not high enough. Thus leading to reduced power output. This isn't needed for the AR9285; the check originated with the AR9280 setup code which requires the EEPROM version check. Signed-off-by: Marek Lindner Acked-by: Felix Fietkau Acked-by: Adrian Chadd Signed-off-by: John W. Linville commit 33d480ce6d43326e2541fd79b3548858a174ec3c Author: Eric Dumazet Date: Thu Aug 11 19:30:52 2011 +0000 net: cleanup some rcu_dereference_raw RCU api had been completed and rcu_access_pointer() or rcu_dereference_protected() are better than generic rcu_dereference_raw() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 6f07b72adaeddc9a90306ab4f2237b90967fd3ce Author: Gery Kahn Date: Mon Jul 18 14:21:49 2011 +0300 wl12xx: fixes for hw_pg_ver and chip id reporting Fix the value of PG version for 128x at sysfs, remove write permissions from PG version (hw_pg_ver) in sysfs and add remove files (hw_pg_ver,bt_coex_state) from sysfs while freeing hardware. New macro names for register Fuse_data_2_1 depend on architecture. Propagate chip id through wiphy in PLT mode which still not work of a bug in ethtool. Signed-off-by: Gery Kahn Signed-off-by: Luciano Coelho commit 0a1d3abcc43231e341b6890b873dc27cba848218 Author: Shahar Levi Date: Thu Jul 14 11:50:27 2011 +0300 wl12xx: Add support to RX packets payload alignment In case of QoS packets the packet payload isn't aligned to 4 bytes. In that case the mac80211 layer take care of that via memmove() in ieee80211_deliver_skb(). Add support of copy packets from aggregation buffer to the skbs with packet payload aligned care. In case of QoS packets copy the packets in offset of 2 bytes guarantee payload aligned to 4 bytes. Signed-off-by: Shahar Levi Signed-off-by: Luciano Coelho commit 2b133ad6e9e96798007e64eb912c42fa00adef0a Author: Jeff Kirsher Date: Fri May 20 06:55:16 2011 -0700 atl*: Move the Atheros drivers Move the Atheros drivers into drivers/net/ethernet/atheros/ and make the necessary Kconfig and Makefile changes. CC: Jay Cliburn CC: Chris Snook CC: Jie Yang Signed-off-by: Jeff Kirsher commit f612cedfe152b536197c0120f2e7779bc90219d0 Author: Jouni Malinen Date: Thu Aug 11 11:46:22 2011 +0300 nl80211/cfg80211: Make addition of new sinfo fields safer Add a comment pointing out the use of enum station_info_flags for all new struct station_info fields. In addition, memset the sinfo buffer to zero before use on all paths in the current tree to avoid leaving uninitialized pointers in the data. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 040bdf713d2bec8235f1af705e2d13da5d9baec8 Author: Felix Fietkau Date: Wed Aug 10 19:00:33 2011 -0600 cfg80211: fix a crash in nl80211_send_station mac80211 leaves sinfo->assoc_req_ies uninitialized, causing a random pointer memory access in nl80211_send_station. Instead of checking if the pointer is null, use sinfo->filled, like the rest of the fields. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 6a6767b046e2d336e2af06cb605106ed44a852b6 Author: Mohammed Shafi Shajakhan Date: Wed Aug 10 16:24:57 2011 +0530 ath9k: remove obselete comments the comments are obselete as the virtual wiphy support was removed from the driver Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 32359e30a6d0b1ee57e0da6cc71713becdde0b39 Author: Mohammed Shafi Shajakhan Date: Tue Aug 9 21:33:43 2011 +0530 ath9k: optimize rate control statistics for the ease of debugging, we display only the rate control statistics for currently operating mode and bandwidth Cc: Vasanthakumar Thiagarajan Cc: "Balasubramanian, senthilkumar" Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 1b1de7aa9966f44560614c94b3940f685e79a7cb Author: Javier Cardona Date: Mon Aug 8 16:30:50 2011 -0700 mac80211: fix erroneous clearing of MESH_PATH_SN_VALID flag When a PREQ or PREP is received from an intermediate node, it contains useful information for path selection but it doesn't include the originator's sequence number. Therefore, when updating the mesh path to that intermediate node, we should not set the MESH_PATH_SN_VALID flag. BUT, if the flag is set, it should not be unset as we might have received a valid sequence number for that intermediate node in the past. This issue was reported, fixed and tested by Ya Bo (游波) and Pedro Larbig (ASPj). Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 9f3a35df3d9ef2737a28a1ef0a5a7a718efa7163 Author: Mohammed Shafi Shajakhan Date: Mon Aug 8 21:18:49 2011 +0530 ath9k_htc: minor clean-up Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit f785d83a19bca326f79d127a413e35769afc0105 Author: Eliad Peller Date: Mon Aug 8 16:50:22 2011 +0300 mac80211: clear sta.drv_priv on reconfiguration drivers might assume sta.drv_priv is clear while the sta is added, so clear it on reconfinguration. Signed-off-by: Eliad Peller Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 50d3dfb728e987790cf3d973aaf5fba2433771d8 Author: Jouni Malinen Date: Mon Aug 8 12:11:52 2011 +0300 cfg80211/nl80211: Send AssocReq IEs to user space in AP mode When user space SME/MLME (e.g., hostapd) is not used in AP mode, the IEs from the (Re)Association Request frame that was processed in firmware need to be made available for user space (e.g., RSN IE for hostapd). Allow this to be done with cfg80211_new_sta(). Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit d2da587839b29ccc5b920fffdb848d7bdb36f11f Author: Jouni Malinen Date: Mon Aug 8 12:10:30 2011 +0300 nl80211: Indicate driver-based offchannel TX on mgmt_tx_cancel_wait Drivers that support frame transmission with mgmt_tx() may not support driver-based offchannel TX. Use mgmt_tx_cancel_wait instead of mgmt_tx when figuring out whether to indicate support for this with NL80211_ATTR_OFFCHANNEL_TX_OK. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 281ed297ffb6741550e33b99b24ac3f5c16e3458 Author: Jouni Malinen Date: Sat Aug 6 23:07:00 2011 +0300 mac80211_hwsim: Fix RX status reporting for HT RX_FLAG_HT must be included when reporting MCS rates. Without this, mac80211 ended up dropping any frame sent at MCS index 12 or higher and that resulted in oddly random looking errors in mac80211_hwsim tests. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 20adc1aecca5a55d7dba2189c1783c2e6d73fac7 Merge: 392e741 ad226ec Author: John W. Linville Date: Wed Aug 10 13:51:19 2011 -0400 Merge branch 'for-linville' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath6kl commit ad226ec22b92d7f0f834015149b1d1118e017f16 Author: Kalle Valo Date: Wed Aug 10 09:49:12 2011 +0300 ath6kl: fix function name conflicts with ath9k Stephen reported that compilation fails if both ath6kl and ath9k are compiled in: drivers/net/wireless/ath/ath6kl/built-in.o: In function `htc_start': (.opd+0x600): multiple definition of `htc_start' drivers/net/wireless/ath/ath9k/built-in.o:(.opd+0x3e40): first defined here drivers/net/wireless/ath/ath6kl/built-in.o: In function `.htc_stop': (.text+0x7b40): multiple definition of `.htc_stop' drivers/net/wireless/ath/ath9k/built-in.o:(.text+0x67b34): first defined he= re drivers/net/wireless/ath/ath6kl/built-in.o: In function `.htc_start': (.text+0x7d18): multiple definition of `.htc_start' drivers/net/wireless/ath/ath9k/built-in.o:(.text+0x67ba0): first defined he= re drivers/net/wireless/ath/ath6kl/built-in.o: In function `htc_stop': (.opd+0x5e8): multiple definition of `htc_stop' drivers/net/wireless/ath/ath9k/built-in.o:(.opd+0x3e28): first defined here To fix this add ath6kl prefix to all public functions in htc.c. Reported-by: Stephen Rothwell Signed-off-by: Kalle Valo commit 392e741939ddb7dd7adf7e4ec414b2140fb3a15b Merge: 53dd4b9 1970357 Author: John W. Linville Date: Tue Aug 9 16:02:26 2011 -0400 Merge branch 'ath6kl-next' of master.kernel.org:/pub/scm/linux/kernel/git/kvalo/ath6kl commit 53dd4b9329e4100405dc1cf251e6713b60051579 Author: Larry Finger Date: Sat Jul 30 11:30:27 2011 -0500 b43: Remove EXPERIMENTAL designation from LP PHY selection Since kernel 3.0, the problems with controlling b43 devices that have low-power (LP) PHYs have been fixed and the EXPERIMENTAL designation can be fixed. This patch also fixes a typo as the device supports 802.11b communications. Signed-off-by: Larry Finger Acked-by: Rafał Miłecki Signed-off-by: John W. Linville commit 8888fb4d265ba20b322edbc944b7b2a43ef5a9e6 Author: Dan Carpenter Date: Sat Aug 6 07:23:44 2011 -0700 libertas: remove some dead code in if_spi_prog_helper_firmware() We always hit the goto and skip the printk(). The original code does the right thing even though it looks messy. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit abc11994112bf7441519e35f51c29ff5de5b0d4d Author: Helmut Schaa Date: Sat Aug 6 13:13:48 2011 +0200 rt2x00: Fix PCI interrupt processing race on SMP systems When toggle_irq is called for PCI devices to disable device interrupts it used tasklet_disable to wait for a possibly running tasklet to finish. However, on SMP systems the tasklet might still be scheduled on another CPU. Instead, use tasklet_kill to ensure that all scheduled tasklets are finished before returning from toggle_irq. Furthermore, it was possible that a tasklet reenabled its interrupt even though interrupts have been disabled already. Fix this by checking the DEVICE_STATE_ENABLED_RADIO flag before reenabling single interrupts during tasklet processing. While at it also enable/kill the TBTT and PRETBTT tasklets in the toggle_irq callback and only use tasklet_kill in stop_queue to wait for a currently scheduled beacon update before returning. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c3ccb3341ec05444c8374d1829edc5157fc94853 Author: Larry Finger Date: Sat Aug 6 05:55:19 2011 -0500 rtlwifi: Remove raw read/write routines from header Now that the driver no longer uses the raw r/w routines, remove their definitions. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 886e14b65a8fcaedd72cf5f5c4c76e69de028a0f Author: Larry Finger Date: Sat Aug 6 05:55:18 2011 -0500 rtlwifi: Eliminate raw reads and writes from PCIe portion The PCIe driver used raw reads and writes on the PCIe hardware. As all of these are only affecting the configuration space, all of then can be converted to pci_{read,write}_config_XX calls. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit e8fe7336849e469978c9bbcc435903595912c4d3 Author: Rajkumar Manoharan Date: Fri Aug 5 18:59:41 2011 +0530 ath9k: Use atomic reference count for interrupt ops Let us enable/disable interrupts based on reference count. By doing this we can ensure that interrupts are never be enabled in the middle of tasklet processing. Instead of addressing corner cases like "ath9k: avoid enabling interrupts while processing rx", this approach handles it in generic manner. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit a844adfd7bee4edc66d337de6c33b348e83552a8 Author: Rajkumar Manoharan Date: Fri Aug 5 18:59:42 2011 +0530 ath9k_hw: Fix incorrect spur_freq_sd for AR9003 Spur frequency was incorrectly computed with 10Mhz offset which could cause the filter would not notch out the spur and also this could improve rx sensitivity in HT40. Cc: Madhan Jaganathan Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit b037b693265e5c83ddc3f003a713d19b9832bf24 Author: Rajkumar Manoharan Date: Fri Aug 5 18:59:40 2011 +0530 ath9k: do not enable interrupt on set interrupt mask At preset set_interrupt also enables interrupt after changing mask. This is not necessary in all cases and also sometime it breaks the assumption that interrupt was disabled. So let us enable the interrupt explicity if it was disabled earlier. This could also avoid unnecessary register ops and also helps the follow up patch to have global ref count for interrupts ops. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 8d7763b4332b80028522f8a0d47e6339a13d1fdc Author: Alex Hacker Date: Wed Aug 3 17:41:54 2011 +0600 ath9k_hw: use register name in place of magic value Signed-off-by: Alex Hacker Signed-off-by: John W. Linville commit 5674fbb773af9588485a646ffed9f34cac0f9b20 Author: Amitkumar Karwar Date: Tue Aug 2 18:42:23 2011 -0700 mwifiex: print driver version information Add code to display driver version information in dmesg after loading the driver successfully. Signed-off-by: Amitkumar Karwar Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 7e1f79a1f5fef8ac54def967b22a87909c74c8f1 Author: Daniel Drake Date: Mon Aug 1 16:43:27 2011 +0100 libertas: implement if_sdio runtime power management The SDIO card is now fully powered down when the network interface is brought down. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit d2e7b3425c474300318e1d28b10a93c2401b9255 Author: Daniel Drake Date: Mon Aug 1 16:43:13 2011 +0100 libertas: disable functionality when interface is down Modify the driver so that it does not function when the interface is down, in preparation for runtime power management. No commands can be run while the interface is down, so the ndo_dev_stop routine now directly does all necessary work (including asking the device to disconnect from the network and disabling multicast functionality) directly. power_save and power_restore hooks are added meaning that card drivers can take steps to turn the device off when the interface is down. The MAC address can now only be changed when all interfaces are down; the new address will be programmed when an interface gets brought up. This matches mac80211 behaviour. Also, some small cleanups/simplifications were made in the surrounding device handling logic. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 6de062ced91d894936edc54d79158b9f69f85d0e Author: Helmut Schaa Date: Mon Aug 1 11:32:53 2011 +0200 mac80211: Don't use EAPOL frames for rate sampling Signed-off-by: Helmut Schaa Acked-by: Felix Fietkau Signed-off-by: John W. Linville commit f75f5c6f61b4d34bf92625fcd1131dd58921e1b5 Author: Helmut Schaa Date: Mon Aug 1 11:32:52 2011 +0200 mac80211: Fill in skb->protocol information for injected frames Some drivers (ath9k for example) are using skb->protocol to treat EAPOL frames somehow special (disallow aggregation for example). When running in AP mode hostapd injects the EAPOL frames through a monitor interface and thus skb->protocol isn't set at all. Hence, if the injected frame is a data frame and carries a rfc1042 headaer update the skb->protocol field accordingly. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 12c5ffb5c4601a11b08533609d4bf119e2f22cf5 Author: Joe Perches Date: Fri Jul 29 14:51:25 2011 -0700 cfg80211: Update REG_DBG_PRINT macro and uses Several uses were missing terminating newlines. Typo fix and macro neatening. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit f74b9d365ddd33a375802b064f96a5d0e99af7c0 Author: Rajkumar Manoharan Date: Fri Jul 29 17:38:20 2011 +0530 ath9k_hw: Update AR9003 high_power tx gain table The high_power tx gain table is changed to match the low_ob_db tx gain table for both 5G and 2G. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit d116eb707c544a593b71495ea5882c0037dc9b0f Author: Rajkumar Manoharan Date: Fri Jul 29 17:38:19 2011 +0530 ath9k_hw: Update the radio parameters related to high_power Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit cca1fe1aedefede896b3ff2cc1a2493fa0d0035c Author: Rajkumar Manoharan Date: Fri Jul 29 17:38:16 2011 +0530 ath9k_hw: Optimize rx descriptor processing for AR9003 No need to process RxDone and ds_info status again in case valid rx status is given. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 0f9dc298215ed96383378eca1a6f63a1d190f44a Author: Rajkumar Manoharan Date: Fri Jul 29 17:38:14 2011 +0530 ath9k: Remove virtual wiphy specific frame type This patch cleanups virtual wiphy specific frametype structure Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 3f4c4bdd9d4d069e3d5e6154bfdd809f7923a90b Author: Rajkumar Manoharan Date: Fri Jul 29 17:38:13 2011 +0530 ath9k: Dump modal eeprom header Debugfs file location: /ieee80211/phy#/ath9k/modal_eeprom Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 580f010f1bd7ac0e83f77f4b3035e78417d3c2e2 Author: Rajkumar Manoharan Date: Fri Jul 29 17:38:12 2011 +0530 ath9k: Dump base eeprom header Debugfs file location: /ieee80211/phy#/ath9k/base_eeprom Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 1b37d3e61a04cadcdbb43b8ce2c6c2e1dd7af54b Author: Rajkumar Manoharan Date: Fri Jul 29 17:38:11 2011 +0530 ath9k_hw: Add dump_eeprom support for eeprom_def Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 49c99520f3b15300156830904f9ffcf51cb1160e Author: Rajkumar Manoharan Date: Fri Jul 29 17:38:10 2011 +0530 ath9k_hw: Add dump_eeprom support for AR9287 Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 4f011a2e3746ae54622fe8ee55a2447d56177633 Author: Rajkumar Manoharan Date: Fri Jul 29 17:38:09 2011 +0530 ath9k_hw: Add dump_eeprom support for eeprom_4k Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 26526202015f44ad3e0d7e43a35357c5bc32757a Author: Rajkumar Manoharan Date: Fri Jul 29 17:38:08 2011 +0530 ath9k_hw: Add dump_eeprom support for AR9003 Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 9d630c77960bcd7ae36815a985039b78f24c8ba2 Author: Pavel Roskin Date: Thu Jul 28 22:50:44 2011 -0400 lib80211: remove exports for functions not called by other modules Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit c027ed4ceaf779388275911bb6efd507c2e87ef4 Author: Hauke Mehrtens Date: Sat Jul 23 13:57:34 2011 +0200 b43: add core rev 17 used on bcma SoC. This ieee80211 core was found on a Netgear wndr3400. Signed-off-by: Hauke Mehrtens Signed-off-by: John W. Linville commit 197035737e96a517eed26e8f4bb941738249783e Author: Raja Mani Date: Thu Aug 4 19:26:30 2011 +0530 ath6kl: Release the memory allocated for the firmware Nowhere the firmware memory is freed, free it during the device destroy process. Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit 9aa603578f401d94a9d4ddd8af2917f224756b3b Author: Raja Mani Date: Thu Aug 4 19:26:29 2011 +0530 ath6kl: Fix crash during the connection process Sometimes, the network manager is failing to connect to the AP due to the below kernel crash message. The reason behind this, after issuing the connect command to the chip, the chip is sending disconnect event and then immediately one connect event to the host in some random cases. The host driver resets all states (including cfg80211 state machine) when it receives disconnect event from the chip. But, still the host driver reports the next received connect event to cfg80211, at that time cfg80211 SME state would have been in IDLE state, which was causing the below kernel crash. Now, host driver's sme state machine is checked every time before delivering connect event to cfg80211 WARNING: at net/wireless/sme.c:517 cfg80211_connect_result+0x10d/0x120() [..] Call Trace: [] warn_slowpath_common+0x72/0xa0 [] ? cfg80211_connect_result+0x10d/0x120 [] ? cfg80211_connect_result+0x10d/0x120 [] warn_slowpath_null+0x22/0x30 [] cfg80211_connect_result+0x10d/0x120 [] ath6kl_cfg80211_connect_event+0x427/0x4f0 [ath6kl] [] ? put_dec+0x2a/0xa0 [] ? number+0x365/0x380 [] ? mod_timer+0x135/0x260 [] ? format_decode+0x2fe/0x370 [] ? default_spin_lock_flags+0x8/0x10 [] ? _raw_spin_lock_irqsave+0x2f/0x50 [] ? console_unlock+0x172/0x1c0 [] ath6kl_connect_event+0x89/0x400 [ath6kl] [] ath6kl_wmi_control_rx+0x98e/0x1d60 [ath6kl] [] ? __wake_up+0x45/0x60 [] ath6kl_rx+0x56a/0x770 [ath6kl] [] ? mmc_release_host+0x22/0x40 [] ? sdio_release_host+0x19/0x30 [] ? ath6kl_sdio_read_write_sync+0x7a/0xc0 [ath6kl] [] do_rx_completion+0x41/0x50 [ath6kl] [] htc_rxmsg_pending_handler+0x6ba/0xbd0 [ath6kl] [] ? ath6kl_tx_data_cleanup+0x30/0x30 [ath6kl] [] ? ath6kl_sdio_irq_handler+0x30/0x70 [ath6kl] [] ath6kldev_intr_bh_handler+0x2a5/0x630 [ath6kl] [] ath6kl_sdio_irq_handler+0x30/0x70 [ath6kl] [] sdio_irq_thread+0xc7/0x2d0 [] ? default_wake_function+0x10/0x20 [] ? __wake_up_common+0x48/0x70 [] ? sdio_claim_irq+0x200/0x200 [] kthread+0x74/0x80 [] ? kthread_worker_fn+0x160/0x160 [] kernel_thread_helper+0x6/0x10 Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit 91db35dae52d2cd0b5be90e01cff343dc65b981d Author: Vasanthakumar Thiagarajan Date: Thu Jul 21 18:12:15 2011 +0530 ath6kl: Cleanup void * in ath6kl_cfg80211_scan_node() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 8a8bc5a440a0b42cc8fc0d5a60c041e7ab5d76d1 Author: Vasanthakumar Thiagarajan Date: Thu Jul 21 14:42:52 2011 +0530 ath6kl: Use ath6kl_cfg80211_scan_node() directly instead of function pointer Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 77fccc78a0fac77ac71fe341243970cfcd9a8ad3 Author: Vasanthakumar Thiagarajan Date: Thu Jul 21 14:36:55 2011 +0530 ath6kl: Remove ath6kl_wmi_iterate_nodes() Use wlan_iterate_nodes() directly. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 39dd3fcba2fe57866fe0913486472ae22e342c0e Author: Vasanthakumar Thiagarajan Date: Thu Jul 21 14:32:43 2011 +0530 ath6kl: Pass only the needed scan_table to ath6kl_wmi_iterate_nodes() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 852bd9d995352d593e9be0d668965aec39cf3f89 Author: Vasanthakumar Thiagarajan Date: Thu Jul 21 14:24:54 2011 +0530 ath6kl: Move initialization/deinitialization of scan_table to appropriate functions By having scan_table in struct ath6kl, it makes sense to move initialization to ath6kl_init() and deinitialization to ath6kl_destroy(). Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 9d0c6bcf46c3df4a5d011749c94d4f85dd98931d Author: Vasanthakumar Thiagarajan Date: Thu Jul 21 14:16:57 2011 +0530 ath6kl: Cleanup parameters of wlan_node_table_init() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 46ff8d5978b7796e3757b9ad908361beb8fb160b Author: Vasanthakumar Thiagarajan Date: Thu Jul 21 14:13:53 2011 +0530 ath6kl: Remove ath6kl_wmi_get_current_bssid() Use the bssid from ath6kl directly. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 70df0516884834156f763f0e64a81712e26917c2 Author: Vasanthakumar Thiagarajan Date: Thu Jul 21 14:09:07 2011 +0530 ath6kl: Remove bssid from struct wmi This is nothing but bssid of struct ath6kl. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit e4c7ffcb9564dfed125e99daebc5fdce0b828626 Author: Vasanthakumar Thiagarajan Date: Thu Jul 21 13:49:32 2011 +0530 ath6kl: Cleanup parameters for wlan_refresh_inactive_nodes() And remove the reference to wmi in ath6kl_node_table. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 7c3075e9ea20a5feca48c8ff22dd23140e55ab1e Author: Vasanthakumar Thiagarajan Date: Thu Jul 21 13:38:33 2011 +0530 ath6kl: Move scan table from wmi to ath6kl It does not need to be in wmi Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 2865785e96b5990db6928126996fa246d399ec6d Author: Vasanthakumar Thiagarajan Date: Thu Jul 21 12:00:49 2011 +0530 ath6kl: Cleanup void *parent_dev in struct wmi Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 37ca63350709c9bdb273afda6a19f61b88572237 Author: Kalle Valo Date: Thu Jul 21 10:54:26 2011 +0300 ath6kl: change aggreation timeout message from an error to a debug message When I connect to my Linksys WT610N AP supporting 11n I see a lot of aggreation timeout errors: [ 408.885053] ath6kl: aggr timeout (st 3109 end 3140) [ 463.872108] ath6kl: aggr timeout (st 3671 end 3702) [ 495.010060] ath6kl: aggr timeout (st 3983 end 4014) [ 503.604047] ath6kl: aggr timeout (st 4065 end 0) [ 518.963047] ath6kl: aggr timeout (st 141 end 172) [ 525.014066] ath6kl: aggr timeout (st 205 end 236) [ 573.957051] ath6kl: aggr timeout (st 701 end 732) [ 585.019067] ath6kl: aggr timeout (st 816 end 847) But still the connection seems to work. To not clutter the logs change the error message to a debug message. But add a fixme comment so that this will be investigated. Signed-off-by: Kalle Valo commit f96efb5cb16fc58fe0220a7d3c66b4450493935f Author: Kalle Valo Date: Thu Jul 21 10:43:17 2011 +0300 ath6kl: remove dependency to wireless extensions ath6kl Kconfig still had dependencies to wext, remove those as they are not needed anymore. Now ath6kl should not have any wext code left. Time to have a beer and celebrate this. Signed-off-by: Kalle Valo commit 6fd1eacec1b8cd081b9ae067f852cece3e886521 Author: Kalle Valo Date: Thu Jul 21 10:22:50 2011 +0300 ath6kl: fix crash when interface is closed but scan is ongoing When ath6kl module was removed while a scan was ongoing the driver would crash in ath6kl_cfg80211_scan_complete_event(). Fix the function not to iterate nodes when the scan is aborted. The nodes are already freed when the module is being unloaded. This patch removes the null check entirely as the wmi structure is not accessed anymore during module unload. Also fix a bug where the status was checked as a bitfield with '&' operator. But it's not a bitfield, just a regular error code. This is a port of my patch from ath6kl staging with the same title. Signed-off-by: Kalle Valo commit cf104c2a207f550d9c3b8f8bcf73cb11765692f6 Author: Kalle Valo Date: Thu Jul 21 10:04:54 2011 +0300 ath6kl: fix atomicity in ath6kl_cfg80211_scan_node() ath6kl_cfg80211_scan_node() was calling cfg80211_inform_bss_frame() with CFP_KERNEL but the function is executed with a spin lock taken. This is wrong and the function must use GFP_ATOMIC instead. Signed-off-by: Kalle Valo commit b2c76bbe005cd23dfd80fe2140bd18daf4d3b16a Author: Kalle Valo Date: Thu Jul 21 09:40:00 2011 +0300 ath6kl: don't force foreground scan when connected In my setup data transfer stalls when there's data transmission during scan. After some testing I found out that using background scan when connected to makes the problem go away. This is more like a workaround than a proper fix, but as the stall is so severe the workaround is justified. With a dual band card this increases scan time when connected from 1.9s to 4.4s. When not connected the scan time is not affected and is the same 1.9s. Signed-off-by: Kalle Valo commit 575b5f34aa089cdaf92dda905d3b1dff1947f257 Author: Raja Mani Date: Tue Jul 19 19:27:33 2011 +0530 ath6kl: Use bit field macros to maintain wlan enabled and disabled status Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit c8790cbaea789467cbdc4460ff2b4a2eda413e64 Author: Raja Mani Date: Tue Jul 19 19:27:32 2011 +0530 ath6kl: Avoid two memset to clear src and desr mac addr variable memory in ath6kl_wmi_dot11_hdr_remove() Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit 5ba3ee48f2e913037520486f7492c88c517bf387 Author: Raja Mani Date: Tue Jul 19 19:27:31 2011 +0530 ath6kl: Rearrange the variable and the value position in IF condition Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit 2588f554f0adaba0c834d238596335cb5606e33a Author: Raja Mani Date: Tue Jul 19 19:27:30 2011 +0530 ath6kl: Print bad trailer data only when htc fails to parse trailer info Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit 58d92abc740c2662bb1381d6f543e1bc7dd38719 Author: Vasanthakumar Thiagarajan Date: Mon Jul 18 14:23:32 2011 +0530 ath6kl: Remove unused struct ath6kl_async_reg_io_buffer Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit fcb820589f61592d47e8dbe707993bc923000021 Author: Vasanthakumar Thiagarajan Date: Mon Jul 18 14:23:31 2011 +0530 ath6kl: Move chk_irq_status_cnt from ath6kl_device to htc_target Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 7520ceb724808929ee03b84b62cff0c46622d335 Author: Vasanthakumar Thiagarajan Date: Mon Jul 18 14:23:30 2011 +0530 ath6kl: Bypass reading irq status based on chk_irq_status_cnt This is a regression. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 50745af7ebb38d3f8f2487f92db6c59c13dc0b89 Author: Vasanthakumar Thiagarajan Date: Mon Jul 18 14:23:29 2011 +0530 ath6kl: Move scatter information from ath6kl_device to htc_target Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 5be8824f28d70579f725297b0ca6fd26945686a6 Author: Vasanthakumar Thiagarajan Date: Mon Jul 18 14:23:28 2011 +0530 ath6kl: Move block_sz and block_mask from ath6kl_device to htc_target Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 3b2f5e5145339e188f74f57bc6eb5a1f672ecf33 Author: Vasanthakumar Thiagarajan Date: Mon Jul 18 14:23:27 2011 +0530 ath6kl: Move bundle size from ath6kl_device to htc_target Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit df45f7f92735210ea19a8a358a304ccfd01c1428 Author: Vasanthakumar Thiagarajan Date: Mon Jul 18 14:23:26 2011 +0530 ath6kl: Remove callback msg_pending() and used the function directly Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 23b7840a1b1327fbcc2599e33f50b26d263d5328 Author: Vasanthakumar Thiagarajan Date: Mon Jul 18 14:23:25 2011 +0530 ath6kl: Minor cleanup in ath6kldev_submit_scat_req() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit ca06cadb732955fae377b435c83e3746123a71ac Author: Vasanthakumar Thiagarajan Date: Sat Jul 16 20:29:18 2011 +0530 ath6kl: Remove ath6kldev_setup_msg_bndl() Use appropriate hif function directly. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 348a8fbce79e15b1918390120c0d63baa85343a0 Author: Vasanthakumar Thiagarajan Date: Sat Jul 16 20:29:17 2011 +0530 ath6kl: Merge scatter rw request functions into one Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit da220695f03a81fc8f6fcf1921e2b6f1c2be6db6 Author: Vasanthakumar Thiagarajan Date: Sat Jul 16 20:29:16 2011 +0530 ath6kl: Refactor ath6kl_sdio_read_write_sync() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 4a005c3ed0e6424e991daeea385bd08a9b97b67a Author: Vasanthakumar Thiagarajan Date: Sat Jul 16 20:29:15 2011 +0530 ath6kl: Moe virt_scat from hif_dev_scat_sup_info to hif_scatter_req Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit cfeab10b117cee7c2b3a8aaf1dc49d28482aeca0 Author: Vasanthakumar Thiagarajan Date: Sat Jul 16 20:29:14 2011 +0530 ath6kl: Merge scatter gather setup functions for two method Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 18a0f93e539cd9269d604ad9de59bca49c488808 Author: Vasanthakumar Thiagarajan Date: Sat Jul 16 20:29:13 2011 +0530 ath6kl: Move down scatter enable and cleanup functions Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit ac2bba019b2b677882d9ea7846a1fdf7c9fd8959 Author: Vasanthakumar Thiagarajan Date: Sat Jul 16 20:29:12 2011 +0530 ath6kl: Cleanup ath6kl_sdio_cleanup_scatter() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit def85c00c97e062995dbf4e979c4bffa8a103b0f Author: Vasanthakumar Thiagarajan Date: Sat Jul 16 20:29:11 2011 +0530 ath6kl: Cleanup ath6kl_sdio_enable_scatter() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 3df505add2e5a370fb04dac1135e751bdd18e08f Author: Vasanthakumar Thiagarajan Date: Sat Jul 16 20:29:10 2011 +0530 ath6kl: Refactor refactor ath6kl_sdio_setup_scat_resource() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit e041c7f9af5a3583ee2bd20af1b03ec56b6adcca Author: Vasanthakumar Thiagarajan Date: Sat Jul 16 20:29:09 2011 +0530 ath6kl: Remove endpoint reference from hif_scatter_req Endpoint id ffrom htc_packet can be used instead. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 7c565b6f8c635fc22535c763e08184379b16920e Author: Vasanthakumar Thiagarajan Date: Sat Jul 16 20:29:08 2011 +0530 ath6kl: Remove useless flags in hif_scatter_req Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit d4df78904d12850c1c57bfffde8eff5195f3cd4d Author: Vasanthakumar Thiagarajan Date: Sat Jul 16 20:29:07 2011 +0530 ath6kl: Remove struct hif_scatter_req_priv Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit c630d18a5ea0213f6ad8e34b62f9c78038f371d8 Author: Vasanthakumar Thiagarajan Date: Sat Jul 16 20:29:06 2011 +0530 ath6kl: Move ath6kl_sdio_async_rw_scatter() down to other hif_ops functions Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit f74a7361b8affcd76ffe1e2baa5748af4d63bcea Author: Vasanthakumar Thiagarajan Date: Sat Jul 16 20:29:05 2011 +0530 ath6kl: cleanup callbacks for different scatter gather method Define a hook in ath6kl_hif_ops for hif scatter gather mechanism. When virtual scatter gather is used, call the respective function directly. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit bdcd81707973cf8aa9305337166f8ee842a050d4 Author: Kalle Valo Date: Mon Jul 18 00:22:30 2011 +0300 Add ath6kl cleaned up driver Last May we started working on cleaning up ath6kl driver which is currently in staging. The work has happened in a separate ath6kl-cleanup tree: http://git.kernel.org/?p=linux/kernel/git/kvalo/ath6kl-cleanup.git;a=summary After over 1100 (!) patches we have now reached a state where I would like to start discussing about pushing the driver to the wireless trees and replacing the staging driver. The driver is now a lot smaller and looks like a proper Linux driver. The size of the driver (measured with simple wc -l) dropped from 49 kLOC to 18 kLOC and the number of the .c and .h files dropped from 107 to 22. Most importantly the number of subdirectories reduced from 26 to zero :) There are two remaining checkpatch warnings in the driver which we decided to omit for now: drivers/net/wireless/ath/ath6kl/debug.c:31: WARNING: printk() should include KERN_ facility level drivers/net/wireless/ath/ath6kl/sdio.c:527: WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt The driver has endian annotations for all the hardware specific structures and there are no sparse errors. Unfortunately I don't have any big endian hardware to test that right now. We have been testing the driver both on x86 and arm platforms. The code is also compiled with sparc and parisc cross compilers. Notable missing features compared to the current staging driver are: o HCI over SDIO support o nl80211 testmode o firmware logging o suspend support Testmode, firmware logging and suspend support will be added soon. HCI over SDIO support will be more difficult as the HCI driver needs to share code with the wifi driver. This is something we need to research more. Also I want to point out the changes I did for signed endian support. As I wasn't able to find any support for signed endian annotations I decided to follow what NTFS has done and added my own. Grep for sle16 and sle32, especially from wmi.h. Various people have been working on the cleanup, the hall of fame based on number of patches is: 543 Vasanthakumar Thiagarajan 403 Raja Mani 252 Kalle Valo 16 Vivek Natarajan 12 Suraj Sumangala 3 Joe Perches 2 Jouni Malinen Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Raja Mani Signed-off-by: Vivek Natarajan Signed-off-by: Suraj Sumangala Signed-off-by: Joe Perches Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit f749b94679c71a9c74ad9509dbbf00d8f3d620ad Author: Felix Fietkau Date: Thu Jul 28 14:08:57 2011 +0200 ath9k: use the new channel noise value for signal strength and survey info Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f23fba49b31070dc180d0d41d0125ab80f71c09f Author: Felix Fietkau Date: Thu Jul 28 14:08:56 2011 +0200 ath9k_hw: calculate a much better approximation of channel noise Currently ath9k presents the internal calibrated noise floor as channel noise measurement, however this results in highly chip specific values that are only useful as relative measurements but do not resemble any real channel noise values. In order to give a much better approximation of the real channel noise, add the difference between the measured noise floor and the nominal chip specific noise floor to the default minimum channel noise value, which is currently used to calculate the signal strength from the RSSI value. This may not be 100% accurate, but it's much better than what's there before. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 987dafad11bbf0454c88bd3b37461f7f2a423f71 Author: Baruch Siach Date: Thu Jul 28 08:51:05 2011 +0300 mac80211/mesh: make the preq queue lock consistent Make mesh_preq_queue_lock locking consistent with mesh_queue_preq() using spin_lock_bh(). Signed-off-by: Baruch Siach Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit dfb72c4fda54b11efe0afbb4e4081af1dfa4c14f Author: Daniel Drake Date: Wed Jul 27 17:19:00 2011 +0100 libertas_usb: program OLPC EC wakeup mask for wake-on-WLAN OLPC power management code has recently gone upstream. This piece completes the puzzle for libertas_usb, which now programs the OLPC EC for wlan wakeups when they have been requested. Signed-off-by: Daniel Drake Acked-by: Dan Williams Signed-off-by: John W. Linville commit 9c204b46c7af93e334114bea1f5eeaa6fea9ba07 Author: Felix Fietkau Date: Wed Jul 27 15:01:05 2011 +0200 ath9k_hw: do not limit initial tx power to 20 dbm When testing for tx power, bypass the default limits. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 071bfefd6849e9acc12ca26f4f897cd907e81d1b Author: Felix Fietkau Date: Wed Jul 27 15:01:04 2011 +0200 ath9k_hw: fix calculated runtime tx power limit Use the previously calculated maximum of all rates instead of just the one from the lowest rate of the selected PHY mode. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit e832bf1032f8279d7df712faa9aaab6ba897c2c5 Author: Felix Fietkau Date: Wed Jul 27 15:01:03 2011 +0200 ath9k_hw: remove the tx power index offset It is always 0 Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit bb1f3ad96946f25653665c91afed17c8dd5b45ac Author: Pavel Roskin Date: Tue Jul 26 22:27:05 2011 -0400 ath5k: remove last references to "softc" Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 931be260ed54843edac37cb3ff09a40b86114b31 Author: Pavel Roskin Date: Tue Jul 26 22:26:59 2011 -0400 ath5k: clean up base.h and its use Remove unnecessary includes from base.h. Add includes to other files as necessary. Don't include base.h unless needed. Move declarations for functions in base.c from ath5k.h to base.h. Use a better named define to protect base.h against double inclusion. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit d601d9caceb40529f056a266cf3f99b43bc3057b Author: Pavel Roskin Date: Tue Jul 26 22:26:52 2011 -0400 ath: fix spelling of Grenada Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit aea05140d383ba0064c74c03bb9466cda7b297a7 Author: Pavel Roskin Date: Tue Jul 26 18:52:48 2011 -0400 orinoco_cs: be more careful when matching cards with ID 0x0156:0x0002 Without CONFIG_HERMES_PRISM, only match cards that have "Version 01.01" as the third product ID. Those have Agere firmware. With CONFIG_HERMES_PRISM, match all 0x0156:0x0002 cards. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit fb3d93616a486cae8e61c3dcad01be009b22b255 Author: Pavel Roskin Date: Tue Jul 26 18:52:41 2011 -0400 hostap_cs: support cards with "Version 01.02" as third product ID Cards with numeric ID 0x0156:0x0002 and third ID "Version 01.02" can be assumed to have Intersil firmware. Cards with Agere firmware use "Version 01.01". Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit ea7a03cff3f500acecf363ef9168bb1df6f79cf6 Author: Pavel Roskin Date: Tue Jul 26 11:36:48 2011 -0400 b43legacy: report core number Signed-off-by: Pavel Roskin Acked-by: Larry Finger Signed-off-by: John W. Linville commit 39e68712d75700ec09770c7ad9e8e4abc65db7c6 Author: Helmut Schaa Date: Fri Aug 5 11:46:19 2011 +0200 mac80211: Don't use a buf_size=0 in ADDBA requests According to 802.11-2007, 7.3.1.14 it is compliant to use a buf_size of 0 in ADDBA requests. But some devices (AVM Fritz Stick N) arn't able to handle that correctly and will reply with an ADDBA reponse with a buf_size of 0 which in turn will disallow BA sessions for these devices. To work around this problem, initialize hw.max_tx_aggregation_subframes to the maximum AMPDU buffer size 0x40. Using 0 as default for the bufsize was introduced in commit 5dd36bc933e8be84f8369ac64505a2938f9ce036 (mac80211: allow advertising correct maximum aggregate size). Signed-off-by: Helmut Schaa Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 3ca97880ea7af47be479aadfe896cafc54939708 Author: Helmut Schaa Date: Tue Jul 26 12:18:27 2011 +0200 mac80211: Stop TX BA session if buf_size is zero If we receive an ADDBA response with status code 0 and a buf_size of 0 we should stop the TX BA session as otherwise we'll end up queuing frames in ieee80211_tx_prep_agg forever instead of sending them out as non AMPDUs. This fixes a problem with AVM Fritz Stick N wireless devices where frames to this device are not transmitted anymore by mac80211. Signed-off-by: Helmut Schaa Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 191d6a8cc2d282db3707e9c71f49815ccdc79c54 Author: Pavel Roskin Date: Mon Jul 25 17:40:22 2011 -0400 b43legacy: remove 64-bit DMA support Devices supported by b43legacy don't support 64-bit DMA. Signed-off-by: Pavel Roskin Acked-by: Larry Finger Signed-off-by: John W. Linville commit ae7f9a740b4ac5a64306abc47a440b794c5b827a Author: Wey-Yi Guy Date: Sat Jul 23 10:24:50 2011 -0700 iwlagn: support v2 of enhanced sensitivity table Add support for v2 of enhanced sensitivity table for 2000 series products Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit e7515ba154b63c87d987fb2a30bcbe8814c3f317 Author: Wey-Yi Guy Date: Sat Jul 23 10:24:49 2011 -0700 iwlagn: change default sensitivity value for 5000 and 6000 series Update the default sensitivity value for both 5000 and 6000 series devices Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit b4ca6084a84d50c5b0986adff7fdf8244b84fe39 Author: Johannes Berg Date: Sat Jul 23 10:24:48 2011 -0700 mac80211: remove offchannel_tx API For iwlwifi, I decided not to use this API since it just increased the complexity for little gain. Since nobody else intends to use it, let's kill it again. If anybody later needs to have it, we can always revive it then. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c6baf7fb40cb141c4b510372f7dac829621ccf3f Author: Johannes Berg Date: Sat Jul 23 10:24:47 2011 -0700 iwlagn: support new P2P implementation The previous P2P implementation turned out to not work well and new uCode capabilities were added to support P2P. Modify the driver to take advantage of those, and also discover P2P support automatically based on a uCode flag instead of having a Kconfig symbol for P2P. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 4d2a5d0ecd3d5350957ed8afc4cee2dbc606c7e2 Author: Johannes Berg Date: Sat Jul 23 10:24:46 2011 -0700 iwlagn: move context init after firmware loading The availability of contexts depends on the firmware capabilities. Currently only the presence of the second context depends on it, but soon P2P support will also be different. Move the context initialisation code to the firmware-dependent setup before registering with mac80211 to make it easier to handle. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit ca9a46056908d3cade6957b3d5b2e698356b29fc Author: Johannes Berg Date: Sat Jul 23 10:24:45 2011 -0700 iwlagn: bump firmware API for some devices We're working on improvements for the firmware for some devices, and need to bump the API for those since they won't be backward compatible completely (the earlier patch reserving queue 10 for P2P). Bump the API version to 6 for those devices but don't warn users of version 5 yet. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 5d7969bf2bce73fdb91bd53ad39b1f0ab43f5ce3 Author: Johannes Berg Date: Sat Jul 23 10:24:44 2011 -0700 iwlagn: separate firmware version warning We sometimes need to support new firmware API for a while before we can publish them since testing them fully takes a long time. We could keep all the new code private, but that causes plenty of problems and sometimes we can give a pre-release version of firmware to people who need to test. However, when we just bump the API version, the driver will warn everybody that their firmware is outdated, when in fact it isn't. (Currently our case for this doesn't really change the API but bumping the API version is necessary because the firmware isn't fully backward compatible) In order to handle this in the future, add a new "api_ok" version; only below this will the driver warn that the uCode is too old. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 306584c038c2d801a2be772807a89d6a397f0938 Author: Wey-Yi Guy Date: Sat Jul 23 10:24:42 2011 -0700 iwlagn: Remove ht40 support from 5.2GHz for _bgn devices For _bgn device, remove ht40 support for 5.2GHz, it is probably ok since the "band" is not support but just feel strange. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 946572b294ccc3e68dabd89e262bbff7685f7a2e Author: Wey-Yi Guy Date: Sat Jul 23 10:24:41 2011 -0700 iwlagn: default smps mode for 1000 series device 1000 series are 1x2 devices, the old default using static smps which only use single antenna for rx, set the default to dynamic smps. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 72c04ce0164aad6da5dc7d0b7267a84c60970165 Author: Johannes Berg Date: Sat Jul 23 10:24:40 2011 -0700 iwlagn: reserve queue 10 for TX during scan dwell New uCode images will use queue 10 for TX during scan (for P2P offchannel operation scan). We'll bump the API version of those, but before we need to reserve queue 10 and stop using it for aggregation. To simplify the code, always reserve it, we could continue using it on older uCode images but that'd be rather complicated. Also, we'll set it up to map to the right FIFO as needed later, but as we don't use the queue now that doesn't hurt. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 32c254645f90a5a5486788c0deb30531fdb609c2 Author: Pavel Roskin Date: Sat Jul 23 09:29:09 2011 -0400 ath5k: eliminate CHANNEL_* macros, use AR5K_MODE_* in channel->hw_value When checking for the band, use channel->band. Change ath5k_hw_nic_wakeup() and ath5k_channel_ok() to take ieee80211_channel. Change ath5k_hw_radio_revision() to take ieee80211_band. Signed-off-by: Pavel Roskin Tested-by: Sedat Dilek Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 8d44a823c847c3d20e33c4c714ab48b700f41f14 Author: Pavel Roskin Date: Sat Jul 23 09:29:03 2011 -0400 ath5k: remove most references to XR XR is a proprietary feature of the chipset. It's not supported and should not be supported. Signed-off-by: Pavel Roskin Tested-by: Sedat Dilek Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 2972cc1895a329ae977375d68b10d91f59167bbb Author: Pavel Roskin Date: Sat Jul 23 09:28:56 2011 -0400 ath5k: remove unused and write-only structures and fields struct ath5k_avg_val is unused. In struct ath5k_hw, lladdr, ah_radar and ah_mac_revision are write-only, rxbufsize is unused, ah_phy is write-only and referenced by unused macros. In struct ath5k_vif, lladdr is write-only. Remove AR5K_TUNE_RADAR_ALERT, which has no effect. Signed-off-by: Pavel Roskin Tested-by: Sedat Dilek Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit eb93e891825d0297fddcb76dbb0fff6a5a107bb6 Author: Pavel Roskin Date: Sat Jul 23 03:55:39 2011 -0400 ath9k: remove all references to subsysid, it's never used Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 581c9c4f7113fbb4d28d58ab6b2125e16ce62812 Author: Sergei Shtylyov Date: Fri Jul 22 19:58:23 2011 +0400 ath9k: use pci_dev->subsystem_device The driver reads PCI subsystem ID from the PCI configuration register while it's already stored by the PCI subsystem in the 'subsystem_device' field of 'struct pci_dev'... Signed-off-by: Sergei Shtylyov Signed-off-by: John W. Linville commit 26aaa4a0e923326560286e567b9fbf8429d5ef2b Author: Bing Zhao Date: Thu Jul 21 20:25:58 2011 -0700 mwifiex: remove redundant variable scan_table_idx mwifiex_get_bss_info() routine updates variable 'info->scan_table_idx' but it is never used. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 8e92f2acac918d36ef4aa591f55ba0589edf634d Author: Daniel Drake Date: Thu Jul 21 20:43:44 2011 +0100 libertas_usb: use USB interface as parent device Currently, "udevadm info -a -p /sys/class/net/wlan0" doesn't mention the usb8xxx or libertas driver anywhere. This makes writing udev rules a bit uncomfortable. Using the USB interface as the parent device corrects the hierarchy. Signed-off-by: Daniel Drake Acked-by: Dan Williams Signed-off-by: John W. Linville commit 49fee69204035247fd2a5828863fc6f633e829f2 Author: Daniel Drake Date: Thu Jul 21 20:43:17 2011 +0100 libertas: link mesh device to wiphy The mesh device is now exposed as an interface of the wiphy. This exposes the mesh device to the cfg80211 interface, allowing mesh channel selection to be reimplemented, and available to NetworkManager as it was before. Some header tweaking was needed in order to implement lbs_mesh_activated(). Signed-off-by: Daniel Drake Acked-by: Dan Williams Signed-off-by: John W. Linville commit 04b0c5c6995103eef56391c163e970ab1f03b59f Author: Johannes Berg Date: Fri Jul 15 13:01:38 2011 +0200 cfg80211: remove unused wext handler exports A lot of code is dedicated to giving drivers the ability to use cfg80211's wext handlers without completely converting. However, only orinoco is currently using this, and it is only partially using it. We reduce the size of both the source and binary by removing those that nobody needs. If a driver shows up that needs it during conversion, we can add back those that are needed. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 67a50035b3f9335b9e5800c32149173e797b9cc0 Author: Bing Zhao Date: Wed Jul 13 18:38:34 2011 -0700 mwifiex: remove wireless.h inclusion and fix resulting bugs replace IW_MAX_AP & IW_CUSTOM_MAX with local definitions and remove usage of struct iw_statistics. Cc: Johannes Berg Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit bb9b08af06fd6afa6fc77068a81a8ef8b167cdc3 Author: Johannes Berg Date: Wed Jul 13 10:39:18 2011 +0200 mwifiex: add wext include In trying to remove the wext includes from mac80211 and cfg80211 I found that mwifiex currently uses them. This is wrong, it shouldn't, but to not break it completely include wext there. Please remove this and fix all the resulting bugs. Cc: Bing Zhao Signed-off-by: Johannes Berg Acked-by: Bing Zhao Signed-off-by: John W. Linville commit 9090e167d08c4fd8d7d2c7c7b0126ab5881f219a Author: Johannes Berg Date: Wed Jul 13 10:39:17 2011 +0200 wl1251: remove wext dependencies This driver uses IW_ESSID_MAX_SIZE when it should be using IEEE80211_MAX_SSID_LEN instead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3b40c04071ce3c0d74d19518ef884fed5c981fd7 Author: Johannes Berg Date: Wed Jul 13 10:39:16 2011 +0200 wl12xx: remove wext dependencies This driver uses IW_ESSID_MAX_SIZE when it should be using IEEE80211_MAX_SSID_LEN instead. Signed-off-by: Johannes Berg Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit 029111e1c62f4f5ceb2a478ebb82bae9f882646a Author: Johannes Berg Date: Wed Jul 13 10:39:15 2011 +0200 rndis_wlan: remove wireless extensions inclusions linux/wireless.h and net/iw_handler.h headers are for wireless extensions only, so mac80211 drivers shouldn't be including them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6cff689e740f4c9a4e1df8dd0bfe1b3022a74cbe Author: Johannes Berg Date: Wed Jul 13 10:39:14 2011 +0200 b43legacy: remove wireless extensions inclusions linux/wireless.h and net/iw_handler.h headers are for wireless extensions only, so mac80211 drivers shouldn't be including them. Signed-off-by: Johannes Berg Acked-by: Larry Finger Signed-off-by: John W. Linville commit 9a5a133df35bc76191c1e3532369b2c39cf88a5b Author: Johannes Berg Date: Wed Jul 13 10:39:13 2011 +0200 b43: remove wireless extensions inclusions linux/wireless.h and net/iw_handler.h headers are for wireless extensions only, so mac80211 drivers shouldn't be including them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2ee33f378d788822eccdb419ff221f5df989105c Author: Johannes Berg Date: Wed Jul 13 10:39:12 2011 +0200 ath5k: remove wireless extensions inclusions linux/wireless.h and net/iw_handler.h headers are for wireless extensions only, so mac80211 drivers shouldn't be including them. Signed-off-by: Johannes Berg Acked-by: Pavel Roskin Signed-off-by: John W. Linville commit e2a772fe479ba2172280f3271be7a445df1a71e9 Author: Johannes Berg Date: Wed Jul 13 10:39:11 2011 +0200 iwlegacy: remove wireless extensions inclusions linux/wireless.h and net/iw_handler.h headers are for wireless extensions only, so mac80211 drivers shouldn't be including them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 29a34f92b5f1776f011272da315daba827a2d950 Author: Johannes Berg Date: Wed Jul 13 10:39:10 2011 +0200 iwlagn: remove wireless extensions inclusions linux/wireless.h and net/iw_handler.h headers are for wireless extensions only, so mac80211 drivers shouldn't be including them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 262eb9b2237ecee047451a636e799ea1572b685a Author: Johannes Berg Date: Wed Jul 13 10:39:09 2011 +0200 cfg80211: split wext compatibility to separate header A lot of drivers erroneously use wext constants and don't notice since cfg80211.h includes them. Make this more split up so drivers needing wext compatibility from cfg80211 need to explicitly include that from cfg80211-wext.h. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 19fd61785a580c60cba900c5171bfadb57dd5056 Merge: 57569d0 8028837 Author: David S. Miller Date: Sun Aug 7 23:20:26 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net commit a9b3cd7f323b2e57593e7215362a7b02fc933e3a Author: Stephen Hemminger Date: Mon Aug 1 16:19:00 2011 +0000 rcu: convert uses of rcu_assign_pointer(x, NULL) to RCU_INIT_POINTER When assigning a NULL value to an RCU protected pointer, no barrier is needed. The rcu_assign_pointer, used to handle that but will soon change to not handle the special case. Convert all rcu_assign_pointer of NULL value. //smpl @@ expression P; @@ - rcu_assign_pointer(P, NULL) + RCU_INIT_POINTER(P, NULL) // Signed-off-by: Stephen Hemminger Acked-by: Paul E. McKenney Signed-off-by: David S. Miller