=============================================== ChangeLog for compat-wireless for linux-2.6.38 =============================================== 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-2.6.3x.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-2.6.38 Updates from the compat.git project: ==================================== git shortlog linux-2.6.37.y..linux-2.6.38.y Felix Fietkau (6): compat: backport pm_qos_*_request compat: backport pm_qos_request compat: add a wrapper for rfkill.h compat: fix pm_qos_params compile error on 2.6.35 compat: fix a typo in pm_qos_update_request for 2.6.35 compat: backport LED class software blinking Hauke Mehrtens (16): compat: add missing pm_runtime.h compat: backport Generic exponentially weighted moving average (EWMA) compat: update wireless.h with new version from linux-next compat: backport pr_warn compat: fix build with CONFIG_LEDS_CLASS=m compat: fix build for kernel <= 2.6.29 compat: backport skb_checksum_start_offset compat backport no_printk compat: backport pci_is_pcie and pci_pcie_cap compat: backport pci_wake_from_d3 compat: backport alloc_workqueue compat: add generic functions for suspend/resume compat: backport kfifo compat: backport alloc_ordered_workqueue compat: add support for kernel 2.6.38 compat: backport tty_{lock,unlock,locked} Johannes Berg (3): Felix's patch backported my software blink emulation, but if the kernel is 2.6.25 or newer we can also try the HW offload first. Signed-off-by: Johannes Berg This has disappeared upstream and is no longer used. Luis R. Rodriguez (3): compat: backport sign_extend32() compat: backport PCI_EXP_LNKCTL_ES added for on 2.6.29 compat: add check for CONFIG_COMPAT_KFIFO=m Updates from the compat-wireless.git project: ============================================= git shortlog linux-2.6.37.y..linux-2.6.38.y Dave Vasilevsky (1): compat-wireless: Rename config option to CONFIG_B43_PHY_N Felix Fietkau (1): compat-wireless: remove unnecessary chunks from the rfkill patch Greg Whiteley (1): compat-wireless: rt2800pci (and rt2x00pci) don't unload on 'make unload' Hauke Mehrtens (33): compat-wireless: make patches apply again compat-wireless: Backport pci power management compat-wireless: make patches apply again compat-wireless: fix compile error with iwl compat-wireless: add missing rename for CONFIG_IWL4965 compat-wireless: WL1251_SDIO needs WL12XX_PLATFORM_DATA compat-wireless: make patches apply again compat-wireless: generate CONFIG_COMPAT_KERNEL_38 compat-wireless: make BRCMFMAC compile compat-wireless: correct rt2x00 config options compat-wireless: rename config symbols to CONFIG_WL12XX compat-wireless: fix CONFIG_BRCM80211 config option compat-wireless: remove double definition of CONFIG_SSB_DEBUG compat-wireless: make patches apply again compat-wireless: make patches apply again compat-wireless: make crap patches apply again compat-wireless: add new config options for ath5k compat-wireless: make patches apply again compat-wireless: make patch apply again compat-wireless: make patches apply again. compat-wireless: use pci_is_pcie() compat-wireless: add support for RTL8192CE compat-wireless: build led support conditionally compat-wireless: fix power managemnet backport compat-wireless: remove patches applied mainline compat-wireless: rtl8187 and rtl8180 moved compat-wireless: use generic suspend resume compat-wireless: make patches apply again. compat-wireless: use backported kfifo compat-wireless: make NEXT_TREE configurable. compat-wireless: update patches in enable-older-kernels compat-wireless: do not write git-clone compat-wireless: backport of alloc_ordered_workqueue into compat.git Johannes Berg (1): compat-wirelesS: fix Intel driver-select Luciano Coelho (1): compat-wireless: apply changes needed after wl1271->wl12xx renaming Luis R. Rodriguez (59): compat-wireless: refresh patches compat-wireless: refresh crap patches compat-wireless: remove 28-pm-qos-params.patch compat-wireless: disable ar9170 when selecting ath compat-wireless: disable brcm80211 when selecting ath Revert "compat-wireless: apply changes needed after wl1271->wl12xx renaming" compat-wireless: refresh patches compat-wireless: refresh crap patches Revert "Revert "compat-wireless: apply changes needed after wl1271->wl12xx renaming"" compat-wireless: refresh patches compat-wireless: refresh crap patches compat-wireless: refresh patches compat-wireless: refresh patches compat-wireless: fix crap packetlog patch compat-wireless: refresh crap patches compat-wireless: refresh patches compat-wireless: refresh crap patches compat-wireless: refresh patches compat-wireless: refresh crap patches compat-wireless: refresh patches compat-wireless: fix admin-update.sh for stable cherry picks compat-wireless: fix stable patch pull count compat-wireless: refresh patches for linux-next next-20101217 compat-wireless: refresh crap patches for next-20101217 compat-wireless: rt2x00 no uses a kfifo on the header compat-wireless: refresh patches compat-wireless: refresh crap patches compat-wireless: refresh patches for v2.6.38-rc2 compat-wireless: refresh crap patches compat-wireless: First release for v2.6.37-rc3 compat-wireless: fix stable pending tag mismatch output compat-wireless: skip directory if patches directory is empty compat-wireless: refresh patches compat-wireless: fix disable_bt compat-wireless: fix intel drivers on driver-select compat-wireless: refresh patches for 2.6.38-rc7 compat-wireless: refresh crap patches for 2.6.38-rc7 compat-wireless: remove old pending-stable ignore patch compat-wireless: remove present stable patch ath9k memory leak on PAPRD compat-wireless: empty commit to bump tag based on compat.git updates compat-wireless: refresh patches for v2.6.38 final compat-wireless: fix gen-stable-release.sh for git tree updates compat-wireless: add ath9k linux-cherry-picks for 2.6.38 compat-wireless: fix 0008-ath9k-disable-beaconing-before-stopping-beacon-queue.patch compat-wireless: backport first series of patches for ath6kl from linux-next compat-wireless: add second series of cherry picks for ath6kl from linux-next compat-wireless: cherry pick ath6kl-Consolidating-hardware-configuration compat-wireless: backport two more ath6kl cherry picked patches from linux-next compat-wireless: backport two more ath6kl cherry picked patches compat-wireless: backport last set of cherry picked patches for ath6kl from linux-next compat-wireless: refresh linux-next-cherry-picks/ for 2.6.38 compat-wireless: cherry pick ath9k-Fix-a-PLL-hang-issue-observed-with-AR9485.patch compat-wireless: cherry pick for ath9k: ath9k_hw-Add-a-function-to-read-sqsum_dvc.patch compat-wireless: add missing hunk for 0009-ath9k-improve-reliability-of-beacon-transmission-and.patch compat-wireless: fix hunk for linux-next-cherry-picks/0009-ath9k-improve-reliability-of-beacon-transmission-and.patch compat-wireless: fix Makefile compat-wireless: add all pending-stable patches for 2.6.38 compat-wireless: refresh patches for v2.6.38.2 compat-wireless: update stable patches Senthil Balasubramanian (1): compat-wireless: Fix ath9k debug log issue. Sven-Haegar Koch (1): compat-wireless: fix activesync devices Timo Lindhorst (1): Add the header file for the new bluetooth management interface to the list of bluetooth include files. Walter Goldens (2): compat-wireless: complete rtlwifi/RTL8192CE support compat-wireless: unify some driver-select colors Updates from the Linux kernel: ============================================= We only include very specific changes for the supported subsystems: * 802.11 * Bluetooth * Ethernet Generated by using: git log v2.6.37..HEAD \ net/wireless/ \ net/mac80211/ \ net/rfkill/ \ drivers/net/wireless/ \ net/bluetooth/ \ drivers/bluetooth/ \ drivers/net/atl1c/ \ drivers/net/atl1e/ \ drivers/net/atlx/ \ include/linux/nl80211.h \ include/linux/rfkill.h \ include/net/cfg80211.h \ include/net/regulatory.h \ include/net/cfg80211.h >> ChangeLog-2.6.38-wireless git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-allstable.git commit 9d072975c751913f52a135235469f83645ee6528 Author: Larry Finger Date: Mon Feb 28 23:36:09 2011 -0600 rtl8187: Change rate-control feedback commit 6410db593e8c1b2b79a2f18554310d6da9415584 upstream. The driver for the RTL8187L chips returns IEEE80211_TX_STAT_ACK for all packets, even if the maximum number of retries was exhausted. In addition it fails to setup max_rates in the ieee80211_hw struct, This behavior may be responsible for the problems noted in Bug 14168. As the bug is very old, testers have not been found, and I do not have the case where the indicated signal is less than -70 dBm. Signed-off-by: Larry Finger Acked-by: Hin-Tak Leung Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit fd190dfb402d76c46392a13f990988f1158ca8ce Author: Felix Fietkau Date: Wed Mar 9 01:48:12 2011 +0100 ath9k: remove support for the FIF_PROMISC_IN_BSS filter flag commit 2e286947f1294239527c11f9f466ddce6466455b upstream. The hardware rx filter flag triggered by FIF_PROMISC_IN_BSS is overly broad and covers even frames with PHY errors. When this flag is enabled, this message shows up frequently during scanning or hardware resets: ath: Could not stop RX, we could be confusing the DMA engine when we start RX up Since promiscuous mode is usually not particularly useful, yet enabled by default by bridging (either used normally in 4-addr mode, or with hacks for various virtualization software), we should sacrifice it for better reliability during normal operation. This patch leaves it enabled if there are active monitor mode interfaces, since it's very useful for debugging. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit ef9d94d459e5fcf1f8183bf04afd61e2a9e22104 Author: Senthil Balasubramanian Date: Wed Dec 22 21:14:20 2010 +0530 ath9k_hw: Fix incorrect macversion and macrev checks commit ac45c12dfb3f727a5a7a3332ed9c11b4a5ab287e upstream. There are few places where we are checking for macversion and revsions before RTC is powered ON. However we are reading the macversion and revisions only after RTC is powered ON and so both macversion and revisions are actully zero and this leads to incorrect srev checks Incorrect srev checks can cause registers to be configured wrongly and can cause unexpected behavior. Fixing this seems to address the ASPM issue that we have observed. The laptop becomes very slow and hangs mostly with ASPM L1 enabled without this fix. fix this by reading the macversion and revisisons even before we start using them. There is no reason why should we delay reading this info until RTC is powered on as this is just a register information. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit d1fd5e3acfed51de3e0ece46bb23faa73e6ab4c5 Author: Senthil Balasubramanian Date: Wed Dec 22 19:17:18 2010 +0530 ath9k_hw: read and backup AR_WA register value even before chip reset on. commit 0a8d7cb0c8182df7a28ad719780071178c386f0f upstream. We need to read and backup AR_WA register value permanently and reading this after the chip is awakened results in this register being zeroed out. This seems to fix the ASPM with L1 enabled issue that we have observed. The laptop becomes very slow and hangs mostly with ASPM L1 enabled without this fix. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 4438a02fc4956f5f61918095708f183f5c63a9d3 Merge: fb4b10a 4cd72c6 Author: Linus Torvalds Date: Thu Mar 3 15:43:15 2011 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (42 commits) MAINTAINERS: Add Andy Gospodarek as co-maintainer. r8169: disable ASPM RxRPC: Fix v1 keys AF_RXRPC: Handle receiving ACKALL packets cnic: Fix lost interrupt on bnx2x cnic: Prevent status block race conditions with hardware net: dcbnl: check correct ops in dcbnl_ieee_set() e1000e: disable broken PHY wakeup for ICH10 LOMs, use MAC wakeup instead igb: fix sparse warning e1000: fix sparse warning netfilter: nf_log: avoid oops in (un)bind with invalid nfproto values dccp: fix oops on Reset after close ipvs: fix dst_lock locking on dest update davinci_emac: Add Carrier Link OK check in Davinci RX Handler bnx2x: update driver version to 1.62.00-6 bnx2x: properly calculate lro_mss bnx2x: perform statistics "action" before state transition. bnx2x: properly configure coefficients for MinBW algorithm (NPAR mode). bnx2x: Fix ethtool -t link test for MF (non-pmf) devices. bnx2x: Fix nvram test for single port devices. ... commit 6ea25a6c2b95cf916e844fe2bacdd1c15b72e4c5 Merge: 0a5f384 2b799a6 Author: David S. Miller Date: Tue Mar 1 12:38:18 2011 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 2b799a6b25bb9f9fbc478782cd9503e8066ab618 Author: Christian Lamparter Date: Sat Feb 26 12:58:06 2011 +0100 p54usb: add Senao NUB-350 usbid Reported-by: Mark Davis Cc: Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 2c27392dc4d4f5ee8a3967a520b8f6cac0418031 Author: Sujith Manoharan Date: Sun Feb 27 09:23:52 2011 +0530 ath9k_htc: Fix an endian issue The stream length/tag fields have to be in little endian format. Fixing this makes the driver work on big-endian platforms. Cc: stable@kernel.org Tested-by: raghunathan.kailasanathan@wipro.com Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 63453c05da685323d45b7063cc27cf5e44b4134c Author: Jussi Kivilinna Date: Thu Feb 24 12:25:42 2011 +0200 rndis_wlan: use power save only for BCM4320b BCM4320a breaks when enabling power save (bug 29732). So disable power save for anything but BCM4320b that is known to work. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit c86664e5a285af1afa06416e450e7c4af04daa7c Author: Jan Puk Date: Tue Feb 22 14:49:43 2011 +0100 carl9170: add Airlive X.USB a/b/g/n USBID "AirLive X.USB now works perfectly under a Linux environment!" Cc: Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 385918cc6af74e2b7ae10ec3ccaeea9a83e8e43e Author: Stanislaw Gruszka Date: Mon Feb 21 15:02:41 2011 +0100 ath9k: correct ath9k_hw_set_interrupts Commit 4df3071ebd92ef7115b409da64d0eb405d24a631 "ath9k_hw: optimize interrupt mask changes", changed ath9k_hw_set_interrupts function to enable interrupts regardless of function argument, what could possibly be wrong. Correct that behaviour and check "ints" arguments before enabling interrupts, also disable interrupts if ints do not have ATH9K_INT_GLOBAL flag set. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 79ae79c9aa496309ecc96a2c00b5427735dd3370 Merge: 0bf719d 41504cc Author: John W. Linville Date: Fri Feb 25 15:14:33 2011 -0500 Merge branch 'wireless-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 78794b2cdeac37ac1fd950fc9c4454b56d88ac03 Author: Linus Torvalds Date: Wed Feb 23 19:42:03 2011 -0800 Revert "Bluetooth: Enable USB autosuspend by default on btusb" This reverts commit 556ea928f78a390fe16ae584e6433dff304d3014. Jeff Chua reports that it can cause some bluetooth devices (he mentions an Bluetooth Intermec scanner) to just stop responding after a while with messages like [ 4533.361959] btusb 8-1:1.0: no reset_resume for driver btusb? [ 4533.361964] btusb 8-1:1.1: no reset_resume for driver btusb? from the kernel. See also https://bugzilla.kernel.org/show_bug.cgi?id=26182 for other reports. Reported-by: Jeff Chua Reported-by: Andrew Meakovski Reported-by: Jim Faulkner Acked-by: Greg KH Acked-by: Matthew Garrett Acked-by: Gustavo F. Padovan Cc: stable@kernel.org (for 2.6.37) Signed-off-by: Linus Torvalds commit d3bd1b4c89cceca42211cd5bd30508b903267229 Merge: 28801f3 0bf719d Author: David S. Miller Date: Tue Feb 22 11:53:05 2011 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 0bf719dfdecc5552155cbec78e49fa06e531e35c Author: Christian Lamparter Date: Fri Feb 11 01:48:42 2011 +0100 p54pci: update receive dma buffers before and after processing Documentation/DMA-API-HOWTO.txt states: "DMA transfers need to be synced properly in order for the cpu and device to see the most uptodate and correct copy of the DMA buffer." Cc: Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 4f919a3bc54da01db829c520ce4b1fabfde1c3f7 Author: Daniel J Blueman Date: Tue Feb 22 00:11:06 2011 +0800 fix cfg80211_wext_siwfreq lock ordering... I previously managed to reproduce a hang while scanning wireless channels (reproducible with airodump-ng hopping channels); subsequent lockdep instrumentation revealed a lock ordering issue. Without knowing the design intent, it looks like the locks should be taken in reverse order; please comment. ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.38-rc5-341cd #4 ------------------------------------------------------- airodump-ng/15445 is trying to acquire lock: (&rdev->devlist_mtx){+.+.+.}, at: [] cfg80211_wext_siwfreq+0xc6/0x100 but task is already holding lock: (&wdev->mtx){+.+.+.}, at: [] cfg80211_wext_siwfreq+0xbc/0x100 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (&wdev->mtx){+.+.+.}: [] lock_acquire+0xc6/0x280 [] mutex_lock_nested+0x6e/0x4b0 [] cfg80211_netdev_notifier_call+0x430/0x5f0 [] notifier_call_chain+0x8b/0x100 [] raw_notifier_call_chain+0x11/0x20 [] call_netdevice_notifiers+0x32/0x60 [] __dev_notify_flags+0x34/0x80 [] dev_change_flags+0x40/0x70 [] do_setlink+0x1fc/0x8d0 [] rtnl_setlink+0xf2/0x140 [] rtnetlink_rcv_msg+0x163/0x270 [] netlink_rcv_skb+0xa1/0xd0 [] rtnetlink_rcv+0x20/0x30 [] netlink_unicast+0x2ba/0x300 [] netlink_sendmsg+0x267/0x3e0 [] sock_sendmsg+0xe4/0x110 [] sys_sendmsg+0x253/0x3b0 [] system_call_fastpath+0x16/0x1b -> #0 (&rdev->devlist_mtx){+.+.+.}: [] __lock_acquire+0x1622/0x1d10 [] lock_acquire+0xc6/0x280 [] mutex_lock_nested+0x6e/0x4b0 [] cfg80211_wext_siwfreq+0xc6/0x100 [] ioctl_standard_call+0x5d/0xd0 [] T.808+0x163/0x170 [] wext_handle_ioctl+0x3a/0x90 [] dev_ioctl+0x6f2/0x830 [] sock_ioctl+0xfd/0x290 [] do_vfs_ioctl+0x9d/0x590 [] sys_ioctl+0x4a/0x80 [] system_call_fastpath+0x16/0x1b other info that might help us debug this: 2 locks held by airodump-ng/15445: #0: (rtnl_mutex){+.+.+.}, at: [] rtnl_lock+0x12/0x20 #1: (&wdev->mtx){+.+.+.}, at: [] cfg80211_wext_siwfreq+0xbc/0x100 stack backtrace: Pid: 15445, comm: airodump-ng Not tainted 2.6.38-rc5-341cd #4 Call Trace: [] ? print_circular_bug+0xfa/0x100 [] ? __lock_acquire+0x1622/0x1d10 [] ? trace_hardirqs_off_caller+0x29/0xc0 [] ? lock_acquire+0xc6/0x280 [] ? cfg80211_wext_siwfreq+0xc6/0x100 [] ? mark_held_locks+0x67/0x90 [] ? mutex_lock_nested+0x6e/0x4b0 [] ? cfg80211_wext_siwfreq+0xc6/0x100 [] ? mark_held_locks+0x67/0x90 [] ? cfg80211_wext_siwfreq+0xc6/0x100 [] ? cfg80211_wext_siwfreq+0xc6/0x100 [] ? ioctl_standard_call+0x5d/0xd0 [] ? __dev_get_by_name+0x9b/0xc0 [] ? ioctl_standard_call+0x0/0xd0 [] ? T.808+0x163/0x170 [] ? might_fault+0x72/0xd0 [] ? wext_handle_ioctl+0x3a/0x90 [] ? might_fault+0xbb/0xd0 [] ? dev_ioctl+0x6f2/0x830 [] ? put_lock_stats+0xe/0x40 [] ? lock_release_holdtime+0xac/0x150 [] ? sock_ioctl+0xfd/0x290 [] ? do_vfs_ioctl+0x9d/0x590 [] ? fget_light+0x1df/0x3c0 [] ? sys_ioctl+0x4a/0x80 [] ? system_call_fastpath+0x16/0x1b Signed-off-by: Daniel J Blueman Acked-by: Johannes Berg Signed-off-by: John W. Linville commit a866a2cc1c558089dd4c627eeb300142b1354474 Author: Gertjan van Wingerde Date: Sun Jan 30 13:22:41 2011 +0100 rt2x00: Fix WPA TKIP Michael MIC failures. As reported and found by Johannes Stezenbach: rt2800{pci,usb} do not report the Michael MIC in RXed frames, but do check the Michael MIC in hardware. Therefore we have to report to mac80211 that the received frame does not include the Michael MIC. https://bugzilla.kernel.org/show_bug.cgi?id=16608 Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 41504cce240f791f1e16561db95728c5537fbad9 Author: Fry, Donald H Date: Wed Feb 16 11:49:34 2011 -0800 iwlagn: Support new 5000 microcode. New iwlwifi-5000 microcode requires driver support for API version 5. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy commit 573cfde7aaeaadb0fd356ff2a14bdf9238967661 Author: Nick Kossifidis Date: Fri Feb 4 01:41:02 2011 +0200 ath5k: Fix fast channel switching Fast channel change fixes: a) Always set OFDM timings b) Don't re-activate PHY c) Enable only NF calibration, not AGC https://bugzilla.kernel.org/show_bug.cgi?id=27382 Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 5f04d5068a90602b93a7953e9a47c496705c6976 Author: Eric W. Biederman Date: Sun Feb 20 11:49:45 2011 -0800 net: Fix more stale on-stack list_head objects. From: Eric W. Biederman In the beginning with batching unreg_list was a list that was used only once in the lifetime of a network device (I think). Now we have calls using the unreg_list that can happen multiple times in the life of a network device like dev_deactivate and dev_close that are also using the unreg_list. In addition in unregister_netdevice_queue we also do a list_move because for devices like veth pairs it is possible that unregister_netdevice_queue will be called multiple times. So I think the change below to fix dev_deactivate which Eric D. missed will fix this problem. Now to go test that. Signed-off-by: David S. Miller commit 28bec7b845e10b68e6ba1ade5de0fc566690fc61 Author: Nikolay Ledovskikh Date: Fri Feb 18 19:59:53 2011 +0300 ath5k: Correct channel setting for AR2317 chip Correct channel setting function must be used for AR2317. When I tested ahb patch on bullet2 all seemed to work fine, but it couldn't connect another host (using ibss for example). During an analysis I observed that it's transmitting on another channel. I looked into madwifi code and understood that the problem is in channel setting function. So atheros RF2317 not fully handled in the current ath5k version and must be patched. Signed-off-by: Nikolay Ledovskikh Acked-by: Bob Copeland Signed-off-by: John W. Linville commit 00781a74ee34222ee3cdc36d4f3d9c844dddbd27 Author: Xose Vazquez Perez Date: Fri Feb 18 14:27:09 2011 +0100 wireless: rt2x00: rt2800pci.c: add two ids taken two RT35XX EDIMAX from DPO_RT3562_3592_3062_LinuxSTA_V2.4.1.1_20101217 Signed-off-by: Xose Vazquez Perez Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 05e7c99136554789e4cc060a63334ccaa08ad62d Author: Stanislaw Gruszka Date: Fri Feb 18 09:05:08 2011 +0100 mac80211: fix conn_mon_timer running after disassociate Low level driver could pass rx frames to us after disassociate, what can lead to run conn_mon_timer by ieee80211_sta_rx_notify(). That is obviously wrong, but nothing happens until we unload modules and resources are used after free. If kernel debugging is enabled following warning could be observed: WARNING: at lib/debugobjects.c:259 debug_print_object+0x65/0x70() Hardware name: HP xw8600 Workstation ODEBUG: free active (active state 0) object type: timer_list Modules linked in: iwlagn(-) iwlcore mac80211 cfg80211 aes_x86_64 aes_generic fuse cpufreq_ondemand acpi_cpufreq freq_table mperf xt_physdev ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables ipv6 ext3 jbd dm_mirror dm_region_hash dm_log dm_mod uinput hp_wmi sparse_keymap sg wmi arc4 microcode serio_raw ecb tg3 shpchp rfkill ext4 mbcache jbd2 sr_mod cdrom sd_mod crc_t10dif firewire_ohci firewire_core crc_itu_t mptsas mptscsih mptbase scsi_transport_sas ahci libahci pata_acpi ata_generic ata_piix floppy nouveau ttm drm_kms_helper drm i2c_algo_bit i2c_core video [last unloaded: cfg80211] Pid: 13827, comm: rmmod Tainted: G W 2.6.38-rc4-wl+ #22 Call Trace: [] ? warn_slowpath_common+0x7f/0xc0 [] ? warn_slowpath_fmt+0x46/0x50 [] ? debug_print_object+0x65/0x70 [] ? debug_check_no_obj_freed+0x125/0x210 [] ? debug_check_no_locks_freed+0xf7/0x170 [] ? kfree+0xc2/0x2f0 [] ? netdev_release+0x45/0x60 [] ? device_release+0x27/0xa0 [] ? kobject_release+0x8d/0x1a0 [] ? kobject_release+0x0/0x1a0 [] ? kref_put+0x37/0x70 [] ? kobject_put+0x27/0x60 [] ? netdev_run_todo+0x1ab/0x270 [] ? rtnl_unlock+0xe/0x10 [] ? ieee80211_unregister_hw+0x58/0x120 [mac80211] [] ? iwl_pci_remove+0xdb/0x22a [iwlagn] [] ? pci_device_remove+0x52/0x120 [] ? __device_release_driver+0x75/0xe0 [] ? driver_detach+0xd8/0xe0 [] ? bus_remove_driver+0x91/0x100 [] ? driver_unregister+0x62/0xa0 [] ? pci_unregister_driver+0x44/0xa0 [] ? iwl_exit+0x15/0x1c [iwlagn] [] ? sys_delete_module+0x1a2/0x270 [] ? trace_hardirqs_on_thunk+0x3a/0x3f [] ? system_call_fastpath+0x16/0x1b Acked-by: Johannes Berg Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 1b68e676204927f69e987b86a99e19e61cc37dcc Merge: 0f5cd45 e9036e3 Author: John W. Linville Date: Fri Feb 18 16:43:51 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-2.6 commit e9036e336a8e5640871e0006ea4a89982b25046f Author: Cho, Yu-Chen Date: Tue Feb 15 10:20:07 2011 +0800 Bluetooth: Add Atheros BT AR5BBU12 fw supported Add the btusb.c blacklist [0489:e02c] for Atheros AR5BBU12 BT and add to ath3k.c supported this device. Signed-off-by: Cho, Yu-Chen Signed-off-by: Gustavo F. Padovan commit 840af824b2bf9194ea596e0ddc7aa05066794ca1 Author: Vladislav P Date: Mon Feb 14 15:21:50 2011 -0200 Bluetooth: Release BTM while sleeping to avoid deadlock Signed-off-by: Vladislav P Signed-off-by: Gustavo F. Padovan commit 8efdd0cdc54f3bb5db464b3baf88f7441f54da47 Author: Oliver Neukum Date: Fri Feb 11 13:00:06 2011 +0100 Bluetooth: fix crash with quirky dongles doing sound Quirky dongles sometimes do not use the iso interface which causes a crash with runtime PM Signed-off-by: Oliver Neukum Signed-off-by: Gustavo F. Padovan commit 0f5cd45960173ba5b36727decbb4a241cbd35ef9 Author: Mohammed Shafi Shajakhan Date: Tue Feb 15 21:29:32 2011 +0530 ath9k: Fix ath9k prevents CPU to enter C3 states The DMA latency issue is observed only in Intel pinetrail platforms but in the driver we had a default PM-QOS value of 55. This caused unnecessary power consumption and battery drain in other platforms. Remove the pm-qos thing in the driver code and address the throughput issue in Intel pinetrail platfroms in user space using any one of the scripts in below links: http://www.kernel.org/pub/linux/kernel/people/mcgrof/scripts/cpudmalatency.c http://johannes.sipsolutions.net/files/netlatency.c.txt More details can be found in the following bugzilla link: https://bugzilla.kernel.org/show_bug.cgi?id=27532 This reverts the following commits: 98c316e348bedffa730e6f1e4baeb8a3c3e0f28b 4dc3530df7c0428b41c00399a7ee8c929406d181 10598c124ecabbbfd7522f74de19b8f7d52a1bee Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 5d17920bd4df6802fb48ccf8283721657c5a8257 Author: David S. Miller Date: Mon Feb 14 13:28:00 2011 -0800 iwlwifi: Delete iwl3945_good_plcp_health. Fixes this build warning: drivers/net/wireless/iwlwifi/iwl-3945.c:411:13: warning: 'iwl3945_good_plcp_health' defined but not used As per Johannes Berg. Signed-off-by: David S. Miller commit 8bc26a008f61eac5631701cbd65f88c015a63280 Merge: ddfdb50 a7b545f Author: David S. Miller Date: Mon Feb 14 12:51:42 2011 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit a7b545f7fe753ca3dc1b51ca57f90cd59d974e44 Author: Eliad Peller Date: Tue Feb 8 18:43:19 2011 +0200 mac80211: add missing locking in ieee80211_reconfig When suspending an associated system, and then resuming, the station vif is being reconfigured without taking the sdata->u.mgd.mtx lock, which results in the following warning: WARNING: at net/mac80211/mlme.c:101 ieee80211_ap_probereq_get+0x58/0xb8 [mac80211]() Modules linked in: wl12xx_sdio wl12xx firmware_class crc7 mac80211 cfg80211 [last unloaded: crc7] Backtrace: [] (dump_backtrace+0x0/0x118) from [] (dump_stack+0x20/0x24) r7:00000000 r6:bf12d6ec r5:bf154aac r4:00000065 [] (dump_stack+0x0/0x24) from [] (warn_slowpath_common+0x5c/0x74) [] (warn_slowpath_common+0x0/0x74) from [] (warn_slowpath_null+0x2c/0x34) r9:000024ff r8:cd006460 r7:00000001 r6:00000000 r5:00000000 r4:cf1394a0 [] (warn_slowpath_null+0x0/0x34) from [] (ieee80211_ap_probereq_get+0x58/0xb8 [mac80211]) [] (ieee80211_ap_probereq_get+0x0/0xb8 [mac80211]) from [] (wl1271_cmd_build_ap_probe_req+0x30/0xf8 [wl12xx]) r4:cd007440 [] (wl1271_cmd_build_ap_probe_req+0x0/0xf8 [wl12xx]) from [] (wl1271_op_bss_info_changed+0x4c4/0x808 [wl12xx]) r5:cd007440 r4:000003b4 [] (wl1271_op_bss_info_changed+0x0/0x808 [wl12xx]) from [] (ieee80211_bss_info_change_notify+0x1a4/0x1f8 [mac80211]) [] (ieee80211_bss_info_change_notify+0x0/0x1f8 [mac80211]) from [] (ieee80211_reconfig+0x4d0/0x668 [mac80211]) r8:cf0eeea4 r7:cd00671c r6:00000000 r5:cd006460 r4:cf1394a0 [] (ieee80211_reconfig+0x0/0x668 [mac80211]) from [] (ieee80211_resume+0x60/0x70 [mac80211]) [] (ieee80211_resume+0x0/0x70 [mac80211]) from [] (wiphy_resume+0x6c/0x7c [cfg80211]) r5:cd006248 r4:cd006110 [] (wiphy_resume+0x0/0x7c [cfg80211]) from [] (legacy_resume+0x38/0x70) r7:00000000 r6:00000000 r5:cd006248 r4:cd0062fc [] (legacy_resume+0x0/0x70) from [] (device_resume+0x168/0x1a0) r8:c04ca8d8 r7:cd00627c r6:00000010 r5:cd006248 r4:cd0062fc [] (device_resume+0x0/0x1a0) from [] (dpm_resume_end+0xf8/0x3bc) r7:00000000 r6:00000005 r5:cd006248 r4:cd0062fc [] (dpm_resume_end+0x0/0x3bc) from [] (suspend_devices_and_enter+0x1b0/0x204) [] (suspend_devices_and_enter+0x0/0x204) from [] (enter_state+0xf0/0x148) r7:c037e978 r6:00000003 r5:c043d807 r4:00000000 [] (enter_state+0x0/0x148) from [] (state_store+0xa4/0xcc) r7:c037e978 r6:00000003 r5:00000003 r4:c043d807 [] (state_store+0x0/0xcc) from [] (kobj_attr_store+0x20/0x24) [] (kobj_attr_store+0x0/0x24) from [] (sysfs_write_file+0x11c/0x150) [] (sysfs_write_file+0x0/0x150) from [] (vfs_write+0xc0/0x14c) [] (vfs_write+0x0/0x14c) from [] (sys_write+0x4c/0x78) r8:40126000 r7:00000004 r6:cf1a7c80 r5:00000000 r4:00000000 [] (sys_write+0x0/0x78) from [] (ret_fast_syscall+0x0/0x30) r8:c00502c8 r7:00000004 r6:403525e8 r5:40126000 r4:00000004 Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit c91d01556f52255a31575be0cb1981c92a2a5028 Author: Stanislaw Gruszka Date: Wed Feb 9 08:46:06 2011 +0100 iwl3945: remove plcp check Patch fixes: https://bugzilla.redhat.com/show_bug.cgi?id=654599 Many users report very low speed problem on 3945 devices, this patch fixes problem, but only for some of them. For unknown reason, sometimes after hw scanning, device is not able to receive frames at high rate. Since plcp health check may request hw scan to "reset radio", performance problem start to be observable after update kernel to .35, where plcp check was introduced. Bug reporter confirmed that removing plcp check fixed problem for him. Reported-and-tested-by: SilvioTO Cc: stable@kernel.org # 2.6.35+ Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 5dc0fa782ad4a2cfad93c016765492083e687cf3 Merge: fc7c976 e733fb6 Author: John W. Linville Date: Wed Feb 9 15:30:42 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-2.6 commit e0985f27ddc3cd49c56fc3a76ec4ae3a594315d0 Merge: 429a01a fc7c976 Author: David S. Miller Date: Tue Feb 8 12:03:54 2011 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit fc7c976dc7a565213393ce700d4a6105f037bf20 Author: Felix Fietkau Date: Mon Feb 7 12:05:00 2011 +0100 mac80211: fix the skb cloned check in the tx path Using skb_header_cloned to check if it's safe to write to the skb is not enough - mac80211 also touches the tailroom of the skb. Initially this check was only used to increase a counter, however this commit changed the code to also skip skb data reallocation if no extra head/tailroom was needed: commit 4cd06a344db752f513437138953af191cbe9a691 mac80211: skip unnecessary pskb_expand_head calls It added a regression at least with iwl3945, which is fixed by this patch. Reported-by: Dmitry Torokhov Signed-off-by: Felix Fietkau Tested-by: Dmitry Torokhov Signed-off-by: John W. Linville commit 3dd823e6b86407aed1a025041d8f1df77e43a9c8 Author: Don Fry Date: Sun Feb 6 09:29:45 2011 -0800 iwlagn: Re-enable RF_KILL interrupt when down With commit 554d1d027b19265c4aa3f718b3126d2b86e09a08 only one RF_KILL interrupt will be seen by the driver when the interface is down. Re-enable the interrupt when it occurs to see all transitions. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Cc: stable@kernel.org Signed-off-by: John W. Linville commit 9cf04dcc9c5ef884e952b2f461f39f682ef5c051 Author: Mohammed Shafi Shajakhan Date: Fri Feb 4 18:38:23 2011 +0530 ath9k: Fix possible double free of PAPRD skb's This patch reverts the following commit ath9k: remove bfs_paprd_timestamp from struct ath_buf_state Under high interference/noisy environment conditions where PAPRD frames fails heavily introduces a possibility of double freeing skb's and causes kernel panic after some time.This patch reverts back to the original approach of using paprd_timestamp before freeing the PAPRD frame skb's [ 194.193705] Pid: 0, comm: swapper Tainted: G D WC 2.6.35-22-generic #33-Ubuntu [ 194.193712] Call Trace: [ 194.193722] [] ? printk+0x2d/0x35 [ 194.193732] [] panic+0x5a/0xd2 [ 194.193741] [] oops_end+0xcd/0xd0 [ 194.193750] [] die+0x54/0x80 [ 194.193758] [] do_trap+0x96/0xc0 [ 194.193837] [] ? do_invalid_op+0x0/0xa0 [ 194.193846] [] do_invalid_op+0x8b/0xa0 [ 194.193856] [] ? kfree+0xec/0xf0 [ 194.193866] [] ? default_spin_lock_flags+0x8/0x10 [ 194.193877] [] ? free_one_page+0x12a/0x2d0 [ 194.193888] [] ? __free_pages+0x1c/0x40 [ 194.193897] [] error_code+0x73/0x78 [ 194.193906] [] ? kfree+0xec/0xf0 [ 194.193915] [] ? skb_release_data+0x70/0xa0 [ 194.193924] [] skb_release_data+0x70/0xa0 [ 194.193933] [] __kfree_skb+0x17/0x90 [ 194.193941] [] consume_skb+0x21/0x40 [ 194.193964] [] ieee80211_tx_status+0x760/0x860 [mac80211] [ 194.193979] [] ath_tx_complete_buf+0x1bf/0x2c0 [ath9k] [ 194.193988] [] ? _raw_spin_lock_irqsave+0x2f/0x50 [ 194.193997] [] ? skb_queue_tail+0x3e/0x50 [ 194.194010] [] ath_tx_complete_aggr+0x823/0x940 [ath9k] [ 194.194021] [] ? sched_clock+0x8/0x10 [ 194.194030] [] ? sched_clock_local+0xa4/0x180 [ 194.194040] [] ? enqueue_sleeper+0x1e7/0x2b0 [ 194.194051] [] ? enqueue_entity+0x174/0x200 [ 194.194064] [] ath_tx_edma_tasklet+0x2bd/0x3b0 [ath9k] [ 194.194074] [] ? _raw_spin_lock_irqsave+0x2f/0x50 [ 194.194088] [] ath9k_tasklet+0x9f/0x190 [ath9k] [ 194.194097] [] tasklet_action+0xa7/0xb0 [ 194.194107] [] __do_softirq+0x9c/0x1b0 [ 194.194117] [] ? irq_to_desc+0x14/0x20 [ 194.194126] [] ? ack_apic_level+0x64/0x1f0 [ 194.194136] [] do_softirq+0x45/0x50 [ 194.194145] [] irq_exit+0x65/0x70 [ 194.194153] [] do_IRQ+0x55/0xc0 [ 194.194162] [] ? hrtimer_start+0x27/0x30 [ 194.194171] [] common_interrupt+0x30/0x38 [ 194.194181] [] ? native_safe_halt+0xa/0x10 [ 194.194268] [] default_idle+0x49/0xb0 [ 194.194277] [] cpu_idle+0x8c/0xd0 [ 194.194286] [] rest_init+0x71/0x80 [ 194.194295] [] start_kernel+0x36e/0x374 [ 194.194305] [] ? pass_all_bootoptions+0x0/0xa [ 194.194314] [] i386_start_kernel+0xd7/0xdf [ 194.194364] panic occurred, switching back to text console Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 5820de5303f73d48dcc3a053c875d1f0da7eef67 Author: Christian Lamparter Date: Thu Feb 3 22:22:55 2011 +0100 carl9170: fix typo in PS code This patch fixes a off-by-one bug which bugged the driver's PS-POLL capability. Cc: Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 4d048aac990d587c81fc1002e28502e6f95371ee Author: Jesper Juhl Date: Thu Feb 3 21:14:01 2011 +0100 wireless, wl1251: Fix potential NULL pointer dereference in wl1251_op_bss_info_changed() In drivers/net/wireless/wl1251/main.c:wl1251_op_bss_info_changed() we make a call to ieee80211_beacon_get() which may return NULL, but we do not check the return value before dereferencing the pointer. Signed-off-by: Jesper Juhl Signed-off-by: John W. Linville commit 94dde7e451fa70749fa68df3d70e4b20debe96a6 Author: Chuck Ebbert Date: Wed Feb 2 15:02:08 2011 -0800 atl1c: Add missing PCI device ID Commit 8f574b35f22fbb9b5e5f1d11ad6b55b6f35f4533 ("atl1c: Add AR8151 v2 support and change L0s/L1 routine") added support for a new adapter but failed to add it to the PCI device table. Signed-Off-By: Chuck Ebbert Signed-off-by: David S. Miller commit 4334ec8518cec3f7a4feeb3dacb46acfb24904d4 Author: Johannes Berg Date: Wed Feb 2 16:58:06 2011 +0100 mac80211: fix TX status cookie in HW offload case When the off-channel TX is done with remain-on-channel offloaded to hardware, the reported cookie is wrong as in that case we shouldn't use the SKB as the cookie but need to instead use the corresponding r-o-c cookie (XOR'ed with 2 to prevent API mismatches). Fix this by keeping track of the hw_roc_skb pointer just for the status processing and use the correct cookie to report in this case. We can't use the hw_roc_skb pointer itself because it is NULL'ed when the frame is transmitted to prevent it being used twice. This fixes a bug where the P2P state machine in the supplicant gets stuck because it never gets a correct result for its transmitted frame. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ff458edc0c5ec42b299547fb7eb9790a4aecc632 Author: Wey-Yi Guy Date: Mon Jan 31 13:56:03 2011 -0800 iwlagn: overwrite EEPROM chain setting for 6250 devices 6250 2x2 devices have 2 tx chain and 2 rx chain. For some reason, the EEPROM contain incorrect information and indicate it only has single tx chain. overwrite it with .cfg parameter to make sure both chain 'A' and chain 'B' can be used for transmit and receive Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit e733fb62082b3b187870dfba28d5f6730b8436c4 Author: Bao Liang Date: Sat Jan 29 21:39:37 2011 +0800 Bluetooth: Set conn state to BT_DISCONN to avoid multiple responses This patch fixes a minor issue that two connection responses will be sent for one L2CAP connection request. If the L2CAP connection request is first blocked due to security reason and responded with reason "security block", the state of the connection remains BT_CONNECT2. If a pairing procedure completes successfully before the ACL connection is down, local host will send another connection complete response. See the following packets captured by hcidump. 2010-12-07 22:21:24.928096 < ACL data: handle 12 flags 0x00 dlen 16 0000: 0c 00 01 00 03 19 08 00 41 00 53 00 03 00 00 00 ........A.S..... ... ... 2010-12-07 22:21:35.791747 > HCI Event: Auth Complete (0x06) plen 3 status 0x00 handle 12 ... ... 2010-12-07 22:21:35.872372 > ACL data: handle 12 flags 0x02 dlen 16 L2CAP(s): Connect rsp: dcid 0x0054 scid 0x0040 result 0 status 0 Connection successful Signed-off-by: Liang Bao Acked-by: Ville Tervo Signed-off-by: Gustavo F. Padovan commit 2ba5e1feaab2762cdf45b490e3f342fedb33f57b Merge: 62175c7 4796007 Author: David S. Miller Date: Tue Feb 1 13:08:59 2011 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 479600777bb588724d044815415f7d708d06644b Author: Mohammed Shafi Shajakhan Date: Mon Jan 31 13:25:29 2011 +0530 ath9k: Fix memory leak due to failed PAPRD frames free the skb's when the Tx of PAPRD frames fails and also add a debug message indicating that. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 9b00b4157f7b3265de291ac8979a5f1611ce64ab Author: Mathias Krause Date: Sun Jan 30 11:29:47 2011 +0100 wl12xx: fix use after free When DEBUG_SPI is included in the debug log level wl1271_spi_reset() will dump the already freed memory instead of the SPI buffer. This bug was spotted by the semantic patch tool coccinelle using the script found at scripts/coccinelle/free/kfree.cocci. More information about semantic patching is available at http://coccinelle.lip6.fr/ Signed-off-by: Mathias Krause Signed-off-by: John W. Linville commit c7c1806098752c1f46943d8db2c69aff07f5d4bc Author: Rajkumar Manoharan Date: Thu Jan 27 18:39:38 2011 +0530 ath9k: Fix power save usage count imbalance on deinit While unloading the driver, the ps_usecount is incremented before configuring gpio registers in deinit_device. But it is failed to restore the ps_usecount after that. The problem is that the chip is forcibly moved to FULL SLEEP by radio_disable when mac80211 is reporting as idle though ps_usecount is not zero. This patch retores ps_usecount properly and ensures that the chip is always moved to full sleep only if ps usage count is zero which also helps in debugging deadbeef on multivif case. And also fixes the following warning. ath: DMA failed to stop in 10 ms AR_CR=0xdeadbeef AR_DIAG_SW=0xdeadbeef 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:536 ath_stoprecv+0xf4/0x100 [ath9k]() Cc: stable@kernel.org Cc: Paul Stewart Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 5b64aa72ead6f8be488d2be7af579f0d69fb7a6e Author: Rajkumar Manoharan Date: Thu Jan 27 18:39:37 2011 +0530 ath9k_hw: Fix system hang when resuming from S3/S4 The bit 6 & 7 of AR_WA (0x4004) should be enabled only for the chips that are supporting L0s functionality while resuming back from S3/S4. Enabling these bits for AR9280 is causing system hang within a few S3/S4-resume cycles. Cc: stable@kernel.org Cc: Jack Lee Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit ea888357ec005abffb95acee2e61aac68dff429c Author: Stanislaw Gruszka Date: Tue Jan 25 14:15:12 2011 +0100 ath9k_htc: fix race conditions when stop device We do not kill any scheduled tasklets when stopping device, that may cause usage of resources after free. Disable interrupts, kill tasklets and then works in correct order. Cc: stable@kernel.org Tested-by: Sujith Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 203043f579ece44bb30291442cd56332651dd37d Author: Stanislaw Gruszka Date: Tue Jan 25 14:08:40 2011 +0100 ath9k: fix race conditions when stop device We do not kill any scheduled tasklets when stopping device, that may cause usage of resources after free. Moreover we enable interrupts in tasklet function, so we could potentially end with interrupts enabled when driver is not ready to receive them. I think patch should fix Ben's kernel crash from: http://marc.info/?l=linux-wireless&m=129438358921501&w=2 Cc: stable@kernel.org Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit c9234a662e38309d6fe272ad80e6cdb8d24654f0 Author: Bob Copeland Date: Mon Jan 24 23:31:44 2011 -0500 ath5k: correct endianness of frame duration The ath5k version of ieee80211_generic_frame_duration() returns an __le16 for standard modes but a cpu-endian int for turbo/half/ quarter rates. Make it always return cpu-endian values. Signed-off-by: Bob Copeland Acked-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 15411c27d203e363592d30ab00803254ebe77b90 Author: Bob Copeland Date: Mon Jan 24 23:31:43 2011 -0500 ath5k: fix error handling in ath5k_hw_dma_stop Review spotted a problem with the error handling in ath5k_hw_dma_stop: a successful return from ath5k_hw_stop_tx_dma will be treated as an error, so we always bail out of the loop after processing a single active queue. As a result, we may not actually stop some queues during reset. Signed-off-by: Bob Copeland Acked-by: Bruno Randolf Acked-by: Nick Kossifidis Reviewed-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit bc5892c9ec250b36c9287bd52a74d08d75a40152 Author: Chaoming Li Date: Fri Jan 21 13:57:37 2011 -0600 rtlwifi: Fix firmware upload errors When the source code from Realtek was prepared for kernel inclusion, some routines were refactored to reduce the level of indentation. This patch repairs errors introduced in that process. Signed-off-by: Chaoming Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 9b6941d8b103fe95d1a90b7996046be9ee0e55e4 Merge: de221bd acd9f9cc Author: David S. Miller Date: Wed Jan 26 11:49:49 2011 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 509e7861d8a5e26bb07b5a3a13e2b9e442283631 Author: Cho, Yu-Chen Date: Wed Jan 26 17:10:59 2011 +0800 Bluetooth: add Atheros BT AR9285 fw supported Add the btusb.c blacklist [03f0:311d] for Atheros AR9285 Malbec BT and add to ath3k.c ath3-1.fw (md5:1211fa34c09e10ba48381586b7c3883d) supported this device. Signed-off-by: Cho, Yu-Chen Signed-off-by: Gustavo F. Padovan commit 9c4cf6d94fb362c27a24df5223ed6e327eb7279a Author: Greg Kroah-Hartman Date: Tue Jan 25 17:42:29 2011 +0800 rt2x00: add device id for windy31 usb device This patch adds the device id for the windy31 USB device to the rt73usb driver. Thanks to Ralf Flaxa for reporting this and providing testing and a sample device. Reported-by: Ralf Flaxa Tested-by: Ralf Flaxa Cc: stable Signed-off-by: Greg Kroah-Hartman Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit eb3e554b4b3a56386ef5214dbe0e3935a350178b Author: Felix Fietkau Date: Mon Jan 24 19:28:49 2011 +0100 mac80211: fix a crash in ieee80211_beacon_get_tim on change_interface Some drivers (e.g. ath9k) do not always disable beacons when they're supposed to. When an interface is changed using the change_interface op, the mode specific sdata part is in an undefined state and trying to get a beacon at this point can produce weird crashes. To fix this, add a check for ieee80211_sdata_running before using anything from the sdata. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit bdc4bf652bc0271ba8f1f25bbd3dbac90bead44e Author: Jesper Juhl Date: Fri Jan 21 13:40:54 2011 -0600 rtlwifi: Fix possible NULL dereference In drivers/net/wireless/rtlwifi/pci.c::_rtl_pci_rx_interrupt() we call dev_alloc_skb(), which may fail and return NULL, but we do not check the returned value against NULL before dereferencing the returned pointer. This may lead to a NULL pointer dereference which means we'll crash - not good. In a separate call to dev_alloc_skb(), the debug level is changed so that the failure message will always be logged. Signed-off-by: Jesper Juhl Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 783cd01e140d9db5c2d2279a96b81e16f9d81fef Author: Felix Fietkau Date: Fri Jan 21 18:52:38 2011 +0100 ath9k: add missing ps wakeup/restore calls There are several places where ath_reset() was called without proper calls to ath9k_ps_wakeup/ath9k_ps_restore. To fix this, add those calls directly to ath_reset and drop them from callers where it makes sense. Also add them to the config callback around ath_update_txpow to fix a crash that happens when the tx power changed before any vif is brought up. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 6f4810101a629b31b5427872a09ea092cfc5c4bd Author: Luis R. Rodriguez Date: Thu Jan 20 17:47:39 2011 -0800 ath9k_hw: disabled PAPRD for AR9003 AR9003's PAPRD was enabled prematurely, and is causing some large discrepancies on throughput and network connectivity. For example downlink (RX) throughput against an AR9280 AP can vary widlely from 43-73 Mbit/s while disabling this gets AR9382 (2x2) up to around 93 Mbit/s in a 2.4 GHz HT20 setup. Cc: stable@kernel.org Cc: Paul Shaw Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 239712ebb2b4750431980d33993ea05c6ac7ff65 Author: Wey-Yi Guy Date: Thu Jan 20 08:08:04 2011 -0800 iwlwifi: don't read sku information from EEPROM for 4965 For all the new devices, the sku information should read from EEPROM but for legacy devices such as 4965, appearly the EEPROM does not contain the necessary information. so skip the read from EEPROM and go back to use software configuration. Reported-by: Helmut Schaa Signed-off-by: Wey-Yi Guy Tested-by: Helmut Schaa Signed-off-by: John W. Linville commit 6a108a14fa356ef607be308b68337939e56ea94e Author: David Rientjes Date: Thu Jan 20 14:44:16 2011 -0800 kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT The meaning of CONFIG_EMBEDDED has long since been obsoleted; the option is used to configure any non-standard kernel with a much larger scope than only small devices. This patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes references to the option throughout the kernel. A new CONFIG_EMBEDDED option is added that automatically selects CONFIG_EXPERT when enabled and can be used in the future to isolate options that should only be considered for embedded systems (RISC architectures, SLOB, etc). Calling the option "EXPERT" more accurately represents its intention: only expert users who understand the impact of the configuration changes they are making should enable it. Reviewed-by: Ingo Molnar Acked-by: David Woodhouse Signed-off-by: David Rientjes Cc: Greg KH Cc: "David S. Miller" Cc: Jens Axboe Cc: Arnd Bergmann Cc: Robin Holt Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1268afe676ee9431a229fc68a2efb0dad4d5852f Merge: c56eb8f 4580ccc Author: Linus Torvalds Date: Wed Jan 19 20:25:45 2011 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (41 commits) sctp: user perfect name for Delayed SACK Timer option net: fix can_checksum_protocol() arguments swap Revert "netlink: test for all flags of the NLM_F_DUMP composite" gianfar: Fix misleading indentation in startup_gfar() net/irda/sh_irda: return to RX mode when TX error net offloading: Do not mask out NETIF_F_HW_VLAN_TX for vlan. USB CDC NCM: tx_fixup() race condition fix ns83820: Avoid bad pointer deref in ns83820_init_one(). ipv6: Silence privacy extensions initialization bnx2x: Update bnx2x version to 1.62.00-4 bnx2x: Fix AER setting for BCM57712 bnx2x: Fix BCM84823 LED behavior bnx2x: Mark full duplex on some external PHYs bnx2x: Fix BCM8073/BCM8727 microcode loading bnx2x: LED fix for BCM8727 over BCM57712 bnx2x: Common init will be executed only once after POR bnx2x: Swap BCM8073 PHY polarity if required iwlwifi: fix valid chain reading from EEPROM ath5k: fix locking in tx_complete_poll_work ath9k_hw: do PA offset calibration only on longcal interval ... commit 765c2a964b49bd06b61a52991519281c85d82b67 Author: Johan Hedberg Date: Wed Jan 19 12:06:52 2011 +0530 Bluetooth: Fix race condition with conn->sec_level The conn->sec_level value is supposed to represent the current level of security that the connection has. However, by assigning to it before requesting authentication it will have the wrong value during the authentication procedure. To fix this a pending_sec_level variable is added which is used to track the desired security level while making sure that sec_level always represents the current level of security. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit d00ef24fc2923b65fdd440dc6445903e965841ac Author: Johan Hedberg Date: Wed Jan 19 12:06:51 2011 +0530 Bluetooth: Fix authentication request for L2CAP raw sockets When there is an existing connection l2cap_check_security needs to be called to ensure that the security level of the new socket is fulfilled. Normally l2cap_do_start takes care of this, but that function doesn't get called for SOCK_RAW type sockets. This patch adds the necessary l2cap_check_security call to the appropriate branch in l2cap_do_connect. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 8556edd32f01c50a3c99e44dc2c3b1252ea59605 Author: Johan Hedberg Date: Wed Jan 19 12:06:50 2011 +0530 Bluetooth: Create a unified auth_type evaluation function The logic for determining the needed auth_type for an L2CAP socket is rather complicated and has so far been duplicated in l2cap_check_security as well as l2cap_do_connect. Additionally the l2cap_check_security code was completely missing the handling of SOCK_RAW type sockets. This patch creates a unified function for the evaluation and makes l2cap_do_connect and l2cap_check_security use that function. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 65cf686ee102b7eb0477a4bab82ff227071a0258 Author: Johan Hedberg Date: Wed Jan 19 12:06:49 2011 +0530 Bluetooth: Fix MITM protection requirement preservation If an existing connection has a MITM protection requirement (the first bit of the auth_type) then that requirement should not be cleared by new sockets that reuse the ACL but don't have that requirement. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 88644bb9fee591b2743a881923263bc28df4cded Author: Johan Hedberg Date: Wed Jan 19 12:06:48 2011 +0530 Revert "Bluetooth: Update sec_level/auth_type for already existing connections" This reverts commit 045309820afe047920a50de25634dab46a1e851d. That commit is wrong for two reasons: - The conn->sec_level shouldn't be updated without performing authentication first (as it's supposed to represent the level of security that the existing connection has) - A higher auth_type value doesn't mean "more secure" like the commit seems to assume. E.g. dedicated bonding with MITM protection is 0x03 whereas general bonding without MITM protection is 0x04. hci_conn_auth already takes care of updating conn->auth_type so hci_connect doesn't need to do it. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 683d949a7fbf33c244670e34d35c460e0d6558cb Author: Lukáš Turek <8an@praha12.net> Date: Wed Jan 5 02:43:59 2011 +0100 Bluetooth: Never deallocate a session when some DLC points to it Fix a bug introduced in commit 9cf5b0ea3a7f1432c61029f7aaf4b8b338628884: function rfcomm_recv_ua calls rfcomm_session_put without checking that the session is not referenced by some DLC. If the session is freed, that DLC would refer to deallocated memory, causing an oops later, as shown in this bug report: https://bugzilla.kernel.org/show_bug.cgi?id=15994 Signed-off-by: Lukas Turek <8an@praha12.net> Signed-off-by: Gustavo F. Padovan commit e2e0cacbd4b0c7c69c7591d37c243f2363aeaa71 Author: Johan Hedberg Date: Tue Jan 4 12:08:50 2011 +0200 Bluetooth: Fix leaking blacklist when unregistering a hci device The blacklist should be freed before the hci device gets unregistered. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 4571928fc73589e9c5217cd069d2c0b4ff1818a8 Author: David Sterba Date: Fri Jan 14 14:59:44 2011 +0100 Bluetooth: l2cap: fix misuse of logical operation in place of bitop CC: Marcel Holtmann CC: "Gustavo F. Padovan" CC: João Paulo Rechi Vita Signed-off-by: David Sterba Signed-off-by: Gustavo F. Padovan commit 86e09287e4f8c81831b4d4118a48597565f0d21b Author: Alexander Holler Date: Mon Nov 22 21:09:01 2010 +0100 Bluetooth: ath3k: reduce memory usage There is no need to hold the firmware in memory. Signed-off-by: Alexander Holler Signed-off-by: Gustavo F. Padovan commit 38d59392b29437af3a702209b6a5196ef01f79a8 Author: Wey-Yi Guy Date: Tue Jan 18 07:59:13 2011 -0800 iwlwifi: fix valid chain reading from EEPROM When read valid tx/rx chains from EEPROM, there is a bug to use the tx chain value for both tx and rx, the result of this cause low receive throughput on 1x2 devices becuase rx will only utilize single chain instead of two chains Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 599b13adc2bf236da8f86a34b0b51168e19d3524 Author: Bob Copeland Date: Tue Jan 18 08:06:43 2011 -0500 ath5k: fix locking in tx_complete_poll_work ath5k_reset must be called with sc->lock. Since the tx queue watchdog runs in a workqueue and accesses sc, it's appropriate to just take the lock over the whole function. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 811ea256b30b37091b5bbf41517404cf98ab56c1 Author: Rajkumar Manoharan Date: Mon Jan 17 15:21:40 2011 +0530 ath9k_hw: do PA offset calibration only on longcal interval The power detector adc offset calibration has to be done on 4 minutes interval (longcal * pa_skip_count). But the commit "ath9k_hw: fix a noise floor calibration related race condition" makes the PA calibration executed more frequently beased on nfcal_pending value. Running PAOffset calibration lesser than longcal interval doesn't help anything and the worse part is that it causes NF load timeouts and RX deaf conditions. In a very noisy environment, where the distance b/w AP & station is ~10 meter and running a downlink udp traffic with frequent background scan causes "Timeout while waiting for nf to load: AR_PHY_AGC_CONTROL=0x40d1a" and moves the chip into deaf state. This issue was originaly reported in Android platform where the network-manager application does bgscan more frequently on AR9271 chips. (AR9285 family usb device). Cc: stable@kernel.org Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit dc738cb6c5d5594de4bdf3b7839a250b032152e7 Author: Rajkumar Manoharan Date: Sun Jan 16 10:56:37 2011 +0530 ath9k_htc: Fix endian issue in tx header Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 58c5296991d233f2e492aa7a884635bba478cf12 Author: Luis R. Rodriguez Date: Thu Jan 13 18:19:29 2011 -0800 ath9k_hw: ASPM interoperability fix for AR9380/AR9382 There is an interoperability with AR9382/AR9380 in L1 state with a few root complexes which can cause a hang. This is fixed by setting some work around bits on the PCIE PHY. We fix by using a new ini array to modify these bits when the radio is idle. Cc: stable@kernel.org Cc: Jack Lee Cc: Carl Huang Cc: David Quan Cc: Nael Atallah Cc: Sarvesh Shrivastava Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d018b6f4f1539f3679fbdc2d02d58d09e76be84a Merge: 18bce37 0f73f2c Author: Linus Torvalds Date: Fri Jan 14 13:25:30 2011 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits) GRETH: resolve SMP issues and other problems GRETH: handle frame error interrupts GRETH: avoid writing bad speed/duplex when setting transfer mode GRETH: fixed skb buffer memory leak on frame errors GRETH: GBit transmit descriptor handling optimization GRETH: fix opening/closing GRETH: added raw AMBA vendor/device number to match against. cassini: Fix build bustage on x86. e1000e: consistent use of Rx/Tx vs. RX/TX/rx/tx in comments/logs e1000e: update Copyright for 2011 e1000: Avoid unhandled IRQ r8169: keep firmware in memory. netdev: tilepro: Use is_unicast_ether_addr helper etherdevice.h: Add is_unicast_ether_addr function ks8695net: Use default implementation of ethtool_ops::get_link ks8695net: Disable non-working ethtool operations USB CDC NCM: Don't deref NULL in cdc_ncm_rx_fixup() and don't use uninitialized variable. vxge: Remember to release firmware after upgrading firmware netdev: bfin_mac: Remove is_multicast_ether_addr use in netdev_for_each_mc_addr ipsec: update MAX_AH_AUTH_LEN to support sha512 ... commit d73b388459b1ee2e80f8ff9c1916d75640d7d920 Merge: 5957e33 0f953bf Author: Linus Torvalds Date: Fri Jan 14 09:29:05 2011 -0800 Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI/PM: Report wakeup events before resuming devices PCI/PM: Use pm_wakeup_event() directly for reporting wakeup events PCI: sysfs: Update ROM to include default owner write access x86/PCI: make Broadcom CNB20LE driver EMBEDDED and EXPERIMENTAL x86/PCI: don't use native Broadcom CNB20LE driver when ACPI is available PCI/ACPI: Request _OSC control once for each root bridge (v3) PCI: enable pci=bfsort by default on future Dell systems PCI/PCIe: Clear Root PME Status bits early during system resume PCI: pci-stub: ignore zero-length id parameters x86/PCI: irq and pci_ids patch for Intel Patsburg PCI: Skip id checking if no id is passed PCI: fix __pci_device_probe kernel-doc warning PCI: make pci_restore_state return void PCI: Disable ASPM if BIOS asks us to PCI: Add mask bit definition for MSI-X table PCI: MSI: Move MSI-X entry definition to pci_regs.h Fix up trivial conflicts in drivers/net/{skge.c,sky2.c} that had in the meantime been converted to not use legacy PCI power management, and thus no longer use pci_restore_state() at all (and that caused trivial conflicts with the "make pci_restore_state return void" patch) commit 82694f764dad783a123394e2220b92b9be721b43 Author: Luciano Coelho Date: Wed Jan 12 15:18:11 2011 +0200 mac80211: use maximum number of AMPDU frames as default in BA RX When the buffer size is set to zero in the block ack parameter set field, we should use the maximum supported number of subframes. The existing code was bogus and was doing some unnecessary calculations that lead to wrong values. Thanks Johannes for helping me figure this one out. Cc: stable@kernel.org Cc: Johannes Berg Signed-off-by: Luciano Coelho Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 681c4d07dd5b2ce2ad9f6dbbf7841e479fbc7754 Author: Johannes Berg Date: Wed Jan 12 13:40:33 2011 +0100 mac80211: fix lockdep warning Since the introduction of the fixes for the reorder timer, mac80211 will cause lockdep warnings because lockdep confuses local->skb_queue and local->rx_skb_queue and treats their lock as the same. However, their locks are different, and are valid in different contexts (the former is used in IRQ context, the latter in BH only) and the only thing to be done is mark the former as a different lock class so that lockdep can tell the difference. Reported-by: Larry Finger Reported-by: Sujith Reported-by: Miles Lane Tested-by: Sujith Tested-by: Johannes Berg Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ccbd4d412dde4b7e858159e5cc8ba7ee4a6cac07 Author: Jesper Juhl Date: Tue Jan 11 00:47:44 2011 +0100 rt2x00: Don't leak mem in error path of rt2x00lib_request_firmware() We need to release_firmware() in order not to leak memory. Signed-off-by: Jesper Juhl Acked-by: Ivo van Doorn Acked-by: Pekka Enberg Signed-off-by: John W. Linville commit 35b3ac470b982ded560e1b2ec9206a8d186c3459 Author: Axel Lin Date: Mon Jan 10 10:26:00 2011 +0800 iwmc3200wifi: Return proper error for iwm_if_alloc In the case of alloc_netdev_mq failure and kmalloc failure, current implementation returns ERR_PTR(0). As a result, the caller of iwm_if_alloc does not catch the error by IS_ERR macro. Fix it by setting proper error code for ret variable in the failure cases. Signed-off-by: Axel Lin Signed-off-by: John W. Linville commit 008d23e4852d78bb2618f2035f8b2110b6a6b968 Merge: 8f685fb bfc672d Author: Linus Torvalds Date: Thu Jan 13 10:05:56 2011 -0800 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits) Documentation/trace/events.txt: Remove obsolete sched_signal_send. writeback: fix global_dirty_limits comment runtime -> real-time ppc: fix comment typo singal -> signal drivers: fix comment typo diable -> disable. m68k: fix comment typo diable -> disable. wireless: comment typo fix diable -> disable. media: comment typo fix diable -> disable. remove doc for obsolete dynamic-printk kernel-parameter remove extraneous 'is' from Documentation/iostats.txt Fix spelling milisec -> ms in snd_ps3 module parameter description Fix spelling mistakes in comments Revert conflicting V4L changes i7core_edac: fix typos in comments mm/rmap.c: fix comment sound, ca0106: Fix assignment to 'channel'. hrtimer: fix a typo in comment init/Kconfig: fix typo anon_inodes: fix wrong function name in comment fix comment typos concerning "consistent" poll: fix a typo in comment ... Fix up trivial conflicts in: - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c) - fs/ext4/ext4.h Also fix missed 'diabled' typo in drivers/net/bnx2x/bnx2x.h while at it. commit 4e5518ca53be29c1ec3c00089c97bef36bfed515 Author: Stanislaw Gruszka Date: Mon Jan 10 12:56:05 2011 +0100 hostap_cs: fix sleeping function called from invalid context pcmcia_request_irq() and pcmcia_enable_device() are intended to be called from process context (first function allocate memory with GFP_KERNEL, second take a mutex). We can not take spin lock and call them. It's safe to move spin lock after pcmcia_enable_device() as we still hold off IRQ until dev->base_addr is 0 and driver will not proceed with interrupts when is not ready. Patch resolves: https://bugzilla.redhat.com/show_bug.cgi?id=643758 Reported-and-tested-by: rbugz@biobind.com Cc: stable@kernel.org # 2.6.34+ Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 3c4a8cc46e8cc17910020964689f3faf6bffb8ad Author: Indan Zupancic Date: Sat Jan 8 12:17:27 2011 +0100 ipw2200: Check for -1 INTA in tasklet too. This is an attempt to fix a long standing open bug: http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=1334 The interrupt handler checks for INTA being -1, apparently that means that the hardware is gone. But the interrupt handler defers actual interrupt processing to a tasklet. By the time the tasklet is run and checks INTA again, the hardware might be gone and INTA be -1, which confuses the driver because all event bits are set. The patch applies to 2.6.37. Signed-off-by: Indan Zupancic Signed-off-by: John W. Linville commit 3b5c5827d1f80ad8ae844a8b1183f59ddb90fe25 Author: Christian Lamparter Date: Thu Jan 6 23:47:52 2011 +0100 p54: fix sequence no. accounting off-by-one error P54_HDR_FLAG_DATA_OUT_SEQNR is meant to tell the firmware that "the frame's sequence number has already been set by the application." Whereas IEEE80211_TX_CTL_ASSIGN_SEQ is set for frames which lack a valid sequence number and either the driver or firmware has to assign one. Yup, it's the exact opposite! Cc: Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 45007fd590c6b099cec5d36ea7056b00f8b4916a Author: Johannes Berg Date: Thu Jan 6 22:36:46 2011 +0100 nl80211: add/fix mesh docs Some mesh attribute/command docs are missing or have errors in the name so they don't match, fix all of them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f52555a4b2d229079155e6642ec09afa63d10cab Author: Johannes Berg Date: Thu Jan 6 22:36:45 2011 +0100 cfg80211: add mesh join/leave callback docs When I made the patch to add mesh join/leave I didn't pay attention to docs because it was a proof of concept, and then when we actually did merge it I forgot -- add docs now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 55de80d64545e5c4cca7f574fdf04b1f02a5f8fd Author: Sujith Manoharan Date: Wed Jan 5 01:06:21 2011 +0530 ath9k_htc: Really fix packet injection The chainmask value along with other configuration has to be set on the target for packet injection. Fix this and also move the monitor interface addition before the channel set segment to ensure that the opmode is updated properly. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 6d50192c17d4481c0e34c1ed2ae24fd7bc16e121 Author: Sujith Manoharan Date: Tue Jan 4 13:43:39 2011 +0530 ath9k_hw: Fix RX handling for USB devices Commit "ath9k_hw: Abort rx if hw is not coming out of full sleep in reset" uncondionally added aborting RX DMA in a HW reset, though it is a bit unclear as to why this is needed. Anyway, RX DMA is handled in the target for USB devices, and this would interfere with normal operations (scanning etc.), so fix this. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 69bdacc8fbac32e4dc804ab13cafe3c1bbdcba9d Author: Sujith Manoharan Date: Tue Jan 4 13:17:05 2011 +0530 ath9k_hw: Fix thermal issue with UB94 Hardcode the output voltage of x-PA bias LDO to the lowest value for UB94. The card doesn't get too hot now. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 07422063d43612762d53fac8b6df213c96f4b1f6 Author: Sujith Manoharan Date: Tue Jan 4 13:16:54 2011 +0530 ath9k_hw: Fix calibration for AR9287 devices AR9287 based devices have issues with ADC gain calibration which would cause uplink throughput drops in HT40 mode. Remove ADC gain from the supported calibration algorithms. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 6cae913d6c06557fee81aa8a181eafcc9a76516a Author: Sujith Manoharan Date: Tue Jan 4 13:16:37 2011 +0530 ath9k_hw: Fix chip test USB devices do not require the chip test routine. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 23d69b09b78c4876e134f104a3814c30747c53f1 Merge: e744070 569ff2d Author: Linus Torvalds Date: Fri Jan 7 16:58:04 2011 -0800 Merge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq * 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (33 commits) usb: don't use flush_scheduled_work() speedtch: don't abuse struct delayed_work media/video: don't use flush_scheduled_work() media/video: explicitly flush request_module work ioc4: use static work_struct for ioc4_load_modules() init: don't call flush_scheduled_work() from do_initcalls() s390: don't use flush_scheduled_work() rtc: don't use flush_scheduled_work() mmc: update workqueue usages mfd: update workqueue usages dvb: don't use flush_scheduled_work() leds-wm8350: don't use flush_scheduled_work() mISDN: don't use flush_scheduled_work() macintosh/ams: don't use flush_scheduled_work() vmwgfx: don't use flush_scheduled_work() tpm: don't use flush_scheduled_work() sonypi: don't use flush_scheduled_work() hvsi: don't use flush_scheduled_work() xen: don't use flush_scheduled_work() gdrom: don't use flush_scheduled_work() ... Fixed up trivial conflict in drivers/media/video/bt8xx/bttv-input.c as per Tejun. commit 06778b1c383afbdb88ffd837e117bec06a76f450 Author: Johannes Berg Date: Wed Dec 22 10:15:52 2010 +0100 mac80211: remove stray extern Somehow this snuck into my earlier patch, and only now did I see a compiler warning: net/mac80211/led.c:218:13: warning: function '__ieee80211_create_tpt_led_trigger' with external linkage has definition Remove the stray extern. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 90fc4b3a5ba24f09af2a8c4a723651a328949460 Author: Johannes Berg Date: Sat Dec 18 17:20:48 2010 +0100 mac80211: implement off-channel TX using hw r-o-c offload When the driver has remain-on-channel offload, implement off-channel transmission using that primitive. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 21f83589644bb2ed98079bf1e2154c8e70ca6a6c Author: Johannes Berg Date: Sat Dec 18 17:20:47 2010 +0100 mac80211: implement hardware offload for remain-on-channel This allows drivers to support remain-on-channel offload if they implement smarter timing or need to use a device implementation like iwlwifi. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c96e96354a6c9456cdf1f150eca504e2ea35301e Merge: dbbe68b 33af881 Author: John W. Linville Date: Wed Jan 5 16:06:25 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem Conflicts: net/bluetooth/Makefile commit 33af88138b859f515b365a074e0a014d7cdbf846 Author: John W. Linville Date: Wed Jan 5 14:05:00 2011 -0500 ath9k: correct MODULE_PARM_DESC parameters for force_new_ani Signed-off-by: John W. Linville commit 18cb6e32e7aeea9c92af5793bee2b32536615502 Author: John W. Linville Date: Wed Jan 5 09:39:59 2011 -0500 ath5k: qualify global modparam_nohwcrypt variable Signed-off-by: John W. Linville commit 3e6109c57468ed320beefd2861fe2cc418cccfc2 Author: John W. Linville Date: Wed Jan 5 09:39:17 2011 -0500 ath9k: qualify global modparam_nohwcrypt variable Signed-off-by: John W. Linville commit 6303710d7aa62bfb154cd13ab5ab12cfa8baaf91 Merge: db98a6c d2460f4 Author: John W. Linville Date: Wed Jan 5 14:35:41 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit dbbe68bb12b34f3e450da7a73c20e6fa1f85d63a Merge: 7b26e5e 9fc3bbb Author: David S. Miller Date: Tue Jan 4 11:57:25 2011 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit db98a6cfcc9ac951067c9a2cb60459b618fd7b10 Author: roel kluin Date: Mon Jan 3 12:03:44 2011 -0800 libertas: down_interruptible() can return -EINTR, not EINTR Fix test in lbs_spi_thread(). down_interruptible() can return -EINTR, but not EINTR. Signed-off-by: Roel Kluin Cc: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit b5c34f662a3519d34f9634a14d8de638fdbe0ca3 Author: Johannes Berg Date: Mon Jan 3 19:51:09 2011 +0100 mac80211: fix some key comments and code The key documentation is slightly out of date, fix that. Also, the list entry in the key struct is no longer used that way, so list_del_init() isn't necessary any more there. Finally, ieee80211_key_link() is no longer invoked under RCU read lock, but rather with an appropriate station lock held. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cc72128750700d01c31f583a355c5f8f809498bb Author: Sujith Manoharan Date: Mon Jan 3 21:22:18 2011 +0530 ath9k_htc: Fix packet injection To inject a packet in monitor mode, a dummy station has to be associated with the monitor interface in the target. Failing to do this would result in a firmware crash on the device. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit a8851d10aadb46b25db4459aa0d1150c957d2bc1 Author: Dan Carpenter Date: Mon Jan 3 08:46:29 2011 +0300 ath5k: ath5k_eeprom_mode_from_channel() returns signed ath5k_eeprom_mode_from_channel() returns -1 on error but we're storing the result in "ee_mode" which is an unsigned char. This breaks the error handling. This patch makes "ee_mode" an int. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 2ae79d52cdac733037490486792a53de9fb8d6b6 Author: Mohammed Shafi Shajakhan Date: Fri Dec 31 20:49:00 2010 +0530 ath9k : few rate control clean ups Remove some obvious looking dead code and rename few functions Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 707e634326448190bfe2d937c44ec05c8dea63c4 Author: Christian Lamparter Date: Thu Dec 30 17:29:53 2010 +0100 Revert "mac80211: temporarily disable reorder release timer" This reverts enables the reorder release timer once again. The issues laid out in: Have been addressed by: mac80211: serialize rx path workers mac80211: ignore PSM bit of reordered frames Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 24a8fdad35835e8d71f7c4b978a246fafed2e7b4 Author: Christian Lamparter Date: Thu Dec 30 17:25:29 2010 +0100 mac80211: serialize rx path workers This patch addresses the issue of serialization between the main rx path and various reorder release timers. It converts the previously local "frames" queue into a global rx queue [rx_skb_queue]. This way, everyone (be it the main rx-path or some reorder release timeout) can add frames to it. Only one active rx handler worker [ieee80211_rx_handlers] is needed. All other threads which have lost the race of "runnning_rx_handler" can now simply "return", knowing that the thread who had the "edge" will also take care of their workload. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 1186488b4a4d4871e40cb1604ba3ede3d4b7cc90 Author: Rajkumar Manoharan Date: Thu Dec 30 19:07:44 2010 +0530 ath9k: fix beacon restart on channel change Restart the beacon timers only if the beacon was already configured. Otherwise beacons timers are restarted unnecessarily in unassociated state too. Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit bd8027a72a1af95efd1dc8ea6df2fd9724c885b2 Author: Mohammed Shafi Shajakhan Date: Thu Dec 30 12:18:01 2010 +0530 Revert "ath9k: Parse DTIM period from mac80211" This reverts commit 0ce3bcfc84900a64347b0fe1140229bd81314008. Event though with the above commit we obtain the configured DTIM period from the AP rather than always hardcoding it to '1', this seems to cause problems under the following scenarios: * Preventing association with broken AP's * Adds latency in roaming So its better to always use the safe value of '1' for dtim period Cc: Jouni Malinen Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit ff039c6fb372c87a3cc4fd25bb846790cb35edb8 Author: Bob Copeland Date: Wed Dec 29 17:09:02 2010 -0500 cfg80211: fix transposition of words in printk Fixes the misplaced article in the following: "cfg80211: Updating information on frequency 5785 MHz for 20 a MHz width channel with regulatory rule:" Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit f76b57b47e5fd423f9827c7b0ba7bbd06cca6b9b Author: Joel A Fernandes Date: Tue Dec 28 19:28:11 2010 -0600 mac80211: Fix mesh portal communication with other mesh nodes. Fixed a bug where if a mesh interface has a different MAC address from its bridge interface, then it would not be able to send data traffic to any other mesh node. This also adds support for communication between mesh nodes and external bridged nodes by using a 6 address format if the source is a node within the mesh and the destination is an external node proxied by a mesh portal. Signed-off-by: Joel A Fernandes Signed-off-by: John W. Linville commit 1c30cc19081c16b1fe73ac13f2cb2abc009cdcc4 Author: Felix Fietkau Date: Tue Dec 28 15:46:16 2010 +0100 ath9k_hw: fix dma descriptor rx error bit parsing An Rx DMA descriptor can have multiple error bits set, and some error bits (e.g. MIC failure) are filtered by the driver based on other criteria. Remove the 'else' in various error bit checks so that all error information is properly passed to the driver. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 1e1f4ad25fab29ca48b1166e74a81e9c89ddf0fb Author: Sujith Manoharan Date: Tue Dec 28 14:28:52 2010 +0530 ath9k_htc: Move LED/RFKILL code to htc_drv_gpio.c And add the copyright/license header. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 039a07215e0fca00c450f4bf1dc9b458bdfe8559 Author: Sujith Manoharan Date: Tue Dec 28 14:28:37 2010 +0530 ath9k_htc: Fix fast channel change When returning to the operating channel, a full HW reset has to be done instead of a fast channel change. Since sw_scan_complete() is called after the config() call for the home channel, we end up doing a FCC. Fix this issue by checking the OFFCHANNEL flag to determine FCC. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 73908674c6957082e8ab57daed57d2bb97a1ebba Author: Sujith Manoharan Date: Tue Dec 28 14:28:27 2010 +0530 ath9k_htc: Handle FATAL events The device has to be reset when a FATAL event is received. Not doing so would leave the card in a non-working state. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 66e3547431a8738416b508badfb9f326d11dabcc Author: Sujith Manoharan Date: Tue Dec 28 14:28:14 2010 +0530 ath9k_htc: Move work cancellation outside of mutex There is no need to lock the various work cancellation calls. This will be helpful when handling FATAL events. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit ff8f59b5bbdf1527235b8c88d859c7d23691324f Author: Sujith Manoharan Date: Tue Dec 28 14:28:05 2010 +0530 ath9k_htc: Handle pending URBs properly When doing a channel change, the pending URBs have to be killed properly on calling htc_stop(). This fixes the probe response timeout seen when sending UDP traffic at a high rate and running background scan at the same time. Cc: stable Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit ee832d3e9e72abf83931205a2f5379944be501c2 Author: Mohammed Shafi Shajakhan Date: Tue Dec 28 13:06:26 2010 +0530 ath9k: Few clean ups in beacon config parameters Some minor clean ups in assigning values to beacon config parameters Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 4cfda47b69d0a37e5fc0292addba6d0f5f671a14 Author: Christian Lamparter Date: Mon Dec 27 23:21:26 2010 +0100 mac80211: ignore PSM bit of reordered frames This patch tackles one of the problems of my reorder release timer patch from August. => What if the reorder release triggers and ap_sta_ps_end (called by ieee80211_rx_h_sta_process) accidentally clears the WLAN_STA_PS_STA flag, because 100ms ago - when the STA was still active - frames were put into the reorder buffer. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 5af3c1d195a6169a925a929e800dc4fce2a545ae Author: Helmut Schaa Date: Mon Dec 27 15:07:35 2010 +0100 rt2x00: Fix comment about removed spinlock The comment doesn't match the code anymore. Fix that. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 48103d25c4ca00a1d0692895f9aa68fcac6bc6af Author: Helmut Schaa Date: Mon Dec 27 15:07:16 2010 +0100 rt2x00: Remove unused interface spinlock Since the last user of intf->lock is gone we can safely remove it. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit bfe6a15d60671993eb3d4ac396b1f442ae08581c Author: Helmut Schaa Date: Mon Dec 27 15:06:57 2010 +0100 rt2x00: Simplify intf->delayed_flags locking Instead of protecting delayed_flags with a spinlock use atomic bitops to make the code more readable. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f833eea0a77b0910ea202468175bfc80470d44d0 Author: Helmut Schaa Date: Mon Dec 27 15:06:36 2010 +0100 rt2x00: Remove superfluous assignment of mpdu_density The tx desciptor already gets initialized to 0. Hence, there's no need to explicitly assign 0 to mpdu_density here. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 11f16aefcc07178972f149f1a1d53e6868481394 Author: Ismael Luceno Date: Mon Dec 27 15:06:17 2010 +0100 rt2x00: Fix panic on frame padding for rt2800 usb devices Backtrace: rt2800usb_write_tx_data rt2x00queue_write_tx_frame rt2x00mac_tx invoke_tx_handlers __ieee80211_tx ieee80211_tx virt_to_head_page ieee80211_xmit ieee80211_tx_skb ieee80211_scan_work schedule ieee80211_scan_work process_one_work ... It tried to expand the skb past it's end using skb_put. So I replaced it with a call to skb_padto, which takes the issue into account. Signed-off-by: Ismael Luceno Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 736e3acadce8438e610b897af2b1c472ed58444b Author: Gertjan van Wingerde Date: Mon Dec 27 15:05:55 2010 +0100 rt2x00: Fix pointer errors. Fix some pointer errors in the various calls to memcpy, memset and memmove. Although none of these errors are fatal (the expression used now results in the same pointer value) it is better to use the proper expression. All errors are having to deal with arrays. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a39fd6be19bde021314262a6d2193b3792c808db Author: Gertjan van Wingerde Date: Mon Dec 27 15:05:35 2010 +0100 rt2x00: remove intf->mac field. The mac field of the rt2x00_intf structure is written to once and used twice. In both these uses the mac address is available via other means. Remove this field as it does not appear to be necessary. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 773d1b98268a9effac047fd2ab1c47bf9f7a9e5f Author: Gertjan van Wingerde Date: Mon Dec 27 15:05:14 2010 +0100 rt2x00: Remove intf->bssid field. The bssid field in struct rt2x00_intf is only written to once, and is never read from. Remove this field, as it appears to not be needed. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5235189c8edddf2eb32982f814bc858b55e6350a Author: Johannes Stezenbach Date: Mon Dec 27 15:04:54 2010 +0100 rt2x00: allow txstatus_fifo w/o txstatus_tasklet When DRIVER_REQUIRE_TXSTATUS_FIFO is set, intialize the txstatus_fifo, but initialize rt2x00dev->txstatus_tasklet only when both DRIVER_REQUIRE_TXSTATUS_FIFO and rt2x00dev->ops->lib->txstatus_tasklet are set. This allows the txstatus_fifo to be used by rt2800usb which does not use txstatus_tasklet. Signed-off-by: Johannes Stezenbach Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c4d63244218bf93d1f0cdf4389e0906df8f506c1 Author: Johannes Stezenbach Date: Mon Dec 27 15:04:29 2010 +0100 rt2x00: simplify txstatus_fifo handling Signed-off-by: Johannes Stezenbach Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 97e2c40269e168df986daf94af1c62e07d4fc599 Author: Christian Lamparter Date: Sun Dec 26 18:22:29 2010 +0100 carl9170: fix usb pm suspend->resume woes This patch revamps some common code-paths which are shared between (re-)initialization and suspend/resume subroutines. It also adds some helpful comments about quirks and associated difficulties. It's quite big, but it should fix #25382: And hopefully the code is robust enough to deal with all possible suspend/resume scenarios without requiring the user to do any sort of manual and possibly dangerous work. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 3b386510f49ff5c6e6ac1001da4f3c922ae7de3f Author: Christian Lamparter Date: Sun Dec 26 18:22:16 2010 +0100 carl9170: reduce channel change delay By removing two "safety" msleeps (and an echo nop), the channel change delay is effectively halved. Previously, the delay could be as long as 260 ms and the device could not go off-channel without risking to miss the next DTIM beacon [interval ~307 ms]. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit c9e57f0fdccf74ef7884fed61d212e524b9c4bcd Author: Christian Lamparter Date: Sun Dec 26 18:21:53 2010 +0100 carl9170: add missing return-value check This patch adds a forgotten bail-out path. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit bb007554fe1f66c4796c7c7ae7bfc735fc8213f7 Author: Bob Copeland Date: Sun Dec 26 12:10:05 2010 -0500 ath5k: fix cycle counter inconsistent locking ath5k_reset is called from process context and takes the cc_lock with plain spin_lock(), but cc_lock can also be taken from tasklets in softirq context. Thus we need to at least use spin_lock_bh. This fixes the following lockdep warning: [ 19.967874] sky2 0000:01:00.0: eth0: enabling interface [ 19.982761] ieee80211 phy0: device now idle [ 20.904809] NET: Registered protocol family 17 [ 21.243857] ieee80211 phy0: device no longer idle - scanning [ 21.404343] [ 21.404346] ================================= [ 21.404450] [ INFO: inconsistent lock state ] [ 21.404518] 2.6.37-rc7-wl+ #242 [ 21.404582] --------------------------------- [ 21.404650] inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage. [ 21.404721] kworker/u:4/982 [HC0[0]:SC1[3]:HE1:SE0] takes: [ 21.404792] (&(&common->cc_lock)->rlock){+.?...}, at: [] ath5k_ani_calibration+0x29/0x5d9 [ath5k] [ 21.405011] {SOFTIRQ-ON-W} state was registered at: [ 21.405011] [] __lock_acquire+0x62f/0x13c1 [ 21.405011] [] lock_acquire+0xd5/0xf1 [ 21.405011] [] _raw_spin_lock+0x45/0x72 [ 21.405011] [] ath5k_reset+0x2c0/0x349 [ath5k] [ 21.405011] [] ath5k_start+0xb8/0x139 [ath5k] [ 21.405011] [] ieee80211_do_open+0x13f/0x819 [mac80211] [ 21.405011] [] ieee80211_open+0x63/0x66 [mac80211] [ 21.405011] [] __dev_open+0x8d/0xb6 [ 21.405011] [] __dev_change_flags+0x9d/0x114 [ 21.405011] [] dev_change_flags+0x18/0x44 [ 21.405011] [] do_setlink+0x23f/0x521 [ 21.405011] [] rtnl_setlink+0xe6/0xea [ 21.405011] [] rtnetlink_rcv_msg+0x18a/0x1a0 [ 21.405011] [] netlink_rcv_skb+0x35/0x7b [ 21.405011] [] rtnetlink_rcv+0x20/0x27 [ 21.405011] [] netlink_unicast+0x1bb/0x21e [ 21.405011] [] netlink_sendmsg+0x23b/0x288 [ 21.405011] [] sock_sendmsg+0xac/0xc4 [ 21.405011] [] sys_sendmsg+0x152/0x1a2 [ 21.405011] [] sys_socketcall+0x214/0x275 [ 21.405011] [] sysenter_do_call+0x12/0x36 [ 21.405011] irq event stamp: 138032 [ 21.405011] hardirqs last enabled at (138032): [] _raw_spin_unlock_irqrestore+0x3b/0x5e [ 21.405011] hardirqs last disabled at (138031): [] _raw_spin_lock_irqsave+0x18/0x7e [ 21.405011] softirqs last enabled at (138024): [] ieee80211_tx_skb+0x47/0x49 [mac80211] [ 21.405011] softirqs last disabled at (138027): [] do_softirq+0x63/0xb4 [ 21.405011] [ 21.405011] other info that might help us debug this: [ 21.405011] 3 locks held by kworker/u:4/982: [ 21.405011] #0: (name){+.+.+.}, at: [] process_one_work+0x1b8/0x41b [ 21.405011] #1: ((&(&local->scan_work)->work)){+.+.+.}, at: [] process_one_work+0x1b8/0x41b [ 21.405011] #2: (&local->mtx){+.+.+.}, at: [] ieee80211_scan_work+0x32/0x4a4 [mac80211] [ 21.405011] [ 21.405011] stack backtrace: [ 21.405011] Pid: 982, comm: kworker/u:4 Not tainted 2.6.37-rc7-wl+ #242 [ 21.405011] Call Trace: [ 21.405011] [] ? printk+0x1d/0x25 [ 21.405011] [] print_usage_bug+0x181/0x18b [ 21.405011] [] ? check_usage_forwards+0x0/0xb6 [ 21.405011] [] mark_lock+0x2a0/0x4aa [ 21.405011] [] ? trace_hardirqs_off+0xb/0xd [ 21.405011] [] __lock_acquire+0x5ba/0x13c1 [ 21.405011] [] ? trace_hardirqs_off_caller+0x18/0x8d [ 21.405011] [] ? trace_hardirqs_off+0xb/0xd [ 21.405011] [] ? local_clock+0x2c/0x4f [ 21.405011] [] ? save_trace+0x2/0xa0 [ 21.405011] [] ? mark_held_locks+0x43/0x5b [ 21.405011] [] ? _raw_spin_unlock_irqrestore+0x3b/0x5e [ 21.405011] [] ? ath5k_ani_calibration+0x29/0x5d9 [ath5k] [ 21.405011] [] lock_acquire+0xd5/0xf1 [ 21.405011] [] ? ath5k_ani_calibration+0x29/0x5d9 [ath5k] [ 21.405011] [] _raw_spin_lock_bh+0x4a/0x77 [ 21.405011] [] ? ath5k_ani_calibration+0x29/0x5d9 [ath5k] [ 21.405011] [] ath5k_ani_calibration+0x29/0x5d9 [ath5k] [ 21.405011] [] ? mark_held_locks+0x43/0x5b [ 21.405011] [] ath5k_tasklet_ani+0x1d/0x27 [ath5k] [ 21.405011] [] tasklet_action+0x96/0x137 [ 21.405011] [] __do_softirq+0xde/0x1c3 [ 21.405011] [] ? arch_get_unmapped_area_topdown+0x3b/0x127 [ 21.405011] [] ? __do_softirq+0x0/0x1c3 [ 21.405011] [] ? irq_exit+0x3d/0x49 [ 21.405011] [] ? do_IRQ+0x98/0xac [ 21.405011] [] ? common_interrupt+0x2e/0x34 [ 21.405011] [] ? sys_unshare+0x57/0x226 [ 21.405011] [] ? queue_delayed_work+0x1/0x27 [ 21.405011] [] ? ieee80211_queue_delayed_work+0x2e/0x33 [mac80211] [ 21.405011] [] ? ieee80211_scan_work+0x45f/0x4a4 [mac80211] [ 21.405011] [] ? process_one_work+0x26e/0x41b [ 21.405011] [] ? process_one_work+0x1b8/0x41b [ 21.405011] [] ? ieee80211_scan_work+0x0/0x4a4 [mac80211] [ 21.405011] [] ? worker_thread+0x18a/0x2a5 [ 21.405011] [] ? _raw_spin_unlock_irqrestore+0x47/0x5e [ 21.405011] [] ? worker_thread+0x0/0x2a5 [ 21.405011] [] ? kthread+0x67/0x6c [ 21.405011] [] ? kthread+0x0/0x6c [ 21.405011] [] ? kernel_thread_helper+0x6/0x10 Signed-off-by: Bob Copeland Acked-by: Bruno Randolf Signed-off-by: John W. Linville commit 44cefead807daf96d0f43eb494b1eb5edb5454bf Author: Brian Prodoehl Date: Sat Dec 25 14:34:43 2010 -0500 ath9k: fix spur mitigation no-spur case for AR9002 For the AR9002, the spur frequency read from the EEPROM is mangled before being compared against AR_NO_SPUR. This results in the driver trying to set up the spur mitigation for bogus spurs, rather than cleanly breaking out. Signed-off-by: Brian Prodoehl Signed-off-by: John W. Linville commit ad9082adfc0a6bdcef1bad2f22485575479d7a9d Author: Akinobu Mita Date: Sat Dec 25 15:03:58 2010 +0900 airo: use simple_write_to_buffer Simplify write file operation for /proc files by using simple_write_to_buffer(). Signed-off-by: Akinobu Mita Cc: "John W. Linville" Cc: linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org Signed-off-by: John W. Linville commit 52671e43dbfb0e0dfa5fab604cb3984bd1d777a6 Author: Senthil Balasubramanian Date: Thu Dec 23 21:06:57 2010 +0530 ath9k: spin_lock_bh is not required within tasklet context. Disabling BH is not required while running from a tasklet context and so replace spin_lock_bh with just spin_lock. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit cd017f25e391dfabaca185bb4a5aefd02fd6c0ca Author: Stanislaw Gruszka Date: Thu Dec 23 15:12:30 2010 +0100 iwlagn: fix scan tx antenna setting on 5Ghz band Looks that we do not set correctly antennas when scanning on 5Ghz band and when bluetooth is enabled, because priv->cfg->scan_tx_antennas[band] is only defined for IEEE80211_BAND_2GHZ. To fix we check band before limiting antennas to first one. This allow to remove hard coded cfg->scan_tx_antennas[band]. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit cd2c5486526b744fb505e18c9d981b35feaf283a Author: Bruno Randolf Date: Wed Dec 22 19:20:32 2010 +0900 ath5k: Move mac80211 functions into new file Move mac80211 functions into new file mac80211-ops.c to have a better separation and to make base.c smaller. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 0511af9e9a43c64dd7e23e642c9087710688768c Merge: 782a9e3 003ea98 Author: John W. Linville Date: Tue Jan 4 14:26:34 2011 -0500 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 782a9e31e81956a271375c0ba8d46fbb0480983e Merge: 5c4bc1c 17f9cc3 Author: John W. Linville Date: Tue Jan 4 14:25:28 2011 -0500 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6 commit d2460f4b2fa6dbdeec800414f9cf5b1fc8b71197 Author: Johannes Berg Date: Mon Jan 3 19:42:24 2011 +0100 mac80211: add missing synchronize_rcu commit ad0e2b5a00dbec303e4682b403bb6703d11dcdb2 Author: Johannes Berg Date: Tue Jun 1 10:19:19 2010 +0200 mac80211: simplify key locking removed the synchronization against RCU and thus opened a race window where we can use a key for TX while it is already freed. Put a synchronisation into the right place to close that window. Reported-by: Jussi Kivilinna Cc: stable@kernel.org [2.6.36+] Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 919bbad580445801c22ef6ccbe624551fee652bd Author: Milton Miller Date: Thu Dec 30 02:01:03 2010 -0600 mac80211: fix mesh forwarding when ratelimited too Commit b51aff057c9d0ef6c529dc25fd9f775faf7b6c63 said: Under memory pressure, the mac80211 mesh code may helpfully print a message that it failed to clone a mesh frame and then will proceed to crash trying to use it anyway. Fix that. Avoid the reference whenever the frame copy is unsuccessful regardless of the debug message being suppressed or printed. Cc: stable@kernel.org [2.6.27+] Signed-off-by: Milton Miller Signed-off-by: John W. Linville commit 554d1d027b19265c4aa3f718b3126d2b86e09a08 Author: Stanislaw Gruszka Date: Thu Dec 23 12:38:21 2010 +0100 iwlagn: enable only rfkill interrupt when device is down Since commit 6cd0b1cb872b3bf9fc5de4536404206ab74bafdd "iwlagn: fix hw-rfkill while the interface is down", we enable interrupts when device is not ready to receive them. However hardware, when it is in some inconsistent state, can generate other than rfkill interrupts and crash the system. I can reproduce crash with "kernel BUG at drivers/net/wireless/iwlwifi/iwl-agn.c:1010!" message, when forcing firmware restarts. To fix only enable rfkill interrupt when down device and after probe. I checked patch on laptop with 5100 device, rfkill change is still passed to user space when device is down. Signed-off-by: Stanislaw Gruszka Cc: stable@kernel.org Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 62e45c14fb9a978dca6c7a5dc8372cc8ea2f42c8 Author: Justin P. Mattock Date: Thu Dec 30 15:07:56 2010 -0800 wireless: comment typo fix diable -> disable. The below patch fixes a typo "diable" to "disable". Please let me know if this is correct or not. Signed-off-by: Justin P. Mattock Acked-by: Larry Finger Signed-off-by: Jiri Kosina commit e8a8b252fb37489f881957ab0f2f8ea9a2341dd1 Author: Stefan Weil Date: Sun Jan 2 15:12:42 2011 +0100 Fix spelling mistakes in comments milisecond -> millisecond meassge -> message Cc: Kalle Valo Cc: Jiri Kosina Cc: linux-kernel@vger.kernel.org Signed-off-by: Stefan Weil Signed-off-by: Jiri Kosina commit 17f7f4d9fcce8f1b75b5f735569309dee7665968 Merge: 041110a d7c1255 Author: David S. Miller Date: Sun Dec 26 22:37:05 2010 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/ipv4/fib_frontend.c commit 003ea98195eebdfcf476317b517e8c29a25b9d10 Author: Wey-Yi Guy Date: Wed Dec 15 08:06:23 2010 -0800 iwlwifi: remove reference to Gen2 The correct name should be used for the newer devices, remove reference to Gen2 Signed-off-by: Wey-Yi Guy commit bdb84fec61aab7047b1b108b6b6824c003bc4d11 Author: Johannes Berg Date: Wed Dec 15 06:07:56 2010 -0800 iwlagn: fix FH error # iw wlan0 interface add moni0 type monitor flags control # ip link set moni0 up causes a continuous spew of FH_ERROR from the device. Fix this by not setting the CTL2HOST filter by itself -- CTL + promisc works fine. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit e88735d711948a580741fd337afd4ec11c395174 Author: Wey-Yi Guy Date: Sat Dec 11 08:46:56 2010 -0800 iwlwifi: remove extra string For "led_mode" module parameters, string "led_mode" is duplicated twice, remove one. Signed-off-by: Wey-Yi Guy commit 1d3c16a818e992c199844954d95c17fd7ce6cbba Author: Jon Mason Date: Tue Nov 30 17:43:26 2010 -0600 PCI: make pci_restore_state return void pci_restore_state only ever returns 0, thus there is no benefit in having it return any value. Also, a large majority of the callers do not check the return code of pci_restore_state. Make the pci_restore_state a void return and avoid the overhead. Acked-by: Mauro Carvalho Chehab Signed-off-by: Jon Mason Signed-off-by: Jesse Barnes commit 17f9cc3124c97f50a19a7597e5f29f915b5b835c Author: Gustavo F. Padovan Date: Wed Dec 22 23:00:34 2010 -0200 Bluetooth: Improve handling of HCI control channel in bind Does not allow any channel different of HCI_CHANNEL_RAW and HCI_CHANNEL_CONTROL to bind. Signed-off-by: Gustavo F. Padovan commit 23bb57633df97ede067ea26f3cdc8a7ba2cd8109 Author: Johan Hedberg Date: Tue Dec 21 23:01:27 2010 +0200 Bluetooth: Fix __hci_request synchronization for hci_open_dev The initialization function used by hci_open_dev (hci_init_req) sends many different HCI commands. The __hci_request function should only return when all of these commands have completed (or a timeout occurs). Several of these commands cause hci_req_complete to be called which causes __hci_request to return prematurely. This patch fixes the issue by adding a new hdev->req_last_cmd variable which is set during the initialization procedure. The hci_req_complete function will no longer mark the request as complete until the command matching hdev->req_last_cmd completes. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit c71e97bfaadfa727669fcfcf12301744fd169091 Author: Johan Hedberg Date: Mon Dec 13 21:07:07 2010 +0200 Bluetooth: Add management events for controller addition & removal This patch adds Bluetooth Management interface events for controller addition and removal. The events correspond to the existing HCI_DEV_REG and HCI_DEV_UNREG stack internal events. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit f7b64e69c7c75c8e9f2d5e23edec8de1ce883bcc Author: Johan Hedberg Date: Mon Dec 13 21:07:06 2010 +0200 Bluetooth: Add read_info management command This patch implements the read_info command which is used to fetch basic info about an adapter. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit faba42eb2a8cf905ed26d540c3c93d429e327224 Author: Johan Hedberg Date: Mon Dec 13 21:07:05 2010 +0200 Bluetooth: Add read_index_list management command This patch implements the read_index_list command through which userspace can get a list of current adapter indices. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 02d981292ad3149e8e5f37cffbccedab1a8576d8 Author: Johan Hedberg Date: Mon Dec 13 21:07:04 2010 +0200 Bluetooth: Add read_version management command This patch implements the initial read_version command that userspace will use before any other management interface operations. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit e41d8b4e131a41f2a3b74aaa783b16aa46376d8e Author: Johan Hedberg Date: Mon Dec 13 21:07:03 2010 +0200 Bluetooth: Add error handling for managment command handlers The command handlers for bluetooth management messaging should be able to report errors (such as memory allocation failures) to the higher levels in the call stack. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 5c4bc1ce917d93ce8f7dd498fbec6881b3d7743a Author: Chaoming Li Date: Wed Dec 22 10:56:02 2010 -0600 rtlwifi: Fix large packet issue An RX buffer is set to 9100 bytes to receive 8K AMSDU; however, an skb of this size fails in the kernel. Signed-off-by: Chaoming Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 172128468f61e16e1427238278b9ad775584aa89 Author: Johannes Berg Date: Wed Dec 22 10:15:30 2010 +0100 mac80211: cleanup select_queue There's a redundant rcu_read_lock/unlock pair, a redundant variable, and a few redundant accesses to the 1d_to_ac array. Fix this to make the code neater and easier to follow. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit db7ec38d8e99f449856c11ffaef363a8eb5af90f Author: Mohammed Shafi Shajakhan Date: Wed Dec 22 12:20:12 2010 +0530 ath9k: Reset keycache on resume It looks like some hardware registers are left into undefined state after suspend/resume. At minimum, this can cause odd issues related to key cache and hardware trying to encrypt/decrypt frames unexpectedly. This seems to happen even when there is no keys configured, i.e., hardware can end up touching TX frames just based of invalid key cache context even if the driver is not asking a specific entry to be used. In addition, RX can likely be affected. This patch fixes this issue. Signed-off-by: Jouni Malinen Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit e6d8a817d00793eecd063b1548bbc954ab62b124 Author: Larry Finger Date: Tue Dec 21 19:40:40 2010 -0600 rtlwifi: rtl8192ce: Fix driver problem when radio switch off at module load If the radio enable switch is off when the driver is loaded, it is not possible to get radio output until the driver is unloaded and reloaded with the switch on. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 40d70dd12200ffeacfe9caaa8242e3ad2995bb5d Author: Jussi Kivilinna Date: Tue Dec 21 22:44:49 2010 +0200 rndis_wlan: add support for set_power_mgmt Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 49b35bd3f5bbc6997b24b04e9d4896f00cee3528 Author: Jussi Kivilinna Date: Tue Dec 21 22:44:42 2010 +0200 rndis_wlan: add support for set_cqm_rssi_config Device poller already reads current RSSI, so add support for set_cqm_rssi_config there. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit a3463a1fdc9aa0881760e54efbd62742275601a5 Author: Jussi Kivilinna Date: Tue Dec 21 22:44:34 2010 +0200 rndis_wlan: remove unused variable from priv structure Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit c2aa413279cde7c867fc90b07f83fff3c1e9e98d Author: Jussi Kivilinna Date: Tue Dec 21 22:44:27 2010 +0200 rndis_wlan: constify rndis_config_ops Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 21b27beca73ad7d2829fe9cc3e48054f69e3d9d3 Author: Jussi Kivilinna Date: Tue Dec 21 22:44:20 2010 +0200 rndis_wlan: turn radio off before interface is bring up Radio should be off when interface is down. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 0b578021745b61b2ff89f6bacbac5db08a9a8089 Author: Jussi Kivilinna Date: Tue Dec 21 22:44:12 2010 +0200 rndis_wlan: do not set default_key if not WEP key rndis_set_default_key did call add_wep_key to set default key on device, even if key is WPA. This caused rndis_wlan not work with wpa_supplicant in nl80211 mode (causing disconnect from AP). Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit bfe3850b0cfca6ba64395e2705d9a51cd044f374 Author: Jussi Kivilinna Date: Tue Dec 21 22:44:05 2010 +0200 rndis_wlan: scanning, workaround device returning incorrect bssid-list item count. Sometimes device returns wrong number of items in bssid-list. Appears that some specific beacons trigger this problem and leads to very poor scanning results. Workaround by ignoring num_items received from device and walkthrough full bssid-list buffer. v2: Fix buffer range checks and reading next item length. Old code read behind buffer on last item but didn't use those values as 'count' would also reach zero. Also fix resizing of buffer if device has larger buffer, old code assumed that BSSID-list OID would return same buffer size when it really can return yet another new larger length. Tested-by: Luís Picciochi Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit ab72efdf107e5b0e0a05efb8f24cc6c598ae31ea Author: Rafał Miłecki Date: Tue Dec 21 21:29:44 2010 +0100 b43: N-PHY: enable support for PHYs rev 3 and higher Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit d4814e69eec24f46a9f0a6d57b80e0a6add594c7 Author: Rafał Miłecki Date: Tue Dec 21 23:57:48 2010 +0100 b43: N-PHY: update 2056 radio on channel switch on rev3+ Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit d41446467320b7cbe550a85c44fd9d3cb12c119d Author: Rafał Miłecki Date: Tue Dec 21 19:40:18 2010 +0100 b43: N-PHY: use correct channel tables for rev4+ Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit aca434d36f38754392f53e7b16f90eab66ae95e0 Author: Rafał Miłecki Date: Tue Dec 21 11:50:22 2010 +0100 b43: N-PHY: avoid PHY hangs for rev 3 and 4 Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 94a5b0452410f8bdff27aa13592bec046fb6095d Author: Rafał Miłecki Date: Tue Dec 21 11:50:21 2010 +0100 b43: N-PHY: add init tables for 2056 radio Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit ea7ee14b8a6371f006d73333ef2b7fe929b6dab0 Author: Rafał Miłecki Date: Tue Dec 21 17:13:44 2010 +0100 b43: N-PHY: implement radio 2056 init steps Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit e41596a118a5cb15a045ef773dc117b2596e6a86 Author: Rafał Miłecki Date: Tue Dec 21 11:50:19 2010 +0100 b43: use correct firmware for newer cores Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit d0ce2d170585b7061a08af061d64ebb08c6782dd Author: Vasanthakumar Thiagarajan Date: Tue Dec 21 01:42:43 2010 -0800 ath9k_hw: Fix bug in eeprom data length validation for AR9485 The size of the eeprom data is 1088 bytes for AR9485. But a sanity check is done against 4K which would result in a 'potential read past the end of the buffer' smatch complaint. Reported-by: Dan Carpenter Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 0207c0c51a37659a92232e665f2a7fadec170556 Author: Bruno Randolf Date: Tue Dec 21 17:30:43 2010 +0900 ath5k: Use helper function to get eeprom mode from channel Introduce a helper function to get the EEPROM mode from channel and remove multiple similar switch statements. Also since it's now easy to get the EEPROM mode from the channel, use them inside the functions which need it, instead of passing a redundant ee_mode parameter. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 26a51ad7f285236ca593c57cffcaadd40514084a Author: Bruno Randolf Date: Tue Dec 21 17:30:37 2010 +0900 ath5k: Remove ATH5K_INI_RFGAIN defines, use band instead Remove redundant defines. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 51f00622e5664ae77fd6c8670ddd402d9b77ccc8 Author: Bruno Randolf Date: Tue Dec 21 17:30:32 2010 +0900 ath5k: Track current TX power separately from max TX power Add a new variable to keep track of the currently configured tx power. Before max_pwr was re-used for keeping the maximum allowed power as well as the current configuration. Doing a min() on it allows you to lower the txpower, but how would you be able to make it higher again? This patch fixes that by adding a new variable ah_cur_pwr which is used instead of txp_max_pwr to keep the current configuration. txp_max_pwr is used to check if we are within the limits. Another problem fixed by this patch is that it avoids setting a zero txpower when things are initialized first and the current power is not yet set. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 56bd29d361a53f3bf6b815b5bf570a23bdc55b35 Author: Bruno Randolf Date: Tue Dec 21 17:30:26 2010 +0900 ath5k: Separate powertable setup and writing And rename functions which write the powertable to make it clearer. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 26c7fc436422de5d6d2b491f777e965e96f5c3a2 Author: Bruno Randolf Date: Tue Dec 21 17:30:20 2010 +0900 ath5k: Simplify powertable recalculation Let ath5k_hw_txpower() decide if it can re-use the powertable or if it has to be recalculated instead of passing a 'fast' flag from the outside. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 6dab55bf7eb52ca21d5e6c97b97f70875fe41ddc Author: Dan Carpenter Date: Tue Dec 21 06:59:06 2010 +0300 ath9k: unlock on error path in ath9k_change_interface() There is a missing unlock when we hit the "No beacon slot available" error condition. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 8d6a686a0d20d39c202fdfc6fa7f1daf1d6e3b35 Author: Hauke Mehrtens Date: Tue Dec 21 02:01:56 2010 +0100 rtlwifi: Use pci_pcie_cap() Use function pci_pcie_cap() instead of accessing struct member directly. Signed-off-by: Hauke Mehrtens Tested-by: Larry Finger Signed-off-by: John W. Linville commit e40b5faabc34f61fdf17b40d2e31837461ddc467 Author: Hauke Mehrtens Date: Tue Dec 21 02:01:55 2010 +0100 ath9k: Use pci_is_pcie() Use function pci_is_pcie() instead of accessing struct member directly. CC: Luis R. Rodriguez Signed-off-by: Hauke Mehrtens Signed-off-by: John W. Linville commit e98b06b09be0fc459806aa4d2c301cfaf268c570 Author: Hauke Mehrtens Date: Tue Dec 21 02:01:54 2010 +0100 ath5k: Use pci_is_pcie() Use function pci_is_pcie() instead of accessing struct member directly. CC: Luis R. Rodriguez Signed-off-by: Hauke Mehrtens Signed-off-by: John W. Linville commit 2cdb9a42f3b4c97088ea0768dbee55ee8863f233 Author: Hauke Mehrtens Date: Tue Dec 21 02:01:53 2010 +0100 rt2x00: Use pci_is_pcie() Use function pci_is_pcie() instead of accessing struct member directly. Signed-off-by: Hauke Mehrtens Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 750de29109770f6b50daecc4c44aaa50a9e0075b Author: Hauke Mehrtens Date: Tue Dec 21 02:01:51 2010 +0100 wl12xx: remove unnecessary import No function declared in gpio.h is used here. Signed-off-by: Hauke Mehrtens Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit 63d9faf665ba27c65f0cf118df05a412d3dfd39d Author: Hauke Mehrtens Date: Tue Dec 21 02:01:50 2010 +0100 wl1251: remove unnecessary import No function declared in gpio.h is used here. Signed-off-by: Hauke Mehrtens Acked-by: Kalle Valo Signed-off-by: John W. Linville commit afe68d0a8f5961652e26cea39d74e2cc820de841 Author: Luis R. Rodriguez Date: Mon Dec 20 11:29:59 2010 -0500 ath9k: fix aphy / wiphy idle mismatch ath9k supports its own set of virtual wiphys, and it uses the mac80211 idle notifications to know when a device needs to be idle or not. We recently changed ath9k to force idle on driver stop() and on resume but forgot to take into account ath9k's own virtual wiphy idle states. These are used internally by ath9k to check if the device's radio should be powered down on each idle call. Without this change its possible that the device could have been forced off but the virtual wiphy idle was left on. Cc: stable@kernel.org Cc: Paul Stewart Cc: Amod Bodas Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d584747be838775cebbf5937c20b24da6899e3e8 Author: Rajkumar Manoharan Date: Mon Dec 20 14:39:51 2010 +0530 ath9k: Fix warnings on card removal The recently added warning message on power change failure is not needed on device removal. ath: Failed to wakeup in 500us ------------[ cut here ]------------ WARNING: at drivers/net/wireless/ath/ath9k/hw.c:1618 ath9k_hw_setpower+0x61f/0x630 [ath9k_hw]() Hardware name: 64756D6 Pid: 540, comm: kworker/u:3 Not tainted 2.6.37-rc6-wl #37 Call Trace: [] warn_slowpath_common+0x7a/0xb0 [] ? ath9k_iowrite32+0x0/0x90 [ath9k] [] warn_slowpath_null+0x15/0x20 [] ath9k_hw_setpower+0x61f/0x630 [ath9k_hw] [] ath9k_ps_wakeup+0x85/0xd0 [ath9k] [] ath9k_configure_filter+0x25/0x80 [ath9k] [] ieee80211_configure_filter+0x133/0x190 [mac80211] [] ieee80211_do_stop+0x132/0x540 [mac80211] [] ? _raw_spin_unlock_bh+0x1f/0x30 [] ? dev_deactivate+0x1c3/0x1e0 [] ieee80211_stop+0x15/0x20 [mac80211] [] __dev_close+0x56/0x90 Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 97dcec5715a381362c88d1542e52c63147764d3c Author: Sujith Manoharan Date: Mon Dec 20 08:02:42 2010 +0530 ath9k_htc: Fix warning on device removal The commit "ath9k_hw: warn if we cannot change the power to the chip" introduced a new warning to indicate chip powerup failures, but this is not required for devices that have been removed. Handle USB device removal properly by checking for unplugged status. For PCI devices, this warning will still be seen when the card is pulled out, not sure how to check for card removal. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 65a6538a56d4c7ae8465f2a8420ddc65877b6779 Author: Luciano Coelho Date: Tue Dec 21 16:02:17 2010 +0200 mac80211: check for CONFIG_MAC80211_LEDS in the tpt_led_trigger declaration If CONFIG_MAC80211_LEDS is not set, ieee80211_i.h was failing to compile, because struct led_trigger is only declared when CONFIG_LEDS_TRIGGERS is set. This patch adds ifdefs around the tpt_led_trigger declaration in ieee80211_i.h to avoid the problem. Signed-off-by: Luciano Coelho Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 67408c8c7b9daf28b50e33be3541334c07d15789 Author: Johannes Berg Date: Tue Nov 30 08:59:23 2010 +0100 mac80211: selective throughput LED trigger active The throughput LED trigger was always active when the radio was enabled. In most cases that's likely the desired behaviour, but iwlwifi requires it to be only active when one of the virtual interfaces is actually "connected" in some way. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e1e5406854378dfada3f33c7192b012083a5b8e0 Author: Johannes Berg Date: Tue Nov 30 08:58:45 2010 +0100 mac80211: add throughput based LED blink trigger iwlwifi and other drivers like to blink their LED based on throughput. Implement this generically in mac80211, based on a throughput table the driver specifies. That way, drivers can set the blink frequencies depending on their desired behaviour and max throughput. All the drivers need to do is provide an LED class device, best with blink hardware offload. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit fe67c913f1ec2a01aaa9176c80ef36eaf87d705d Author: Johannes Berg Date: Sat Nov 27 20:02:59 2010 +0100 mac80211: make LED trigger names available early The throughput trigger will require doing LED classdev/trigger handling before register_hw(), so drivers should have access to the trigger names before it. If trigger registration fails, this will still make the trigger name available, but that's not a big problem since the default trigger will the simply not be found. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 63e35cd9bd4c8ae085c8b9a70554595b529c4100 Merge: 503b1a5 3d986b2 Author: John W. Linville Date: Wed Dec 22 14:27:21 2010 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem Conflicts: drivers/net/wireless/iwlwifi/iwl-1000.c drivers/net/wireless/iwlwifi/iwl-6000.c drivers/net/wireless/iwlwifi/iwl-core.h commit 3cfeb0c33f5cbcc6dde371392877ef3101b8f805 Author: John W. Linville Date: Mon Dec 20 15:16:53 2010 -0500 rtl818x: move rtl8180 and rtl8187 to separate subdirectories These drivers share one header file, but nothing else. Worse, both drivers use the rtl8225 part with different register settings. The results has been some ugly naming -- let's simplify that. Signed-off-by: John W. Linville Acked-by: Hin-Tak Leung Acked-by: Larry Finger Acked-by: Herton Ronaldo Krzesinski commit 4b7bd364700d9ac8372eff48832062b936d0793b Merge: c0d8768 90a8a73 Author: Jiri Kosina Date: Wed Dec 22 18:57:02 2010 +0100 Merge branch 'master' into for-next Conflicts: MAINTAINERS arch/arm/mach-omap2/pm24xx.c drivers/scsi/bfa/bfa_fcpim.c Needed to update to apply fixes for which the old branch was too outdated. commit 3d986b25b5faa50ba6afd94f60f270b6c3061e5e Author: John W. Linville Date: Thu Dec 16 14:59:49 2010 -0500 rtlwifi: use alloc_workqueue create_workqueue is deprecated. The workqueue usage does not seem to demand any special treatment, so do not set any flags either. Signed-off-by: John W. Linville Tested-by: Larry Finger Acked-by: Tejun Heo commit d4d5dc3d6f86cc70f08e45b840f3e681588d2718 Author: Felix Fietkau Date: Sun Dec 19 00:31:55 2010 +0100 ath9k: do not limit the chainmask to 1 for legacy mode Restricting the chainmask to 1 for legacy mode disables useful features such as MRC, and it reduces the available transmit power. I can't think of a good reason to do this in legacy mode, so let's just get rid of that code. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f1a8abb0459e96765bd1d300f434256d8dfac73d Author: Felix Fietkau Date: Sun Dec 19 00:31:54 2010 +0100 ath9k_hw: fix PA predistortion HT40 mask The commit 'ath9k_hw: Disable PAPRD for rates with low Tx power' changed the code that sets the PAPRD rate masks to use only either the HT20 mask or the HT40 mask. This is wrong, as the hardware can still use HT20 rates even when configured for HT40, and the operating channel mode does not affect PAPRD operation. The register for the HT40 rate mask is applied as a mask on top of the other registers to selectively disable PAPRD for specific rates on HT40 packets only. This patch changes the code back to the old behavior which matches the intended use of these registers. While with current cards this should not make any practical difference (according to Atheros, the HT20 and HT40 mask should always be equal), it is more correct that way, and maybe the HT40 mask will be used for some rare corner cases in the future. Cc: Vasanthakumar Thiagarajan Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f8a0a781488ec7288d1049e5d2022850aa98f7b6 Author: Felix Fietkau Date: Sat Dec 18 19:30:50 2010 +0100 mac80211: fix potentially redundant skb data copying When an skb is shared, it needs to be duplicated, along with its data buffer. If the skb does not have enough headroom, using skb_copy might cause the data buffer to be copied twice (once by skb_copy and once by pskb_expand_head). Fix this by using skb_clone initially and letting ieee80211_skb_resize sort out the rest. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 4cd06a344db752f513437138953af191cbe9a691 Author: Felix Fietkau Date: Sat Dec 18 19:30:49 2010 +0100 mac80211: skip unnecessary pskb_expand_head calls If the skb is not cloned and we don't need any extra headroom, there is no point in reallocating the skb head. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 489ee9195a7de9e6bc833d639ff6b553ffdad90e Author: Felix Fietkau Date: Sat Dec 18 19:30:48 2010 +0100 mac80211: fix initialization of skb->cb in ieee80211_subif_start_xmit The change 'mac80211: Fix BUG in pskb_expand_head when transmitting shared skbs' added a check for copying the skb if it's shared, however the tx info variable still points at the cb of the old skb Signed-off-by: Felix Fietkau Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit ae29fbb189c7a80677500c718c9ce08095ccde01 Author: Dan Carpenter Date: Sat Dec 18 11:52:10 2010 +0300 wl1251: wl12xx_get_platform_data() returns an ERR_PTR wl12xx_get_platform_data() returns an ERR_PTR on failure and it never returns a NULL. Signed-off-by: Dan Carpenter Acked-by: Kalle Valo Signed-off-by: John W. Linville commit d704300fa546a613ec3821b908528b20685cb92a Author: Larry Finger Date: Fri Dec 17 19:36:25 2010 -0600 rtlwifi: Fix use of mutex in interrupt code A previous conversion from semaphoreto mutexes missed the fact that one of the semaphores was used in interrupt code. Fixed by changing to a spinlock. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit b1c1d0003d6d07c3b269340b8ac3fd2b42fd5ebe Author: Mohammed Shafi Shajakhan Date: Fri Dec 17 20:44:36 2010 +0530 ath9k: Properly initialize channel table for 2GHz ath9k channel table for 2Ghz does not seems to initialize the 'band' parameter.Though it does not seems to cause any visible issue it looks odd when we initialize the 'band' parameter for 5Ghz channel table while not so for 2Ghz. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 18db45c46eae31cee7cfdfd7e671b0201dcdbcd8 Author: Anisse Astier Date: Fri Dec 17 11:45:01 2010 +0100 rtl8192ce: Fix typo in Kconfig description Signed-off-by: Anisse Astier Signed-off-by: John W. Linville commit 55821324dc6a10fab36871534a322bad159fad79 Author: Felix Fietkau Date: Fri Dec 17 00:57:01 2010 +0100 ath9k_hw: remove baseband rfsilent support When rfkill is enabled, ath9k_hw unnecessarily configured the baseband to turn off based on GPIO input, however that code was hardcoded to GPIO 0 instead of ah->rfkill_gpio. Since ath9k uses software rfkill anyway, this code is completely unnecessary and should be removed in case anything else ever uses GPIO 0. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 4b3ba66a47311770b21e7aba481f4f2a90ba3084 Author: Felix Fietkau Date: Fri Dec 17 00:57:00 2010 +0100 ath9k: fix queue depth check for forming new aggregates To improve aggregation length, there should not be more than two fully formed A-MPDU frames in the hardware queue. To ensure this, the code checks the tx queue length before forming new A-MPDUs. This can reduce the throughput (or maybe even starve out A-MPDU traffic) when too many non-aggregated frames are in the queue. Fix this by keeping track of pending A-MPDU frames (even when they're sent out as single frames), but exclude rate control probing frames to improve performance. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 5c405b5c3e435fd332058c59ee58eaa1ac9c513a Author: John W. Linville Date: Thu Dec 16 15:43:36 2010 -0500 rtl8192ce: drop 'rtl8192c-' prefix from files Signed-off-by: John W. Linville Tested-by: Larry Finger commit 61ad5394590c5c5338ab4ec50553d809a9996d50 Author: Javier Cardona Date: Thu Dec 16 17:23:34 2010 -0800 mac80211: Remove unused third address from mesh address extension header. The Mesh Control header only includes 0, 1 or 2 addresses. If there is one address, it should be interpreted as Address 4. If there are 2, they are interpreted as Addresses 5 and 6 (Address 4 being the 4th address in the 802.11 header). The address extension used to hold up to 3 addresses instead of the current 2. I'm not sure which draft version changed this, but it is very unlikely that it will change again given the state of the approval process of this draft. See section 7.1.3.6.3 in current draft (8.0). Also, note that the extra address that I'm removing was not being used, so this change has no effect on over-the-air frame formats. But I thought I better remove it before someone does start using it. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 3de135dba9341a3d10a7a5b9533ce11cb77d4f4d Author: Bruno Randolf Date: Thu Dec 16 11:30:33 2010 +0900 ath5k: Set available antenna information for cfg80211 Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 39fd5de4472b7b222c6cec78d72b069133f694e4 Author: Bruno Randolf Date: Thu Dec 16 11:30:28 2010 +0900 nl80211: Export available antennas Export the information which antennas are available for configuration as TX or RX antennas via nl80211. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 7f531e03abf0162df3966c4fa5fa6fdd9302cb6b Author: Bruno Randolf Date: Thu Dec 16 11:30:22 2010 +0900 cfg80211: Separate available antennas for RX and TX As has been pointed out by Daniel Halperin some devices (e.g. Intel IWL5100) can only TX from a subset of RX antennas, so use separate availability masks for RX and TX. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit c7108a7111cd9e592d6ad498be37276dbea75d2b Author: Javier Cardona Date: Thu Dec 16 17:37:50 2010 -0800 mac80211: Send mesh non-HWMP path selection frames to userspace Let path selection frames for protocols other than HWMP be sent to userspace via NL80211_CMD_REGISTER_FRAME. Also allow userspace to send and receive mesh path selection frames. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit c80d545da3f7c0e534ccd4a780f322f80a92cff1 Author: Javier Cardona Date: Thu Dec 16 17:37:49 2010 -0800 mac80211: Let userspace enable and configure vendor specific path selection. Userspace will now be allowed to toggle between the default path selection algorithm (HWMP, implemented in the kernel), and a vendor specific alternative. Also in the same patch, allow userspace to add information elements to mesh beacons. This is accordance with the Extensible Path Selection Framework specified in version 7.0 of the 802.11s draft. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 24bdd9f4c9af75b33b438d60381a67626de0128d Author: Javier Cardona Date: Thu Dec 16 17:37:48 2010 -0800 mac80211: Rename mesh_params to mesh_config to prepare for mesh_setup Mesh parameters can be to setup a mesh or to configure it. This patch renames the ambiguous name mesh_params to mesh_config in preparation for mesh_setup. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit b4aa9e05a61b845541fa6f5b1d246976922601f0 Merge: 1dc0f3c 4b8fe66 Author: David S. Miller Date: Fri Dec 17 12:27:22 2010 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/bnx2x/bnx2x.h drivers/net/wireless/iwlwifi/iwl-1000.c drivers/net/wireless/iwlwifi/iwl-6000.c drivers/net/wireless/iwlwifi/iwl-core.h drivers/vhost/vhost.c commit 0d0b16727f24f8258eeb33818347ca0f4557f982 Author: Michał Mirosław Date: Tue Dec 14 15:24:08 2010 +0000 net: Fix drivers advertising HW_CSUM feature to use csum_start Some drivers are using skb_transport_offset(skb) instead of skb->csum_start for NETIF_F_HW_CSUM offload. This does not matter now, but if someone implements checksumming of encapsulated packets then this will break silently. TSO output paths are left as they are, since they are for IP+TCP only (might be worth converting though). Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 55508d601dab7df5cbcc7a63f4be8620eface204 Author: Michał Mirosław Date: Tue Dec 14 15:24:08 2010 +0000 net: Use skb_checksum_start_offset() Replace skb->csum_start - skb_headroom(skb) with skb_checksum_start_offset(). Note for usb/smsc95xx: skb->data - skb->head == skb_headroom(skb). Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 8a09d6d80c90c02f2f8c89f69c702cab0c8d9b42 Author: Larry Finger Date: Thu Dec 16 11:13:57 2010 -0600 rtlwifi: Switch locking from semaphores to mutexes Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit f15a4bb2637253680f09f0161d51e22446b6478f Author: Bruno Randolf Date: Thu Dec 16 16:22:20 2010 +0900 ath5k: Fix survey The old survey implementation was broken and returned nonsense data. Clear cycle counters and survey data on reset. Since the cycle counters easily overflow it's better to keep a local version of collected survey data (in ms resolution, instead of clockrate) and update this every time survey is retrieved. If survey is retrieved often enough to avoid cycle counter overflows this works fine, otherwise we could update survey more often, like ath9k does. Still only the survey for the current channel is kept. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 4aea248dd7a67097d683a97f94a0aeaf0d248f3f Author: Larry Finger Date: Wed Dec 15 22:55:34 2010 -0600 rtl8192ce: Fix build on powerpc After merge of the rtl8192ce driver, a powerpc build fails with: drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192c-sw.c: In function 'rtl92c_init_sw_vars': drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192c-sw.c:76: error: implicit declaration of function 'vmalloc' drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192c-sw.c:76: warning: cast to pointer from integer of different size drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192c-sw.c: In function 'rtl92c_deinit_sw_vars': drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192c-sw.c:91: error: implicit declaration of function 'vfree' The problem is fixed by explicitly including the appropriate header. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 931299cf87701962ea1811dc216f48f3f7a4ebc8 Author: Luis R. Rodriguez Date: Wed Dec 15 19:24:12 2010 -0800 ath: fix NULL pointer dereference on reg_notifier() The reg_notifier() was recently updated as being capable of having the request passed as NULL, fix ath to follow this API change. Without this we end up oopsing: BUG: unable to handle kernel NULL pointer dereference at 0000000000000004 IP: [] ath_reg_notifier_apply+0x5b/0xa0 [ath] PGD b4c4c067 PUD b4c4d067 PMD 0 Oops: 0000 [#1] SMP DEBUG_PAGEALLOC last sysfs file: /sys/devices/pci0000:00/0000:00:1b.0/uevent CPU 1 Modules linked in: Pid: 436, comm: modprobe Not tainted 2.6.37-rc5-wl+ #36 6460DWU/6460DWU RIP: 0010:[] [] ath_reg_notifier_apply+0x5b/0xa0 [ath] RSP: 0018:ffff8800b6f6baa8 EFLAGS: 00010246 RAX: ffff8800b527b254 RBX: ffff8800b532c180 RCX: 0000000000000018 RDX: ffff8800b530c108 RSI: 0000000000000000 RDI: ffff8800b532c180 RBP: ffff8800b6f6baa8 R08: ffff8800b532f268 R09: 0000000000000235 R10: 00000000000016ad R11: 0000000000000018 R12: 0000000000000000 R13: 0000000000000016 R14: ffff8800b532f268 R15: 0000000000000011 FS: 00007f0c53104700(0000) GS:ffff8800bed00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 0000000000000004 CR3: 00000000b6531000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process modprobe (pid: 436, threadinfo ffff8800b6f6a000, task ffff8800b404dc40) Stack: ffff8800b6f6bac8 ffffffffa03ea651 ffff8800b532c180 ffff8800b527b254 ffff8800b6f6bb38 ffffffffa01835ca ffffffffa019ed00 00000000a019ed80 0000000000000002 ffff880000000002 ffffffffa0366140 0000000010aee572 Call Trace: [] ath9k_reg_notifier+0x41/0x50 [ath9k] [] wiphy_update_regulatory+0x4ba/0x5a0 [cfg80211] [] ? ieee80211_register_hw+0xa0/0x5b0 [mac80211] [] ? ieee80211_register_hw+0xa0/0x5b0 [mac80211] [] wiphy_register+0x1d4/0x360 [cfg80211] [] ? __kmalloc+0x108/0x1c0 [] ieee80211_register_hw+0x183/0x5b0 [mac80211] [] ath9k_init_device+0x66b/0x850 [ath9k] [] ath_pci_probe+0x2f6/0x3c0 [ath9k] [] ? default_spin_lock_flags+0x9/0x10 [] local_pci_probe+0x5f/0xd0 [] pci_device_probe+0x101/0x120 [] ? driver_sysfs_add+0x7a/0xb0 [] driver_probe_device+0x96/0x1c0 [] __driver_attach+0x9b/0xa0 [] ? __driver_attach+0x0/0xa0 [] bus_for_each_dev+0x68/0x90 [] driver_attach+0x1e/0x20 [] bus_add_driver+0xe9/0x290 [] ? ath9k_init+0x0/0x4d [ath9k] [] driver_register+0x80/0x150 [] ? ath9k_init+0x0/0x4d [ath9k] [] ? ath9k_init+0x0/0x4d [ath9k] [] __pci_register_driver+0x56/0xd0 [] ath_pci_init+0x23/0x30 [ath9k] [] ath9k_init+0x2b/0x4d [ath9k] [] do_one_initcall+0x43/0x190 [] sys_init_module+0xbb/0x200 [] system_call_fastpath+0x16/0x1b Code: RIP [] ath_reg_notifier_apply+0x5b/0xa0 [ath] RSP CR2: 0000000000000004 ---[ end trace 6d03d3c7eda9f06b ]--- Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2784fe915cd25adf23ea28534019308d8a144721 Author: Luis R. Rodriguez Date: Wed Dec 15 19:24:11 2010 -0800 cfg80211: fix null pointer dereference with a custom regulatory request Once we moved the core regulatory request to the queue and let the scheduler process it last_request will have been left NULL until the schedular decides to process the first request. When this happens and we are loading a driver with a custom regulatory request like all Atheros drivers we end up with a NULL pointer dereference. We fix this by checking if the request was a custom one. BUG: unable to handle kernel NULL pointer dereference at 0000000000000004 IP: [] freq_reg_info_regd.clone.2+0x27/0x130 [cfg80211] PGD 71f91067 PUD 712b2067 PMD 0 Oops: 0000 [#1] PREEMPT SMP last sysfs file: /sys/devices/pci0000:00/0000:00:1d.7/usb2/2-1/firmware/2-1/loading CPU 0 Modules linked in: ath9k_htc(+) ath9k_common ath9k_hw ath Pid: 3094, comm: insmod Tainted: G W 2.6.37-rc5-wl #16 INVALID/28427ZQ RIP: 0010:[] [] freq_reg_info_regd.clone.2+0x27/0x130 [cfg80211] RSP: 0018:ffff88007045db78 EFLAGS: 00010282 RAX: 0000000000000000 RBX: ffffffffa047d9a0 RCX: ffff88007045dbd0 RDX: 0000000000004e20 RSI: 000000000024cde0 RDI: ffff8800700483e0 RBP: ffff88007045db98 R08: ffffffffa02f5b40 R09: 0000000000000001 R10: 000000000000000e R11: 0000000000000001 R12: 0000000000000000 R13: ffff88007004e3b0 R14: 0000000000000000 R15: ffff880070048340 FS: 00007f635a707700(0000) GS:ffff880077400000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 0000000000000004 CR3: 00000000708a9000 CR4: 00000000000006f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process insmod (pid: 3094, threadinfo ffff88007045c000, task ffff8800713e3ec0) Stack: ffffffffa047d9a0 0000000000000000 ffff88007004e3b0 0000000000000000 ffff88007045dc08 ffffffffa016e147 000000007045dc08 0000000000000002 ffff8800700483e0 ffffffffa02f5b40 ffff88007045dbd8 0000000000000000 Call Trace: [] wiphy_apply_custom_regulatory+0x137/0x1d0 [cfg80211] [] ? ath9k_reg_notifier+0x0/0x50 [ath9k_htc] [] ath_regd_init+0x347/0x430 [ath] [] ath9k_htc_probe_device+0x6c5/0x960 [ath9k_htc] [] ath9k_htc_hw_init+0xc/0x30 [ath9k_htc] [] ath9k_hif_usb_probe+0x216/0x3b0 [ath9k_htc] [] usb_probe_interface+0x10c/0x210 [usbcore] [] driver_probe_device+0x96/0x1c0 [] __driver_attach+0xa3/0xb0 [] ? __driver_attach+0x0/0xb0 [] bus_for_each_dev+0x5e/0x90 [] driver_attach+0x19/0x20 [] bus_add_driver+0x168/0x320 [] driver_register+0x71/0x140 [] ? __raw_spin_lock_init+0x38/0x70 [] usb_register_driver+0xdc/0x190 [usbcore] [] ? ath9k_htc_init+0x0/0x4f [ath9k_htc] [] ath9k_hif_usb_init+0x1e/0x20 [ath9k_htc] [] ath9k_htc_init+0x2b/0x4f [ath9k_htc] [] do_one_initcall+0x3f/0x180 [] sys_init_module+0xbb/0x200 [] system_call_fastpath+0x16/0x1b Code: RIP [] freq_reg_info_regd.clone.2+0x27/0x130 [cfg80211] RSP CR2: 0000000000000004 ---[ end trace 79e4193601c8b713 ]--- Reported-by: Sujith Manoharan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 45ef6a0bcc9cd8f13004789ec6decb52e1d3045c Author: Vasanthakumar Thiagarajan Date: Wed Dec 15 07:30:53 2010 -0800 ath9k_hw: Configure appropriate Tx power when PAPRD fails Target Tx power available in eeprom is for PAPRD. If PAPRD fails, paprd scale factor needs to be detected from this target tx power. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 7072bf62fb7abe5a91389d6271da520f29c79326 Author: Vasanthakumar Thiagarajan Date: Wed Dec 15 07:30:52 2010 -0800 ath9k_hw: Disable PAPRD for rates with low Tx power When the drop in Tx power for a particular mcs rate exceeds the paprd scale factor, paprd may not work properly. Disable paprd for any such rates. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 8698bca6b53d1f6641850b270de9c953078ed1ce Author: Vasanthakumar Thiagarajan Date: Wed Dec 15 07:30:51 2010 -0800 ath9k_hw: Add a helper to get paprd scale factor Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 0b2084bc578128be866d6fc9926ed887c3432bb1 Author: Vasanthakumar Thiagarajan Date: Wed Dec 15 07:30:50 2010 -0800 ath9k_hw: Tx IQ cal changes for AR9003 Add multiple Tx IQ cal support to improve EVM accross different power levels. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 895ad7eb21ed228444169dbbff44f3dccfc7e006 Author: Vasanthakumar Thiagarajan Date: Wed Dec 15 07:30:49 2010 -0800 ath9k_hw: Move get_streams() to hw.h This helper can be used in multiple places. Also make it inline returning u8. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit d8a8440e3f1f0cdd23074c6d2d8cbbde204a4374 Author: Vasanthakumar Thiagarajan Date: Wed Dec 15 07:30:48 2010 -0800 ath9k_hw: Remove unnecessary Rx IQ cal register configuration in ar9003_hw_tx_iq_cal() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 7e68b746681289c00e8fd818fdd0144c6896d425 Author: Vasanthakumar Thiagarajan Date: Wed Dec 15 07:30:47 2010 -0800 ath9k_hw: Remove delay during regwrite of analog shift registers This is not needed for AR9003. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit cf4e594ea7e55555e81647b74a3a8e8b2826a529 Author: Jouni Malinen Date: Thu Dec 16 00:52:40 2010 +0200 nl80211: Add notification for dropped Deauth/Disassoc Add a new notification to indicate that a received, unprotected Deauthentication or Disassociation frame was dropped due to management frame protection being in use. This notification is needed to allow user space (e.g., wpa_supplicant) to implement SA Query procedure to recover from association state mismatch between an AP and STA. This is needed to avoid getting stuck in non-working state when MFP (IEEE 802.11w) is used and a protected Deauthentication or Disassociation frame is dropped for any reason. After that, the station would silently discard any unprotected Deauthentication or Disassociation frame that could be indicating that the AP does not have association for the STA (when the Reason Code would be 6 or 7). IEEE Std 802.11w-2009, 11.13 describes this recovery mechanism. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 5928b91acae97622a6f2e679eb7a9f19bed68e3e Merge: 7d5f01a 248daa0 Author: John W. Linville Date: Thu Dec 16 15:21:33 2010 -0500 Merge branch 'wl12xx-next' of git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx commit 7d5f01ad536afebde9a1c81d985f8d0eaf2a9ab6 Author: Sedat Dilek Date: Thu Dec 16 12:46:23 2010 +0100 iwlwifi: Fix error: struct iwl_lq_sta has no member named dbg_fixed_rate While compiling linux-next (next-20101216) I fell over this breakage: ... drivers/net/wireless/iwlwifi/iwl-agn-rs.c: In function ‘iwl_rs_rate_init’: drivers/net/wireless/iwlwifi/iwl-agn-rs.c:2876:8: error: ‘struct iwl_lq_sta’ has no member named ‘dbg_fixed_rate’ dbg_fixed_rate is only used when CONFIG_MAC80211_DEBUGFS is set: [ drivers/net/wireless/iwlwifi/iwl-agn-rs.h ] ... #ifdef CONFIG_MAC80211_DEBUGFS struct dentry *rs_sta_dbgfs_scale_table_file; struct dentry *rs_sta_dbgfs_stats_table_file; struct dentry *rs_sta_dbgfs_rate_scale_data_file; struct dentry *rs_sta_dbgfs_tx_agg_tid_en_file; u32 dbg_fixed_rate; #endif The issue was introduced by commit a1da077bc36368eb7d6312e7e49260f0a3d92c77: "iwlwifi: clear dbg_fixed_rate during init" Signed-off-by: Sedat Dilek Signed-off-by: John W. Linville commit e137478b56fd79c397b5c5c74fc08c049a42835a Author: John W. Linville Date: Thu Dec 16 09:20:16 2010 -0500 rtlwifi: convert to __packed notation Use "__packed" instead of "__attribute__ ((packed))"... Signed-off-by: John W. Linville commit 38cd6b4f52a75926fd81fc85f53f5067dcd809f7 Author: Shan Wei Date: Wed Dec 15 14:27:28 2010 +0800 wireless:mac80211: kill unuse macro MESH_CFG_CMP_LEN in mesh.h Commit 00d3f14c has removed the references of this macro, but left it only. So remove this definition. commit 00d3f14cf9f12c21428121026a5e1d5f65926447 Author: Johannes Berg Date: Tue Feb 10 21:26:00 2009 +0100 mac80211: use cfg80211s BSS infrastructure Remove all the code from mac80211 to keep track of BSSes and use the cfg80211-provided code completely. Signed-off-by: Shan Wei Signed-off-by: John W. Linville commit 2b7e6bce41b6b944bd4302cf0914e2a6f4bc704b Author: Mohammed Shafi Shajakhan Date: Wed Dec 15 13:02:46 2010 +0530 ath9k: Add comments for making pm-qos as modparam PM-QOS value can be user specified via module parameter. This patch adds few comments regarding this in the driver code. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 64c6e50c0732b793e4bd5fd2954b7bef088f83f8 Author: Sujith Manoharan Date: Wed Dec 15 07:47:23 2010 +0530 ath9k_htc: Remove PCI specific configuration This is not required for USB devices. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit bd2ce6e43f65127bc723e7fcc044758cf8113260 Author: Sujith Manoharan Date: Wed Dec 15 07:47:10 2010 +0530 mac80211: Add timeout to BA session start API Allow drivers or rate control algorithms to specify BlockAck session timeout when initiating an ADDBA transaction. This is useful in cases where maintaining persistent BA sessions does not incur any overhead. The current timeout value of 5000 TUs is retained for all non ath9k/ath9k_htc drivers. Signed-off-by: Sujith Manoharan Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit a293911d4fd5e8593dbf478399a77f990d466269 Author: Johannes Berg Date: Tue Dec 14 17:54:28 2010 +0100 nl80211: advertise maximum remain-on-channel duration With the upcoming hardware offload implementation, some devices will have a different maximum duration for the remain-on-channel command. Advertise the maximum duration in mac80211, and make mac80211 set it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 14a085e77063090fb12ad391d0f4d46e593be225 Author: Wey-Yi Guy Date: Tue Dec 14 07:38:58 2010 -0800 iwlagn: fix witespace damage patch "iwlagn: check ready in iwlagn_bss_info_changed()" introduce whitespace, fix it please merge with the previous patch Reported by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 4dc3530df7c0428b41c00399a7ee8c929406d181 Author: Mohammed Shafi Shajakhan Date: Tue Dec 14 13:18:28 2010 +0530 ath9k: Make PM-QOS value as user configurable This patch allows the pm-qos value to be user configurable by making it as a module parameter.This will help our customers to configure the pm-qos value according to the effect in throughput due to the DMA latency problem which was observed in Intel Pinetrail platforms. The tested value of '55' will be filled as the default pm-qos-value incase the user does not specifies pm-qos value as a module parameter. example usage: sudo modprobe ath9k pmqos=65 Cc: Senthilkumar Balasubramanian Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 17b3c17ecde36db5db7760a2802990b3129a4d65 Merge: 1fcfe76 65af8de Author: John W. Linville Date: Wed Dec 15 16:37:55 2010 -0500 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-1000.c drivers/net/wireless/iwlwifi/iwl-6000.c drivers/net/wireless/iwlwifi/iwl-agn-eeprom.c drivers/net/wireless/iwlwifi/iwl-core.h commit 1fcfe76a760e78d7774a254608557c84071b0cfb Merge: 0c81733 56e6417 Author: John W. Linville Date: Wed Dec 15 16:33:28 2010 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-1000.c drivers/net/wireless/iwlwifi/iwl-6000.c drivers/net/wireless/iwlwifi/iwl-core.h commit 0c8173385e549f95cd80c3fff5aab87b4f881d8d Author: Larry Finger Date: Wed Dec 8 11:12:31 2010 -0600 rtl8192ce: Add new driver Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 248daa084cee4b212ff4408e9c9b05b3bdc0da0d Author: Luciano Coelho Date: Wed Dec 15 16:10:12 2010 +0200 wl12xx_sdio_test: rename files to match current style Change some file names and Kconfig settings so that this new module matches the new way of using wl12xx instead of wl1271. Also fix SDIO power enabling and disabling to match the latest way of doing it. Cc: Roger Quadros Signed-off-by: Luciano Coelho commit 6742f554db14da94172da9eb1875a1aa944a827f Author: Juuso Oikarinen Date: Mon Dec 13 09:52:37 2010 +0200 wl12xx: Change TX queue to be per AC With the current single-queue implementation traffic priorization is not working correctly - when using multiple BE streams and one, say VI stream, the VI stream will share bandwidth almost equally with the BE streams. To fix the issue, implement per AC queues, which are emptied in priority order to the firmware. To keep it relatively simple, maintain a global buffer count and global queue stop/wake instead of per-AC. With these changes, priorization appears to work just fine. Signed-off-by: Juuso Oikarinen Signed-off-by: Luciano Coelho commit 17c1755c24d83f9fd0509b64c76cc43fc60cc642 Author: Eliad Peller Date: Sun Dec 12 12:15:35 2010 +0200 wl12xx: allow runtime changing of debug_level Currently, the debug level is set in compilation time (by the DEBUG_LEVEL const). This method has the advantage of compiling only the relevant messages, while optimizing out the unused ones. In order to allow runtime control over the debug_level, while optimizing out messages when debug messages are not needed, we combine some methods: 1. use dynamic_debug (pr_debug) rather then printk. 2. add debug_level module param in order to set debug level during insmod. 3. add debug_level sysfs file in order to allow dynamic control over the debug level. Since patches for pr_debug_hex_dump() implementation haven't been applied yet, we are still temporarly using print_hex_dump(). Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit ea559b460509b241cc1a3f36eebe0b2b634b3cf2 Author: Guy Eilam Date: Thu Dec 9 16:54:59 2010 +0200 wl1271: fixed problem with WPS IEs in probe requests Inclusion of a WPS IE in probe requests caused a problem in the driver due to the maximum size of the probe request template and the max_scan_ie_len values at initialization. Increased the size of probe request template to the maximum size allowed by the firmware. Struct wl12xx_probe_req_template, which was only used for calculating the max size of the probe request template, is no longer used and needed. max_scan_ie_len is used for validating the size of additional IEs in scan requests. Initialized the max_scan_ie_len field to the maximum size of the probe request template minus the ieee80211 header size. Signed-off-by: Guy Eilam Signed-off-by: Luciano Coelho commit c5312772156bb5f9b2e95e4c91526d578426a069 Author: Eliad Peller Date: Thu Dec 9 11:31:27 2010 +0200 wl12xx: add auto-arp support The auto-arp feature of wl12xx allows the firmware to automatically response to arp requests asking for its ip. in order to use it, we configure the arp response template and enable the corresponding bit in wl1271_acx_arp_filter (along with passing its ip) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit b69eb80bf7a6922fef8056d42b06124a7de31501 Author: Roger Quadros Date: Wed Dec 1 11:58:54 2010 +0200 wl1271_sdio_test: Add module for sdio RX/TX testing This module enables individually generating RX and TX traffic over the SDIO bus on which the WL1271 chipset is connected. This is required to perform RF interference testing. The module takes 2 module parameters 'rx' and 'tx'. To generate RX traffic: modprobe wl1271_sdio_test rx=1 To generate TX traffic: modprobe wl1271_sdio_test tx=1 To generate both RX & TX traffic, set both rx and tx to 1. You can change the testing configuration at runtime by changing the rx & tx values at /sys/modules/wl1271_sdio_test/ To stop testing simply unload the module. Signed-off-by: Roger Quadros Reviewed-by: Carlos Chinea Signed-off-by: Luciano Coelho commit fb6a6819fad0d71b47577a51709440a9f8441f0a Author: Luciano Coelho Date: Fri Dec 3 17:05:40 2010 +0200 wl12xx: disable 11a channels when wl->enable_11a is known Disabling the 11a channels when not supported in the reg_notify function was not working as it should, because when the driver is initiailizing (and registering itself with mac80211), it would get the reg notification too early. At that point the driver wouldn't have received the NVS yet, so it wouldn't know whether 11a was supported. To fix this, we disable 11a channels when we read the NVS instead. Also, it is easier (and still safe) to set n_channels to zero instead of setting the disabled flag on every 11a channel. Signed-off-by: Luciano Coelho commit afe2c511fb2d75f1515081ff1be15bd79cfe722d Author: Tejun Heo Date: Tue Dec 14 16:21:17 2010 +0100 workqueue: convert cancel_rearming_delayed_work[queue]() users to cancel_delayed_work_sync() cancel_rearming_delayed_work[queue]() has been superceded by cancel_delayed_work_sync() quite some time ago. Convert all the in-kernel users. The conversions are completely equivalent and trivial. Signed-off-by: Tejun Heo Acked-by: "David S. Miller" Acked-by: Greg Kroah-Hartman Acked-by: Evgeniy Polyakov Cc: Jeff Garzik Cc: Benjamin Herrenschmidt Cc: Mauro Carvalho Chehab Cc: netdev@vger.kernel.org Cc: Anton Vorontsov Cc: David Woodhouse Cc: "J. Bruce Fields" Cc: Neil Brown Cc: Alex Elder Cc: xfs-masters@oss.sgi.com Cc: Christoph Lameter Cc: Pekka Enberg Cc: Andrew Morton Cc: netfilter-devel@vger.kernel.org Cc: Trond Myklebust Cc: linux-nfs@vger.kernel.org commit 65af8dea26aa89ae4a810bdaa05545a8e670b636 Author: Wey-Yi Guy Date: Wed Dec 8 07:51:50 2010 -0800 iwlagn: code clean up to remove duplicate code Multiple devices use almost the same .cfg with minor differences. Use macro and remove the duplication. By doing this, reduce the chance for mistake while modify .cfg parameters Signed-off-by: Wey-Yi Guy commit f21dd005df95e0fc6a578342c61b5333ce2abc2b Author: Wey-Yi Guy Date: Wed Dec 8 15:34:52 2010 -0800 iwlwifi: keep track of bt coex enable/disable stage For debugging purpose, keep track of the bt coex enable/disable state. Signed-off-by: Wey-Yi Guy commit 50619ac9ba48f5ab0c6bcfa10f5d50e4115cdca8 Author: Wey-Yi Guy Date: Tue Dec 7 08:06:31 2010 -0800 iwlwifi: do not reload fw if WiMAX own the RF For WiFi/WiMAX combo devices, if WiMAX own the RF, WiFi driver try to access RF and fail. This is the W/A to To avoid WiFi keep reloading firmware and try to access RF again. Signed-off-by: Wey-Yi Guy commit 33c68770a8605d84aea35c2cd90009edfc4b161a Author: Wey-Yi Guy Date: Fri Dec 3 10:33:36 2010 -0800 iwlagn: More detail tx power logging For enhanced tx power table in EEPROM, add more detail logging to help debugging Signed-off-by: Wey-Yi Guy commit d058ff8b9255b2a15bcb040cc9901baca66dc9c4 Author: Wey-Yi Guy Date: Fri Dec 3 10:33:35 2010 -0800 iwlwifi: use IWL_DEBUG_EEPROM for EEPROM related info For logging EEPROM related info, instead of using IWL_DEBUG_INFO, use the dedicated logging (IWL_DEBUG_EEPROM) for easier debugging Signed-off-by: Wey-Yi Guy commit fb4c32bba1e0941db5972e2b612cbfdf10522a43 Author: Wey-Yi Guy Date: Fri Dec 3 10:33:34 2010 -0800 iwlwifi: add new EEPROM debug log type Adding new debug type to log EEPROM related data Signed-off-by: Wey-Yi Guy commit c6fc108776e77e38e099d5b13c4f57a2172c6698 Author: Johannes Berg Date: Thu Dec 9 12:56:42 2010 -0800 iwlagn: remove old EEPROM TX power reading This removes the old TX power reading code, it isn't necessary since the new code is able to read all the various EEPROM layouts due to relying on information contained in the EEPROM. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 8d6748ca73a0caffed4304a47a9cb4cd0aba361e Author: Johannes Berg Date: Thu Dec 9 09:30:14 2010 -0800 iwlagn: implement layout-agnostic EEPROM reading The current EEPROM reading code has some layout assumptions that now turned out to be false with some newer versions of the EEPROM. Luckily, we can avoid all such assumptions by using data in the EEPROM itself, so implement using that. However, for risk mitigation purposes, keep the old reading code for current hardware for now. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit e7362a0069f8448bb346d65f07d98b319f243e30 Author: Johannes Berg Date: Tue Nov 30 11:03:44 2010 -0800 iwlagn: rename enhanced txpower fields Some fields we didn't previously use from the enhanced TX power structure will be needed in the next patch, so rename them to their correct names to be able to use them and change code reading them accordingly. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 17423ea8776362100b0a9a162cdd4b16b886a4a2 Author: Wey-Yi Guy Date: Mon Dec 6 11:51:39 2010 -0800 iwlagn: rx antenna diversity For the new 1x1 devices, hw and uCode will support rx antenna diversity, but we need to indicate 1x1 device to AccessPoint to make sure it won't use MIMO. Signed-off-by: Wey-Yi Guy commit 9decde95be8a77a16f5668544bee45d41a7ae665 Author: Johannes Berg Date: Tue Nov 30 13:24:36 2010 -0800 iwlagn: fix debug variable access The compiler correctly warns: iwl-agn-tx.c: In function ‘iwlagn_tx_status_reply_compressed_ba’: iwl-agn-tx.c:1240: warning: ‘bitmap’ may be used uninitialized in this function Move the debug print to the branch that reads the bitmap, and move the variables too so it's more obvious where they are needed. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit ae0b693c12cc78913085733d28e0e0e6020db6f4 Author: Shanyu Zhao Date: Thu Dec 2 11:02:28 2010 -0800 iwlagn: check ready in iwlagn_bss_info_changed() In function iwlagn_bss_info_changed(), we need to check if the driver is ready before doing real work. Also, the previously put WARN() is removed because the vif is not guaranteed to be valid. uCode restart routine will clear the vif. Signed-off-by: Shanyu Zhao Signed-off-by: Wey-Yi Guy commit a1da077bc36368eb7d6312e7e49260f0a3d92c77 Author: Shanyu Zhao Date: Thu Dec 2 11:02:54 2010 -0800 iwlwifi: clear dbg_fixed_rate during init This prevent bad fixed_rate keeps crashing uCode in an endless loop. Signed-off-by: Shanyu Zhao Signed-off-by: Wey-Yi Guy commit 4fb33244d17b973f17cbc7cf8b7efd0875950474 Author: Wey-Yi Guy Date: Mon Nov 29 10:45:16 2010 -0800 iwlagn: change led compensation for 6005 and 6030 devices For both 6005 and 6030 devices, change the led compensation to 57 Signed-off-by: Wey-Yi Guy commit 412b31334b831a8c2909afaca017c5a236ac2dd0 Author: Wolfgang Kufner Date: Mon Dec 13 12:39:39 2010 +0100 rt2x00: Fix firmware loading regression on x86_64. Commit 6175ddf06b6172046a329e3abfd9c901a43efd2e changes the way memcpy_toio() works for x86_64, causing firmware loading to fail for some Ralink WLAN devices with the rt2800pci driver since linux 2.6.34. This causes the log message: "phy0 -> rt2800pci_load_firmware: Error - PBF system register not ready.". Fix this by using __iowrite32_copy instead of memcpy_toio(). Signed-off-by: Wolfgang Kufner Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 739fd9405416e22732e46a9226a8cac379bd57fc Author: Wolfgang Kufner Date: Mon Dec 13 12:39:12 2010 +0100 rt2x00: Pad beacon to multiple of 32 bits. Pad beacon to a multiple of 32 bits in preparation for the change from memcpy_toio() to __iowrite32_copy() in register_multiwrite(). Signed-off-by: Wolfgang Kufner Acked-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e85b4c04646f7fa62ebf0afe11cd8dffde689da7 Author: Johannes Stezenbach Date: Mon Dec 13 12:38:49 2010 +0100 rt2x00: remove stray semicolon The stray semicolon after DEBUG_PRINTK_MSG causes things like "if (...) WARNING(...); else {}" to fail with syntax error. Signed-off-by: Johannes Stezenbach Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f615e9a38a8e6239d35891a05f2ac1159088780a Author: Ivo van Doorn Date: Mon Dec 13 12:36:38 2010 +0100 rt2x00: Fix WMM Queue naming The Queue names were incorrectly copied from the legacy drivers, as a result the queue names were inversed to what was expected. This renames the queues using this mapping: QID_AC_BK -> QID_AC_VO (priority 0) QID_AC_BE -> QID_AC_VI (priority 1) QID_AC_VI -> QID_AC_BE (priority 2) QID_AC_VO -> QID_AC_BK (priority 3) Note that this was a naming problem only, which didn't affect the assignment of frames to their respective queues. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit dba5dc1ae9764902f46d5225c9ff40e4f7b614c7 Author: Ivo van Doorn Date: Mon Dec 13 12:36:18 2010 +0100 rt2x00: Introduce extra queue entry sanity flag Add a queue entry flag ENTRY_DATA_STATUS_PENDING, which can be used to indicate a queue entry has returned from the hardware and is waiting for status processing. Using this flag we can add some extra sanity checks to prevent queue corruption. Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit 64e7d72384c2ecef5a892b2243623af265dd83cc Author: Ivo van Doorn Date: Mon Dec 13 12:36:00 2010 +0100 rt2x00: Cleanup RX index counting Add the rt2x00_dmastart function to rt2x00lib which marks the queue_entry as "owned by device", and increased the Q_INDEX number. This cleanups up the index handling by rt2x00lib which at until so far used hackish approaches to keep the RX queue index numbering sane. The rt2x00pci.c changes are from Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 5be65609fec2e331c7d804471be3d59089a30d98 Author: Ivo van Doorn Date: Mon Dec 13 12:35:40 2010 +0100 rt2x00: Add "flush" queue command Add a new command to the queue handlers: "flush", this moves the flush() callback from mac80211 into rt2x00queue and adds support for flushing the RX queue as well. Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit 0b7fde54f94979edc67bbf86b5adba702ebfefe8 Author: Ivo van Doorn Date: Mon Dec 13 12:35:17 2010 +0100 rt2x00: Protect queue control with mutex Add wrapper functions in rt2x00queue.c to start & stop queues. This control must be protected using a mutex. Queues can also be paused which will halt the flow of packets between the driver and mac80211. This doesn't require a mutex protection. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit dbba306f2ae574450a7a5133d6637fe6f5fafc72 Author: Ivo van Doorn Date: Mon Dec 13 12:34:54 2010 +0100 rt2x00: Reorganize queue callback functions As part of the queue refactoring, change the queue callback function names to have 3 different actions: start, kick & stop. We can now also remove the STATE_RADIO_RX_ON/STATE_RADIO_RX_OFF device_state flags, and replace the usage with using the start_queue/stop_queue callback functions. This streamlines the RX queue handling to the similar approach as all other queues. Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit 5450b7e2f0b47e52175b31399d8186a74ef3c46d Author: Ivo van Doorn Date: Mon Dec 13 12:34:22 2010 +0100 rt2x00: Introduce 3 queue commands in drivers (start, kick, stop). As part of the queue refactoring, we now introduce 3 queue commands: start, kick, stop. - Start: will enable a queue, for TX this will not mean anything, while for beacons and RX this will update the registers to enable the queue. - Kick: This will kick all pending frames to the hardware. This is needed for the TX queue to push all frames to the HW after the queue has been started - Stop: This will stop the queue in the hardware, and cancel any pending work (So this doesn't mean the queue is empty after a stop!). Move all code from the drivers into the appropriate functions, and link those calls to the old rt2x00lib callback functions (we will fix this later when we refactor the queue control inside rt2x00lib). Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit 094a1d92fdb18c4455758b1c33e99d647c837ee9 Author: Johannes Stezenbach Date: Mon Dec 13 12:34:00 2010 +0100 rt2x00: trivial: add missing \n on warnings Signed-off-by: Johannes Stezenbach Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 89b25f60e08180d7e00e6239398b467142aaec01 Author: Helmut Schaa Date: Mon Dec 13 12:33:36 2010 +0100 rt2x00: Don't frequently reset beacon interval in AdHoc mode Commit 0204464329c17ba6d293e1899f71223599a0e582 "Check for specific changed flags when updating the erp config" changed the way in which a new beacon interval gets handled. However, due to a bug in rt2800usb and rt2800pci the beacon interval was reset during each scan, thus causing problems in AdHoc mode. Fix this by not cleaning up the beacon interval when killing the beacon queue but just prevent the device from sending out beacons. Reported-by: Wolfgang Kufner Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a061a93b6eb8db8227b251666436da1e344771a0 Author: Gertjan van Wingerde Date: Mon Dec 13 12:33:12 2010 +0100 rt2x00: Ensure TX-ed frames are returned in the original state. Recent changes to the TX-done code of rt2x00 resulted in TX-ed frames not being returned to mac80211 in the original state, and therefore with insufficient headroom for re-transmissions. Fix this by reverting the changes done and by ensuring we remove the inserted L2pad by moving the header backwards instead of the data forwards. At the same time also make sure that the rt2x00queue_remove_l2pad will not move any memory when a frame has no data at all. Signed-off-by: Gertjan van Wingerde Acked-by: Helmut Schaa Cc: Jay Hung Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit d7bb5f845f437662296adbfeaab8fbfce1c32289 Author: Johannes Stezenbach Date: Mon Dec 13 12:32:49 2010 +0100 rt2x00: fix hang when unplugging USB device in use When an rt2x00 USB device is unplugged while in use, it reliably hangs the whole system. After some time the watchdog prints: BUG: soft lockup - CPU#0 stuck for 64s! [kworker/u:0:5] ... [] (usb_submit_urb+0x0/0x2ac) from [] (rt2x00usb_kick_rx_entry+0xb4/0xe8 [rt2x00usb]) [] (rt2x00usb_kick_rx_entry+0x0/0xe8 [rt2x00usb]) from [] (rt2x00usb_clear_entry+x28/0x2c [rt2x00usb]) [] (rt2x00usb_clear_entry+0x0/0x2c [rt2x00usb]) from [] (rt2x00lib_rxdone+0x2e0/0x2f8 [rt2x00lib]) [] (rt2x00lib_rxdone+0x0/0x2f8 [rt2x00lib]) from [] (rt2x00usb_work_rxdone+0x54/0x74 [rt2x00usb]) [] (rt2x00usb_work_rxdone+0x0/0x74 [rt2x00usb]) from [] (process_one_work+0x20c/0x35c) Clear the DEVICE_STATE_PRESENT flag when usb_submit_urb() returns -ENODEV to fix this. Signed-off-by: Johannes Stezenbach Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8d4ff3f3045e57f57634559c063bf70993a1d00a Author: RA-Jay Hung Date: Mon Dec 13 12:32:22 2010 +0100 rt2x00: Add RF chip definition Add RF chip definition Signed-off-by: RA-Jay Hung Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 977206d79fdc9fc1b153e0b52c56e0be59586f37 Author: Helmut Schaa Date: Mon Dec 13 12:31:58 2010 +0100 rt2x00: Implement get_survey callback for rt2800 Implement the get_survey callback to allow user space to read statistics about the current channel condition. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 38c8a566fcfe080c910bb6b348d40121df2b8e88 Author: RA-Jay Hung Date: Mon Dec 13 12:31:27 2010 +0100 rt2x00: Add rt2800 EEPROM definition Add and modify NIC Configuration and LED definition of EEPROM Signed-off-by: RA-Jay Hung Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 7a7793ef078e56fa395f96567630032c44ab5951 Author: Felix Fietkau Date: Mon Dec 13 08:40:56 2010 +0100 ath9k_hw: update AR9003 initvals to improve carrier leak calibration/correction Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit e172e0f8c25a513d253c07b1dc1d7e3c66a811ff Author: Felix Fietkau Date: Mon Dec 13 08:40:55 2010 +0100 ath9k_hw: update AR9003 initvals for improved radar detection Reduces the likelihood of false pulse detects in the hardware Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 1bf38661822049931a0ab8d2b43153b26cc919f6 Author: Felix Fietkau Date: Mon Dec 13 08:40:54 2010 +0100 ath9k_hw: fix PA predistortion training power selection The EEPROM contains scale factors for the tx power, which define the range of allowable difference between target power and training power. If the difference is too big, PA predistortion cannot be used. For 2.4 GHz there is only one scale factor, for 5 GHz there are three, depending on the specific frequency range. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 1782352d4908c79d195b43e0c1b6b109e0d93d05 Author: Felix Fietkau Date: Mon Dec 13 08:40:53 2010 +0100 ath9k_hw: fix the PA predistortion rate mask The EEPROM PAPRD rate mask fields only contain mask values for actual rates in the low 25 bits. The upper bits are reserved for tx power scale values. Add the proper mask definitions and use them before writing the values to the register. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 7607cbe2ad6931400c5d15ced342ab329ab8f92c Author: Felix Fietkau Date: Mon Dec 13 08:40:52 2010 +0100 ath9k: fix PA predistortion thermal measurement handling To be able to measure the thermal values correctly for PAPRD, we need to send training frames before setting up the gain table for the measurement, and then again afterwards for the actual training. For further improvement, send training frames at MCS0 instead of 54 MBit/s legacy. That way we can use the No-ACK flag for the transmission, which speeds up PAPRD training in general, as the hardware won't have to retransmit and wait for ACK timeout (was previously set to 4 * 6 transmission attempts). Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit caabf2bf228cd6b1c6197dbb25bddb4682d30c9d Author: Felix Fietkau Date: Mon Dec 13 08:40:51 2010 +0100 ath9k_hw: fix the slot time setting for long distance links Testing shows that adjusting the slot time based on the coverage class produces very high latencies and very low throughput on long distance links. Adjusting only the ACK timeout and leaving the slot time at the regular values - while technically not optimal for CSMA - works a lot better on long links (tested with 10 km distance) Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 4357c6bfc83d4e8b1f18588f640be27bf4b0d0f7 Author: Felix Fietkau Date: Mon Dec 13 08:40:50 2010 +0100 ath9k_hw: initialize ah->slottime (u32) -1 is not particularly useful as a slottime default, so even though the ath9k_hw default should never get used, it's better to pick something sane here. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 452d7dd816744efb5d0c22c2b038f2ffa5c7ec14 Author: Sujith Manoharan Date: Mon Dec 13 07:39:32 2010 +0530 ath9k_htc: Add Ubiquiti wifistation ext to supported devices Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 62a957e99f6edced4a87f79cc49bfca42fe9a1a0 Author: Felix Fietkau Date: Sun Dec 12 00:51:14 2010 +0100 ath9k_hw: remove ah->txpower_indexoffset Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 5f65c309be7b9eae06136a5e7df43ea08b25d3f9 Author: Felix Fietkau Date: Sun Dec 12 00:51:13 2010 +0100 ath9k_hw: remove ah->beacon_interval Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 6da5a720bab3866ba23a37841f6a61d96e498a3f Author: Felix Fietkau Date: Sun Dec 12 00:51:12 2010 +0100 ath9k_hw: clean up SREV version checks There's no need to have separate callbacks for pre-AR9003 vs AR9003 SREV version checks, so just merge those into one function. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit df3c8b2b10b47429d2f3fe79d00daa38a3381aad Author: Felix Fietkau Date: Sun Dec 12 00:51:11 2010 +0100 ath9k_hw: remove antenna configuration eeprom ops and variables AR9280 based hardware with 3 antennas and slow antenna diversity has not been seen in the wild and ath9k does not support that form of antenna diversity, so remove the EEPROM ops for it. These EEPROM ops are currently only used for setting the AR_PHY_SWITCH_COM register, which is being done in the EEPROM specific file already. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 940cd2c12ebff688cfdc14f21c4b0e5b845ad47f Author: Felix Fietkau Date: Sun Dec 12 00:51:10 2010 +0100 ath9k_hw: merge the ar9287 version of ath9k_hw_get_gain_boundaries_pdadcs Also add a comment about a potential array overrun that needs to be reviewed. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 115277a3bc0683d04da797268ddafdc3bf67ca33 Author: Felix Fietkau Date: Sun Dec 12 00:51:09 2010 +0100 ath9k_hw: merge ath9k_hw_get_gain_boundaries_pdadcs between eeprom_def.c and eeprom_4k.c Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 4ddfcd7daf57247ff718b849a152d97a80b7ae4d Author: Felix Fietkau Date: Sun Dec 12 00:51:08 2010 +0100 ath9k_hw: clean up duplicate and unnused eeprom related defines AR*_MAX_RATE_POWER => MAX_RATE_POWER AR*_EEPROM_MODAL_SPURS => AR_EEPROM_MODAL_SPURS AR*_OPFLAGS_* => AR5416_OPFLAGS_* ... Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 040b74f741b20dbf07359716d5c540356a036ade Author: Felix Fietkau Date: Sun Dec 12 00:51:07 2010 +0100 ath9k_hw: only use the PCIe disable register write sequence for AR5416 Newer chips do not need this, and maybe these register writes could have negative side effects on newer hardware. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 248a38d0ed754bf9f002e66f3d607e12ae6a673c Author: Felix Fietkau Date: Fri Dec 10 21:16:46 2010 +0100 ath9k: fix sequence number assigment for non-AMPDU QoS data frames wireless-testing commit 04caf863750bc7e042d1e8d57e5ce9d6326ab435 ('ath9k: more tx setup cleanups') merged tx path code for HT vs non-HT frames, however it did not pass the tid pointer to ath_tx_send_normal, causing an inconsistency between AMPDU vs non-AMPDU sequence number handling. Fix this by always passing in the tid pointer for all QoS data frames. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 207aba6018a7b1757b5248ced2b280d20790c498 Author: Johannes Berg Date: Fri Dec 10 17:10:44 2010 +0100 mac80211: support IBSS RSN with SW crypto When software crypto is used, mac80211 will support IBSS RSN, it doesn't depend on the driver in that case. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9abbfb27dd96361187bb3872b2c349a76f5e09e9 Author: Sujith Manoharan Date: Fri Dec 10 11:27:06 2010 +0530 ath9k: Use power save wrappers for TSF get/set The HW has to be awake when accessing registers. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 91f44b02992f632ac6c070f985cd58d5acee4199 Author: Tim Harvey Date: Thu Dec 9 13:15:45 2010 -0800 mac80211 default tx_last_beacon false (congestion) The 802.11 spec states that the STA that generated the last Beacon frame shall be the STA that response to a probe request. This is important for congestion reduction when a probe request is received - only 1 node in an adhoc BSS will transmit a response. While mac80211 drivers should provide the tx_last_beacon function to report if they transmitted the last beacon many do not. As an attempt to reduce probe response congestion default this to 0 such that a node not implementing this capability does not contribute to unnecessary congestion. In a modern medium sized office environment I see upwards of 100 probe requests per second received at a given node from various hardware/OS/drivers doing zeroconf 'active probing' as opposed to passively listening for beacons. With a modest 10-node adhoc network consisting of drivers that do not implement this tx_last_beacon feature, I have seen this result in the simultaneous xmit of probe responses accumulating to 500 probe responses per second because of collisions which brings the adhoc network to its knees as well as causes needless congestion. Signed-off-by: John W. Linville commit 42ab135fe78025910bed8ff56e00a375f2b04db1 Author: Rafał Miłecki Date: Thu Dec 9 20:56:01 2010 +0100 b43: rename TMS defines, drop useless condition from core reset As discussed we do not know band width at core reset time and it is not a good idea to reset whole just to change band. So just set unconditionally 20 MHz band width as default during core reset. As for defines PHY clock changed to band width in specs and it makes much more sens to call defines by band width which is self-explainable. Updated specs do not mention 0 value, but comparing to old ones you can notice lineral relation between PHY clock speed and band width. So it makes sense for 0x0 value to be 10 MHz band width. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit d242b90adf4e1918ac86433dfbb32a1136515bdd Author: Rafał Miłecki Date: Thu Dec 9 20:56:00 2010 +0100 b43: N-PHY: use designed function and macro for writing tables Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit ea85ffd627b5da346b348d784fafec0ce4632d4d Author: Rafał Miłecki Date: Thu Dec 9 20:55:59 2010 +0100 b43: N-PHY: one more fix for order of tables initialization I missed that part in previous reordering. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit f61afc291a64d0362258f5a1ab45c828fe15ab04 Author: Rafał Miłecki Date: Thu Dec 9 20:55:58 2010 +0100 b43: N-PHY: use correct bit for controlling MAC and PHY Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit f7e0104c1a4e77cc4f23d5969b0677bdc4f62c63 Author: Johannes Berg Date: Thu Dec 9 19:49:02 2010 +0100 mac80211: support separate default keys Add support for split default keys (unicast and multicast) in mac80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit dbd2fd656f2060abfd3a16257f8b51ec60f6d2ed Author: Johannes Berg Date: Thu Dec 9 19:58:59 2010 +0100 cfg80211/nl80211: separate unicast/multicast default TX keys Allow userspace to specify that a given key is default only for unicast and/or multicast transmissions. Only WEP keys are for both, WPA/RSN keys set here are GTKs for multicast only. For more future flexibility, allow to specify all combiations. Wireless extensions can only set both so use nl80211; WEP keys (connect keys) must be set as default for both (but 802.1X WEP is still possible). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 897bed8b4320774e56f282cdc1cceb4d77442797 Author: Johannes Berg Date: Thu Dec 9 19:49:00 2010 +0100 mac80211: clean up RX key checks Using the default key for "any key set" isn't quite what we should do. It works, but with the upcoming changes it makes life unnecessarily complex, so do something better here and really check for "any key". Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f33fdcf1b3a02fb92971a577d194ec6c579374af Author: Mohammed Shafi Shajakhan Date: Thu Dec 9 21:48:54 2010 +0530 ath9k: clean up hardware code for beacon handling The registers TBTT_TIMER ,DMA_BEACON_ALERT ,NEXT_SWBA are need to be configured only for AP and IBSS mode. SWBA register is used for generating software interrupts so that beacon frames will be created by the software.DMA beacon alert register is to indicate the hardware to DMA the contents of beacon buffer to PCU buffer and TBTT to start transmitting the packet buffer to the base band. Clearly these things are not needed for station/monitor mode so remove configuring them. Cc: doug dahlby Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 01123e233193a544c85b622e1690f44532052c5b Author: Sven Neumann Date: Thu Dec 9 15:05:24 2010 +0100 cfg80211: update information elements in cached BSS struct When a cached BSS struct is updated because a new beacon was received, the code replaces the cached information elements by the IEs from the new beacon. However it did not update the pub.information_elements and pub.len_information_elements fields leaving them either pointing to the old beacon IEs or in an inconsistent state where the data is replaced by the new beacon IEs but len_information_elements still has its value from the first beacon. Fix this by updating the information elements fields if they are pointing to beacon IEs. Signed-off-by: Sven Neumann Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 998d516d9546eba04dd99ae49a78acb0cf770478 Author: Rajkumar Manoharan Date: Wed Dec 8 20:01:05 2010 +0530 ath: Missed to clear key4 of micentry key4 of micentry is used, if ATH_CRYPT_CAP_MIC_COMBINED is set. But is not cleared on key cache reset. Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 6b3b991dbdb66a65a2167abbd9503e519fa999f3 Author: Rajkumar Manoharan Date: Wed Dec 8 19:38:55 2010 +0530 ath9k: Add change_interface callback Add support to change interface type without bringing down the interface. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit a7ffac9591a2a0ee74c431396ae475a8d0caa51e Author: Bruno Randolf Date: Wed Dec 8 13:59:24 2010 +0900 cfg80211: Add antenna availability information Add a field to wiphy for the hardware to report the availble antennas for configuration. Only if this is set to something bigger than zero, will the anntenna configuration ops be executed. Allthough this could be a simple number of antennas, I defined it as a bitmap of antennas which are available for configuration, since it's more consistent with the rest of the antenna API and there could be cases where the hardware allows only configuration of certain antennas. As it does not make much of a difference in size or normal usage, I think it's better to be able to support this, in case the need arises. The antenna configuration is now also checked against the availabe antennas and rejected if it does not match. Signed-off-by: Bruno Randolf -- v3: always apply available antenna mask (for "all" antennas case). v2: reject antenna configurations which don't match the available antennas Signed-off-by: John W. Linville commit a08e7ade9ddf4fe79576f953cc5c1725e944d26c Author: Luis R. Rodriguez Date: Tue Dec 7 15:13:20 2010 -0800 ath9k: fix assumptions for idle calls on suspend/resume mac80211 will notify drivers when to go idle and ath9k assumed that it would get further notifications for idle states after a device stop() config call but as per agreed semantics the idle state of the radio is left up to driver after mac80211 issues the stop() callback. The driver is resposnbile for ensuring the device remains idle after that even between suspend / resume calls. This fixes suspend/resume when you issue suspend and resume twice on ath9k when ath9k_stop() was already called. We need to put the radio to full sleep in order for resume to work correctly. What might seem fishy is we are turning the radio off after resume. The reason why we do this is because we know we should not have anything enabled after a mac80211 tells us to stop(), if we resume and never get a start() we won't get another stop() by mac80211 so to be safe always bring the 802.11 device with the radio disabled after resume, this ensures that if we suspend we already have the radio disabled and only a start() will ever trigger it on. Cc: stable@kernel.org Cc: Paul Stewart Cc: Amod Bodas Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c2731b814e2aaaa40072ee761b7373c052d86e37 Author: Luis R. Rodriguez Date: Tue Dec 7 15:13:19 2010 -0800 ath9k: Fix power save count imbalance on ath_radio_enable() Upon a failure we never call ath9k_ps_restore() on ath_radio_enable(), this will throw off the sc->ps_usecount. When the sc->ps_usecount is > 0 we never put the chip to full sleep. This drains battery, and will also make the chip fail upon resume with: ath: Starting driver with initial channel: 5745 MHz ath: timeout (100000 us) on reg 0x7000: 0xdeadbeef & 0x00000003 != 0x00000000 This would make the chip useless upon resume. I cannot prove this can happen but in theory it is so best to avoid this race completely and not have users complain about a broken device after resume. Cc: stable@kernel.org Cc: Paul Stewart Cc: Amod Bodas Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1d212aa96e1b63459486f729af9a3fa38768b801 Merge: 8c4877a b761337 Author: John W. Linville Date: Mon Dec 13 15:20:45 2010 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem commit 1635953305694ece16d99078ca6d32f3d4e7eb36 Author: Tejun Heo Date: Sun Dec 12 16:45:15 2010 +0100 hostap: don't use flush_scheduled_work() flush_scheduled_work() is on its way out. Drop flush_scheduled_work() from prism2_free_local_data() and replace it with explicit flushing of work items on the respective free functions. Work items in ap_data are flushed from hostap_free_data() and the ones in local_info from prism2_free_local_data(). Flush is used instead of cancel as some process and free items from queue. Signed-off-by: Tejun Heo Cc: "David S. Miller" Cc: Jes Sorensen Cc: netdev@vger.kernel.org commit 23f333a2bfafba80339315b724808982a9de57d9 Author: Tejun Heo Date: Sun Dec 12 16:45:14 2010 +0100 drivers/net: don't use flush_scheduled_work() flush_scheduled_work() is on its way out. This patch contains simple conversions to replace flush_scheduled_work() usage with direct cancels and flushes. Directly cancel the used works on driver detach and flush them in other cases. The conversions are mostly straight forward and the only dangers are, * Forgetting to cancel/flush one or more used works. * Cancelling when a work should be flushed (ie. the work must be executed once scheduled whether the driver is detaching or not). I've gone over the changes multiple times but it would be much appreciated if you can review with the above points in mind. Signed-off-by: Tejun Heo Cc: "David S. Miller" Cc: Jay Cliburn Cc: Michael Chan Cc: Divy Le Ray Cc: e1000-devel@lists.sourceforge.net Cc: Vasanthy Kolluri Cc: Samuel Ortiz Cc: Lennert Buytenhek Cc: Andrew Gallatin Cc: Francois Romieu Cc: Ramkrishna Vepa Cc: Matt Carlson Cc: David Brownell Cc: Shreyas Bhatewara Cc: netdev@vger.kernel.org commit 1e13f863ca88014d9550876c05c939fdab1017d1 Merge: f404c2f f435d9e Author: David S. Miller Date: Fri Dec 10 09:50:47 2010 -0800 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 Conflicts: drivers/net/wireless/ath/ath9k/ar9003_eeprom.c commit b7613370db5ba66ad81e41cd3a5417fde4d5e03c Author: John W. Linville Date: Thu Dec 9 09:08:47 2010 -0500 ath: fix build break with ATH_DBG_WARN_ON_ONCE Description by Hauke: "If CONFIG_ATH_DEBUG=y is set ATH_DBG_WARN_ON_ONCE uses WARN_ON_ONCE and returns something, but if CONFIG_ATH_DEBUG is not set it does not return anything. Now ATH_DBG_WARN_ON_ONCE is used in the boolean expression in an if case and is not returning anything and causes a compile error. CC [M] /drivers/net/wireless/ath/ath9k/main.o /drivers/net/wireless/ath/ath9k/main.c: In function ‘ath_isr’: /drivers/net/wireless/ath/ath9k/main.c:769: error: expected expression before ‘do’ make[5]: *** [/drivers/net/wireless/ath/ath9k/main.o] Error 1 make[4]: *** [/drivers/net/wireless/ath/ath9k] Error 2" Reported-by: Hauke Mehrtens Signed-off-by: John W. Linville commit b7ee1d01c5ff3bf2e51c8565ea00823cdbc2a9f3 Author: Sedat Dilek Date: Tue Dec 7 22:35:50 2010 +0100 ath5k: Fix modinfo does not list alias -> pci-id lines The AHB bus support patchset moved the table "Known PCI ids" from base.c to pci.c - unfortunately, MODULE_DEVICE_TABLE() was not transferred. With this fix 'modinfo ath5k' lists the alias -> pci-id lines, again. The issue was introduced by: commit e5b046d86fac609f636d127a38de94a175c7e83b "ath5k: Move PCI bus functions to separate file." Signed-off-by: Sedat Dilek Signed-off-by: John W. Linville commit fe6c791570efe717946ea7b7dd50aec96b70d551 Merge: f8bf568 f198725 Author: David S. Miller Date: Wed Dec 8 13:15:38 2010 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/ath/ath9k/ar9003_eeprom.c net/llc/af_llc.c commit 393934c6b5c8d00f9d1ae20670d4a770f07a418a Merge: 69f4aab 0a54917 Author: John W. Linville Date: Wed Dec 8 16:23:31 2010 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: drivers/net/wireless/ath/ath9k/ath9k.h drivers/net/wireless/ath/ath9k/main.c drivers/net/wireless/ath/ath9k/xmit.c commit 69f4aab1157d2a386e7ea4de77cc253629d1b4f2 Author: Luis R. Rodriguez Date: Tue Dec 7 15:13:23 2010 -0800 ath9k_hw: warn if we cannot change the power to the chip Suspend requires the device to be in fullsleep otherwise upon resume the device becomes unresponsive. We need to ensure that when we want the device to go to sleep it yields to the request, otherwise we'll have a useless devices upon resume. Warn when changing the power fails as we need to look into these issues. Cc: Paul Stewart Cc: Amod Bodas Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ff9f0b639f33c92a89b0799263ab625444be6ee1 Author: Luis R. Rodriguez Date: Tue Dec 7 15:13:22 2010 -0800 ath9k: skip ATH9K_INT_TIM_TIMER when we are idle We should not be idle when we get the ATH9K_INT_TIM_TIMER, otherwise its a sign of something broken in our design with our idle state machine and mac80211. Skip these and WARN once just in case this is triggerable. Cc: Paul Stewart Cc: Amod Bodas signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 692d2c0fb36c02ad07d54641c26f48e644b27fbd Author: Rafał Miłecki Date: Tue Dec 7 21:56:00 2010 +0100 b43: rename config option for N-PHY, drop BROKEN Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 82a52043c7801f83c7387deb45bf9323af04644b Author: Rafał Miłecki Date: Tue Dec 7 21:55:59 2010 +0100 b43: fix split of N-PHY devices into supported and not (based on PHY rev) Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit abc1f7cd531f80a8468ab654f1dfd35d58bd2490 Author: Rafał Miłecki Date: Tue Dec 7 21:55:58 2010 +0100 b43: set TMS to work with current band width for N-PHY Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit c7455cf988f06ba578cc6a680392426fce382ca1 Author: Rafał Miłecki Date: Tue Dec 7 21:55:57 2010 +0100 b43: N-PHY: silence warnings Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 2f886750118c1781d3b53268bf25519aef1d4d71 Author: Ben Greear Date: Tue Dec 7 11:27:01 2010 -0800 mac80211: Show max number of probe tries in debug message. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 155180803c95c7b14b355f60431bef45116c151e Author: Rafał Miłecki Date: Tue Dec 7 09:42:07 2010 +0100 b43: flush PHY writes when needed Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 755fd183b89bc8a302669b6f35cd98faee473f7a Author: Rafał Miłecki Date: Tue Dec 7 09:42:06 2010 +0100 b43: N-PHY: implement own maskset This let us avoid double addressing while still having reg check. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit f00fe7f6d14ab7bbd4655f55eae71bbd73ef766d Author: Rafał Miłecki Date: Tue Dec 7 09:42:05 2010 +0100 b43: N-PHY: reorder and optimize tables initialization Order was changed in specs. For writing arrays we have designed bulk function which makes use of auto increment and do not write table address over and over. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 857581bdf1a3b36bfd42609d6f5433bd83397127 Author: Rafał Miłecki Date: Tue Dec 7 09:42:04 2010 +0100 b43: N-PHY: update init tables Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit a9927ba3c5f3c5f6b0e8fa7557452335edeaf5fa Author: Ben Greear Date: Mon Dec 6 21:13:49 2010 -0800 ath9k: Check for NULL sta in ath_tx_start It can be NULL according to docs, and logging showed it to be NULL in practice. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 80d7e403c97b712e302ec37e9beceff1dbdc9402 Author: Helmut Schaa Date: Fri Nov 19 12:40:26 2010 +0100 mac80211: Apply ht_opmode changes in ieee80211_change_bss Cc: Johannes Berg Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 50b12f597be354a5a224f05c65c54c0667e57aec Author: Helmut Schaa Date: Fri Nov 19 12:40:25 2010 +0100 cfg80211: Add new BSS attribute ht_opmode Add a new BSS attribute to allow hostapd to set the current HT opmode. Otherwise drivers won't be able to set up protection for HT rates in AP mode. Cc: Johannes Berg Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit a40c406cbdd28dcca3483065bc2ba794cf5aaab7 Author: Johan Hedberg Date: Wed Dec 8 00:21:07 2010 +0200 Bluetooth: Make hci_send_to_sock usable for management control sockets In order to send data to management control sockets the function should: - skip checks intended for raw HCI data and stack internal events - make sure RAW HCI data or stack internal events don't go to management control sockets In order to accomplish this the patch adds a new member to the bluetooth skb private data to flag skb's that are destined for management control sockets. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 0381101fd6a73c7d6b545044dc1472d019fc64e3 Author: Johan Hedberg Date: Wed Dec 8 00:21:06 2010 +0200 Bluetooth: Add initial Bluetooth Management interface callbacks Add initial code for handling Bluetooth Management interface messages. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Acked-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 7659a193f94c0003dd06e9e874d19bade1a8c952 Author: Javier Cardona Date: Tue Dec 7 10:41:47 2010 -0800 mac80211: Fix compilation error when mesh is disabled Wrap mesh sections inside CONFIG_MAC80211_MESH to fix compilation problems reported by Stephen Rothwell, Larry Finger and Bruno Randolf. Signed-off-by: John W. Linville commit cae6b74d907e2abd22d496fe30417b088d3302cf Author: Mohammed Shafi Shajakhan Date: Tue Dec 7 21:23:16 2010 +0530 ath9k: Remove dead code in recv.c The structure struct ieee80211_rx_status *rxs is no longer needed to be passed to ath_rx_send_to_mac80211 function Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 0ce3bcfc84900a64347b0fe1140229bd81314008 Author: Mohammed Shafi Shajakhan Date: Tue Dec 7 21:14:15 2010 +0530 ath9k: Parse DTIM period from mac80211 With the current save power save implementation we assume a dtim period of 1.This value is assigned based on a sanity check in the driver eventhough we had not parsed it from mac80211.This patch obtains the actual DTIM period from AP by parsing it from mac80211.Yet for handling multicast traffic we may still have it as fixed rather than parsing it from mac80211 .This does not breaks power save or anything as the sleep duration is currently fixed in the driver.This patch may serve to improve power save in the future by using dtim period for sleep duration and using correct dtim period adhoc mode. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit aaef24b4c9f5db726e618977b74ffef924360de5 Author: Mohammed Shafi Shajakhan Date: Tue Dec 7 20:40:58 2010 +0530 ath9k: Properly use unlikely check macro AUTOSLEEP feature is enabled only for AR9271 and AR9003 version chipsets.So unlikely macro should be used only to check whether auto-sleep feature is enabled Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit caa0a99acd2c4eb0a8d4e9caae397291e4cf743a Author: Sujith Manoharan Date: Tue Dec 7 16:32:02 2010 +0530 ath9k_htc: Fix panic on FW download failure Use the correct error condition exit in case firmware download fails for some reason. Not doing so results in a panic: usb 1-3: ath9k_htc: Transferred FW: ar9271.fw, size: 51280 usb 1-3: ath9k_htc: Firmware - ar9271.fw download failed usb 1-3: ath9k_htc: Target is unresponsive Failed to initialize the device INFO: trying to register non-static key. the code is fine but needs lockdep annotation. turning off the locking correctness validator. Pid: 2823, comm: insmod Tainted: G W 2.6.37-rc4-wl #11 Call Trace: [] __lock_acquire+0xe3e/0x1d00 [] ? restore_args+0x0/0x30 [] ? vprintk+0x321/0x500 [] lock_acquire+0xa0/0x190 [] ? usb_kill_anchored_urbs+0x1c/0x80 [usbcore] [] _raw_spin_lock_irq+0x48/0x60 [] ? usb_kill_anchored_urbs+0x1c/0x80 [usbcore] [] ? printk+0x3c/0x3f [] usb_kill_anchored_urbs+0x1c/0x80 [usbcore] [] ath9k_hif_usb_dealloc_urbs+0x18/0x40 [ath9k_htc] [] ath9k_hif_usb_probe+0x227/0x3d0 [ath9k_htc] [] usb_probe_interface+0x10c/0x210 [usbcore] [] driver_probe_device+0x96/0x1c0 [] __driver_attach+0xa3/0xb0 [] ? __driver_attach+0x0/0xb0 [] bus_for_each_dev+0x5e/0x90 [] driver_attach+0x19/0x20 [] bus_add_driver+0x168/0x320 [] driver_register+0x71/0x140 [] ? __raw_spin_lock_init+0x38/0x70 [] usb_register_driver+0xdc/0x190 [usbcore] [] ? ath9k_htc_init+0x0/0x4f [ath9k_htc] [] ath9k_hif_usb_init+0x1e/0x20 [ath9k_htc] [] ath9k_htc_init+0x2b/0x4f [ath9k_htc] [] do_one_initcall+0x3f/0x180 [] sys_init_module+0xbb/0x200 [] system_call_fastpath+0x16/0x1b Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 692d6b175b392512881ab374567e900fc825d487 Author: Sujith Manoharan Date: Tue Dec 7 16:31:54 2010 +0530 ath9k_htc: Add support for handling TX power configuration Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 0b5ead91cda63e0db964dadc77601233434f60cb Author: Sujith Manoharan Date: Tue Dec 7 16:31:38 2010 +0530 ath9k_htc: Cleanup device identification ath.ko is a common module shared between ath5k, ar9170usb, ath9k and ath9k_htc. Adding driver specific data to the shared structure would impact all the drivers. Handling USB device recognition for devices specific to ath9k_htc can be handled within the driver itself. Also, AR7010 refers to the processor used in both AR9280/AR9287 based devices. Rename the device enumerations accordingly. While at it, check properly for the bus type when choosing the EEPROM base address for UB95. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit c658e5db01117bf2a321a9a782754dd5b10e2f15 Author: Felix Fietkau Date: Tue Dec 7 04:40:18 2010 +0100 mac80211: fix a compiler warning net/mac80211/mlme.c: In function 'ieee80211_sta_work': net/mac80211/mlme.c:1981: warning: too many arguments for format Introduced by commit 04ac3c0ee2c773c321ec472d892635a20556f34d ("mac80211: speed up AP probing using nullfunc frames"). Reported-by: Stephen Rothwell Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 22d8d9f81b8b054df2f7f82daffcb71608f411e4 Author: Bruno Randolf Date: Tue Dec 7 11:08:12 2010 +0900 ath5k: Use capabilities information for the number of TX queues One thing I missed in my WME series: Older hardware does not have enough hardware queues to support WME. In this case we just set up one data queue. Use the capability information to decide how many queues to set up. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit d7fd1b50a51be3fe6554fbab8953fa8a3ff4009b Author: Ben Greear Date: Mon Dec 6 13:13:07 2010 -0800 ath9k: Make DMA warning in ath_stoprecv WARN_ON_ONCE. This decreases spammage in the log. A single line message will still be printed, so users can be aware that problem exists. Signed-off-by: Ben Greear Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1435894dcd263fdbdd5e1ea2a684289dff187c34 Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:28:00 2010 -0800 ath9k: Add device id of AR9485 to pci table Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit a95f1600081211433c5ff6f3668061c821552e9f Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:59 2010 -0800 ath9k_hw: Disable MRC CCK for AR9485 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 11441fb8b700bd782ae72d3dd87453fc5bc2ff12 Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:58 2010 -0800 ath9k_hw: Setup paprd only for supported chains Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 7090ad1416d0311677c43728494c6028aa2436b6 Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:57 2010 -0800 ath9k_hw: Program appropriate register for temperature compensation cal for AR9485 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 858b7e36e82cc03cb77b64f096b64446a24a346a Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:56 2010 -0800 ath9k_hw: Add IQ cal changes for AR9485 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 31faff815bd9d87c370f799dff03948ed362d260 Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:55 2010 -0800 ath9k_hw: Define IQcal correction coefficient registers using index Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 6559e83ebd2cac06c54ebb2b7f635cf2e434f25c Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:54 2010 -0800 ath9k_hw: Program appropriate chianmask for AR9485 before starting AGC/IQ cal Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 5f139eba4174d9a3343efc7cfb8a0a9cb184c647 Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:53 2010 -0800 ath9k_hw: Configure power control only for the supported chains Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit dd040f76cef0cc977b83e905a16b68d41322b735 Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:52 2010 -0800 ath9k_hw: Read and configure turnning caps to regulate freq accuracy Right now it is done for only AR9485, will be done for ar9003 also after proper testing. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ab09b5b4beda8b33a117bf6fbbb2b5aa8f566129 Author: Vasanthakumar Thiagarajan Date: Tue Dec 7 02:20:39 2010 -0800 ath9k_hw: Configure internal regulator for AR9485 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 47e84dfb411fcaa51e12d94ab82570ec3aa86e32 Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:49 2010 -0800 ath9k_hw: Read and configure antenna diversity control for AR9485 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 9936e65fae6d95c2acc2438c60a8f4908130530e Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:48 2010 -0800 ath9k_hw: Configure xpa bias level for AR9485 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit d9a2545ac713e26ab8c8eee741d2da1626cebd6e Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:47 2010 -0800 ath9k: Read spur channel information from eeprom for AR9485 Also spur channel count and range is different for AR9485. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 272ceba892208013a45847276a00ccae54e2b94a Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:46 2010 -0800 ath9k_hw: Add a helper function to get spur channel pointer from cal data for AR9003 family This helper function would be used for AR9485. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 85dd0921e686ed2f0283cef358a91ecaa36ccc8f Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:45 2010 -0800 ath9k_hw: Find chansel of AR_PHY_65NM_CH0_SYNTH7 for AR9485 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit d09b17f73fd8f475f33d0b8311d7b5a0bed67c67 Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:44 2010 -0800 ath9k: Configure pll control for AR9485 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 47c80de62e9d6d262a829502d689a8b56add8d3d Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:43 2010 -0800 ath9k_hw: Find the maximum number of chains that hw supports Have it in ah->caps. This will be used during various calibrations. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 8060e169e02fe855f5533b5ef6af1f23ae2db0c4 Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:42 2010 -0800 ath9k: Enable extended synch for AR9485 to fix L0s recovery issue Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 7f1c7a6ac57ff0482219aa3f62eb9d0f8fe65867 Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:41 2010 -0800 ath9k: Disable TX STBC for AR9485 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 784ad50324ec531fa4ab22586fe305657cc6e307 Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:40 2010 -0800 ath9k_hw: Disable LDPC for AR9485 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 60e0c3a782f9060327751492dac949210154759b Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:39 2010 -0800 ath9k_hw: Eeeprom changes for AR9485 Calibration data are stored at 4k address (0xfff). The cal data for AR9485 is not compressed so its lengh can exceed 1024 limit, take care of that. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ff48ba464e3503149657c60d46e8f4e9b4ed27fa Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:38 2010 -0800 ath9k_hw: Initialize tx/rx gain table from initvals.h for AR9485 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit c88457eb83fb6db7a3286a685ecc6e33a7aac49d Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:37 2010 -0800 ath9k_hw: Initialize mode registers for AR9485 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 3050c9146b2a4c98a916192fac2867c0023ec2b1 Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:36 2010 -0800 ath9k_hw: Enable hw initialization for AR9485 Also make it a supported mac Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit d9c803e1864d563b07382eb1bb8979cd70b1001e Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:35 2010 -0800 ath9k_hw: Add initvals.h for AR9485 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 3bbb780cca79dfe0200d33afb95a8990acde65b9 Author: Vasanthakumar Thiagarajan Date: Mon Dec 6 04:27:34 2010 -0800 ath9k_hw: Define hw version macros for AR9485 AR9485 is a single chain and single band (2.4 Ghz) chip. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit b7555ec7c604f2f00e432579dac29df5ce525433 Author: John W. Linville Date: Tue Dec 7 14:13:49 2010 -0500 ath5k: remove MODULE_VERSION Since this is updated manually and sporadically, it is fairly useless anyway. Signed-off-by: John W. Linville commit a1cbc7a88985976267a851a2e1080578711b3b0d Author: Joe Perches Date: Thu Dec 2 19:12:38 2010 -0800 ath: Fix ath_dbg access beyond array bound ar9300RateSize is not necessarily a power of 4. Change ar9003_hw_set_target_power_eeprom to print the targetPowerValT2 array one per line. ath9k_hw_ar9300_set_txpower repeated the output 4 times per line, change it to print the targetPowerValT2 value one per line. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 226afe68fdbd1aa3680158aca0a3631cbd019626 Author: Joe Perches Date: Thu Dec 2 19:12:37 2010 -0800 ath: Convert ath_print to ath_dbg Remove ath/debug.h and the includes of these files. Coalesce long formats. Correct a few misspellings and missing "\n"s from these logging messages. Remove unnecessary trailing space before a newline. Remove ARRAY_SIZE casts, use printf type %zu Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 3800276a40751539a920ef8e0537ef2e19126799 Author: Joe Perches Date: Thu Dec 2 19:12:36 2010 -0800 ath: Convert ath_print(.., ATH_DBG_FATAL to ath_err So these errors are always emitted at KERN_ERR level. Remove ARRAY_SIZE casts, use printf type %zu Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 21a99f934949807dc0c9dc7642bbf0081b7582f9 Author: Joe Perches Date: Thu Dec 2 19:12:35 2010 -0800 ath: Add and use ath_printk and ath_ Add ath_printk and ath_ similar to dev_printk and dev_ from device.h This allows a more gradual rename of ath_print to to ath_dbg or perhaps ath_debug. This basically removes debug.h leaving only an #define ath_printk ath_dbg there and moving all the ATH_DBG_ enums to ath.h I do not think there's much purpose for struct ath_common * being passed to the ath_printk functions, but perhaps there might be. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 0ab82b04ac83a05bda3ef8499f415fc6fd6ee206 Author: Eliad Peller Date: Fri Dec 3 02:16:23 2010 +0200 mac80211: fix dynamic-ps/pm_qos magic numbers mac80211 uses pm_qos (/dev/network_latency) in order to determine the dynamic ps timeout (or disable the dynamic-ps at all in some cases). commit ff616381 added a comparison for the current network_latency against one high value (1900ms), and against the default value (2000sec, rather than the commented 2sec). however, the representation of 1900ms was incorrect: 1900ms = 1900000us ( != 1900000000 ) fix it by using USEC_TO_MSEC/SEC consts. Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit 329b32fedc94fd9158f1635ac64f4ae6a00d374c Author: David Kilroy Date: Thu Dec 2 18:19:21 2010 +0000 orinoco: allow IW_AUTH_MFP to pass through The card doesn't support MFP, so silently accept DISABLED and OPTIONAL settings. This avoids the following failure in wpa_supplicant logs: State: SCANNING -> ASSOCIATING wpa_driver_wext_set_operstate: operstate 0->0 (DORMANT) netlink: Operstate: linkmode=-1, operstate=5 wpa_driver_wext_associate wpa_driver_wext_set_drop_unencrypted wpa_driver_wext_set_psk wpa_driver_wext_associate: assoc failed because set_auth_param(IW_AUTH_MFP) failed Association request to the driver failed Signed-off by: David Kilroy Reported by: Giacomo Comes Signed-off-by: John W. Linville commit 541a45a142df281c974d74eac2066138fc107b23 Author: Bruno Randolf Date: Thu Dec 2 19:12:43 2010 +0900 nl80211/mac80211: Report signal average Extend nl80211 to report an exponential weighted moving average (EWMA) of the signal value. Since the signal value usually fluctuates between different packets, an average can be more useful than the value of the last packet. This uses the recently added generic EWMA library function. -- v2: fix ABI breakage and change factor to be a power of 2. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit ff2109f5f94ff75f45e0c8d2d1d56fefdf20733f Author: Tracey Dent Date: Sun Nov 21 15:03:12 2010 +0000 Net: bluetooth: Makefile: Remove deprecated kbuild goal definitions Changed Makefile to use -y instead of -objs because -objs is deprecated and not mentioned in Documentation/kbuild/makefiles.txt. Signed-off-by: Tracey Dent Signed-off-by: David S. Miller commit 22de94de7de78b8de2fb1f2df5aa85b5556cfcfd Author: Stanislaw Gruszka Date: Fri Dec 3 15:41:48 2010 +0100 iwlwifi: jiffies based tx queues watchdog This patch replace monitor/recover timer by watchdog based on time stamp. New code allow to discover hangs more precisely. Timeout values are currently doubled monitoring period values of previous timer. This have to be tuned based of firmware timing capabilities. Tested on 3945, 4965, 5300, 6300. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit abc471dc31be15f9fee5ec77f25d31b927d334b9 Author: Stanislaw Gruszka Date: Fri Dec 3 15:41:47 2010 +0100 iwl3945: prevent too frequent firmware resets Similarly like on iwlagn, initialize reset duration on iwl3945 to prevent too frequent firmware resets. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 29cbe68c516a48a9a88b3226878570c6cbd83c02 Author: Johannes Berg Date: Fri Dec 3 09:20:44 2010 +0100 cfg80211/mac80211: add mesh join/leave commands Instead of tying mesh activity to interface up, add join and leave commands for mesh. Since we must be backward compatible, let cfg80211 handle joining a mesh if a mesh ID was pre-configured when the device goes up. Note that this therefore must modify mac80211 as well since mac80211 needs to lose the logic to start the mesh on interface up. We now allow querying mesh parameters before the mesh is connected, which simply returns defaults. Setting them (internally renamed to "update") is only allowed while connected. Specify them with the new mesh join command instead where needed. In mac80211, beaconing must now also follow the mesh enabled/not enabled state, which is done by testing the mesh ID. Signed-off-by: Javier Cardona Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bd90fdcc5fbd99a2a778999610420cf793bd1be2 Author: Johannes Berg Date: Fri Dec 3 09:20:43 2010 +0100 nl80211: refactor mesh parameter parsing I'm going to need this in a new place later. Tested-by: Javier Cardona Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f9e10ce4cf86945eb5efcab31284c971877ed012 Author: Johannes Berg Date: Fri Dec 3 09:20:42 2010 +0100 cfg80211: require add_virtual_intf to return new dev cfg80211 used to do all its bookkeeping in the notifier, but some new stuff will have to use local variables so make the callback return the netdev pointer. Tested-by: Javier Cardona Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 09b174702601079c3a04806754be30ffbd70db4d Author: Johannes Berg Date: Fri Dec 3 09:20:41 2010 +0100 mac80211: move mesh filter adjusting Logically, the filter adjusting belongs with starting/stopping mesh, not interface up/down, so move it there. Tested-by: Javier Cardona Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 45904f21655cf4f0ae7d0fab5906fe51bf56ecf4 Author: Javier Cardona Date: Fri Dec 3 09:20:40 2010 +0100 nl80211/mac80211: define and allow configuring mesh element TTL The TTL in path selection information elements is different from the mesh ttl used in mesh data frames. Version 7.03 of the 11s draft calls this ttl 'Element TTL'. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b9e61f11f47035e3b4545b51fb547fef48eb3096 Author: Nick Kossifidis Date: Fri Dec 3 06:12:39 2010 +0200 ath5k: Include tx ack reporting on hw flags * Since we report tx acks to the protocol stack, add the needed flag to hw_flags. This way we'll also use the new AP probing mechanism. Signed-off-by: Nick Kossifidis Tested-by: Sedat Dilek Signed-off-by: John W. Linville commit f0e134a53ad95ba7a393b299ae56c9bdcaed8aec Author: Nick Kossifidis Date: Fri Dec 3 06:09:38 2010 +0200 ath5k: Fix reporting of RX dma stop failure * Correctly report failure to stop RX DMA Signed-off-by: Nick Kossifidis Tested-by: Sedat Dilek Signed-off-by: John W. Linville commit 344b54b971bc5578281264fb6896e13b4120352b Author: Nick Kossifidis Date: Fri Dec 3 06:07:13 2010 +0200 ath5k: Disable ANI during reset * Stop ANI durring reset to prevent false PHY error reports Signed-off-by: Nick Kossifidis Tested-by: Sedat Dilek Signed-off-by: John W. Linville commit 19252ecb672d3f35959c576d1d26b9aca350f5bf Author: Nick Kossifidis Date: Fri Dec 3 06:05:19 2010 +0200 ath5k: Always free tx buffers before reset * Always free tx buffers before reset, since we also empty hw queues. If we don't and a queue gets stuck, we'll never decrease txq_len and sw will keep thinking the queue is still stuck even after reset. Signed-off-by: Nick Kossifidis Tested-by: Sedat Dilek Signed-off-by: John W. Linville commit d84938c9be85f4738a350ef44210789fef915cb7 Author: Nick Kossifidis Date: Fri Dec 3 06:03:00 2010 +0200 ath5k: Always write tx powertable on hw * By skipping tx power table calibration we also skip setting tx power table on hw. Make sure we always write tx power table on hw since it gets cleared on reset. Signed-off-by: Nick Kossifidis Tested-by: Sedat Dilek Signed-off-by: John W. Linville commit 04ac3c0ee2c773c321ec472d892635a20556f34d Author: Felix Fietkau Date: Thu Dec 2 21:01:08 2010 +0100 mac80211: speed up AP probing using nullfunc frames If the nullfunc frame used to probe the AP was not acked, there is no point in waiting for the probe timeout, so advance to the next try (or disconnect) immediately. If we do reach the probe timeout without having received a tx status, the connection is probably really bad and worth disconnecting. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 75706d0e9d19601534446982b70102bb9327169b Author: Felix Fietkau Date: Thu Dec 2 21:01:07 2010 +0100 mac80211: remove a redundant check ieee80211_is_nullfunc() implies ieee80211_is_data() Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 5dcc03fe29537edd7819f5b121bf3d779693f37b Author: Bruno Randolf Date: Thu Dec 2 19:12:31 2010 +0900 ath5k: Use EWMA factor of 1024 instead of 1000 This prepares the only place which uses the EWMA library so far for the performance improved implementation coming up, which requires factor and weight to be a power of two. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit c1ce5a74d113f221d40625bd3ad83df2db2695b7 Author: Helmut Schaa Date: Wed Dec 1 16:34:45 2010 +0100 mac80211: Update last_tx_rate only for data frames The last_tx_rate field was also updated for non-data frames that are often sent with a lower rate (for example management frames at 1 Mbps). This is confusing when the data rate is actually much higher. Hence, only update the last_tx_rate field with tx rate information gathered from last data frames. If the rate control algorithm filled in txrc.reported_rate we don't need to verify this information. Cc: Johannes Berg Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 5f79ed3b1aa7af260c82ba714b90907070aeca7a Merge: 09f921f 9f28ebc Author: John W. Linville Date: Mon Dec 6 15:52:27 2010 -0500 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit f435d9eea01309aa7b6c1f134569a7b5957918ae Merge: 5ee4937 09f921f Author: John W. Linville Date: Mon Dec 6 15:35:34 2010 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem commit df6bd743b6f06b066c1c3ba7f2853a6e8d61468c Author: Gustavo F. Padovan Date: Mon Jun 14 02:26:15 2010 -0300 Bluetooth: Don't accept ConfigReq if we aren't in the BT_CONFIG state If such event happens we shall reply with a Command Reject, because we are not expecting any configure request. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 09f921f83faa49cdea25abfb98c439c01526b89d Merge: 4cebb34 d89197c Author: John W. Linville Date: Thu Dec 2 15:46:37 2010 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: drivers/net/wireless/ath/ath9k/ar9003_eeprom.c commit 4cebb34caa5122216a1e2451eae9e0fc47ec2589 Author: Felix Fietkau Date: Thu Dec 2 10:27:21 2010 +0100 ath5k: Fix reset and interrupts for AHB type of devices. On WiSoc we cannot access mac register before it is resetted. It will crash hardware otherwise. Signed-off-by: Felix Fietkau Signed-off-by: Wojciech Dubowik Signed-off-by: John W. Linville commit a0b907ee2a71052fefdf6151764095f3f97b3275 Author: Felix Fietkau Date: Thu Dec 2 10:27:16 2010 +0100 ath5k: Add AHB bus support. AHB specific functions are now in ahb.c file. AHB bus is compiled in when CONFIG_ATHEROS_AR231X is set in kernel. All other platforms will use PCI bus. Signed-off-by: Felix Fietkau Signed-off-by: Wojciech Dubowik Signed-off-by: John W. Linville commit c31b5c9c806b1fbdc9e98885d897664a0d482989 Author: Felix Fietkau Date: Thu Dec 2 10:27:11 2010 +0100 ath5k: Add initial registers values for radio RF2317 chip. Signed-off-by: Felix Fietkau Signed-off-by: Wojciech Dubowik Signed-off-by: John W. Linville commit e7aecd327d80b2f156b54769013aaccb2a20645a Author: Felix Fietkau Date: Thu Dec 2 10:27:06 2010 +0100 ath5k: Add a function to read chipset's MAC revision Add bus dependent revision read function which is used to determine chipset's MAC before hardware is initialized. Signed-off-by: Felix Fietkau Signed-off-by: Wojciech Dubowik Signed-off-by: John W. Linville commit 8efa5d7d6ad307ae2d220def37ca89594062c40d Author: Felix Fietkau Date: Thu Dec 2 10:27:06 2010 +0100 ath5k: Check if pci pdev struct is initialized in common functions. To be able to support other busses than PCI check if pci device structure is initialized. Signed-off-by: Felix Fietkau Signed-off-by: Wojciech Dubowik Signed-off-by: John W. Linville commit 4aa5d783c9e1c72e4950ff34f388077ccecac74a Author: Felix Fietkau Date: Thu Dec 2 10:27:01 2010 +0100 ath5k: Use generic eeprom read from common ath_bus_opts struct. Signed-off-by: Felix Fietkau Signed-off-by: Wojciech Dubowik Signed-off-by: John W. Linville commit e5b046d86fac609f636d127a38de94a175c7e83b Author: Felix Fietkau Date: Thu Dec 2 10:27:01 2010 +0100 ath5k: Move PCI bus functions to separate file. Signed-off-by: Felix Fietkau Signed-off-by: Wojciech Dubowik Signed-off-by: John W. Linville commit 132b1c3ee38ea6fa0501004fd0f19acb554e5a44 Author: Felix Fietkau Date: Thu Dec 2 10:26:56 2010 +0100 ath5k: Introduce ath5k_init_softc function as in ath9k Split pci initialization into hardware specific functions and softc structure initialization. Make function naming similar to ones ath9k. Introduce ath_bus_opts in ath5k for later AHB bus integration. Signed-off-by: Felix Fietkau Signed-off-by: Wojciech Dubowik Signed-off-by: John W. Linville commit aeae4ac9090462ea38387dcdbac4f01b944af6a4 Author: Felix Fietkau Date: Thu Dec 2 10:26:51 2010 +0100 ath5k: Use Generic DMA for later support of AHB bus. Signed-off-by: Felix Fietkau Signed-off-by: Wojciech Dubowik Signed-off-by: John W. Linville commit c30ae138aa0570665725166679bdf4207041c8df Merge: 78b8595 be21871 Author: John W. Linville Date: Thu Dec 2 15:17:46 2010 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6 commit 78b8595691c34478a51d1c2bcbbb0f6ec8a28247 Author: Andy Shevchenko Date: Thu Dec 2 14:45:07 2010 +0200 wireless: ray_cs: use '%pm' format option to print MAC Signed-off-by: Andy Shevchenko Cc: "John W. Linville" Cc: linux-wireless@vger.kernel.org Signed-off-by: John W. Linville commit 547025d5d4d1056fb4b5a0c9c3c0d5c2fe22c082 Author: Bruno Randolf Date: Thu Dec 2 16:23:12 2010 +0900 cfg80211: Add documentation for antenna ops The last patch with the same title was for mac80211 ops, accidentally. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 6a0141175b6026e13652339e607a35f4b6687f27 Author: Sujith Manoharan Date: Wed Dec 1 12:30:09 2010 +0530 ath9k_htc: Remove unused structures Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit b2767363192d5937e0f61f05b1b6b881da9ee55a Author: Joe Perches Date: Tue Nov 30 13:42:08 2010 -0800 wireless: Remove unnecessary casts of usb_get_intfdata Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit e7797bf2c0297098056a95b6b03ea5a9a3285e36 Author: Rafał Miłecki Date: Tue Nov 30 22:33:16 2010 +0100 b43: N-PHY: fix code path on PHY init Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 76b002bd6dfdd66c58669cbdfa5cd92084b6936e Author: Rafał Miłecki Date: Tue Nov 30 22:33:15 2010 +0100 b43: N-PHY: use defines for RSSI types Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 99f6c2ef1e968c0dbdfa8c5b8f2869129b860d88 Author: Rafał Miłecki Date: Tue Nov 30 22:33:14 2010 +0100 b43: N-PHY: fix RSSI selection Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 44b23b488d44e56d467764ecb661830e5b02b308 Author: Joe Perches Date: Tue Nov 30 12:19:11 2010 -0800 ath9k: hif_usb: Reduce indent 1 column Invert test and return early. Move variable declarations to local scope. Don't initialize variables to 0 unnecessarily. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit eb272441fc14ad126abfa46de8a9c58bda8added Author: Ben Greear Date: Mon Nov 29 14:13:22 2010 -0800 ath9k: Move debugfs under ieee80211/[phyname]/ath9k/ This fixes debugfs problems when a phy is renamed, and is able to remove a bit of code that is no longer needed. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 8cbe6e66889d2e4dbea37b2fc6f276bd69d1ef67 Author: Rafał Miłecki Date: Sun Nov 28 12:59:45 2010 +0100 b43: N-PHY: fix RSSI calibration Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 8c1d5a7a2230a162af709fa118f051e0d18ff427 Author: Rafał Miłecki Date: Sun Nov 28 12:59:44 2010 +0100 b43: N-PHY: initialize perical variable, add missing call to CCA reset Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 161d540c8ef31e5adbced3248873024476e2c26f Author: Rafał Miłecki Date: Sun Nov 28 12:59:43 2010 +0100 b43: N-PHY: implement very basic TX power control management Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 40277cabfee7c8ef45055155895dcbef0f983c63 Author: Rafał Miłecki Date: Sun Nov 28 12:59:42 2010 +0100 b43: N-PHY: swap values for radio registers 0x3b and 0x3c Specs were updated plus we become wl compatible. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 9f28ebc381ca00af0f9033a29776775068344b06 Author: Wey-Yi Guy Date: Fri Nov 26 13:24:19 2010 -0800 iwlagn: name change for bt_ch_announce module parameter Change the module parameter name to bt_ch_inhibition from bt_ch_announce to better describe the functionality In order to allow Bluetooth to activate a smart AFH mechanism and to maximize its available bandwidth the WiFi will request BT Core to inhibit its activity in channels that interfere with WiFi activity (and vice versa) if bt_ch_inhibition is enabled Set module parameter "bt_ch_inhibition=0" will disable the channel inhibition function Signed-off-by: Wey-Yi Guy commit adb90a00371a9a06a55c7b7ed7b38152f8e960c3 Author: Wey-Yi Guy Date: Fri Nov 26 11:09:42 2010 -0800 iwlwifi: check for STATUS_EXIT_PENDING when send RXON command If driver is on the way down, there is no need to send RXON to uCode, check the condition before continuous the process. Signed-off-by: Wey-Yi Guy commit 8b3ee29626031155c7844988ebe4321c151c03a2 Author: Wey-Yi Guy Date: Thu Nov 18 11:41:48 2010 -0800 iwlagn: remove structure name reference to gen2 Give the corresponding name for .cfg data structure Signed-off-by: Wey-Yi Guy commit e7cad69cdab4d6f0caadbcdd58b54214243ba98a Author: Grumbach, Emmanuel Date: Thu Nov 18 03:47:38 2010 -0800 iwlagn: Enable PCI L1 ACTIVE state after uCode has been loaded PCI L1 Active needs to be disabled while loading the uCode so that the bus doesn't go to sleep. The enablement of L1 Active should be done after the uCode has sent the ALIVE response. The enablement of L1 Active was missing. Enabling L1 Active allows to save power if the BIOS / bus driver allows it. I measured the power consumption while not associated and idle/associated: L1 Active disabled: 39 mA = 130mW L1 Active enabled: 6 mA = 20 mW Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 40b97c2fe96a476f1c228345f0c6a2d135a8b226 Author: Wey-Yi Guy Date: Wed Nov 17 14:17:53 2010 -0800 iwlagn: fix race condition when reprogram sta During reprogram stations, do not send link quality command. uCode will crash if receive link quality command for invalid station Signed-off-by: Wey-Yi Guy commit 1036dc169f4cc6e5b753b1596d285d1cc3311a23 Author: Juuso Oikarinen Date: Mon Nov 29 12:05:53 2010 +0200 wl12xx: Remove 11j channels from the supported channels list. Because we don't support them at this stage. Signed-off-by: Juuso Oikarinen Signed-off-by: Luciano Coelho commit 870c367cf829466f315de785ac613dd94eff5c50 Author: Roger Quadros Date: Mon Nov 29 16:24:57 2010 +0200 wl1271: Add wl1271_load_firmware() and export some functions For the SDIO testing module we need to load the firmware but not boot it. wl1271_load_firmware() is meant to do just the firmware loading part. We also export some functions so they are usable in the testing module. Signed-off-by: Roger Quadros Signed-off-by: Luciano Coelho commit 43a598d5e40485fcfbebe0700077e83afd803ed5 Author: Luciano Coelho Date: Tue Nov 30 14:58:46 2010 +0200 wl12xx: fix illegal memset if debugfs is not enabled If we try to reset the debugfs statistics when debugfs is not configured in the kernel, we're memset an illegal pointer, because it has never been allocated. So check whether we have debugfs enabled by looking into the wl->rootdir before trying to reset the fw_stats struct. Reported-by: Joerie de Gram Signed-off-by: Luciano Coelho commit d60080ae06b98790036104f07fa897cfc151ce12 Author: Eliad Peller Date: Wed Nov 24 12:53:16 2010 +0200 wl1271: move wl12xx debugfs directory to under wiphy's debugfs Use per-device debugfs path, so multiple devices won't collide. in order to use wl->hw->wiphy->debugfsdir, we have to move the debugfs creation from wl1271_debugfs_init() to wl1271_register_hw(). Reported-by: Johannes Berg Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 7cb2cea9f0f207f819db9823413fa263175b6230 Author: Eliad Peller Date: Wed Nov 24 12:53:15 2010 +0200 wl1271: use debugfs_remove_recursive Documentation/filesystems/debugfs.txt: """ Once upon a time, debugfs users were required to remember the dentry pointer for every debugfs file they created so that all files could be cleaned up. We live in more civilized times now, though, and debugfs users can call: void debugfs_remove_recursive(struct dentry *dentry); """ Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 70f23020e6d89155504b5b39f22505f4aec6fa6f Author: Andrei Emeltchenko Date: Wed Dec 1 16:58:25 2010 +0200 Bluetooth: clean up hci code Do not use assignment in IF condition, remove extra spaces, fixing typos, simplify code. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 894718a6be69d8cfd191dc291b42be32a1e4851b Author: Andrei Emeltchenko Date: Wed Dec 1 16:58:24 2010 +0200 Bluetooth: clean up l2cap code Do not initialize static vars to zero, macros with complex values shall be enclosed with (), remove unneeded braces. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 285b4e90318dcf421a00b2ac3fe8ab713f3281e3 Author: Andrei Emeltchenko Date: Wed Dec 1 16:58:23 2010 +0200 Bluetooth: clean up rfcomm code Remove extra spaces, assignments in if statement, zeroing static variables, extra braces. Fix includes. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 735cbc4784a084b7a76c43c69f9dba683bb3b48b Author: Andrei Emeltchenko Date: Wed Dec 1 16:58:22 2010 +0200 Bluetooth: clean up sco code Do not use assignments in IF condition, remove extra spaces Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit b78d7b4f204a6ba1901af36c95e10fded9816054 Author: Anderson Lizardo Date: Mon Nov 29 12:15:50 2010 -0400 Bluetooth: Fix error handling for l2cap_init() create_singlethread_workqueue() may fail with errors such as -ENOMEM. If this happens, the return value is not set to a negative value and the module load will succeed. It will then crash on module unload because of a destroy_workqueue() call on a NULL pointer. Additionally, the _busy_wq workqueue is not being destroyed if any errors happen on l2cap_init(). Signed-off-by: Anderson Lizardo Signed-off-by: Gustavo F. Padovan commit eeb366564be7c311b31c70821d18a43a8a57f9bc Author: Gustavo F. Padovan Date: Mon Nov 1 18:43:53 2010 +0000 Bluetooth: Get rid of __rfcomm_get_sock_by_channel() rfcomm_get_sock_by_channel() was the only user of this function, so I merged both into rfcomm_get_sock_by_channel(). The socket lock now should be hold outside of rfcomm_get_sock_by_channel() once we hold and release it inside the same function now. Signed-off-by: Gustavo F. Padovan commit e0f0cb56364958223f0cb1f1b0b0eecf1b8dcb95 Author: Gustavo F. Padovan Date: Mon Nov 1 18:43:53 2010 +0000 Bluetooth: Get rid of __l2cap_get_sock_by_psm() l2cap_get_sock_by_psm() was the only user of this function, so I merged both into l2cap_get_sock_by_psm(). The socket lock now should be hold outside of l2cap_get_sock_by_psm() once we hold and release it inside the same function now. Signed-off-by: Gustavo F. Padovan commit cc11b9c14da4ca1c545b424dae2ae8fb1ab04063 Author: Andrei Emeltchenko Date: Mon Nov 22 13:21:37 2010 +0200 Bluetooth: do not use assignment in if condition Fix checkpatch errors like: "ERROR: do not use assignment in if condition" Simplify code and fix one long line. Signed-off-by: Andrei Emeltchenko Acked-by: Ville Tervo Signed-off-by: Gustavo F. Padovan commit 940a9eea80946b64b96bd8af1fc71b30c602d057 Author: Andrei Emeltchenko Date: Wed Nov 3 12:32:45 2010 +0200 Bluetooth: timer check sk is not owned before freeing In timer context we might delete l2cap channel used by krfcommd. The check makes sure that sk is not owned. If sk is owned we restart timer for HZ/5. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit a49184c229535ebedbb659214db2d4d1d77b7c07 Author: Andrei Emeltchenko Date: Wed Nov 3 12:32:44 2010 +0200 Bluetooth: Check sk is not owned before freeing l2cap_conn Check that socket sk is not locked in user process before removing l2cap connection handler. lock_sock and release_sock do not hold a normal spinlock directly but instead hold the owner field. This means bh_lock_sock can still execute even if the socket is "locked". More info can be found here: http://www.linuxfoundation.org/collaborate/workgroups/networking/socketlocks krfcommd kernel thread may be preempted with l2cap tasklet which remove l2cap_conn structure. If krfcommd is in process of sending of RFCOMM reply (like "RFCOMM UA" reply to "RFCOMM DISC") then kernel crash happens. ... [ 694.175933] Unable to handle kernel NULL pointer dereference at virtual address 00000000 [ 694.184936] pgd = c0004000 [ 694.187683] [00000000] *pgd=00000000 [ 694.191711] Internal error: Oops: 5 [#1] PREEMPT [ 694.196350] last sysfs file: /sys/devices/platform/hci_h4p/firmware/hci_h4p/loading [ 694.260375] CPU: 0 Not tainted (2.6.32.10 #1) [ 694.265106] PC is at l2cap_sock_sendmsg+0x43c/0x73c [l2cap] [ 694.270721] LR is at 0xd7017303 ... [ 694.525085] Backtrace: [ 694.527587] [] (l2cap_sock_sendmsg+0x0/0x73c [l2cap]) from [] (sock_sendmsg+0xb8/0xd8) [ 694.537292] [] (sock_sendmsg+0x0/0xd8) from [] (kernel_sendmsg+0x48/0x80) Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit d31dbf6e5989b2fd9a30ec5b25436e94f009d6df Author: Vasiliy Kulikov Date: Sat Oct 30 18:26:31 2010 +0400 Bluetooth: hidp: fix information leak to userland Structure hidp_conninfo is copied to userland with version, product, vendor and name fields unitialized if both session->input and session->hid are NULL. It leads to leaking of contents of kernel stack memory. Signed-off-by: Vasiliy Kulikov Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 3185fbd9d7bb166992f072440b3329f58bf2c60a Author: Vasiliy Kulikov Date: Sat Oct 30 18:26:26 2010 +0400 Bluetooth: cmtp: fix information leak to userland Structure cmtp_conninfo is copied to userland with some padding fields unitialized. It leads to leaking of contents of kernel stack memory. Signed-off-by: Vasiliy Kulikov Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 5520d20f68310fc158dcbbecfd5eac5cdfc5a241 Author: Vasiliy Kulikov Date: Sat Oct 30 18:26:21 2010 +0400 Bluetooth: bnep: fix information leak to userland Structure bnep_conninfo is copied to userland with the field "device" that has the last elements unitialized. It leads to leaking of contents of kernel stack memory. Signed-off-by: Vasiliy Kulikov Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 127178d24c7eb2df53b1ba2b6f6f743e88178a1b Author: Johan Hedberg Date: Thu Nov 18 22:22:29 2010 +0200 Bluetooth: Automate remote name requests In Bluetooth there are no automatic updates of remote device names when they get changed on the remote side. Instead, it is a good idea to do a manual name request when a new connection gets created (for whatever reason) since at this point it is very cheap (no costly baseband connection creation needed just for the sake of the name request). So far userspace has been responsible for this extra name request but tighter control is needed in order not to flood Bluetooth controllers with two many commands during connection creation. It has been shown that some controllers simply fail to function correctly if they get too many (almost) simultaneous commands during connection creation. The simplest way to acheive better control of these commands is to move their sending completely to the kernel side. This patch inserts name requests into the sequence of events that the kernel performs during connection creation. It does this after the remote features have been successfully requested and before any pending authentication requests are performed. The code will work sub-optimally with userspace versions that still do the name requesting themselves (it shouldn't break anything though) so it is recommended to combine this with a userspace software version that doesn't have automated name requests. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 392599b95d76f4f3102d8614bdc1957795cd1a3a Author: Johan Hedberg Date: Thu Nov 18 22:22:28 2010 +0200 Bluetooth: Create a unified authentication request function This patch adds a single function that's responsible for requesting authentication for outgoing connections. This is preparation for the next patch which will add automated name requests and thereby move the authentication requests to a different location. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit ccd556fe334914bf2e465eb5bc480d49cd4406d7 Author: Johan Hedberg Date: Wed Nov 10 17:11:51 2010 +0200 Bluetooth: Simplify remote features callback function logic The current remote and remote extended features event callbacks logic can be made simpler by using a label and goto statements instead of the current multiple levels of nested if statements. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 17f490bcedd7b6677140b2d49efe9e9e6b84de60 Merge: 61790c5 be93112 Author: Gustavo F. Padovan Date: Wed Dec 1 21:04:09 2010 -0200 Merge git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-2.6 into test commit 61790c5f3c5f158821821a00797d94504531839f Author: Stanislaw Gruszka Date: Tue Nov 30 15:33:40 2010 +0100 iwlagn: fix microcode error on 4965 Commit dbbf1755b09eef8ff6dd21c8dafe1606f051ce12 "iwlwifi: use antenna information in EEPROM" caused 4965 device breakage with "Microcode SW error detected. Restarting 0x82000000." message. This patch reverts 4965 part of that commit. Signed-off-by: Stanislaw Gruszka Acked-by: Johannes Berg Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 08ca944eb240b2299e743c76b43fbc7c2dd251de Author: Helmut Schaa Date: Tue Nov 30 12:19:34 2010 +0100 mac80211: Minor optimization in ieee80211_rx_h_data Remove a superfluous ieee80211_is_data check as that was checked a few lines before already and we wont't get here for non-data frames at all. Second, the frame was already converted to 802.3 header format and reading the fc and addr1 fields was only possible because the 802.3 header is short enough and didn't overwrite the relevant parts of the 802.11 header. Make the code more obvious by checking the ethernet header's h_dest field. Furthermore reorder the conditions to reduce the number of checks when dynamic powersave is not needed (AP mode for example). Signed-off-by: Helmut Schaa Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 20ed3166c84d145589a89d8cde12aa32cf2d17f4 Author: Johannes Stezenbach Date: Tue Nov 30 16:49:23 2010 +0100 mac80211/rt2x00: add ieee80211_tx_status_ni() All rt2x00 drivers except rt2800pci call ieee80211_tx_status() from a workqueue, which causes "NOHZ: local_softirq_pending 08" messages. To fix it, add ieee80211_tx_status_ni() similar to ieee80211_rx_ni() which can be called from process context, and call it from rt2x00lib_txdone(). For the rt2800pci special case a driver flag is introduced. Signed-off-by: Johannes Stezenbach Signed-off-by: John W. Linville commit 4352fab5c2a1a602447d711c84d149bf2f0bc7ba Author: Nick Kossifidis Date: Tue Nov 23 21:53:28 2010 +0200 ath5k: Set turbo bit on rf bank 2 * A diff between rfbuffer settings of turbo and non-turbo modes indicates there is a bit on bank 2 related to turbo operation (it's set on turbo modes). This bit is present on all radios except RF5413 that seems to have a completely different bank 2. Also since 2317 has the same rf-registers locations with 2425 and since the bit exists on 2317 I assume it also exists on 2425/2417). So in case we use turbo mode (40MHz) enable it on bank modification. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 8c2b418a07b4dc77d7efadb890ba9ad1a4161c3f Author: Nick Kossifidis Date: Tue Nov 23 21:51:38 2010 +0200 ath5k: Clean up turbo mode initvals/rfregs * Clean up what's left of turbo mode, since we handle all register modifications (rfbuffer comes next) on code there is no need to have duplicated arrays. * Rename change_channel to skip_pcu on initvals.c as we did on reset.c Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit acb091d67c5c9649cf5d25055ef6fd64239a6762 Author: Nick Kossifidis Date: Tue Nov 23 21:49:53 2010 +0200 ath5k: Cleanup turbo channel flags * Clean up CHANNEL_T(URBO), use AR5K_BWMODE_40MHZ instead Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 73a06a683455f472cc09ad249064c66a41e29e39 Author: Nick Kossifidis Date: Tue Nov 23 21:48:32 2010 +0200 ath5k: Use correct clock when setting ofdm timings * Use correct clock value when setting OFDM timings on non-default bwmodes. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 3bb17654605965226e5b322dbc22ece5ff354ac5 Author: Nick Kossifidis Date: Tue Nov 23 21:45:21 2010 +0200 ath5k: Skip tx power setting on AR5210 for now * Don't return -EINVAL when trying to set tx power on RF5110 because AR5210 reset will fail. We need to add support for RF5110 and AR5210 eeprom in the future but for now just skip it. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit b02f5d1a17c652a74098f2a04db7fb8e6220057e Author: Nick Kossifidis Date: Tue Nov 23 21:44:02 2010 +0200 ath5k: Tweak phy activate to rx start delay based on bwmode * Tweak phy activation -> rx delay for different bwmodes Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit c2b0ebef262e0a9b64f7ea8ec837cfc29605bef7 Author: Nick Kossifidis Date: Tue Nov 23 21:42:22 2010 +0200 ath5k: No need to save/restore staid flags on reset * Since we set antenna flags on phy init and ack bitrate mode on pcu init, there is no need to save/restore sta_id flags on ath5k_hw_reset. Also we don't need to re-set our mac address because it's not affected by resets. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 8aec7af99b1e4594c4bb9e1c48005e6111f97e8e Author: Nick Kossifidis Date: Tue Nov 23 21:39:28 2010 +0200 ath5k: Support synth-only channel change for AR2413/AR5413 * Add synth-only channel change for AR2413/5413. When we call ath5k_reset with a channel ath5k_hw_reset will first try to set channel on PHY while PHY is running instead of doing a normal full reset. To do this phy_init has to change to implement this functionality. * Clean up change_channel flag, what it really did was skip PCU registers when setting initvals. This is done because on reset PCU registers are not affected (except the registers we set in pcu init and -due to hw problems- TSF). Use a new skip_pcu flag that's not misleading instead. In the future we might use that to also skip PCU reset and save us the TSF etc problems (needs testing because standard practice is to reset everything). * Use fast channel change only when setting channel, and set skip_pcu to false only on init. When we reset the card due to DMA or PHY problems skip pcu but never do a fast channel change. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 4c57581d939fd0f8f244b9730812069f4dac308a Author: Nick Kossifidis Date: Tue Nov 23 21:37:30 2010 +0200 ath5k: Skip powertable setting when we are on the same channel * Only set power table if we are changing channel/mode there is no need to recalculate and reset the power table all the time. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit f08fbf6cf4a31c8df52b21440c7a7e6fbe474b28 Author: Nick Kossifidis Date: Tue Nov 23 21:33:22 2010 +0200 ath5k: Update PLL programming for turbo/half/quarter * Set correct PLL settings for each bwmode Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit a2677fe4298c61f0e93c063e59815bf21c530c4a Author: Nick Kossifidis Date: Tue Nov 23 21:28:15 2010 +0200 ath5k: Update spur mitigation filter for turbo/half/quarter * Add spur mitigation filter support for half/quarter and turbo. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit b2b4c69f682a2868411899a77842061dd745884f Author: Nick Kossifidis Date: Tue Nov 23 21:26:13 2010 +0200 ath5k: Tweak power detector delays on RF5111/RF5112 * Tweak power detector delays on AR5111/AR5112 when using half/quarter modes. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 71ba1c30851575b43ba76b0f9c26ff5567e8136c Author: Nick Kossifidis Date: Tue Nov 23 21:24:54 2010 +0200 ath5k: Always set IFS intervals on reset * Make sure we always set IFS timings even if no coverage class is set. If we don't we'll miss the needed changes for different bwmodes. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 473cae27620c27377e278a6f92aaa483060e3c19 Author: Nick Kossifidis Date: Tue Nov 23 21:21:50 2010 +0200 ath5k: Use turbo flag on DCU * Set AR5K_DCU_GBL_IFS_MISC_TURBO_MODE flag on DCU when operating on 40MHz Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit eeb8832b3181d6ca8593051b68c466e5d2653bb3 Author: Nick Kossifidis Date: Tue Nov 23 21:19:45 2010 +0200 ath5k: Set all IFS intervals, not just slot time * Replace set_slot_time with set_ifs_intervals that also sets the various inter-frame space intervals based on current bwmode. * Clean up AR5210 mess from reset_tx_queue, AR5210 only has one data queue and we set IFS intervals for that queue on set_ifs_intervals so there is nothing left to do for 5210 on reset_tx_queue. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 61cde037234c4b8e6497a23f5f236c64cbf9d41d Author: Nick Kossifidis Date: Tue Nov 23 21:12:23 2010 +0200 ath5k: Extend rate_duration * Extend ieee80211_generic_frame_duration to support the various bwmodes. * Better document what's going on with ack bitrates and update write_rate_duration to support the standard ack bitrates (when we don't set the high bit). * Get rid of set_ack_bitrate_high and introduce a flag on ath5k_hw for this (we only called the function on init anyway so there is no difference). Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 3017fcab416d8d1ee48ca16aa9a3062f600dab8e Author: Nick Kossifidis Date: Tue Nov 23 21:09:11 2010 +0200 ath5k: Extend get_default_sifs/slot_time * Extend get_default_sifs/slot_time to include timings for turbo half and quarter rate modes. * AR5210 code for now uses timings already on core clock units instead of usecs so rename them (we 'll clean it up later). Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 25ddfa195735934256fda55bb4f2d749c19386ff Author: Nick Kossifidis Date: Tue Nov 23 21:07:04 2010 +0200 ath5k: Move tx retries setting outside reset_tx_queue * Move setting of tx retry limits on a separate function (we 'll clean up this AR5210 mess later) Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit b405086ba47678a5b8f6e7cd835a3d27ebb6f744 Author: Nick Kossifidis Date: Tue Nov 23 21:04:43 2010 +0200 ath5k: Increase PHY settling parameters for turo mode * On turbo mode increase PHY settling times, note that we only increase switch settling time on AR5212 as indicated by initvals. * A few cleanups: Move frame control settings for AR5210 from reset_tx_queue to tweak_initvals and remove phy_scal settings from tweak_initvals (we tweak them alread on set_sleep_clock). Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 325089ab5847f5c1e43f42bb90d32f981867c4c1 Author: Nick Kossifidis Date: Tue Nov 23 21:02:20 2010 +0200 ath5k: Small cleanup on tweak_initvals * Now that we properly set rx/tx latencies for AR5311 remove that old buggy part of code left inside ath5k_hw_tweak_initval_settings that was never executed (you can't have an RF5112 radio on a mac older than AR5212). Also use a magic value for 5311 PHY_SCAL value. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit c297560206adf0cda8ce38ef9b20b0a025754c4d Author: Nick Kossifidis Date: Tue Nov 23 21:00:37 2010 +0200 ath5k: Put core clock initialization on a new function * Handle all usec parameters in one function. It's much cleaner this way. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit fa3d2feeff4723cce8d4722902492d60b7f75fcc Author: Nick Kossifidis Date: Tue Nov 23 20:58:34 2010 +0200 ath5k: Add new field on ath5k_hw to track bandwidth modes * Prepare for half/quarter/turbo support, introduce a new ah_bwmode parameter and get rid of ah_turbo. Bwmode stands for "bandwidth mode" and can have 4 values, default (20MHz), turbo (40MHz), half rate (10MHz), and quarter rate (5MHz). Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 14fae2d4b61b890cea58d63091406b86ec9bafcd Author: Nick Kossifidis Date: Tue Nov 23 20:55:17 2010 +0200 ath5k: Use new function to stop beacon queue * Since we only use ath5k_hw_stop_tx_dma to stop the beacon queue, introduce a new function ath5k_hw_stop_beacon_queue so that we can use that instead and have better control. In the future we can add more beacon queue specific stuff there (maybe tweak beacon timers or something), for now just call ath5k_hw_stop_tx_dma. * Also since we don't call ath5k_hw_stop_rx/tx_dma from outside dma.c, make them static. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit e8325ed87457e07b9ceeb1e7a31df787dd7ee106 Author: Nick Kossifidis Date: Tue Nov 23 20:52:24 2010 +0200 ath5k: Check RXE when setting RXDP * Make sure we are not trying to set RXDP while RX is active, for now ignore the return value. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit f7317ba2d669c1b54fb31ed7834361a700a79217 Author: Nick Kossifidis Date: Tue Nov 23 20:50:16 2010 +0200 ath5k: Use DCU early termination correctly * DCU early termination should be used to quickly flush QCU according to docs so don't enable it for all queues, enable it only when stopping each queue and disable it when we are done. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit b3a28e68d5c8d788a4e538a119a5d326545add8a Author: Nick Kossifidis Date: Tue Nov 23 20:47:31 2010 +0200 ath5k: Debug DMA timeouts * Increase timeouts on ath5k_hw_stop_tx_dma and also wait for tx queue to stop before checking for pending frames * Add a new debug level to debug dma start/stop Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 80dac9eecbdb95f61b9b3c7081e02412155982b7 Author: Nick Kossifidis Date: Tue Nov 23 20:45:38 2010 +0200 ath5k: Use new dma_stop function on base.c * Since we stop rx/tx dma and pcu durring reset there is no need to call ath5k_hw_stop_rx/tx_dma before, also there is no need to call them durring stop_locked since we can use ath5k_hw_dma_stop for both. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit e088f23be166635b3938571c00c686094efa7cc4 Author: Nick Kossifidis Date: Tue Nov 23 20:43:18 2010 +0200 ath5k: Stop PCU on reset * Stop PCU receive logic (DRU) durring reset We need to be sure pcu is not active when trying to stop rx dma right now this is done on ath5k_reset (base.c) but later we are going to clean it up. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit d41174fabdae348c6583cf05aeb329da232c342c Author: Nick Kossifidis Date: Tue Nov 23 20:41:15 2010 +0200 ath5k: Add new function to stop rx/tx DMA * Add a new function to stop rx/tx dma and use in when reset starts Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 9320b5c4a7260d9593102f378201d17e3f030739 Author: Nick Kossifidis Date: Tue Nov 23 20:36:45 2010 +0200 ath5k: Reset cleanup and generic cleanup * No functional changes * Clean up reset: Introduce init functions for each unit and call them instead of having everything inside ath5k_hw_reset (it's just c/p for now so nothing changes except calling order -I tested it with various cards and it's ok-) * Further cleanups: ofdm_timings belongs to phy.c rate_duration belongs to pcu.c clock functions are general and belong to reset.c (more to follow) * Reorder functions for better organization: We start with helpers and other functions follow in categories, init functions are last Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit ea066d5a91f2610116dcd27054f749e4f07799d8 Author: Mohammed Shafi Shajakhan Date: Tue Nov 23 20:42:27 2010 +0530 ath9k: Add support for Adaptive Power Management This feature is to mitigate the problem of certain 3 stream chips that exceed the PCIe power requirements.An EEPROM flag controls which chips have APM enabled which is basically read from miscellaneous configuration element of the EEPROM header. This workaround will reduce power consumption by using 2 Tx chains for Single and Double stream rates (5 GHz only).All self generated frames (regardless of rate) are sent on 2 chains when this feature is enabled(Chip Limitation). Cc: Paul Shaw Signed-off-by: Mohammed Shafi Shajakhan Tested-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit dd318575ff0aae91ac4cbcc5b60c184e59267212 Author: Johannes Berg Date: Mon Nov 29 11:09:16 2010 +0100 mac80211: fix RX aggregation locking The RX aggregation locking documentation was wrong, which led Christian to also code the timer timeout handling for it somewhat wrongly. Fix the documentation, the two places that need to hold the reorder lock across accesses to the structure, and the debugfs code that should just use RCU. Also, remove acquiring the sta->lock across reorder timeouts since it isn't necessary, and change a few places to GFP_KERNEL because the code path here doesn't need atomic allocations as I noticed when reviewing all this. Signed-off-by: Johannes Berg Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 8b7f8532d15631776ce8bec2bbbc58f6aad738d1 Author: Felix Fietkau Date: Sun Nov 28 19:37:48 2010 +0100 ath9k: fix software retry counter tracking The recent tx path cleanups moved the software retry count tracking from the ath_buf to the skb cb, however the actual counter update referred to the wrong location, confusing block-ack window tracking. Fix this by using the retries counter in the struct ath_frame_info. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 81fc2a332045dc1dae24f24d3e2dc4656f2cc498 Author: Rajkumar Manoharan Date: Fri Nov 26 23:24:33 2010 +0530 Revert "ath9k_htc: Handle monitor mode properly for HTC devices" This reverts commit 446fad5a5b6be765c8ec39bfdbbc6c7aa63fbcbb. The change had broken the packet injection on monitoring mode. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 8c5e9c830a04ece8f0c35db2c1e0f6d87bd64894 Author: Vasanthakumar Thiagarajan Date: Fri Nov 26 06:10:07 2010 -0800 ath9k: Remove code which enables btcoex based on subsys id Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 8f5dcb1cfb71ce832f53a4723deba72e6695078b Author: Vasanthakumar Thiagarajan Date: Fri Nov 26 06:10:06 2010 -0800 ath9k: Reintroduce modparam to enable btcoex It is not ideal to enable btcoex based on subsys id as it is not unique, they are so random. It is also a pain keeping all of them in a table to enable btcoex for a particular hw. Going back to the old idea. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit f30221e4ec62d905b56d5e8f7ccab6b406a97cf5 Author: Johannes Berg Date: Thu Nov 25 10:02:30 2010 +0100 mac80211: implement off-channel mgmt TX This implements the new off-channel TX API in mac80211 with a new work item type. The operation doesn't add a new work item when we're on the right channel and there's no wait time so that for example p2p probe responses will be transmitted without delay. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f7ca38dfe58c20cb1aa2ed9643187e8b194b5bae Author: Johannes Berg Date: Thu Nov 25 10:02:29 2010 +0100 nl80211/cfg80211: extend mgmt-tx API for off-channel With p2p, it is sometimes necessary to transmit a frame (typically an action frame) on another channel than the current channel. Enable this through the CMD_FRAME API, and allow it to wait for a response. A new command allows that wait to be aborted. However, allow userspace to specify whether or not it wants to allow off-channel TX, it may actually want to use the same channel only. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 77148625e10d0fda50d05e92d199c0df17b66e9a Merge: a417786 51cce8a Author: David S. Miller Date: Mon Nov 29 11:19:09 2010 -0800 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 47c05314328d9c40f6006783dc4c1e3080bd2914 Author: Joe Perches Date: Sun Nov 28 00:02:59 2010 +0000 zd1211rw: document need for kmalloc cast Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 2f6724b24525fc989c0707974b23d96b36132385 Author: Juuso Oikarinen Date: Wed Nov 24 08:16:57 2010 +0200 wl1271: Fix setting of the hardware connection monitoring probe-req template The probe-request template used in the hardware connection monitoring feature thus far has been an empty one, without the SSID IE and without supported rate IEs. This causes problems with some AP's. Additionally, after connected scans, the template for connection maintenance would remain to be the one last used for scanning - potentially incorrect. Fix these by getting a pre-filled directed probe-request template for the associated-to AP from mac80211. Signed-off-by: Juuso Oikarinen Signed-off-by: Luciano Coelho commit 573c67cf819d52d2e12adf75a9a8cfbd216190a3 Author: Luciano Coelho Date: Fri Nov 26 13:44:59 2010 +0200 wl12xx: disable 11a channels when regulatory changes if 11a is not supported Instead of simply not scanning for the 11a channels when not supported by the hardware, disable the channels in reg_notify. This centralizes the decision on whether to scan 5GHz channel in one place and allows userspace to know exactly which channels are in use. Based on Juuso Oikarinen's idea. Cc: Juuso Oikarinen Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen commit 9a67d761b39614c0495dcab9a204e21a9f4c4d31 Author: Wey-Yi Guy Date: Thu Nov 18 10:40:03 2010 -0800 iwlagn: minor change in bt coex normal LUT Minor changes in LUT Signed-off-by: Wey-Yi Guy commit 506aa156fa736e9f9ce476239c9549ebbf6b08ea Author: Wey-Yi Guy Date: Wed Nov 24 17:25:03 2010 -0800 iwlagn: use different kill mask when SCO active use different kill_ack_mask and kill_cts_mask when detect SCO is active. Signed-off-by: Wey-Yi Guy commit 638514ff5d5845c6eba8c266ea04325be6e7d106 Author: Wey-Yi Guy Date: Wed Nov 17 12:13:55 2010 -0800 iwlagn: Offical name for 100/130 device Change to offical name for 100 devices: "Intel(R) Centrino(R) Wireless-N 100" Change to offical name for 130 devices: "Intel(R) Centrino(R) Wireless-N 130" Signed-off-by: Wey-Yi Guy commit d2eceef02e717751d4f6a01eddea6f241d63c213 Author: Wey-Yi Guy Date: Wed Nov 17 12:13:54 2010 -0800 iwlagn: Offical name for 6000g2b device Change to offical name for 6000g2b devices: "Intel(R) Centrino(R) Wireless-N 1030" "Intel(R) Centrino(R) Advanced-N 6230" Signed-off-by: Wey-Yi Guy commit 55017ab87831b3ca449b81b83b180baac2895666 Author: Wey-Yi Guy Date: Wed Nov 17 12:13:53 2010 -0800 iwlagn: Offical name for 6000g2a device Change to offical name for 6000g2a devices: "Intel(R) Centrino(R) Advanced-N 6205" Signed-off-by: Wey-Yi Guy commit f9dc6467223319acaea64d95ff208409e4e48d07 Author: Wey-Yi Guy Date: Wed Nov 17 12:13:52 2010 -0800 iwlagn: Offical name for 6050g2 device Change to offical name for 6050g2 devices: "Intel(R) Centrino(R) Wireless-N 6150" Signed-off-by: Wey-Yi Guy commit 0c4ac342997c9597706a8fcbb0ccf920b3d33570 Author: Johannes Berg Date: Wed Nov 17 11:33:27 2010 -0800 iwlwifi: use mac80211 AC defines Instead of hardcoding the numbers that must match mac80211, use the constants. Not that this means we could change the constants, but at least this way it's clearer. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 6fb5511ab96d9f31be747bab842f96227a5c7aec Author: Johannes Berg Date: Tue Nov 16 11:55:02 2010 -0800 iwlagn: advertise reliable TX status Our hardware has reliable TX status, but we're not currently advertising that to mac80211. Since the packet loss monitoring will depend on it, advertise it. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 2e34034e8c9755ff144379d410d5227926e91cce Author: Johannes Berg Date: Tue Nov 16 11:51:38 2010 -0800 iwlagn: fix station powersave accounting for aggregation Since aggregation queues are station-specific, the device will not reject packets in them but rather will stop the appropriate aggregation queues when a station goes to sleep. I forgot to account for this in the driver, so if a station went to sleep that had aggregation enabled, traffic would stop indefinitely. Fix this by only accounting frames queued on the normal AC queues for associated station. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 67158b67cea0c92dba1dda74cde926d149cc1a2e Author: Johannes Berg Date: Tue Nov 16 11:51:04 2010 -0800 iwlagn: remove powersave warning Through races, a packet may be enqueued for transmission to a station while that station is going to sleep, in which case the warning here triggers. Instead of warning, check the condition -- if this packet is not a PS-poll response then we still enqueue it but it will be rejected by the device since the station is marked as asleep. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit dbbf1755b09eef8ff6dd21c8dafe1606f051ce12 Author: Wey-Yi Guy Date: Mon Nov 15 13:43:07 2010 -0800 iwlwifi: use antenna information in EEPROM The valid tx/rx antenna information is part of EEPROM, so use it to configure the device. For few cases, the EEPROM did not reflect the correct antenna, but it is too late to modify the EEPROM, so overwrite with .cfg parameters Signed-off-by: Wey-Yi Guy commit 4b7384f936817489a4172b9c5d946f63f479ca15 Author: Wey-Yi Guy Date: Mon Nov 15 13:56:10 2010 -0800 iwlwifi: remove unused define was not used, remove it Signed-off-by: Wey-Yi Guy commit 51cce8a590c4696d62bfacc63378d1036084cef7 Merge: 2fe66ec 4f85593 Author: John W. Linville Date: Wed Nov 24 16:49:20 2010 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem commit 4f8559383c41262b50dc758e2e310f257ce6a14d Author: Felix Fietkau Date: Sat Nov 20 03:08:48 2010 +0100 ath9k_hw: remove ath9k_hw_stoppcurecv It is no longer used anywhere Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit fa6e15e0b5952fd2cd99fc6d4f4473f6b9da18df Author: Rajkumar Manoharan Date: Fri Nov 19 16:53:22 2010 +0530 ath9k_htc: Identify devices using driver_info Categorize AR7010 & AR9287 devices based on driver_info of usb_device_id, instead of PIDs. This avoids per-device cases and minimize code changes for new device addition. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit f7ec8fb4d6f8f3ecb8b11e9e46ece95aa66139cc Author: Rajkumar Manoharan Date: Fri Nov 19 16:53:21 2010 +0530 ath9k_hw: Fix eeprom offset for AR9287 devices (PCI/USB) AR9287 devices (PCI/USB) use different eeprom start location to read nvram. New devices might endup with same devid. So use driver_info to set offset, instead of devid. driver_info is valid for HTC devices alone which is filled in usb_device_id. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 64f121708342afec306ce52920cc9982f4f1008f Author: Rajkumar Manoharan Date: Fri Nov 19 16:53:20 2010 +0530 ath9k_htc: Add driver_info in usb device list Added driver_info to identify AR7010, R9287 HTC devices. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit bedbbb959d2c1d1dbb4c2215f5b7074b1da3030a Author: Rajkumar Manoharan Date: Fri Nov 19 16:53:19 2010 +0530 ath: Add a driver_info bitmask field The driver_info stores the device category information which is used to load appropriate device firmware, select firmware offset and eeprom starting location. The driver_info is accessed across ath9k_htc and ath9k_hw. Hence placed under common structure. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 35162ba75900209755628ccf7357763797037ba6 Author: Wey-Yi Guy Date: Tue Nov 23 10:58:56 2010 -0800 iwlwifi: advance power management support For 6000g2b and up, adding advance power management support for better power consumption Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 1f37daf3233ccda5072f715d6c322d84833cdd92 Author: Wey-Yi Guy Date: Tue Nov 23 10:58:55 2010 -0800 iwlwifi: power management checking for shadow register If shadow register is enable, modify the power management command to inform uCode Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit e366176e5c7f37d2d4cd0708e63b939e3fa3b5c6 Author: Wey-Yi Guy Date: Tue Nov 23 10:58:54 2010 -0800 iwlwifi: consider BT for power management Check the BT PSPoll flag when fill PM command to uCode Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 97badb0eefc9b6f23f864c5348b695be35f05882 Author: Wey-Yi Guy Date: Tue Nov 23 10:58:53 2010 -0800 iwlwifi: add more power management flags Adding additional power management option available for the device. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit eeb1f83fa8f96501331cc17b73c57999e3a1ec5d Author: Wey-Yi Guy Date: Tue Nov 23 10:58:52 2010 -0800 iwlagn: name change for BT config flag Bit 7 of BT config flag is used to enable/disable PSPoll sync. Make the name to match it. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 99ba2a14283be96a682e04455061c08a46bbf4ec Author: Johannes Berg Date: Wed Nov 24 08:10:06 2010 +0100 mac80211: implement packet loss notification For drivers that have accurate TX status reporting we can report the number of consecutive lost packets to userspace using the new cfg80211 CQM event. The threshold is fixed right now, this may need to be improved in the future. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c063dbf52b998b852122dff07a8b8dd430b38437 Author: Johannes Berg Date: Wed Nov 24 08:10:05 2010 +0100 cfg80211: allow using CQM event to notify packet loss This adds the ability for drivers to use CQM events to notify about packet loss for specific stations (which could be the AP for the managed mode case). Since the threshold might be determined by the driver (it isn't passed in right now) it will be passed out of the driver to userspace in the event. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 48124d1a91fb77defc9734b4556350d59671fb2c Author: Luis R. Rodriguez Date: Tue Nov 23 15:05:02 2010 -0800 mac80211: avoid aggregation for VO traffic This should help with latency issues which can happen when using aggregation. Cc: Felix Fietkau Cc: Matt Smith Cc: Senthil Balasubramanian Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c8b576061d87e2a4fb100e70c6a6dae189b3a310 Author: Luis R. Rodriguez Date: Tue Nov 23 15:05:01 2010 -0800 ath9k: avoid aggregation for VO traffic This should help with latency issues which can happen when using aggregation. Cc: Matt Smith Cc: Senthil Balasubramanian Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 72a8a3edd630995662bdc85957206685f376f9c4 Author: Felix Fietkau Date: Tue Nov 23 03:10:32 2010 +0100 mac80211: reduce the number of retries for nullfunc probing Since nullfunc frames are transmitted as unicast frames, they're more reliable than the broadcast probe requests, so we need fewer retries to figure out whether the AP is really gone. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 4e5ff37692df35c8826f1291204841b174d3c3ce Author: Felix Fietkau Date: Tue Nov 23 03:10:31 2010 +0100 mac80211: use nullfunc instead of probe request for connection monitoring nullfunc frames are better for connection monitoring, because probe requests are answered even if the AP has already dropped the connection, whereas nullfunc frames from an unassociated station will trigger a disassoc/deauth frame from the AP (WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA), which allows the station to reconnect immediately instead of waiting until it attempts to transmit the next unicast frame. This only works on hardware with reliable tx ACK reporting, any other hardware needs to fall back to the probe request method. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit dd5b4cc71cd09c33e1579cc6d5720656e94e52de Author: Felix Fietkau Date: Mon Nov 22 20:58:24 2010 +0100 cfg80211/mac80211: improve ad-hoc multicast rate handling - store the multicast rate as an index instead of the rate value (reduces cpu overhead in a hotpath) - validate the rate values (must match a bitrate in at least one sband) Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 46090979a55a0dc2cdb3d939f94fa47742108194 Author: Felix Fietkau Date: Tue Nov 23 20:28:03 2010 +0100 mac80211: probe the AP when resuming Check the connection by probing the AP (either using nullfunc or a probe request). If nullfunc probing is supported and the assoc is no longer valid, the AP will send a disassoc/deauth immediately. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 7ccc8bd7593634d827e8bc55898a5038e29848b5 Author: Felix Fietkau Date: Fri Nov 19 22:55:38 2010 +0100 mac80211: calculate beacon loss time accurately Instead of using a fixed 2 second timeout, calculate beacon loss interval from the advertised beacon interval and a frame count. With this beacon loss happens after N (default 7) consecutive frames are missed which for a typical setup (100TU beacon interval) is ~700ms (or ~1/3 previous). Signed-off-by: Sam Leffler Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit c8a7972c3b3633bf90daf50b135665d8ca4838c4 Author: Felix Fietkau Date: Fri Nov 19 22:55:37 2010 +0100 mac80211: restart beacon miss timer on system resume from suspend Signed-off-by: Paul Stewart Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 0b81c23d2e3a8589514fa69b2f153f006a4ad773 Author: Rafał Miłecki Date: Thu Nov 18 21:11:43 2010 +0100 b43: N-PHY: little cleanups Remove some typos, warnings, initialize some values to follow wl's code path. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit a529cecd29ecf1e5416316ae06ce515bf67b5d5a Author: Rafał Miłecki Date: Thu Nov 18 21:11:42 2010 +0100 b43: N-PHY: rev2: save and restore PHY regs on RSSI poll Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit fee613b77df721781b9794945f0f1a8f535456ff Author: Rafał Miłecki Date: Thu Nov 18 21:11:41 2010 +0100 b43: N-PHY: fix BPHY init Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit bec186452b4cfecff9e2c579bfd4016119d39614 Author: Rafał Miłecki Date: Thu Nov 18 13:28:00 2010 +0100 b43: N-PHY: init BPHY when needed Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit a5d3598de086cd38f71fe2fec43ac3ca97bb24bb Author: Rafał Miłecki Date: Thu Nov 18 13:27:59 2010 +0100 b43: N-PHY: fix some typos, conditions, set gain_boost Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit c0f05b9879a324937f14270e4a14d661d2beca63 Author: Rafał Miłecki Date: Thu Nov 18 13:27:58 2010 +0100 b43: N-PHY: minor fixes to match specs Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 69a3229edcf0c354e1cd93a811843fba7b6e1472 Author: Rafał Miłecki Date: Thu Nov 18 13:27:57 2010 +0100 b43: N-PHY: fix values for PHY regs in channel tables of 2055 radio Additional comment by Larry Finger : This change deserves a bit more explanation. You might include something like "These tables came from reverse engineering the 5.10.56.46 version of the Broadcom driver. Trace comparisons between b43 and the current Broadcom driver (5.10.120.0) show byte reversals for the PHY register writes." Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit e9c0268f02f8970149158a9b7ea1e5c1c45c819d Author: Joe Perches Date: Tue Nov 16 19:56:49 2010 -0800 net/wireless: Use pr_ and netdev_ No change in output for pr_ prefixes. netdev_ output is different, arguably improved. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit d7a066c92394f3e777351de0c903beeb8a08af76 Merge: ccb1435 e476a5a Author: John W. Linville Date: Wed Nov 24 16:19:24 2010 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit ccb14354017272ddac002e859a2711610b6af174 Author: John W. Linville Date: Wed Nov 24 16:18:36 2010 -0500 Revert "nl80211/mac80211: Report signal average" This reverts commit 86107fd170bc379869250eb7e1bd393a3a70e8ae. This patch inadvertantly changed the userland ABI. Signed-off-by: John W. Linville commit 6735329934e9acc1941a991ed6f6ad4be3e082a5 Author: Juuso Oikarinen Date: Thu Nov 18 15:19:02 2010 +0200 wl12xx: Fix kernel crash related to hw recovery and interface shutdown It is possible that the op_remove_interface function is invoked exactly at the same time has hw recovery is started. In this case it is possible for the interface to be already removed in the op_remove_interface call, which currently leads to a kernel warning and a subsequent kernel crash. Fix this by ignoring the op_remove_interface call if the interface is already down at that point. Signed-off-by: Juuso Oikarinen Tested-by: Tuomas Katila Signed-off-by: Luciano Coelho commit f8afa42b01c7a9f45b7cbaadb0481a0eeb96f18d Author: Felix Fietkau Date: Mon Nov 22 18:26:51 2010 +0100 ath9k_htc: fix eeprom access wireless-testing commit a05b5d45049d60a06a1b12976150572304a51928 ath9k: add support for reading eeprom from platform data on PCI devices This change moved the initialization of the AH_USE_EEPROM flag from ath9k_hw to ath9k. This needs to be added to ath9k_htc as well Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 02d2ebb2a0aa2cae0446289c8f927067aec06079 Author: Felix Fietkau Date: Mon Nov 22 15:39:39 2010 +0100 ath9k_hw: fix A-MPDU key search issues on AR9003 Under load, a large number of frames can produce decryption errors, even when no key cache update is being done. Performing a key search for every single frame in an A-MPDU improves reliability. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 7253965a1cfbd22dd20f92b7a054e831777e284e Author: Joe Perches Date: Sat Nov 20 18:39:03 2010 -0800 zd1211rw: Use const Mark arrays const that are unmodified after initializations. text data bss dec hex filename 19291 56 4136 23483 5bbb drivers/net/wireless/zd1211rw/zd_chip.o.old 19291 56 4136 23483 5bbb drivers/net/wireless/zd1211rw/zd_chip.o.new Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit f4e16e41d62ddc75704a0344567a807ebb41a929 Author: Joe Perches Date: Sat Nov 20 18:39:01 2010 -0800 rt2x00: Use static const Using static const generally increases object text and decreases data size. It also generally decreases overall object size. text data bss dec hex filename 40197 56 8336 48589 bdcd drivers/net/wireless/rt2x00/rt2800lib.o.new 40205 56 8336 48597 bdd5 drivers/net/wireless/rt2x00/rt2800lib.o.old Signed-off-by: Joe Perches Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 22288a5847df30fb8ba298914f144c3b1d6e1fbe Author: Joe Perches Date: Sat Nov 20 18:39:00 2010 -0800 rndis_wlan: Use static const Using static const generally increases object text and decreases data size. It also generally decreases overall object size. text data bss dec hex filename 41757 2205 9896 53858 d262 drivers/net/wireless/rndis_wlan.o.old 41653 2205 9880 53738 d1ea drivers/net/wireless/rndis_wlan.o.new Changed functions rndis_set_oid and set_bssid to take const *'s. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit ff273b91ff04e6f232234b70c45101074a0daa27 Author: Joe Perches Date: Sat Nov 20 18:38:59 2010 -0800 ray_cs: Use static const Using static const generally increases object text and decreases data size. It also generally decreases overall object size. text data bss dec hex filename 42607 3581 8536 54724 d5c4 drivers/net/wireless/ray_cs.o.new 42603 3585 8536 54724 d5c4 drivers/net/wireless/ray_cs.o.old Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 482e039f2a6546ee2ecf718ae6c02e84d1a7f00b Author: Joe Perches Date: Sat Nov 20 18:38:58 2010 -0800 libertas: Use static const Using static const generally increases object text and decreases data size. It also generally decreases overall object size. text data bss dec hex filename 3650 56 704 4410 113a drivers/net/wireless/libertas/rx.o.new 3695 56 704 4455 1167 drivers/net/wireless/libertas/rx.o.old 27328 964 5240 33532 82fc drivers/net/wireless/libertas/cfg.o.new 27328 964 5240 33532 82fc drivers/net/wireless/libertas/cfg.o.old Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 20407ed8a5bb271dd8e8bd4678e1d3dadeb318bd Author: Joe Perches Date: Sat Nov 20 18:38:57 2010 -0800 iwlwifi: Use static const Using static const generally increases object text and decreases data size. It also generally decreases overall object size. text data bss dec hex filename 48644 57 12120 60821 ed95 drivers/net/wireless/b43/phy_n.o.new 48661 57 12120 60838 eda6 drivers/net/wireless/b43/phy_n.o.old 37906 86 7904 45896 b348 drivers/net/wireless/iwlwifi/iwl-agn-lib.o.new 37937 86 7904 45927 b367 drivers/net/wireless/iwlwifi/iwl-agn-lib.o.old 37781 523 6752 45056 b000 drivers/net/wireless/iwlwifi/iwl-3945.o.new 37781 523 6752 45056 b000 drivers/net/wireless/iwlwifi/iwl-3945.o.old Changed b43_nphy_write_clip_detection to take a const u16 * Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 5b4bc649e18539a5d5a5482670d77f3f72de0eea Author: Joe Perches Date: Sat Nov 20 18:38:56 2010 -0800 b43: Use static const Using static const generally increases object text and decreases data size. It also generally decreases overall object size. text data bss dec hex filename 5502 56 1336 6894 1aee drivers/net/wireless/b43/phy_common.o.new 5511 56 1336 6903 1af7 drivers/net/wireless/b43/phy_common.o.old Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 3370a895454ad814d0fb5f50352cea4e51d7392f Author: Joe Perches Date: Sat Nov 20 18:38:55 2010 -0800 atmel: Use static const Using static const generally increases object text and decreases data size. It also generally decreases overall object size. text data bss dec hex filename 42578 720 8528 51826 ca72 drivers/net/wireless/atmel.o.old 42578 720 8528 51826 ca72 drivers/net/wireless/atmel.o.new Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 5653a63d85300dbed71b76ab7ada03808bdfb170 Author: Joe Perches Date: Sat Nov 20 18:38:54 2010 -0800 carl9170: Use static const Using static const generally increases object text and decreases data size. It also generally decreases overall object size. text data bss dec hex filename 1897 56 672 2625 a41 drivers/net/wireless/ath/carl9170/cmd.o.new 1897 56 672 2625 a41 drivers/net/wireless/ath/carl9170/cmd.o.old Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 07b2fa5a2368accf0fe6cb16e7eca6d1150554ed Author: Joe Perches Date: Sat Nov 20 18:38:53 2010 -0800 ath9k: Use static const Using static const generally increases object text and decreases data size. It also generally decreases overall object size. text data bss dec hex filename 11161 56 2136 13353 3429 drivers/net/wireless/ath/ath9k/ar9003_paprd.o.new 11167 56 2136 13359 342f drivers/net/wireless/ath/ath9k/ar9003_paprd.o.old 15428 56 3056 18540 486c drivers/net/wireless/ath/ath9k/eeprom_4k.o.old 15451 56 3056 18563 4883 drivers/net/wireless/ath/ath9k/eeprom_4k.o.new 14087 56 2560 16703 413f drivers/net/wireless/ath/ath9k/eeprom_9287.o.old 14036 56 2560 16652 410c drivers/net/wireless/ath/ath9k/eeprom_9287.o.new 10041 56 2384 12481 30c1 drivers/net/wireless/ath/ath9k/ani.o.new 10088 56 2384 12528 30f0 drivers/net/wireless/ath/ath9k/ani.o.old 9316 1580 2304 13200 3390 drivers/net/wireless/ath/ath9k/htc_drv_init.o.new 9316 1580 2304 13200 3390 drivers/net/wireless/ath/ath9k/htc_drv_init.o.old 16483 56 3432 19971 4e03 drivers/net/wireless/ath/ath9k/ar9003_phy.o.new 16517 56 3432 20005 4e25 drivers/net/wireless/ath/ath9k/ar9003_phy.o.old 18221 104 2960 21285 5325 drivers/net/wireless/ath/ath9k/rc.o.old 18203 104 2960 21267 5313 drivers/net/wireless/ath/ath9k/rc.o.new 19985 56 4288 24329 5f09 drivers/net/wireless/ath/ath9k/eeprom_def.o.new 20040 56 4288 24384 5f40 drivers/net/wireless/ath/ath9k/eeprom_def.o.old 23997 56 4984 29037 716d drivers/net/wireless/ath/ath9k/ar5008_phy.o.old 23846 56 4984 28886 70d6 drivers/net/wireless/ath/ath9k/ar5008_phy.o.new 24285 56 3184 27525 6b85 drivers/net/wireless/ath/ath9k/ar9003_eeprom.o.old 24101 56 3184 27341 6acd drivers/net/wireless/ath/ath9k/ar9003_eeprom.o.new 6834 56 1032 7922 1ef2 drivers/net/wireless/ath/ath9k/ar9002_phy.o.old 6780 56 1032 7868 1ebc drivers/net/wireless/ath/ath9k/ar9002_phy.o.new 36211 64 8624 44899 af63 drivers/net/wireless/ath/ath9k/hw.o.new 36401 64 8624 45089 b021 drivers/net/wireless/ath/ath9k/hw.o.old 9281 56 1496 10833 2a51 drivers/net/wireless/ath/ath9k/ar9003_calib.o.old 9150 56 1496 10702 29ce drivers/net/wireless/ath/ath9k/ar9003_calib.o.new Use ARRAY_SIZE instead of a magic number. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 8b22523b045858042c6700f556f840853de163ea Author: Joe Perches Date: Sat Nov 20 18:38:52 2010 -0800 ath5k: Use static const Using static const generally increases object text and decreases data size. It also generally decreases overall object size. text data bss dec hex filename 11266 56 2464 13786 35da drivers/net/wireless/ath/ath5k/ani.o.old 11181 56 2464 13701 3585 drivers/net/wireless/ath/ath5k/ani.o.new Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 85be3d98dbc8d9cff9411c52c619c3752737b7b4 Author: Joe Perches Date: Sat Nov 20 18:38:51 2010 -0800 ar9170: Use const Mark an array const. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit a9ab21133581580f6907abbc33fd3870e75dc935 Author: Christian Lamparter Date: Sat Nov 20 16:53:26 2010 +0100 carl9170: fix init-self regression The commit: "carl9170: tx path review" introduced a regression. gcc (with -Winit-self): tx.c:1264: warning: ‘super’ is used uninitialized in this function Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 3b1d6dfaaf89694c2aa56fe9a6b0f0221b98a209 Author: Huang Weiyi Date: Sat Nov 20 20:06:02 2010 +0800 libertas: remove duplicated #include Remove duplicated #include('s) in drivers/net/wireless/libertas/cfg.c Signed-off-by: Huang Weiyi Signed-off-by: John W. Linville commit e1566d1f322b41b1ac3acf33407a0cfe2a311b75 Author: Felix Fietkau Date: Sat Nov 20 03:08:46 2010 +0100 ath9k: fix recursive locking in the tx flush path Signed-off-by: Felix Fietkau Tested-by: Ben Greear Signed-off-by: John W. Linville commit b5bb2f2beb4d54597fd54075480fc4874a9c08dc Author: Johannes Berg Date: Thu Nov 18 12:08:10 2010 -0800 iwlwifi: fix modular 3945 only build If only 3945 is selected, and is a module, build fails because iwl-legacy.c won't be compiled. Fix this by adding it to the build correctly. This doesn't happen for 4965 because it is a bool option, not tristate, since it's built into the AGN module. Reported-by: Randy Dunlap Tested-by: Randy Dunlap Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 18890d4b89d8507ad09289f6f57a71591c7e9e83 Author: Helmut Schaa Date: Fri Nov 19 08:11:01 2010 +0100 mac80211: Disable hw crypto for GTKs on AP VLAN interfaces When using AP VLAN interfaces, each VLAN interface should be in its own broadcast domain. Hostapd achieves this by assigning different GTKs to different AP VLAN interfaces. However, mac80211 drivers are not aware of AP VLAN interfaces and as such mac80211 sends the GTK to the driver in the context of the base AP mode interface. This causes problems when multiple AP VLAN interfaces are used since the driver will use the same key slot for the different GTKs (there's no way for the driver to distinguish the different GTKs from different AP VLAN interfaces). Thus, only the clients associated to one AP VLAN interface (the one that was created last) can actually use broadcast traffic. Fix this by not programming any GTKs for AP VLAN interfaces into the hw but fall back to using software crypto. The GTK for the underlying AP interface is still sent to the driver. That means, broadcast traffic to stations associated to an AP VLAN interface is encrypted in software whereas broadcast traffic to stations associated to the non-VLAN AP interface is encrypted in hardware. Cc: Johannes Berg Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit b2e253cf300c5e33f49b7dd8b593bfc722177401 Author: Luis R. Rodriguez Date: Wed Nov 17 21:46:09 2010 -0800 cfg80211: Fix regulatory bug with multiple cards and delays When two cards are connected with the same regulatory domain if CRDA had a delayed response then cfg80211's own set regulatory domain would still be the world regulatory domain. There was a bug on cfg80211's logic such that it assumed that once you pegged a request as the last request it was already the currently set regulatory domain. This would mean we would race setting a stale regulatory domain to secondary cards which had the same regulatory domain since the alpha2 would match. We fix this by processing each regulatory request atomically, and only move on to the next one once we get it fully processed. In the case CRDA is not present we will simply world roam. This issue is only present when you have a slow system and the CRDA processing is delayed. Because of this it is not a known regression. Without this fix when a delay is present with CRDA the second card would end up with an intersected regulatory domain and not allow it to use the channels it really is designed for. When two cards with two different regulatory domains were inserted you'd end up rejecting the second card's regulatory domain request. This fails with mac80211_hswim's regtest=2 (two requests, same alpha2) and regtest=3 (two requests, different alpha2) module parameter options. This was reproduced and tested against mac80211_hwsim using this CRDA delayer: #!/bin/bash echo $COUNTRY >> /tmp/log sleep 2 /sbin/crda.orig And these regulatory tests: modprobe mac80211_hwsim regtest=2 modprobe mac80211_hwsim regtest=3 Reported-by: Mark Mentovai Signed-off-by: Luis R. Rodriguez Tested-by: Mark Mentovai Tested-by: Bruno Randolf Signed-off-by: John W. Linville commit b0e2880b0518ad11af20c7c93ec5cac93f9f03b0 Author: Luis R. Rodriguez Date: Wed Nov 17 21:46:08 2010 -0800 cfg80211: move mutex locking to reg_process_pending_hints() This will be required in the next patch and it makes the next patch easier to review. Signed-off-by: Luis R. Rodriguez Tested-by: Mark Mentovai Tested-by: Bruno Randolf Signed-off-by: John W. Linville commit f333a7a2f49e2a9b46f8d18962bd750b18beeecd Author: Luis R. Rodriguez Date: Wed Nov 17 21:46:07 2010 -0800 cfg80211: move reg_work and reg_todo above These will be used earlier in the next few patches. Signed-off-by: Luis R. Rodriguez Tested-by: Mark Mentovai Tested-by: Bruno Randolf Signed-off-by: John W. Linville commit 31e99729ae66d8b74316547c40eed15172f14ea8 Author: Luis R. Rodriguez Date: Wed Nov 17 21:46:06 2010 -0800 cfg80211: put core regulatory request into queue This will simplify the synchronization for pending requests. Without this we have a race between the core and when we restore regulatory settings, although this is unlikely its best to just avoid that race altogether. Signed-off-by: Luis R. Rodriguez Tested-by: Mark Mentovai Tested-by: Bruno Randolf Signed-off-by: John W. Linville commit 8ce469999552b0c3325350cd9b4be417f2bbfc23 Author: Rafał Miłecki Date: Wed Nov 17 22:14:37 2010 +0100 b43: rfkill: use HI enabled bit for all devices Devices which use LO enabled bit are covered by b43legacy Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 8933f90c777c5728822206a2313c9c1361f5274f Author: Rafał Miłecki Date: Thu Oct 14 22:58:58 2010 +0200 b43: N-PHY: add 2056 radio channels tables Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 840fd8ff64f7b6c9cbfa9b7d0419f015f33303ff Merge: b84a7d3 9e2e742 Author: John W. Linville Date: Mon Nov 22 15:28:30 2010 -0500 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 87217502d4f45a9925c5eda5b2179f1220e87537 Author: Tracey Dent Date: Sun Nov 21 15:03:12 2010 +0000 Net: bluetooth: Makefile: Remove deprecated kbuild goal definitions Changed Makefile to use -y instead of -objs because -objs is deprecated and not mentioned in Documentation/kbuild/makefiles.txt. Signed-off-by: Tracey Dent Signed-off-by: David S. Miller commit b84a7d3d9e7cd5a25f4fd32142cebdf4481a74a4 Author: Juuso Oikarinen Date: Mon Nov 22 12:59:08 2010 +0200 wl12xx: Unset bssid filter, ssid and bssid from firmware on disassoc On the disassociation event from the mac80211, the wl12xx driver does not clear the chipset configuration related to the AP - i.e. it does not perform a DISCONNECT and then a JOIN with zero SSID and dummy BSSID. Also, it does not unset the BSSID filter. Often this is not a problem, as the above is performed upon entering idle state. But if a scenario arises where a new association is attempted without cycling through idle state, the new association will fail. Fix this by resetting the firmware state on disassociation. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 68d069c45f73e8aeda0249891daec1f7e2f0e067 Author: Arik Nemtsov Date: Mon Nov 8 10:51:07 2010 +0100 wl1271: add support for HW TX fragmentation Indicate to mac80211 we support HW fragmentation. Support updates of the fragmentation threshold via the set_frag_threshold callback. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit fa97f46b30357a50f3ee193e6f82864f95bc55ec Author: Juuso Oikarinen Date: Wed Nov 10 11:27:20 2010 +0100 Revert "wl1271: Change supported channel order for a more optimal scan" This reverts commit fa21c7a9e4be439e217fe72edbd39b643b643791. The reverted patch caused more harm than benefit. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Tested-by: Tuomas Katila Signed-off-by: Luciano Coelho commit b7417d930afdc214daa24299912d984e7f4f390a Author: Juuso Oikarinen Date: Wed Nov 10 11:27:19 2010 +0100 wl1271: Prevent ad-hoc and active scanning on 11a DFS frequencies The wl1271 does not support radar detection. Hence, prevent ad-hoc and active scanning on frequencies requiring DFS. Signed-off-by: Juuso Oikarinen Tested-by: Tuomas Katila Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 91433029e42e58d8536299f32fa55cf589adff35 Author: Gery Kahn Date: Sun Nov 7 10:04:20 2010 +0100 wl1271: cleanup unused code of calibration structures The cleanup unused code for calibration procedures. Signed-off-by: Gery Kahn Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 00d201001bd4e8a46e3d03c970abcb72256c368b Author: Shahar Levi Date: Mon Nov 8 11:20:10 2010 +0000 wl1271: Change wl12xx Files Names All files name prefix removed due to the fact that wl12xx driver supports wl1271 and wl1273. Also the definition in Kconfig and header files changed respectively. Signed-off-by: Shahar Levi Signed-off-by: Luciano Coelho commit 24912420e923d56461b400d83f250a31bed8a964 Merge: 0670b8a 0302b86 Author: David S. Miller Date: Fri Nov 19 13:13:47 2010 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/bonding/bond_main.c net/core/net-sysfs.c net/ipv6/addrconf.c commit aaa13ca2428789b3c8096b5edc175d4d78b5f504 Author: Felix Fietkau Date: Wed Nov 17 04:19:47 2010 +0100 ath9k_hw: support reading calibration data from flash on AR9003 Embedded boards do not have compressed EEPROM data, they use the struct ar9003_eeprom layout, with little endian fields, so copying the raw data to the eeprom buffer is enough. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit a05b5d45049d60a06a1b12976150572304a51928 Author: Felix Fietkau Date: Wed Nov 17 04:25:33 2010 +0100 ath9k: add support for reading eeprom from platform data on PCI devices Some embedded boards store platform data for connected PCIe AR92xx chips in the system flash instead of a separate EEPROM chip. Signed-off-by: Gabor Juhos Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 458fafdd579dcb58c8288c55c9cd92d6816ba094 Author: John W. Linville Date: Tue Nov 16 16:49:08 2010 -0500 rndis_wlan: avoid uninitialized var warning in rndis_wlan_craft_connected_bss CC [M] drivers/net/wireless/rndis_wlan.o drivers/net/wireless/rndis_wlan.c: In function ‘rndis_wlan_craft_connected_bss’: drivers/net/wireless/rndis_wlan.c:2542:2: warning: ‘ret’ may be used uninitialized in this function Signed-off-by: John W. Linville Acked-by: Jussi Kivilinna commit 8befba6f2262a6e31d6e3bcf7d07ff46da444ec0 Author: John W. Linville Date: Tue Nov 16 16:08:56 2010 -0500 iwmc3200wifi: clarify potentially undefined operation in iwm_scan_ssids CC [M] drivers/net/wireless/iwmc3200wifi/commands.o drivers/net/wireless/iwmc3200wifi/commands.c: In function ‘iwm_scan_ssids’: drivers/net/wireless/iwmc3200wifi/commands.c:911:15: warning: operation on ‘iwm->scan_id’ may be undefined Signed-off-by: John W. Linville commit 86107fd170bc379869250eb7e1bd393a3a70e8ae Author: Bruno Randolf Date: Tue Nov 16 10:58:48 2010 +0900 nl80211/mac80211: Report signal average Extend nl80211 to report an exponential weighted moving average (EWMA) of the signal value. Since the signal value usually fluctuates between different packets, an average can be more useful than the value of the last packet. This uses the recently added generic EWMA library function. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit eef39befaae2a1559efe197d795c376a317af2af Author: Bruno Randolf Date: Tue Nov 16 10:58:43 2010 +0900 ath5k: Use generic EWMA library Remove ath5k's private moving average implementation in favour of the generic library version. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 50a9432daeece6fc1309bef1dc0a7b8fde8204cb Author: Johannes Berg Date: Tue Nov 16 11:50:28 2010 -0800 mac80211: fix powersaving clients races The code to handle powersaving stations has a race: when the powersave flag is lifted from a station, we could transmit a packet that is being processed for TX at the same time right away, even if there are other frames queued for it. This would cause frame reordering. To fix this, lift the flag only under the appropriate lock that blocks TX. Additionally, the code to allow drivers to block a station while frames for it are on the HW queue is never re-enabled the station, so traffic would get stuck indefinitely. Fix this by clearing the flag for this appropriately. Finally, as an optimisation, don't do anything if the driver unblocks an already unblocked station. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4bce22b9b84032c77c7e038b07b24fcc706dfc10 Author: Johannes Berg Date: Tue Nov 16 11:49:58 2010 -0800 mac80211: defines for AC numbers In many places we've just hardcoded the AC numbers -- which is a relic from the original mac80211 (d80211). Add constants for them so we know what we're talking about. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 488f6ba75b5deaa7e89d6cdac07e0f2120899b6f Author: Felix Fietkau Date: Tue Nov 16 19:20:28 2010 +0100 ath9k_hw: add support for reading EEPROM data from the internal OTP ROM Some of the new AR9003 cards do not come with an external EEPROM chip anymore. Calibration data on these cards is stored in the OTP ROM on the chip. This patch adds support for reading this data, and also adds support for different EEPROM chip sizes (512 bytes instead of 1K). Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 2d42efc44e38d3a8b2bf30e34559036bb6541672 Author: Felix Fietkau Date: Sun Nov 14 15:20:13 2010 +0100 ath9k: store frame information used by aggregation inside the skb tx info Since the pointers after the rates in the tx info cannot be used anymore after frames have been queued, this area can be used to store information that was previously stored in the ath_buf. With these changes, we can delay the ath_buf assignment in the aggregation code until aggregates are formed. That will not only make it possible to simplify DMA descriptor setup to do less rewriting of uncached memory, but will also make it easier to move aggregation out of the core of the ath9k tx path. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 04caf863750bc7e042d1e8d57e5ce9d6326ab435 Author: Felix Fietkau Date: Sun Nov 14 15:20:12 2010 +0100 ath9k: more tx setup cleanups - remove the BUF_HT flag, and instead check for IEEE80211_TX_CTL_AMPDU before calling ath_tx_send_ampdu. - remove a few unused variables - calculate frame length before adding the frame padding - merge the misnamed ath_tx_start_dma function into ath_tx_start - remove an unused argument for assign_aggr_tid_seqno Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 71a3bf3e94b745467fc4c3451a294910f0369555 Author: Felix Fietkau Date: Sun Nov 14 15:20:11 2010 +0100 ath9k: block new AMPDU sessions if SC_OP_TXAGGR is not set This makes further tx path cleanups easier Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 28d167086227969fd6586953ee4ac682a3c394ff Author: Felix Fietkau Date: Sun Nov 14 15:20:10 2010 +0100 ath9k: clean up code duplication around ath_tx_start Merge initial processing for the CAB queue and regular tx. Also move ath_tx_cabq() to beacon.c and make it static. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit c5992618259598ade82c386aa1595bf105e92d1f Author: Felix Fietkau Date: Sun Nov 14 15:20:09 2010 +0100 ath9k: remove bf_tx_aborted from struct ath_buf Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 76e4522177de81ac89ade01a394aeb3704a66f1b Author: Felix Fietkau Date: Sun Nov 14 15:20:08 2010 +0100 ath9k: remove bfs_frmlen from struct ath_buf_state Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit b572d0335fcb26e526f6ae087a9a09371b22e739 Author: Felix Fietkau Date: Sun Nov 14 15:20:07 2010 +0100 ath9k: remove bfs_nframes from struct ath_buf_state Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 269c44bc8415ad78fb4dc3de25e6de3420332e9f Author: Felix Fietkau Date: Sun Nov 14 15:20:06 2010 +0100 ath9k: remove bfs_al from struct ath_buf_state Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 3017047f564d5101009c8318b94bdacd3ca3312e Author: Felix Fietkau Date: Sun Nov 14 15:20:05 2010 +0100 ath9k: remove bfs_keyix from struct ath_buf_state Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 82259b77f6e55c5b81f5f4a2852f6216c196ef30 Author: Felix Fietkau Date: Sun Nov 14 15:20:04 2010 +0100 ath9k: remove bfs_paprd_timestamp from struct ath_buf_state Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 952cd693718d8ac796d5323fe7876241cf15ecfa Author: Felix Fietkau Date: Sun Nov 14 15:20:03 2010 +0100 ath9k: remove bfs_keytype from struct ath_buf_state Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 5daefbd061d9509644058b6886abe2b6672ee386 Author: Felix Fietkau Date: Sun Nov 14 15:20:02 2010 +0100 ath9k: remove bfs_tidno from struct ath_buf_state Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 2d3bcba0827013dfc60f727e7370dea00bc0638a Author: Felix Fietkau Date: Sun Nov 14 15:20:01 2010 +0100 ath9k: remove bfs_seqno from struct ath_buf_state Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 9a6b82706317333a1fab5dcafa2c33b91253a7a2 Author: Felix Fietkau Date: Sun Nov 14 00:03:01 2010 +0100 ath9k: fix PA predistortion training frame setup Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit c5d0855acfa4d6801c4c45bc02ddddd959262050 Author: Felix Fietkau Date: Sat Nov 13 20:22:41 2010 +0100 ath9k_hw: set default values for radar pulse detection Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 387e68846413f3dcfc5a5afca9841430057e3340 Author: RA-Jay Hung Date: Sat Nov 13 19:13:53 2010 +0100 rt2x00: Modify rt2x00queue_remove_l2pad to make skb->data two-byte alignment When send out skb data to mac80211, orignal code will cause mac80211 unaligned access, so modify code to make mac80211 can natural access. Signed-off-by: RA-Jay Hung Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f8eaec659f8a7a4e0086fca7c5d5c5e0fbc76d1a Author: RA-Jay Hung Date: Sat Nov 13 19:12:54 2010 +0100 rt2x00: Fix header_length in rt2x00lib_txdone Put the assignment of header_length after pull out extra tx headroom Signed-off-by: RA-Jay Hung Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit b43d63bd69ae5464a52bf1796e84097607917b2f Author: RA-Jay Hung Date: Sat Nov 13 19:11:46 2010 +0100 rt2x00: Fix rt2800 USB TX Path DMA issue rt2800usb chips need to add 1~3 bytes zero padding after each 802.11 header & payload, and at the end need to add 4 bytes zero padding whether doing TX bulk aggregation or not, TXINFO_W0_USB_DMA_TX_PKT_LEN in TXINFO must include 1-3 bytes padding after 802.11 header & payload but do not include 4 bytes end zero padding. In rt2800usb_get_tx_data_len do not consider multiple of the USB packet size case, sometimes this will cause USB DMA problem. Signed-off-by: RA-Jay Hung Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ef8397cfb3a385bc57a32213d0e4a5b7903a9dc6 Author: Gertjan van Wingerde Date: Sat Nov 13 19:11:22 2010 +0100 rt2x00: Use ioremap for SoC devices instead of KSEG1ADDR. Make the code a bit more portable to architectures that do not support KSEG1ADDR. Signed-off-by: Gertjan van Wingerde Tested-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 72c7296e03e381b49958809915105b18b09fa7a3 Author: Gertjan van Wingerde Date: Sat Nov 13 19:10:54 2010 +0100 rt2x00: Remove unneccessary internal Kconfig symbols. CONFIG_RT2800PCI_PCI and CONFIG_RT2800PCI_SOC are strictly not needed as we can check the dependent symbols directly in the rest of Kconfig and the code, so clean up the Kconfig namespace a bit. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a6a8d66ebaea1e78d779af221bd6f01c5cbe71f5 Author: Gertjan van Wingerde Date: Sat Nov 13 19:10:31 2010 +0100 rt2x00: Remove RT30XX Kconfig variables. Enabling of RT30xx devices via Kconfig variables was introduced when these devices weren't properly supported yet. Now that that they are properly supported and functional, we can remove these Kconfig variables for RT30xx devices and simply enable them whenever rt2800pci and/or rt2800usb is enabled. Signed-off-by: Gertjan van Wingerde Acked-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 46af584d2ea86518c4cdf521903cd93ba6de2ec0 Author: Gertjan van Wingerde Date: Sat Nov 13 19:10:10 2010 +0100 rt2x00: Clean up Kconfig for RT2800 devices. General clean up of the Kconfig part for RT28XX devices. Also remove the indications of non functional support for rt27xx/rt28xx/rt30xx devices, as this is no longer true. They just work fine. Finally, remove the experimental indications for rt27xx/rt28xx/rt30xx devices as that is no longer true. Keep the experimental indications for rt33xx/rt35xx devices, though. Signed-off-by: Gertjan van Wingerde Acked-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f93bc9b3ce379800b30b3c2f4fc945ae35a80039 Author: Gertjan van Wingerde Date: Sat Nov 13 19:09:50 2010 +0100 rt2x00: Add initial support for RT3370/RT3390 devices. Modified from Eddy's patch by adding the RT3370 USB support as well. Signed-off-by: Gertjan van Wingerde Cc: Eddy Tsai Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ae4ecb9f8f01eb9deffb5bd837dc90f4e646cd2d Author: Ivo van Doorn Date: Sat Nov 13 19:08:14 2010 +0100 rt2x00: Increase REGISTER_BUSY_COUNT For some hardware the REGISTER_BUSY_COUNT isn't sufficient, increase the REGISTER_BUSY_COUNT to 100 to catch most devices which have more problems with accessing the registers. For normal operating devices nothing would change as they will exit the loop early anyway. Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit 28d9cc7f21da6a70fc8c1516fa0ee5588572eb92 Author: Mohammed Shafi Shajakhan Date: Sat Nov 13 20:58:27 2010 +0530 ath9k_htc: Use macro for caldata array size The calibration data variable size is based on the number of channels available in the ath9k driver. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit ef1b21f7eb074a8c8ddfea70ed70e988545c8d54 Author: Stanislaw Gruszka Date: Fri Nov 12 08:47:07 2010 +0100 iwlwifi: kill elapsed_jiffies Subtract of jiffies is fine even if one variable overwrap. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 70f3876f09ccf1f2819aee6caee9266b2c4b1622 Author: Stanislaw Gruszka Date: Fri Nov 12 08:47:06 2010 +0100 iwlagn: simplify iwlagn_tx_skb We can simplify length calculation in iwlagn_tx_skb, that function is enough complex, without fuzz it more than necessary. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 2cb7865648e44647a976875428c9dfd9d5553221 Author: Stanislaw Gruszka Date: Fri Nov 12 08:47:05 2010 +0100 iwl3945: remove unused len_org variable Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 8f0729b16ae354f9db89394fc1d2d65003455d56 Author: Felix Fietkau Date: Thu Nov 11 15:07:23 2010 +0100 mac80211: add support for setting the ad-hoc multicast rate Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 885a46d0f7942d76c2f3860acb45f75237d3bb42 Author: Felix Fietkau Date: Thu Nov 11 15:07:22 2010 +0100 cfg80211: add support for setting the ad-hoc multicast rate Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit a619a4c0e1fd4e8c360c63d0df3fa0a401107d69 Author: Juuso Oikarinen Date: Thu Nov 11 08:50:18 2010 +0200 mac80211: Add function to get probe request template for current AP Chipsets with hardware based connection monitoring need to autonomically send directed probe-request frames to the AP (in the event of beacon loss, for example.) For the hardware to be able to do this, it requires a template for the frame to transmit to the AP, filled in with the BSSID and SSID of the AP, but also the supported rate IE's. This patch adds a function to mac80211, which allows the hardware driver to fetch this template after association, so it can be configured to the hardware. Signed-off-by: Juuso Oikarinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 4e8c14e9587c38f4cce8049c766935629fdb8d46 Author: Felix Fietkau Date: Thu Nov 11 03:18:38 2010 +0100 ath9k_hw: add a private op for configuring radar pulse detection Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 82b873afe83c81d9b1273a816bbdacb266f71a52 Author: Felix Fietkau Date: Thu Nov 11 03:18:37 2010 +0100 ath9k: clean up tx buffer setup Merge ath_tx_send_normal and ath_tx_send_ht_normal. Move the paprd state initialization and sequence number assignment to reduce the number of redundant checks. This not only simplifies buffer allocation error handling, but also removes a small inconsistency in the buffer HT flag. This flag should only be set if the frame is also a QoS data frame. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 61117f01e79f7c0da86c23535bed757370f5885f Author: Felix Fietkau Date: Thu Nov 11 03:18:36 2010 +0100 ath9k: remove the tx info padding byte abuse Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f0c255a07fe8a4d450cce6355a22b73ee0e9e6e0 Author: Felix Fietkau Date: Thu Nov 11 03:18:35 2010 +0100 ath9k: handle tx underrun in the driver instead of rate control Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 1d666d8e05edf5891a7a4bd84a25f493f01dc71a Author: Felix Fietkau Date: Thu Nov 11 03:18:34 2010 +0100 ath9k: remove the unnecessary private xretry tx flag Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 7afbb2f07028183f50ae4f7ce4dab1f32b36cf48 Author: Ben Greear Date: Wed Nov 10 11:43:51 2010 -0800 ath5k: Cleanup opmode setting logic. An earlier review suggested moving the code in a small method that was only called once inline. This patch accomplishes that. Signed-off-by: Ben Greear Acked-by: Bruno Randolf Signed-off-by: John W. Linville commit 6ee63f55c7754462a45315ac93027a1df60667c9 Author: Senthil Balasubramanian Date: Wed Nov 10 05:03:16 2010 -0800 ath9k_hw: Fix low throughput issue with AR93xx TX underruns were noticed when RTS/CTS preceded aggregates. This issue was noticed in ar93xx family of chipsets only. The workaround involves padding the RTS or CTS length up to the min packet length of 256 bytes required by the hardware by adding delimiters to the fist descriptor of the aggregate. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 39ec2997c374b528cdbf65099b6d6b8593a67f7f Author: Vasanthakumar Thiagarajan Date: Wed Nov 10 05:03:15 2010 -0800 ath9k: Fix bug in delimiter padding computation There is a roundng error in delimiter padding computation which causes severe throughput drop with some of AR9003. signed-off-by: Felix Fietkau Signed-off-by: Vasanthakumar Thiagarajan Cc:stable@kernel.org Signed-off-by: John W. Linville commit bc2068020bfa976efd425f3be590f58a012fd747 Author: Vasanthakumar Thiagarajan Date: Wed Nov 10 05:03:14 2010 -0800 ath9k_hw: Add helper function for interpolation Also round off interpolated values this would improve power accuracy by 0.5dB in some cases. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 15cbbc44cc4abaaebc37caf0ec9410a3f83d1deb Author: Vasanthakumar Thiagarajan Date: Wed Nov 10 05:03:13 2010 -0800 ath9k_hw: Improve power control accuracy for AR9003 It is done for 5Ghz by adding three temperature slopes. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit f4475a6e52fce8d951a96c763f36b835bf89fdec Author: Vasanthakumar Thiagarajan Date: Wed Nov 10 05:03:12 2010 -0800 ath9k_hw: Enable strong signal detection for AR9003 Attenuation from eeprom is configured into attenuator control register. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 52a0e2477dac2106bc1688cbe9615cdafc9deb7d Author: Vasanthakumar Thiagarajan Date: Wed Nov 10 05:03:11 2010 -0800 ath9k_hw: Fix XPABIAS level configuration for AR9003 Improper configuration of 0x16288 and 0x16290 would affect transmission. Cc:stable@kernel.org Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 3092354970381fb8b6439fb4def0c34632277ae9 Author: Senthil Balasubramanian Date: Wed Nov 10 05:03:10 2010 -0800 ath9k_hw: add eeprom templates for ar9003 family chipsets We are currently using the default eeprom default and it doesn't work properly for all ar9003 family chipsets. So add eeprom templates for different versisons and select the eeprom table based on the template version programmed in the eeprom. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 3ceb801bffb62bc486f9662cd4dbca2cbdc6f5c7 Author: Senthil Balasubramanian Date: Wed Nov 10 05:03:09 2010 -0800 ath9k_hw: Fix paprd training frame failure. paprd training frame fails in some rates. Fix the rate mask. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit ef5a6a7573b7a12ced67dae155be8a909bc245d6 Author: Senthil Balasubramanian Date: Wed Nov 10 05:03:08 2010 -0800 ath9k_hw: Initialize 2GHz CTL properly. The last 2GHz CTL was not being initialized, so power was being set to 0 instead of 30dbm. Initialize to 30 like other CTLs. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit b3dd6bc1f052ef3a754fa866743e4fda38522811 Author: Senthil Balasubramanian Date: Wed Nov 10 05:03:07 2010 -0800 ath9k_hw: Add new member into the eeprom structure. Add eeprom base extension structures which are needed for AR938x caliberation changes and gain calculation. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit a9d85fbd3e5f7a0679e6276953cd23ac7bb72789 Author: Senthil Balasubramanian Date: Thu Nov 11 00:40:33 2010 -0800 ath9k_hw: Fix a reset failure on AR9382 (2x2). AR9382 needs to be configured for the correct chain mask before running AGC/TxIQ caliberation. Otherwise reset would fail. Signed-off-by: Senthil Balasubramanian Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 72a801103f07182c0a4f3a761caa62b4ab8eb4e5 Author: Bruno Randolf Date: Wed Nov 10 12:51:01 2010 +0900 ath5k: Add support for antenna configuration Support setting the antenna configuration via cfg/mac80211. At the moment only allow the simple pre-defined configurations we already have (fixed antenna A/B or diversity), but more advanced settings are possible to implement. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 15d967532148a5fcda075282b82a271b6595a386 Author: Bruno Randolf Date: Wed Nov 10 12:50:56 2010 +0900 mac80211: Add antenna configuration Allow antenna configuration by calling driver's function for it. We disallow antenna configuration if the wiphy is already running, mainly to make life easier for 802.11n drivers which need to recalculate HT capabilites. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit afe0cbf87500f0585d217deb8c6fd329793a7957 Author: Bruno Randolf Date: Wed Nov 10 12:50:50 2010 +0900 cfg80211: Add nl80211 antenna configuration Allow setting of TX and RX antennas configuration via nl80211. The antenna configuration is defined as a bitmap of allowed antennas to use. This API can be used to mask out antennas which are not attached or should not be used for other reasons like regulatory concerns or special setups. Separate bitmaps are used for RX and TX to allow configuring different antennas for receiving and transmitting. Each bitmap is 32 bit long, each bit representing one antenna, starting with antenna 1 at the first bit. If an antenna bit is set, this means the driver is allowed to use this antenna for RX or TX respectively; if the bit is not set the hardware is not allowed to use this antenna. Using bitmaps has the benefit of allowing for a flexible configuration interface which can support many different configurations and which can be used for 802.11n as well as non-802.11n devices. Instead of relying on some hardware specific assumptions, drivers can use this information to know which antennas are actually attached to the system and derive their capabilities based on that. 802.11n devices should enable or disable chains, based on which antennas are present (If all antennas belonging to a particular chain are disabled, the entire chain should be disabled). HT capabilities (like STBC, TX Beamforming, Antenna selection) should be calculated based on the available chains after applying the antenna masks. Should a 802.11n device have diversity antennas attached to one of their chains, diversity can be enabled or disabled based on the antenna information. Non-802.11n drivers can use the antenna masks to select RX and TX antennas and to enable or disable antenna diversity. While covering chainmasks for 802.11n and the standard "legacy" modes "fixed antenna 1", "fixed antenna 2" and "diversity" this API also allows more rare, but useful configurations as follows: 1) Send on antenna 1, receive on antenna 2 (or vice versa). This can be used to have a low gain antenna for TX in order to keep within the regulatory constraints and a high gain antenna for RX in order to receive weaker signals ("speak softly, but listen harder"). This can be useful for building long-shot outdoor links. Another usage of this setup is having a low-noise pre-amplifier on antenna 1 and a power amplifier on the other antenna. This way transmit noise is mostly kept out of the low noise receive channel. (This would be bitmaps: tx 1 rx 2). 2) Another similar setup is: Use RX diversity on both antennas, but always send on antenna 1. Again that would allow us to benefit from a higher gain RX antenna, while staying within the legal limits. (This would be: tx 0 rx 3). 3) And finally there can be special experimental setups in research and development even with pre 802.11n hardware where more than 2 antennas are available. It's good to keep the API simple, yet flexible. Signed-off-by: Bruno Randolf -- v7: Made bitmasks 32 bit wide and rebased to latest wireless-testing. Signed-off-by: John W. Linville commit 0e67d6cb753643fc076a90fa9309301b3fbfb8db Author: Joe Perches Date: Tue Nov 9 16:35:19 2010 -0800 drivers/net/wireless/b43legacy/main.c: Use printf extension %pV Using %pV reduces the number of printk calls and eliminates any possible message interleaving from other printk calls. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 5b736d42bc51fe893fd7d4ceac34c727d23135e1 Author: Joe Perches Date: Tue Nov 9 16:35:18 2010 -0800 drivers/net/wireless/b43/main.c: Use printf extension %pV Using %pV reduces the number of printk calls and eliminates any possible message interleaving from other printk calls. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 7e559ec31c5625cf85bcb1ae0eb9f8f2a8da4a29 Author: Joe Perches Date: Tue Nov 9 16:35:17 2010 -0800 drivers/net/wireless/ath/debug.c: Use printf extension %pV Using %pV reduces the number of printk calls and eliminates any possible message interleaving from other printk calls. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 5cb56af29be8d12f74afcb2c1de91e51a577bd52 Author: Jussi Kivilinna Date: Tue Nov 9 19:25:56 2010 +0200 rndis_wlan: workaround poor scanning with BCM4320a BCM4320a devices seem to sometimes do scanning pretty poorly. This can be workaround by issuing new scan every second, while not yet connected. By this new scanning method device catches beacons much faster. Fixes bug #20822. Reported-by: Luís Picciochi Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit b5257c952dda24df7078c74b7b811b44c6e49206 Author: Jussi Kivilinna Date: Tue Nov 9 19:25:47 2010 +0200 rndis_wlan: workaround device not returning bss for currently connected AP BCM4320a devices do not return bss for currently connected AP in bss-list, althought this is required by NDIS specs. Missing bss leads to warning at net/wireless/sme.c:__cfg80211_connect_result(), WARN_ON(!bss). Workaround this by crafting bss manually with information we can read from device. Workaround is only used when device bss-list does not return current bss, and so is only used with BCM4320a devices and not newer BCM4320b ones. Fixes bug #20152. Reported-by: Luís Picciochi Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit f23a478075659db8a4fd62fa6e264a8bb052cc5b Author: Arik Nemtsov Date: Mon Nov 8 11:51:06 2010 +0200 mac80211: support hardware TX fragmentation offload The lower driver is notified when the fragmentation threshold changes and upon a reconfig of the interface. If the driver supports hardware TX fragmentation, don't fragment packets in the stack. Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit d1f9e41d1d739cd4393840d35e7554f4a439a4f1 Author: Brian Cavagnolo Date: Fri Nov 12 17:23:53 2010 -0800 mwl8k: use const struct fw pointers throughout This eliminates compiler warnings by doing things how the firmware class expects. Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 99020471001dbbd6edf61f105368cb6667cc683d Author: Brian Cavagnolo Date: Fri Nov 12 17:23:52 2010 -0800 mwl8k: make initial firmware load asynchronous Introduce a firmware loading state machine to manage the process of loading firmware asynchronously and completing initialization upon success. The state machine attempts to load the preferred firmware image. If that fails, and if an alternative firmware image is available, it will attempt to load that one. Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 952a0e963fb02e50f4afbf502f7d468a8fe2b0fa Author: Brian Cavagnolo Date: Fri Nov 12 17:23:51 2010 -0800 mwl8k: add API version checking for AP firmware The AP firmware specifies an API version in the GET_HW_SPEC command response. Currently, the driver only supports AP firmware for the 8366, and only supports API v1. In the future, if higher API version firmwares emerge (possibly for different chips), different ops can be selected based on the reported API version. Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 0863ade8d6bde1d151f75720d999ff27f9fe3533 Author: Brian Cavagnolo Date: Fri Nov 12 17:23:50 2010 -0800 mwl8k: choose proper firmware image as directed by user The mwl8k can operate in AP or STA mode, depending on the firmware image that is loaded. By default, STA firmware is loaded. Allow the user to override this default mode at module load time. This saves an unnecessary firmware reload for users only interested in AP mode. Also, the firmware image can be swapped to meet the user's add_interface request. For example, suppose the STA firmware is loaded, no STA interface has been added, and the user adds an AP interface. In this case, the AP firmware will be loaded to meet the request. Based on contributions from Pradeep Nemavat , Yogesh Powar , and Lennert Buytenhek . Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 3cc7772c0a3cc193fa9873816168bd34d4f16837 Author: Brian Cavagnolo Date: Fri Nov 12 17:23:49 2010 -0800 mwl8k: factor out firmware loading and hw init code This is in preparation for supporting different fw images for different interface types, and for supporting asynchronous firmware loading. Based on a patch from Pradeep Nemavat and Yogesh Powar Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 41fdf0974d9eb81215cb578211a6d8f8a022a9eb Author: Nishant Sarmukadam Date: Fri Nov 12 17:23:48 2010 -0800 mwl8k: rf_tx_power cmd not supported by AP firmware APIv1 APIv1 AP firmware does not support the RF_TX_POWER command. It supports the similar TX_POWER command. Signed-off-by: Pradeep Nemavat Signed-off-by: Nishant Sarmukadam Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit a1fe24b0fd8bf16b4e551ae3fb785bfc574b9ffb Author: Brian Cavagnolo Date: Fri Nov 12 17:23:47 2010 -0800 mwl8k: revert unnecessary modification of tx descriptor This reverts change 783391c443728febc669e40597193308460e7b4f. The stabilized AP v1 firmware uses the same tx descriptor as the STA firmware. Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit ae63a33ec9b598b3454cf0d29077fa17b616c42a Author: Deepak Saxena Date: Sun Oct 31 13:40:33 2010 +0000 libertas: EHS_REMOVE_WAKEUP is not always supported Certain firmware versions, particularly the 8388 found on the XO-1, do not support the EHS_REMOVE_WAKEUP command that is used to disable WOL. Sending this command to the card will return a failure that would get propagated up the stack and cause suspend to fail. Instead, fall back to an all-zero wakeup mask. This fixes http://dev.laptop.org/ticket/9967 Signed-off-by: Deepak Saxena Signed-off-by: Daniel Drake [includes fixups by Paul Fox] Signed-off-by: John W. Linville commit cf43298864fdfd687202db8c736473522bfceb98 Author: Daniel Drake Date: Sun Oct 31 13:40:12 2010 +0000 libertas: don't block usb8388 suspend if no wakeup conditions are set This hunk added by commit 66fceb69b72f seems erroneous. We don't want to prevent suspend of the whole system if no wakeup params are set. In the case of the usb8388 we do want to keep the card powered up even if there are no wakeup params. This is because it will continue acting as a mesh node. If the mesh is disabled, it would indeed make more sense to power down the card during suspend, as the equivalent hunk does for the SD interface. But that's a separate task; for now just restore the previous behaviour. Signed-off-by: Daniel Drake Acked-by: Dan Williams Signed-off-by: John W. Linville commit b5e4156743c5d42b736936be7a9ee8d72e0e4ac9 Merge: 6b35308 b1d771e Author: David S. Miller Date: Tue Nov 16 09:17:12 2010 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 9e2e7422d059f9b98c3a0810df92a1ff660ade2f Author: Wey-Yi Guy Date: Fri Nov 12 13:52:37 2010 -0800 iwlwifi: set STATUS_READY before commit_rxon Have the STATUS_READY bit set before commit_rxon call to avoid fail to send tx power to uCode. Signed-off-by: Wey-Yi Guy commit 6163a3735aad19bdb8d02b3362d3a2d7d2eb78d5 Author: Shanyu Zhao Date: Fri Nov 12 13:48:13 2010 -0800 iwlagn: check change before commit RXON cmd When setting rxon chain and filter, no need to commit RXON when the chain flag is not changed. This reduces the number of RXON commands we send down to uCode. Signed-off-by: Shanyu Zhao Signed-off-by: Wey-Yi Guy commit 21a5b3c6b19a8b8972ccdd55389be28a8b7c9180 Author: Wey-Yi Guy Date: Wed Nov 10 13:32:59 2010 -0800 iwlagn: use SKU information in the EEPROM EEPROM contain the SKU information for the device, use it. Signed-off-by: Wey-Yi Guy commit f4115d46599464a49a3055d33d499d97ac81fccb Author: Shanyu Zhao Date: Wed Nov 10 18:25:58 2010 -0800 iwlagn: update QoS before commit associated RXON RXON command without association bit can clear the QoS info in the uCode. Therefore, before sending the associated RXON, we need to send the QoS command just in case. Signed-off-by: Shanyu Zhao Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit efe54db8233a4b41e68cbe67ca2e30c48532078a Author: Johannes Berg Date: Wed Nov 10 18:25:49 2010 -0800 iwlagn: fix PAN slot timing wrt. DTIM When the DTIM is not 1, then the slot timing is in some cases required to be calclulated based on the DTIM interval instead of the beacon interval, fix that. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 2b5f7a679c2ae34407f6cc9387e77b563578bfdc Author: Johannes Berg Date: Wed Nov 10 18:25:48 2010 -0800 iwlagn: reprogram AP STA after assoc Instead of unconditionally sending unassoc RXON, before any assoc RXON, re-send only the AP STA entry which is required after the BSSID has been programmed into the device to set up internal filters in the microcode properly. This fixes some issues that we correlated with sending a lot of RXON commands to the device. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 893654de3ff41a4f5037397d06a3f853bbbb3484 Author: Johannes Berg Date: Wed Nov 10 18:25:47 2010 -0800 iwlagn: avoid crash if vif is not assigned For reasons that aren't entirely clear to me, we sometimes get here during hardware reset without the interface being set. Don't crash, but keep a warning. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit cfa1da7e9133be9280990b2a64fa7696924c8d9a Author: Johannes Berg Date: Wed Nov 10 18:25:46 2010 -0800 iwlagn: fix PAN queues Currently, when a PAN queue needs to be stopped, we erroneously stop queue number 5 (for example) with mac80211 -- which doesn't even exist! To avoid that problem, recalculate the swq_id for all queues when setting up the queues, and don't use the default identity mapping that is acceptable for devices which don't support PAN. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit ea9b307f8e859186a6791e0d508c5993448ac900 Author: Johannes Berg Date: Wed Nov 10 18:25:45 2010 -0800 iwlwifi: always build swq_id as virtual queue ID Previously, we used the swq_id's mechanism to have AC and HW queue different only for aggregation queues. To be able to fix a bug with iPAN simply always build the swq_id as ac | (hwq << 2) and remove the flag bit. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 549a04e092e5e043df82fd0541f3b67ab488359b Author: Johannes Berg Date: Wed Nov 10 18:25:44 2010 -0800 iwlwifi: pass txq to wake/stop queue Instead of passing the txq->swq_id, pass the txq struct directly to make sure that in the future nobody will pass an invalid number. Only three places actually change from using the txq_id or the skb's queue_mapping to now using txq->swq_id as well. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 4bea9b990205e4a3d432d9d6c29687215618a306 Author: Johannes Berg Date: Wed Nov 10 18:25:43 2010 -0800 iwlagn: remove a bogus AGG_OFF check Even if this check were to happen, using the txq_id here (which is a HW queue) would lead to confusion in mac80211. Luckily, it doesn't seem like this can ever happen. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 8d56396ac3926412dd97dcb9dd8d0cef556b908e Author: Johannes Berg Date: Wed Nov 10 18:25:42 2010 -0800 iwlagn: remove unused variable swq_id Simply remove the unused variable swq_id. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 76f379cec6df6c9c5c9dbf7377d1bbbb0bf3fd5f Author: Johannes Berg Date: Wed Nov 10 18:25:41 2010 -0800 iwlagn: fix some naming regarding FIFOs Some variables are misnamed in the FIFO setup code, fix that. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 564b344c10b694d433cef5b89f8ff8ac5e33898d Author: Wey-Yi Guy Date: Tue Nov 9 09:21:34 2010 -0800 iwlwifi: change default led mode for different devices Set the default led mode for different devices. For the newer devices such as 6000g2a, 6000g2b and newer, the default led mode is On/Off instead of blinking. The led_mode still can be control through module parameter 0: system default 1: On/Off 2: blinking Signed-off-by: Wey-Yi Guy commit 05433df23cf16a9ccbdd35964aba781cdf455034 Author: Wey-Yi Guy Date: Mon Nov 8 12:37:20 2010 -0800 iwlagn: change default ACK/CTS MASK setting for WiFi/BT coex Change the default BT_KILL_ACK_MASK and BT_KILL_CTS_MASK for BT coex Signed-off-by: Wey-Yi Guy commit 66e863a527f9ed3a871797862aaf0d62b0954813 Author: Wey-Yi Guy Date: Mon Nov 8 14:54:37 2010 -0800 iwlagn: support dynamic aggregation for BT coex Use dynamic aggregation threshold if bt traffic load is high to reduce the impact on aggregated frame. Signed-off-by: Wey-Yi Guy commit 95a5ede3ee9269e175bfe0e6f5a4a5fd2914ed6a Author: Wey-Yi Guy Date: Mon Nov 8 14:55:43 2010 -0800 iwlagn: set dynamic aggregation threshold for BT Setting the max/min/def value for BT dynamic aggregation threshold. Signed-off-by: Wey-Yi Guy commit 8829c9e2ec144baeb3cee599e1e653a396ad521b Author: Wey-Yi Guy Date: Wed Nov 10 11:05:38 2010 -0800 iwlagn: used frame count info in compressed ba packet For newer devices, uCode provide both "number of frames sent" and "number of frames acked" information inside the compressed_ba packet. So instead of figure the success/failure information through the bitmap, use those information which is much betrer approach. Signed-off-by: Wey-Yi Guy commit b1d771ee33c6e4006676002b9d74abf45b71d3d6 Author: Christian Lamparter Date: Fri Oct 29 23:11:23 2010 +0200 carl9170: use generic sign_extend32 This patch replaces the handcrafted sign extension cruft with a generic bitop function. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 7919a57bc608140aa8614c19eac40c6916fb61d2 Author: Andreas Herrmann Date: Mon Aug 30 19:04:01 2010 +0000 bitops: Provide generic sign_extend32 function This patch moves code out from wireless drivers where two different functions are defined in three code locations for the same purpose and provides a common function to sign extend a 32-bit value. Signed-off-by: Andreas Herrmann Signed-off-by: John W. Linville commit e4b3fdb80021bc0a3239bfc2a873a6d7c6ac52a1 Author: Grazvydas Ignotas Date: Thu Nov 4 00:13:49 2010 +0200 wl1251: use wl12xx_platform_data to pass data Make use the newly added method to pass platform data for wl1251 too. This allows to eliminate some redundant code. Cc: Ohad Ben-Cohen Signed-off-by: Grazvydas Ignotas Acked-by: Kalle Valo Acked-by: Luciano Coelho Acked-by: Tony Lindgren Signed-off-by: John W. Linville commit 1d4b89f2970f9ea0902d0a3bc1090f3c770b5080 Author: Grazvydas Ignotas Date: Mon Nov 8 15:29:36 2010 +0200 wl1251: add runtime PM support for SDIO Add runtime PM support, similar to how it's done for wl1271. This allows to power down the card when the driver is loaded but network is not in use. Cc: Ohad Ben-Cohen Signed-off-by: Grazvydas Ignotas Acked-by: Kalle Valo Signed-off-by: John W. Linville commit cb7bbc7a5535ab2333915b83391e1d846a0914df Author: Grazvydas Ignotas Date: Thu Nov 4 00:13:47 2010 +0200 wl1251: add power callback to wl1251_if_operations Call interface specific power callback before calling board specific one. Also allow that callback to fail. This is how it's done for wl1271 and will be used for runtime_pm support. Signed-off-by: Grazvydas Ignotas Acked-by: Kalle Valo Signed-off-by: John W. Linville commit f81c1f48384d398dbe8f6c5b10377c7158086791 Author: Wey-Yi Guy Date: Wed Nov 10 09:56:50 2010 -0800 iwlagn: enable shadow register For 6000 series devices and up, enable automatic update MAC's register for better power usage in PSP mode Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 6fe8efb2211fe61caa7b0e1c36c521670b8a10a9 Author: Shanyu Zhao Date: Wed Nov 10 09:56:49 2010 -0800 iwlwifi: disable disconnected antenna for advanced bt coex Disconnected antenna algorithm is used to find out which antennas are disconnected. It should be disabled for devices that support advanced bluetooth coexist. Signed-off-by: Shanyu Zhao Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 3031242b31dcd76e1c6b1c1718cfee872f55d5af Author: Shanyu Zhao Date: Wed Nov 10 09:56:48 2010 -0800 iwlwifi: seperate disconnected antenna function Disconnected antenna algorithm is seperated into its own function from chain noise calibration routine for better code management. Signed-off-by: Shanyu Zhao Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit b2769b84d86a2d29fa131a763d2b23b112834420 Author: Johannes Berg Date: Wed Nov 10 09:56:47 2010 -0800 iwlagn: fix RXON HT When the HT information is changed due to BSS changes (like legacy stations joining) we need to recalculate HT RXON parameters. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 8da8e62851680772f0422d0f1c4b467190b268e5 Author: Johannes Berg Date: Wed Nov 10 09:56:46 2010 -0800 iwlagn: re-enable calibration During the RXON rewrite, this code got lost. When we've just associated, we need to enable all calibrations and see if some were already finished. Add back the missing code. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 52d980c01353202332ff4322f3f41db0c49816a5 Author: Johannes Berg Date: Wed Nov 10 09:56:45 2010 -0800 iwlagn: fix RXON issues The RXON rework resulted in a massive loss of throughput because we weren't programming the device completely correctly -- the BSSID has to be programmed into the device before the AP station is uploaded. To fix this, simply always send the unassoc RXON, i.e. even when it was already unassoc so that the BSSID and some other parameters are updated properly. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 2e1fea43aa170e18beb8378465e595e18cd08f6e Author: Johannes Berg Date: Wed Nov 10 09:56:44 2010 -0800 iwlagn: fix needed chains calculation Garen noticed that this was wrong. Fix the calibration -- default to multiple chains and fall back to single where possible. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 35a6eb36520b938742d8680fd8d821df20982ced Author: Wey-Yi Guy Date: Wed Nov 10 09:56:43 2010 -0800 iwlwifi: resending QoS command when HT changes "mac80211: Fix WMM driver queue configuration" inadvertedly broke iwlwifi, because now mac80211 configures the QoS settings before assoc, and therefore before HT. Thus, iwlwifi no longer told the device about the HT setting, which it needs to -- and thus throughput went down a lot. Fix this by resending the QoS command to the device not only when QoS/WMM settings change, but also when HT changes. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit fd11743dd25efe7157ff17b03dd2db0cbb6fed05 Author: Winkler, Tomas Date: Wed Nov 10 09:56:42 2010 -0800 iwlwlifi: update rx write pointer w/o request mac access in the CAM mode In iwl_rx_queue_update_write_ptr function replace iwl_write_direct32 with iwl_write32 when not in power save mode. We don't have to go through grab nic access as the NIC is already awake. Signed-off-by: Tomas Winkler Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 708068db4c09f93937a6a83ac8fff8516f482b0f Author: Wey-Yi Guy Date: Wed Nov 10 09:56:41 2010 -0800 iwlwifi: legacy tx_cmd_protection function Legacy (4965 and 3945) devices has different tx_cmd_protection routine. Move to iwl-legacy.c Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit e39fdee1d7856817619326fa114438c146d74510 Author: Wey-Yi Guy Date: Wed Nov 10 09:56:40 2010 -0800 iwlwifi: put all the isr related function under ops There were two type of isr supported by iwlwifi devices. legacy isr - only used by legacy devices (3945 & 4965) ict isr - used by all new generation of iwlwifi devices Move all the isr related functions into ops, the ict type of isr supports only needed for newer devices. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 81baf6ec9c190ae128748cf2a026bff5cb811b70 Author: Wey-Yi Guy Date: Wed Nov 10 09:56:39 2010 -0800 iwlwifi: Legacy isr only used by legacy devices Move iwl_isr_legacy function to iwl_legacy.c since it only used by legacy devices. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit ae79d23d0b2c16998e60f49a16dae53521c76a45 Author: Johannes Berg Date: Wed Nov 10 09:56:38 2010 -0800 iwlagn: fix non-5000+ build When building 4965 without 5000+ there were a lot of build errors due to functions being used that weren't even compiled in. To fix this move some code around and only compile the HCMD code for 5000+ series as it's not used for 4965. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 2a21ff446c07b95d08cbb830bd20112f3ee1d76e Author: Wey-Yi Guy Date: Wed Nov 10 09:56:37 2010 -0800 iwlagn: update PCI ID for 100 series devices Update the supported PCI ID list for 100 series devices Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit fb30eaf38703d7562606e49a5872745d66366a50 Author: Wey-Yi Guy Date: Wed Nov 10 09:56:36 2010 -0800 iwlagn: update PCI ID for 6000g2a series devices Update the supported PCI ID list for 6000g2a series devices Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 8b37d9f0a1e114a1c7f5082842fb310a81ea3732 Author: Wey-Yi Guy Date: Wed Nov 10 09:56:35 2010 -0800 iwlagn: update PCI ID for 6000g2b series devices Update the supported PCI ID list for 6000g2b series devices Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 5d882c97e2c958df9f8b78832fa1ecbecef6ea1d Author: Ben Greear Date: Mon Nov 8 10:50:03 2010 -0800 ath5k: Print stats as unsigned ints. The debugfs code for ath5k was printing some unsigned int stats with %d instead of %u. This meant that you could see negative numbers instead of a clean wrap. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 8c5765fda4b382acce4ff386e18ec11790dff893 Author: Ivo van Doorn Date: Sat Nov 6 15:49:01 2010 +0100 rt2x00: Add watchdog functions for HW queue Add watchdog functions for managing the Queues inside the hardware. Normally the driver doesn't have much to do with these queues directly, but the Ralink drivers did implement watchdog functions for these. These watchdog functions are not triggered that often, compared to the other watchdog functions, but I have at least seen them trigger once or twice during a long stresstest run. v2: Add extra documentation for register fields Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit ea175ee26268370ca07aff91cf6ba1e0f1a3bd36 Author: Ivo van Doorn Date: Sat Nov 6 15:48:43 2010 +0100 rt2x00: Remove rt2x00lib_toggle_rx As part of the queue refactoring, the rt2x00lib_toggle_rx can be removed and replaced with the call directly to the set_device_state callback function. We can remove the STATE_RADIO_RX_ON_LINK and STATE_RADIO_RX_OFF_LINK, as it was only used for special behavior inside rt2x00lib rather then the drivers. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 8be4eed0ea7d8ef38692de878043a949e9db16e8 Author: Ivo van Doorn Date: Sat Nov 6 15:48:23 2010 +0100 rt2x00: Fix rt2x00queue_kick_tx_queue arguments The queue_entry argument to rt2x00queue_kick_tx_queue, doesn't make sense due to the function name (it is called kick QUEUE)... But neither do we need the queue_entry, since we need the data_queue. Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 813f0339dd739c48607f12dac79ec26c61874226 Author: Ivo van Doorn Date: Sat Nov 6 15:48:05 2010 +0100 rt2x00: Rename queue->lock to queue->index_lock The queue->lock is only used to protect the index numbers. Rename the lock accordingly. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 821cde63b5bd04bc3ca0f95e2abf17b04e640488 Author: Mark Einon Date: Sat Nov 6 15:47:46 2010 +0100 rt2x00: checkpatch.pl error fixes for rt73usb.c rt73usb.c:43: ERROR: do not initialise statics to 0 or NULL Signed-off-by: Mark Einon Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f8bfbc31794635f6d0b7fd30950d49cecf54e1ce Author: Mark Einon Date: Sat Nov 6 15:47:25 2010 +0100 rt2x00: checkpatch.pl error fixes for rt2x00queue.c rt2x00queue.c:804: ERROR: space prohibited after that open parenthesis '(' rt2x00queue.c:805: ERROR: space prohibited before that close parenthesis ')' Signed-off-by: Mark Einon Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 027e8fd105c82956de9dec232bad21b1628ee7c0 Author: Mark Einon Date: Sat Nov 6 15:47:09 2010 +0100 rt2x00: checkpatch.pl error fixes for rt2x00link.c rt2x00link.c:70: ERROR: space prohibited before that close parenthesis ')' Signed-off-by: Mark Einon Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5f181dc16bbd13b68b54ed5c43c4d2c5ad00297b Author: Mark Einon Date: Sat Nov 6 15:46:53 2010 +0100 rt2x00: checkpatch.pl error fixes for rt2x00lib.h rt2x00lib.h:60: ERROR: space prohibited after that open parenthesis '(' rt2x00lib.h:60: ERROR: space prohibited before that close parenthesis ')' Signed-off-by: Mark Einon Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c2361baec100c6f373107346e3fd98e9b267ac6c Author: Mark Einon Date: Sat Nov 6 15:46:36 2010 +0100 rt2x00: checkpatch.pl error fixes for rt2x00dev.c rt2x00dev.c:689: ERROR: spaces required around that '=' (ctx:WxV) Signed-off-by: Mark Einon Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8a239033c355be998b8985f12f0cc3a9eaeb93e9 Author: Mark Einon Date: Sat Nov 6 15:46:17 2010 +0100 rt2x00: checkpatch.pl error fixes for rt2x00config.c rt2x00config.c:136: ERROR: space required before the open parenthesis '(' Signed-off-by: Mark Einon Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 87a46caf920515eb269df0109f0a61a958236568 Author: Mark Einon Date: Sat Nov 6 15:45:58 2010 +0100 rt2x00: checkpatch.pl error fixes for rt2800usb.h rt2800usb.h:43: ERROR: space prohibited after that open parenthesis '(' rt2800usb.h:43: ERROR: space prohibited before that close parenthesis ')' rt2800usb.h:44: ERROR: space prohibited after that open parenthesis '(' rt2800usb.h:44: ERROR: space prohibited before that close parenthesis ')' Signed-off-by: Mark Einon Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 144b80bc05e76df0acb8b5e86a6e6aaf0c53325e Author: Mark Einon Date: Sat Nov 6 15:45:41 2010 +0100 rt2x00: checkpatch.pl error fixes for rt2800usb.c rt2800usb.c:48: ERROR: do not initialise statics to 0 or NULL Signed-off-by: Mark Einon Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c6cbadeb3afd9471e539791842877d085f367746 Author: Mark Einon Date: Sat Nov 6 15:45:22 2010 +0100 rt2x00: checkpatch.pl error fixes for rt2800pci.h rt2800pci.h:41: ERROR: Macros with complex values should be enclosed in parenthesis rt2800pci.h:42: ERROR: Macros with complex values should be enclosed in parenthesis rt2800pci.h:43: ERROR: Macros with complex values should be enclosed in parenthesis rt2800pci.h:44: ERROR: Macros with complex values should be enclosed in parenthesis rt2800pci.h:55: ERROR: space prohibited after that open parenthesis '(' rt2800pci.h:55: ERROR: space prohibited before that close parenthesis ')' rt2800pci.h:56: ERROR: space prohibited after that open parenthesis '(' rt2800pci.h:56: ERROR: space prohibited before that close parenthesis ')' Signed-off-by: Mark Einon Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit bf1b15125e2aa245ddd9348f80d041d4f1fd13a9 Author: Mark Einon Date: Sat Nov 6 15:45:06 2010 +0100 rt2x00: checkpatch.pl error fixes for rt2800lib.c rt2800lib.c:831: ERROR: inline keyword should sit between storage class and type Signed-off-by: Mark Einon Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fd8dab9a67b22c35f38f0f5bfff4b3f6ed02e43a Author: Mark Einon Date: Sat Nov 6 15:44:52 2010 +0100 rt2x00: checkpatch.pl error fixes for rt2800.h rt2800.h:1511: ERROR: space prohibited after that open parenthesis '(' rt2800.h:1511: ERROR: space prohibited before that close parenthesis ')' rt2800.h:1513: ERROR: space prohibited after that open parenthesis '(' rt2800.h:1513: ERROR: space prohibited before that close parenthesis ')' rt2800.h:1515: ERROR: space prohibited after that open parenthesis '(' rt2800.h:1515: ERROR: space prohibited before that close parenthesis ')' rt2800.h:1517: ERROR: space prohibited after that open parenthesis '(' rt2800.h:1517: ERROR: space prohibited before that close parenthesis ')' rt2800.h:1519: ERROR: space prohibited after that open parenthesis '(' rt2800.h:1519: ERROR: space prohibited before that close parenthesis ')' rt2800.h:1521: ERROR: space prohibited after that open parenthesis '(' rt2800.h:1521: ERROR: space prohibited before that close parenthesis ')' rt2800.h:1661: ERROR: space prohibited after that open parenthesis '(' rt2800.h:1661: ERROR: space prohibited before that close parenthesis ')' rt2800.h:1662: ERROR: space prohibited after that open parenthesis '(' rt2800.h:1662: ERROR: space prohibited before that close parenthesis ')' rt2800.h:1663: ERROR: space prohibited before that close parenthesis ')' rt2800.h:2013: ERROR: space prohibited after that open parenthesis '(' rt2800.h:2013: ERROR: space prohibited before that close parenthesis ')' rt2800.h:2014: ERROR: space prohibited after that open parenthesis '(' rt2800.h:2014: ERROR: space prohibited before that close parenthesis ')' Signed-off-by: Mark Einon Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit cf553477a4dfb819c66ebfcad9f3b5cc3b93a9af Author: Mark Einon Date: Sat Nov 6 15:44:33 2010 +0100 rt2x00: checkpatch.pl error fixes for rt2500usb.c rt2500usb.c:42: ERROR: do not initialise statics to 0 or NULL Signed-off-by: Mark Einon Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit cb771b1a5de81e3ee59bd8b7ed17da6d09ffcf68 Author: Mark Einon Date: Sat Nov 6 15:44:15 2010 +0100 rt2x00: checkpatch.pl error fixes for rt2500pci.h rt2500pci.h:1091: ERROR: space prohibited after that open parenthesis '(' rt2500pci.h:1091: ERROR: space prohibited before that close parenthesis ')' rt2500pci.h:1092: ERROR: space prohibited after that open parenthesis '(' rt2500pci.h:1092: ERROR: space prohibited before that close parenthesis ')' Signed-off-by: Mark Einon Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 46b9786975a69a75f25b71796f7e36d203fbd4ee Author: Mark Einon Date: Sat Nov 6 15:44:00 2010 +0100 rt2x00: checkpatch.pl error fixes for rt2400pci.h rt2400pci.h:812: ERROR: space prohibited after that open parenthesis '(' rt2400pci.h:812: ERROR: space prohibited before that close parenthesis ')' rt2400pci.h:813: ERROR: space prohibited after that open parenthesis '(' rt2400pci.h:813: ERROR: space prohibited before that close parenthesis ')' rt2400pci.h:950: ERROR: Macros with complex values should be enclosed in parenthesis Signed-off-by: Mark Einon Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 041fb8f504fb0a6b61bc2131679da554b2fa8c9d Author: Christian Lamparter Date: Sat Nov 6 14:07:10 2010 +0100 carl9170: tx path review This patch fixes a few shortcomings in the tx path. * move temp. ampdu_[ack]_len out of txinfo->pad. * fix WARN_ON from tx.c:line 300 when tx_ampdu_queue fails to queue the frame. * In tx_prepare, we already have a local pointer to the station's ieee80211_sta struct. * remove a second !sta check, tx_prepare already takes care of that. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit ffa56e540c3949c4560dcce45eca247819e183c1 Author: Jesper Juhl Date: Thu Nov 4 22:59:56 2010 +0100 mac80211: Remove redundant checks for NULL before calls to crypto_free_cipher() crypto_free_cipher() is a wrapper around crypto_free_tfm() which is a wrapper around crypto_destroy_tfm() and the latter can handle being passed a NULL pointer, so checking for NULL in the ieee80211_aes_key_free()/ieee80211_aes_cmac_key_free() wrappers around crypto_free_cipher() is pointless and just increase object code size needlesly and makes us execute extra test/branch instructions that we don't need. Btw; don't we have to many wrappers around wrappers ad nauseam here? Anyway, this patch removes the redundant conditionals. Signed-off-by: Jesper Juhl Signed-off-by: John W. Linville commit 723fc7af5300dba9eac40cb23dbefa67589e5181 Author: Lalith Suresh Date: Thu Nov 4 20:43:16 2010 +0100 rt2x00: Fix comments in rt73usb.h and rt61pci.h This patch fixes a few comments in rt73usb.h and rt61pci.h. Signed-off-by: Lalith Suresh Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fa8b4b22d543b4052602b0c86065150613ed19e8 Author: Helmut Schaa Date: Thu Nov 4 20:42:36 2010 +0100 rt2x00: Fix hw crypto in AP mode for some devices The BSSID register shouldn't be set in AP mode on some older devices (like rt73usb) as it breaks hw crypto on these. However, rt2800 devices explicitly need the BSSID register set to the same value as our own MAC address (only in AP mode). Hence, don't set the BSSID from rt2x00lib but move it down into rt2800 to avoid problems on older devices. This fixes a regression (at least for rt73usb) and avoids a new regression for rt2800 devices in 2.6.36. Reported-by: Johannes Stezenbach Reported-by: Lee Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 070192dd2975c0e97bbdeac7623b755235c6db7d Author: Ivo van Doorn Date: Thu Nov 4 20:41:05 2010 +0100 rt2x00: Fix crash on USB unplug By not scheduling the TX/RX completion worker threads when Radio is disabled, or hardware has been unplugged, the queues cannot be completely cleaned. This causes crashes when the hardware has been unplugged while the radio is still enabled. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 303c7d6abfd0430e39e84a43361492b4a8c890b6 Author: Ivo van Doorn Date: Thu Nov 4 20:40:46 2010 +0100 rt2x00: Fix MCU_SLEEP arguments Legacy driver uses 0xff as the second argument for the MCU_SLEEP command. It is still unknown what the values actually mean, but this will at least keep the command in-sync with the original driver. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit f44df18c58d4debe3ec0bb76a490aa2f3929fd8b Author: Ivo van Doorn Date: Thu Nov 4 20:40:11 2010 +0100 rt2x00: Implement flush callback Implement a basic flush callback function, which simply loops over all TX queues and waits until all frames have been transmitted and the status reports have been gathered. At this moment we don't support dropping any frames during the flush, but mac80211 will only send 'false' for this argument anyway, so this is not important at this time. Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit aaf886bd215396f295bc0489e8ae09d1c03d9aa0 Author: Ivo van Doorn Date: Thu Nov 4 20:39:48 2010 +0100 rt2x00: Remove failsave from rt2x00usb_watchdog_tx_dma When the TX status handler failed to clear the queue in rt2x00usb_watchdog_tx_dma() we shouldn't use a failsave to use the rt2x00usb txdone handler. If a driver has overriden the txdone handler it must make sure the txdone handler is capable of cleaning up the queue itself. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 7225ce1ea93d24c0914eea0410dcfc426281f996 Author: Ivo van Doorn Date: Thu Nov 4 20:39:23 2010 +0100 rt2x00: Rename rt2x00queue_timeout Rename rt2x00queue_timeout to rt2x00queue_status_timeout to better describe what is actually timing out (note that we already have a rt2x00queue_dma_timeout). Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit e2f8c8752b994026fc0ddb4bb29ca229b3e0c104 Author: Helmut Schaa Date: Thu Nov 4 20:38:56 2010 +0100 rt2x00: Optimize rt2x00debug_dump_frame when frame dumping is not active When rt2x00 is compiled with debugging but frame dumping is currently not active we can avoid the call to do_gettimeofday. Furthermore, frame dumping is not the default case, mark it as unlikely. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2b23cdaa3b0e9567597563e5a7a5103ecda447f0 Author: Helmut Schaa Date: Thu Nov 4 20:38:15 2010 +0100 rt2x00: Reduce tx descriptor size The tx descriptor values qid, cw_min, cw_max and aifs are directly accessible through the tx entry struct. So there's no need to copy them into the tx descriptor and passing them to the indiviual drivers. Instead we can just get the correct value from the tx entry. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 08e5310028359de2daaa39cd10e9ca493c51792b Author: Helmut Schaa Date: Thu Nov 4 20:37:47 2010 +0100 rt2x00: Wait up to one second on rt2800 for WPDMA to be ready At least some devices need such a long time to inititalize WPDMA. This only increases the maximum wait time and shouldn't affect devices that have been working before. Reported-by: Joshua Smith Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit efd2f271e44c7ea011cdb0363d38f40338ab80d2 Author: Helmut Schaa Date: Thu Nov 4 20:37:22 2010 +0100 rt2x00: Sync Tx and RX ring sizes with legacy drivers All rt2x00 devices used the same Tx and Rx ring size (24 entries) till now. Newer devices (like rt2800) can however make use of a larger TX and RX ring due to 11n capabilities (AMPDUs of size 64 for example). Hence, bring rt2x00 in sync with the legacy drivers and use the same TX and RX ring sizes. Also remove the global defines RX_ENTRIES, TX_ENTRIES, BEACON_ENTRIES and ATIM_ENTRIES and use per driver values. That is 24 entries for rt2400pci, 32 entries for rt2500pci, rt2500usb, rt61pci and rt73usb and 128 (RX) and 64 (TX) for rt2800pci and rt2800usb. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 961621abee08fde2328daf6f8000e1059e5205e9 Author: Helmut Schaa Date: Thu Nov 4 20:36:59 2010 +0100 rt2x00: Add TXOP_CTRL_CFG register definition Remove the magic value initialisation of the TXOP_CTRL_CFG register by defining its fields and using them during intialisation. The field RESERVED_TRUN_EN is referred to as reserved, however it is set to 1 by the legacy drivers. Hence, do the same. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 066dae93bdfcc7af5e38a33617773fd5c6457607 Author: Felix Fietkau Date: Sun Nov 7 14:59:39 2010 +0100 ath9k: rework tx queue selection and fix queue stopping/waking The current ath9k tx queue handling code showed a few issues that could lead to locking issues, tx stalls due to stopped queues, and maybe even DMA issues. The main source of these issues is that in some places the queue is selected via skb queue mapping in places where this mapping may no longer be valid. One such place is when data frames are transmitted via the CAB queue (for powersave buffered frames). This is made even worse by a lookup WMM AC values from the assigned tx queue (which is undefined for the CAB queue). This messed up the pending frame counting, which in turn caused issues with queues getting stopped, but not woken again. To fix these issues, this patch removes an unnecessary abstraction separating a driver internal queue number from the skb queue number (not to be confused with the hardware queue number). It seems that this abstraction may have been necessary because of tx queue preinitialization from the initvals. This patch avoids breakage here by pushing the software <-> hardware queue mapping to the function that assigns the tx queues and redefining the WMM AC definitions to match the numbers used by mac80211 (also affects ath9k_htc). To ensure consistency wrt. pending frame count tracking, these counters are moved to the ath_txq struct, updated with the txq lock held, but only where the tx queue selected by the skb queue map actually matches the tx queue used by the driver for the frame. Signed-off-by: Felix Fietkau Reported-by: Björn Smedman Signed-off-by: John W. Linville commit 21e731a1b15bf03927e292af1b4a2c84fc8af817 Author: Rafał Miłecki Date: Wed Nov 3 21:36:12 2010 +0100 b43legacy: rfkill: use status register based on core revision (not PHY's) Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit d94519c1b0de827d5d142b9333b7f114c0b3a021 Author: maximilian attems Date: Tue Nov 2 23:39:12 2010 +0100 zd1201: Add missing id The Mandriva patch seems to stem from 2.6.14, so much for their upstreaming effort. Didn't find another Linux reference of it, just an omnious "USB\VID_1044&PID_8004" from GigabyteZD1201U.INF for Gigabyte GN-WLBZ101 802.11b USB Adapter, which matches the Mandriva patch comment. Aboves file also lists an "USB\VID_1044&PID_8006", which I have kept appart as this "Gigabyte GN-WBZB-M 802.11b USB Adapter" didn't show up in googling. Signed-off-by: maximilian attems Signed-off-by: John W. Linville commit 8cecc90e4a302ac214c48e362709ce906a96a295 Author: maximilian attems Date: Tue Nov 2 23:10:12 2010 +0100 zd1211rw: add 2 missing usb id's "These USB ID came from Palnex Worked fine." says Mandriva patch for their 2.6.32 and earlier. Web has evidence for both id's to work, so just add them upstream: http://www.mail-archive.com/zd1211-devs@lists.sourceforge.net/msg00507.html http://ubuntuforums.org/showthread.php?t=473046 Signed-off-by: Go Taniguchi Signed-off-by: maximilian attems Signed-off-by: John W. Linville commit daeeb074105a80a34f90a454c24efc14e9a8d3c3 Author: Herton Ronaldo Krzesinski Date: Mon Nov 1 22:59:39 2010 -0200 rtl8187: restore anaparam registers after reset with 8187B Current 8187B initialization misses anaparam registers restore after 8187 reset. This causes ANAPARAM register to stay zeroed out (ANAPARAM2 kept its value on my tests). To avoid this, call rtl8187_set_anaparam right after chip reset (to be on the safe side, as it makes sure we restore all ANAPARAM registers). Signed-off-by: Herton Ronaldo Krzesinski Acked-by: Larry Finger Cc: seno Signed-off-by: John W. Linville commit 998606cfd75e7a8169ed0d324061a8d6bc60716a Author: Herton Ronaldo Krzesinski Date: Mon Nov 1 22:59:38 2010 -0200 rtl8187: remove uneeded setting of anaparam write Usually you set RTL818X_CONFIG3_ANAPARAM_WRITE when you are going to change/write ANAPARAM registers. But in current initialization of RTL8187B there is a place where ANAPARAM_WRITE bit is set without any ANAPARAM register being written, without reason, so remove it. Signed-off-by: Herton Ronaldo Krzesinski Acked-by: Larry Finger Cc: seno Signed-off-by: John W. Linville commit 0bf198eb4d05a4662143e4a2e2a44fb592e2b177 Author: Herton Ronaldo Krzesinski Date: Mon Nov 1 22:59:37 2010 -0200 rtl8187: consolidate anaparam on/off write sequences There are repeated calls for anaparam on/off sequence in the code. Consolidate the common code in rtl8187_set_anaparam and use it where needed. Signed-off-by: Herton Ronaldo Krzesinski Acked-by: Larry Finger Signed-off-by: John W. Linville commit fe3326903d7aafd7b5602d8e178537c8b0465f6c Author: Herton Ronaldo Krzesinski Date: Mon Nov 1 22:59:36 2010 -0200 rtl8187: don't set RTL818X_CONFIG3_GNT_SELECT flag on 8187B The GNTSel bit should only concern pci devices by looking at RTL8180 spec, which is not the case of 8187B. Also testing shows that trying to set this bit fails, a subsequent read from the register after trying to set it shows that the bit isn't set, seems the hardware ignores it, which makes sense. This setting was a left over from Realtek sources. Signed-off-by: Herton Ronaldo Krzesinski Acked-by: Larry Finger Signed-off-by: John W. Linville commit 896cae65fc0489b8e42bb7790f64731d53a2cecf Author: Herton Ronaldo Krzesinski Date: Mon Nov 1 22:59:35 2010 -0200 rtl8187: move pll reset at start out of ANAPARAM write On 8187B start, comment about pll reset, and move it out of ANAPARAM write sequence, so that code is more readable. Signed-off-by: Herton Ronaldo Krzesinski Acked-by: Larry Finger Signed-off-by: John W. Linville commit a8ff34e37a186ebb7d2d90ee40ef88a3ef95ad47 Author: Herton Ronaldo Krzesinski Date: Mon Nov 1 22:59:34 2010 -0200 rtl8187: avoid redundant write to register FF72 (RFSW_CTRL) The table with misc register initialization was setting it, and later on we would set it again with a explicity call to rtl818x_iowrite16_idx. Remove duplicate initialization from the register table. Signed-off-by: Herton Ronaldo Krzesinski Acked-by: Larry Finger Signed-off-by: John W. Linville commit 60f589145d76cf834ec5e485c5412ec0994e52d1 Author: Herton Ronaldo Krzesinski Date: Mon Nov 1 22:59:33 2010 -0200 rtl8187: fix wrong register initialization in 8187B We were using wrong address for BRSR (Basic Rate Set Register) while initializing its value, comparing with Realtek sources, for 8187B case. Also, the same register is initialized in rtl8187b_reg_table, so remove the duplicate initialization from the table. Signed-off-by: Herton Ronaldo Krzesinski Acked-by: Larry Finger Signed-off-by: John W. Linville commit f002c25cc13e86762551c0eda29a40c60d6dbf1b Author: Herton Ronaldo Krzesinski Date: Mon Nov 1 22:59:32 2010 -0200 rtl8187: remove setting of beacon/atim registers from initialization On 8187B path, we set a initial value for beacon interval and atim window on initialization. But this isn't needed, since same setup is done on rtl8187_config. Signed-off-by: Herton Ronaldo Krzesinski Acked-by: Larry Finger Signed-off-by: John W. Linville commit 327571ea9927beec2ee2ed9a266c57c1515393b4 Author: Herton Ronaldo Krzesinski Date: Mon Nov 1 22:59:31 2010 -0200 rtl8187: remove redundant initialization of ARFR This removes redundant write to Auto Rate Fallback Register on RTL8187B. The same value was being written twice in the same function. Avoid this removing the duplicate initialization on rtl8187b_reg_table, and also add comment for this write (information from Realtek source). Signed-off-by: Herton Ronaldo Krzesinski Acked-by: Larry Finger Signed-off-by: John W. Linville commit c0bf9ca98e07ca72c444a6cfb272aafa9890b9b6 Author: Nishant Sarmukadam Date: Mon Nov 1 17:55:48 2010 -0700 mwl8k: force AP mode to use non-AMPDU frames AP firmware uses xmitcontrol to differentiate between AMPDU and non-AMPDU frames. As the support for AMPDU is not yet added, set xmitcontrol to non-AMPDU for all tx frames for AP firmware. This field will be set to indicate ampdu/non-ampdu frames when tx AMPDU support is added. Signed-off-by: Pradeep Nemavat Signed-off-by: Brian Cavagnolo Acked-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 3eedb6f436858f3e864139dc184adc9a51440c92 Author: Christian Lamparter Date: Sat Oct 30 00:36:53 2010 +0200 carl9170: configurable beacon rates Previously, the beacon rate was fixed to either: * 1Mb/s [2.4GHz band] * 6Mb/s [5GHz band] This limitation has been addressed and now the beacon rate is selected by ieee80211_tx_info's rate control info, almost like any ordinary data frame. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 2a6cef513fab525399e484edc9bfb39b6d462f76 Author: Christian Lamparter Date: Fri Oct 29 23:41:16 2010 +0200 carl9170: stop stale uplink BA sessions This patch fixes a possible lengthy stall if the device is operating as an experimental 11n AP and an STA [during heavy txrx action] suddenly signalized to go off-channel (old NetworkManager), or (sleep - which is unlikely, because then it wouldn't be *active* at all!?). Because the driver has to manage the BA Window, the sudden PSM transition can leave active uplink BA sessions to the STA in a bad state and a proper cleanup is needed. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit e4a668c59080f862af3ecc28b359533027cbe434 Author: Christian Lamparter Date: Fri Oct 29 23:26:13 2010 +0200 carl9170: fix spurious restart due to high latency RX Stress tests of unidirectional bulk traffic with bitrates of up to 220Mbit/s have revealed that the fatal-event recovery logic [which was solely triggered by an out-of-rx-buffer situation] is too aggressive. The new method now "pings" the device and then decides - based on the response - whenever a restart is needed or not. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit e27769059ccb15273a7eb69ed31b8e08f9b0eda8 Author: Christian Lamparter Date: Fri Oct 29 23:17:38 2010 +0200 carl9170: initialize HW aMPDU parameters properly This patch changes the initial aMPDU density and factor settings to match those of Otus. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 3f1240e4f4b249f2388903864bdc766973f76687 Author: Christian Lamparter Date: Fri Oct 29 22:44:59 2010 +0200 carl9170: import hw/fw header updates This patch imports all shared header changes from carl9170fw.git. * add some strategic __aligned(4). This allows the compiler generate optimized code for architectures which can't access (unaligned/packed) data efficiently. ("ath9k_hw: optimize all descriptor access functions") * add a forgotten __CARL9170FW__ ifdef around a private firmware-internal struct. * GET_VAL macro helper Very useful for extracting data out of the bit-packed PHY registers. * cosmetic changes e.g.: _CCA_MINCCA_ to just _CCA_MIN_. * version bump 1.8.8.3 -> 1.9.0. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit bdd7bd16439975133d36bcd7c9c489302a114525 Author: Blaise Gassend Date: Thu Oct 28 02:01:24 2010 -0700 mac80211_hwsim: Incorporate txpower into rssi Up to now mac80211_hwsim has been reporting an rssi of -50. This patch improves the model slightly by returning txpower-50. This makes it easy to stimulate tests that need to see a varying rssi. Signed-off-by: Blaise Gassend Signed-off-by: John W. Linville commit 19999792d2889350611ba9e346d6a2924959dc2d Author: Thadeu Lima de Souza Cascardo Date: Thu Oct 28 20:01:00 2010 -0200 rtl8187b: do not do per packet TX AGC Clearing the per packet TX AGC for the RTL8187B device appears to increase its overall TX power. This allows the device to associate and a connection to be established using APs a little further away. This is in accordance to what is done for RTL8187L devices and also what Realtek drivers do. Tested-by: Thadeu Lima de Souza Cascardo Signed-off-by: Thadeu Lima de Souza Cascardo Cc: linux-wireless@vger.kernel.org Cc: Larry Finger Cc: Rogerio Luz Coelho Cc: Herton Ronaldo Krzesinski Cc: Hin-Tak Leung Cc: seno Tested-by: Herton Ronaldo Krzesinski Signed-off-by: John W. Linville commit e285a5250c0772c5596a9137041a96b2c1f744d6 Author: Eliad Peller Date: Wed Oct 27 14:09:58 2010 +0200 wl1271: add recover testmode command add RECOVER testmode command. this command triggers a recovery sequence (by enqueueing a recovery_work). Signed-off-by: Eliad Peller Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit ccc83b046c03378bbaf7cf095d8d7e9b9abb24c5 Author: Eliad Peller Date: Wed Oct 27 14:09:57 2010 +0200 wl1271: handle HW watchdog interrupt unmask the WL1271_ACX_INTR_WATCHDOG interrupt. when getting it - enqueue a recovery work and bail out. Signed-off-by: Eliad Peller Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 03107a4b5923aa7767329e857caf227749087e47 Author: Eliad Peller Date: Wed Oct 27 14:58:30 2010 +0200 wl1271: refactor debugfs function generation code refactor wl1271_debugfs by using a format© function, instead of duplicating the code for each generated function. this change reduces about 3Kb from wl1271.ko Signed-off-by: Eliad Peller Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 71125abdf0c297adc00dc5632f0318b2397286f5 Author: Eliad Peller Date: Thu Oct 28 21:46:43 2010 +0200 wl1271: set wl->vif only if add_interface succeeded. set wl->vif to the newly created interface only after the firmware booted successfully. on the way - make the function flow more clear. Signed-off-by: Eliad Peller Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit f8d9802f66eda9ff14f7667f99a46b31e9a9e273 Author: Juuso Oikarinen Date: Tue Oct 26 13:24:39 2010 +0200 wl1271: Check interface state in op_* functions Check the state of the interface on op_* function so we don't try to access the hardware in when its off. The mac80211 may call these in some corner cases related, for instance, to the hardware recovery procedure. These accesses cause a kernel crash on at least some SDIO devices, because the bus is not properly claimed in that scenario. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit b739a42c921dcb0ae92cc14032b7f75dcba88e3b Author: Juuso Oikarinen Date: Tue Oct 26 13:24:38 2010 +0200 wl1271: Fix scan failure detection In scan_complete_work, because the mutex is released before accessing the scan->failed flag, it is possible for unfounded hardware recovery rounds to be executed. Fix this. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit fb2382c75b1292aff0ebc8e209b0cb9ba70bb2cf Author: Juuso Oikarinen Date: Mon Oct 25 11:24:29 2010 +0200 wl1271: Fix RX path stall The wl1271_rx function loops through packets in an aggregated buffer. Each packet in the buffer is handled by a call to wl1271_rx_handle_data, which will fail if skb memory allocation fails or production mode is enabled. These failures currently prevent the rx counters to be incremented, thus causing the rx loop to run forever. Fix this by ignoring error codes reported wl1271_rx_handle_data function. This essentially means that frames will be dropped in production mode, which is the intetion, and frames will be dropped if memory allocation fails, which is a decent way to recover from that situation. Signed-off-by: Juuso Oikarinen Tested-by: Tuomas Katila Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit ff6d76fd3d45ed5494287e57d76073739721214b Author: Nicolas Kaiser Date: Mon Oct 25 15:30:03 2010 +0200 wireless/wl1271: remove redundant if-statement v2 wl1271_ps_elp_sleep() is void and cannot return a value. Signed-off-by: Nicolas Kaiser Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 5404643139c16e56d31a6ebd09cfa6db1eb03a36 Author: Luciano Coelho Date: Wed Oct 20 15:15:52 2010 +0300 wl1271: exit ELP mode when setting enabled rates in tx This bug was being triggered by a call to acx_rate_policies in tx_work without calling ps_elp_wakeup first. If we have full PSM enabled, this happens rather often, immediately after association. Reported-by: Tuomas Katila Signed-off-by: Luciano Coelho Tested-by: Tuomas Katila commit 6a2de93b2553c2e9a72997370534993c85c1eee6 Author: Teemu Paasikivi Date: Thu Oct 14 11:00:04 2010 +0200 wl1271: Fix warning about unsupported RX rate While scanning, it is possible that beacon and probe response frames are received on other band than configured to the driver. In rx status handling this has caused "Unsupported RX rate from HW" warnings. This patch changes the wl1271_rate_to_index function to take the band of the received frame as a parameter instead of using value configuret to wl->band. Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho commit 18357850b694ba3fa29363c7d86ccd8783f4a065 Author: Shahar Levi Date: Wed Oct 13 16:09:41 2010 +0200 wl1271: 11n Support, functionality and configuration ability Add 11n ability in scan, connection and using MCS rates. The configuration is temporary due to the code incomplete and still in testing process. That plans to be remove in the future. Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit c4db1c879679e795689ef3c9dd7d3f6568ea14c5 Author: Shahar Levi Date: Wed Oct 13 16:09:40 2010 +0200 wl1271: 11n Support, ACX Commands Added ACX command to the FW for 11n support. Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit e8b03a2b8debc6056f6f43d24f98f601097301a1 Author: Shahar Levi Date: Wed Oct 13 16:09:39 2010 +0200 wl1271: 11n Support, Add Definitions Two acx commands: ht_capabilities & ht_information, 11n sta capabilities macro. Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 2fe33e8cff354a3f320549544bffebbbab680145 Author: Ido Yariv Date: Tue Oct 12 14:49:12 2010 +0200 wl1271: Fix TX queue low watermark handling The number of entries in the TX queue is compared to the low watermark value each time TX completion interrupts are handled. However, the fact that a TX completion arrived does not necessarily mean there are any less skbs in the TX queue. In addition, a TX completion interrupt does not necessarily mean that there are any new available TX blocks. Thus, queuing TX work when the low watermark is reached might not be needed. Fix this by moving the low watermark handling to the TX work function, and avoid queuing TX work in this case. Signed-off-by: Ido Yariv Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho commit 25eeb9e3876a161e3afcc820c6cb72e13f9b7c7e Author: Ido Yariv Date: Tue Oct 12 16:20:06 2010 +0200 wl1271: Allocate TX descriptors more efficiently On each TX descriptor allocation, a free entry is found by traversing the TX descriptors array. Improve this by holding a bitmap of all TX descriptors, and using efficient bit operations to search for free entries. Signed-off-by: Ido Yariv Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho commit a522550a283de31c7cfc30c7a129ce584e38c582 Author: Ido Yariv Date: Tue Oct 12 14:49:10 2010 +0200 wl1271: Fix TX starvation While wl1271_irq_work handles RX directly (by calling wl1271_rx), a different work is scheduled for transmitting packets. The IRQ work might handle more than one interrupt during a single call, including multiple TX completion interrupts. This might starve TX, since no packets are transmitted until all interrupts are handled. Fix this by calling the TX work function directly, instead of deferring it. Signed-off-by: Ido Yariv Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho commit 6c6e669ed6282788d6045397ce0f201edc400d9d Author: Ido Yariv Date: Tue Oct 12 14:49:09 2010 +0200 wl1271: TX aggregation optimization In case the aggregation buffer is too small to hold all available packets, the buffer is transferred to the FW and no more packets are aggregated. Although there may be enough available TX blocks, no additional packets will be handled by the current TX work. Fix this by flushing the aggregation buffer when it's full, and continue transferring packets as long as there are enough available TX blocks. Signed-off-by: Ido Yariv Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho commit c8aea565e8f715d9f10064b1cbfbc15bf75df501 Author: Gery Kahn Date: Tue Oct 5 16:09:05 2010 +0200 wl1271: ref_clock cosmetic changes Cosmetic cleanup for ref_clock code while configured by board. Signed-off-by: Gery Kahn Signed-off-by: Luciano Coelho commit 34d59c07e9ad7130813c28f8554ef1298af923b7 Author: Wey-Yi Guy Date: Sat Oct 23 09:15:46 2010 -0700 iwlagn: use 6000g2b uCode for 130 series devices For 130 series device, 6000g2b uCode will be used, no need to have additional defines for 130 devices, so remove those. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 69d826b6c54de113f02a73990b6f6809289b48cc Author: Wey-Yi Guy Date: Sat Oct 23 09:15:45 2010 -0700 iwlwifi: add new devices to Kconfig Adding description to Kconfig to indicate more devices are being supported by iwlagn Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit f5682c01eb85fce13d064d232c947322bd7e2631 Author: Wey-Yi Guy Date: Sat Oct 23 09:15:44 2010 -0700 iwlagn: turn dynamic smps on while BT is on While BT is on and doing iscan and/or pscan, BT is in listen mode which will impact WiFi throughput, we need to enable dynamic smps in order to improve the rx throughput. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit d4daaea656e0b5543c2e37c31934cea8f044b31e Author: Johannes Berg Date: Sat Oct 23 09:15:43 2010 -0700 iwlwifi: implement switching iftype while up Implement switching the interface while an interface is up in iwlwifi. Interfaces have to stay on the context they were created on. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit bd50a8ab9f48787109f6ff761c8f0e185e3d0690 Author: Johannes Berg Date: Sat Oct 23 09:15:42 2010 -0700 iwlwifi: fix IBSS beaconing My previous patch to clean up all RXON handling inadvertently broke IBSS because it failed to take into account that unlike in AP mode, IBSS requires beacons to be sent only after setting the RXON assoc. Fix this, clean up the code a bit, improve the error checking around this, and also react to beacon changes in IBSS mode from mac80211. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 2295c66b68ae160dde2e6e2dc4f3061105153bfc Author: Johannes Berg Date: Sat Oct 23 09:15:41 2010 -0700 iwlagn: new RXON processing for modern devices In order to simplify the flow, and make new enhancements easier, separate out the RXON processing for modern AGN (5000 and newer) from RXON processing for the older 3945 and 4965 devices. Avoid changing these old ones to avoid regressions and move their code to a new file (iwl-legacy.c). 4965 gets the commit_rxon that used to be common for all AGN devices, but with removed PAN support. The new RXON processing is more central and does more work in committing, so that it is easier to follow. To make it more evident what is split out for legacy, split the necessary operations for that into a new struct iwl_legacy_ops. Those parts that still exist in the new AGN code don't need to be parametrized. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 2d4e43c3c6783f956163c11568303b0390725e28 Author: Johannes Berg Date: Sat Oct 23 09:15:40 2010 -0700 iwlagn: don't resend RXON timing Resending RXON timing here caused issues with dual-mode under certain circumstances, so avoid doing it here right now. This effectively reverts b01efe434bd6ea807eb72b and partially 2491fa42d9bdf26075765. The next patch will make all this cleaner for just the devices that need it. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit dc21b5453249e7e9b8878fab356fd60b731cf04d Author: Johannes Berg Date: Sat Oct 23 09:15:39 2010 -0700 iwlwifi: make mac80211 ops a device config In the future, 4965 and modern AGN devices will need to have different mac80211 callbacks since they have different capabilities. Prepare for that by making the mac80211 operations a device config. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 07caf9d6c9135ae25a760867f37aab90c1008380 Author: Eliad Peller Date: Wed Oct 27 14:58:29 2010 +0200 mac80211: refactor debugfs function generation code refactor mac80211 debugfs code by using a format© function, instead of duplicating the code for each generated function. this change reduces about 600B from mac80211.ko Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit 6a6733f256f18cbcf4875e13f59eedb593b755a8 Author: Luis R. Rodriguez Date: Tue Oct 26 15:27:25 2010 -0700 ath9k: content DMA start / stop through the PCU lock This helps align resets / RX enable & disable / TX stop / start. Locking around the PCU is important to ensure the hardware doesn't get stale data when working with DMA'able data. This is part of a series of patches which fix stopping TX DMA completley when requested on the driver. For more details about this issue refer to this thread: http://marc.info/?l=linux-wireless&m=128629803703756&w=2 Tested-by: Ben Greear Cc: Kyungwan Nam Cc: stable@kernel.org Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4bdd1e978ede034c1211957eb17eaf50de00d234 Author: Luis R. Rodriguez Date: Tue Oct 26 15:27:24 2010 -0700 ath9k: move the PCU lock to the sc structure The PCU lock should be used to contend TX DMA as well, this will be done next. This is part of a series of patches which fix stopping TX DMA completley when requested on the driver. For more details about this issue refer to this thread: http://marc.info/?l=linux-wireless&m=128629803703756&w=2 Tested-by: Ben Greear Cc: Kyungwan Nam Cc: stable@kernel.org Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9d94674ab754be0e275120a183670ead435f9c0d Author: Luis R. Rodriguez Date: Tue Oct 26 15:27:23 2010 -0700 ath9k: simplify hw reset locking The new PCU lock is better placed so we can just contend against that when trying to reset hardware. This is part of a series of patches which fix stopping TX DMA completley when requested on the driver. For more details about this issue refer to this thread: http://marc.info/?l=linux-wireless&m=128629803703756&w=2 Tested-by: Ben Greear Cc: Kyungwan Nam Cc: stable@kernel.org Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5d4c428254f73bae272be9d296724b1ee09d76ec Author: Mohammed Shafi Shajakhan Date: Tue Oct 26 21:28:57 2010 +0530 ath9k: Properly assign boolean types This takes care that boolean types are properly assigned Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 446fad5a5b6be765c8ec39bfdbbc6c7aa63fbcbb Author: Rajkumar Manoharan Date: Tue Oct 26 20:11:29 2010 +0530 ath9k_htc: Handle monitor mode properly for HTC devices No need to inform about monitor interface changes to firmware. Set the HW mode to monitor type based on mac80211 indication flag is sufficient. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit f60dc0138aa19769bf8bab9f93b043235428b66f Author: John W. Linville Date: Mon Oct 25 16:12:37 2010 -0400 iwlwifi: Convert to new PCI PM framework Use the new PCI PM and let the PCI core code handle the PCI-specific details of power transitions. Based on similarly titled ath9k patch posted by Rafael J. Wysocki. Signed-off-by: John W. Linville Acked-by: Rafael J. Wysocki Acked-by: Wey-Yi Guy commit b9237578f8d685bb86901ba9ff0d379218e5a3c5 Author: John W. Linville Date: Mon Oct 25 10:33:07 2010 -0400 rt2x00pci: do not use GFP_DMA Signed-off-by: John W. Linville Acked-by: Ivo van Doorn commit 26f94dc264a7ebddcc08d3908e99880703d871e5 Author: John W. Linville Date: Mon Oct 25 10:24:09 2010 -0400 b43: remove extraneous code in free_ringmemory This code seems to have been cut-n-pasted from alloc_ringmemory? Anyway, it is useless. Signed-off-by: John W. Linville commit 8e7ce8930165c785ec1c754ef3e3092a3bdffe02 Author: Hauke Mehrtens Date: Sat Oct 23 19:51:32 2010 +0200 carl9170: fix typos Signed-off-by: Hauke Mehrtens Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit a2d9bc6fdc0c8693b5641c69bce7eaf5b47f0593 Author: Rafał Miłecki Date: Fri Oct 22 17:43:49 2010 +0200 b43: N-PHY: improve 2055 radio initialization 1) Upload 5 GHz values when needed. 2) Do not upload all values on first init. Follow wl. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 7a4db8f5c37d1acf1213b835b3cdd8f7c051eb9b Author: Rafał Miłecki Date: Fri Oct 22 17:43:48 2010 +0200 b43: N-PHY: determine usage of radio regulatory workaround correctly Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 7e6da2bfc05c2b96197c12484f3d071fe0c6d0fb Author: Rafał Miłecki Date: Fri Oct 22 17:43:47 2010 +0200 b43: define known SPROM boardflags2 bits Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit c0b102c20972cfa3e10a0cf4a2a563edb70961b1 Author: Rafał Miłecki Date: Fri Oct 22 17:43:46 2010 +0200 b43: N-PHY: fix 2055 radio init Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 3eb9616af24d6a1910ae6ae5c2d51719eba960cf Author: Stanislaw Gruszka Date: Fri Oct 22 17:04:30 2010 +0200 iwlwifi: avoid commit rxon during scan in iwl_set_no_assoc Currently we are canceling scan when changing BSSID. Behave the same when changing association and beacon enablement, to avoid committing rxon during scan in iwl_set_no_assoc(). Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit ac4f5457c7617999967e9740f8903b922714bab4 Author: Stanislaw Gruszka Date: Fri Oct 22 17:04:29 2010 +0200 iwlwifi: defer update power mode while scan Do not set power mode when scanning, and defer that when scan finish. We still set power mode in force case i.e. when device is overheated. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 5eda74a40587139b1d66cd8197cac92ba36e79f4 Author: Stanislaw Gruszka Date: Fri Oct 22 17:04:28 2010 +0200 iwlwifi: avoid commit rxon during scan in iwlagn_bt_traffic_change_work Avoid sending commands to firmware (including commit_rxon) when scan is pending and we are calling iwlagn_bt_traffic_change_work simultaneously. Also comment some innocent race conditions. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 749ff4efa14df904c22b28e2f7b10a02119a4d5e Author: Stanislaw Gruszka Date: Fri Oct 22 17:04:27 2010 +0200 iwlwifi: avoid commit rxon during scan in iwlagn_configure_filter Almost anywhere in the code we avoid committing rxon while performing scan, and make rxon commit when scan complete. However in some places in the code we do not follow that rule. This patch fix that problem in iwlagn_configure_filter(). Since we do not commit directly in iwl3945_configure_filter, we can also do the same for agn, so I just remove iwlcore_commit_rxon() function and add a comment. Also change comment for iwl3945. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit a25a66ac94db88190653d5725c563e3f8faeee61 Author: Stanislaw Gruszka Date: Fri Oct 22 17:04:26 2010 +0200 iwlwifi: fix set_tx_power vs scan According to comment in iwl_bg_scan_completed, setting tx power should be deferred during pending scan, but we are not doing this. This patch change code to really defer setting tx power after scan complete. Additionally refactor iwl_set_tx_power code and call lib->send_tx_power() directly from iwlagn_commit_rxon. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 4cbf1b12491cd43032846acc6c6924d9090fa19f Author: Stanislaw Gruszka Date: Fri Oct 22 17:04:25 2010 +0200 iwlwifi: send tx_power_cmd synchronously On 5xxx and 6xxx change to send tx_power_cmd command synchronously, to do not start other commands when setting tx power is pending. We currently do the same for 4956 and 3945. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 4beeba7dc59cc10d6a47346c857d1a64a9ec9642 Author: Stanislaw Gruszka Date: Mon Oct 25 10:34:50 2010 +0200 iwlwifi: warn when send tx power settings during scan Add WARN_ONCE when scanning is pending. Use STATUS_SCAN_HW bit since we can have scan canceled or completed but STATUS_SCANNING bit still set. v1 -> v2: replace EIO to EAGAIN Signed-off-by: Stanislaw Gruszka Acked-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit c7317e41df30c7e04dca46360e5ebb0cb36dda45 Author: Felix Fietkau Date: Thu Oct 21 02:47:25 2010 +0200 mac80211: minstrel_ht - reduce the overhead of rate sampling - reduce the number of retransmission attempts for sample rates - sample lower rates less often - do not use RTS/CTS for sampling frames - increase the time between sampling attempts Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit ff32d9cd2c4107224a28f39d3c72eec66d566e09 Author: Felix Fietkau Date: Thu Oct 21 02:47:23 2010 +0200 ath9k_hw: fix potential spurious tx error bit interpretation According to documentation, AR_ExcessiveRetries, AR_Filtered and AR_FIFOUnderrun are only valid if AR_FrmXmitOK is clear. Not checking this might result in suboptimal FIFO settings, unnecessary retransmissions, or other connectivity issues. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 78a7685e1e44c6d4b6f79c73687b9322e40b040e Author: Luis R. Rodriguez Date: Wed Oct 20 16:07:08 2010 -0700 ath9k: add a debug warning when we cannot stop RX We have seen several DMA races when we race against stopping and starting the PCU. I suspect that when we cannot stop the PCU we may hit some of these same races so warn against them for now but only when debugging (CONFIG_ATH_DEBUG) is enabled. If you run into this warning and are a developer, please fix the cause of the warning. The potential here, although I cannot prove yet, is that the DMA engine can be confused and start writing to a buffer that was already DMA'd before and at least the kernel assumes is not being accessed by hardware anymore. Cc: Ben Greear Cc: Kyungwan Nam Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b87b0128894efd3bbf7272a579f71b3a2bc500d1 Author: Luis R. Rodriguez Date: Thu Oct 21 12:10:11 2010 -0700 ath: add a ATH_DBG_WARN() To be used to throw out warnings only for developers. This can be used by some corner cases that developers already know can be hit but developers want to address so to avoid spewing out a warning this can only be enabled with CONFIG_ATH_DEBUG enabled. Cc: Ben Greear Cc: Kyungwan Nam Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d91e41b690f795c04af4eb6fe28d2cafd3291051 Author: Luis R. Rodriguez Date: Wed Oct 20 10:18:59 2010 -0700 cfg80211: prefix REG_DBG_PRINT() with cfg80211 Everyone's doing it, its the cool thing. Cc: Easwar Krishnan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e702d3cf29143327679ce2e2a60775eaf829f377 Author: Luis R. Rodriguez Date: Thu Oct 21 19:17:04 2010 +0530 cfg80211: add debug print when processing a channel In the worst case you are seeing really odd things you want more information than what is provided right now, for those that insist and want debug info through CONFIG_CFG80211_REG_DEBUG provide a print of when we are processing a channel and with what regulatory rule. Cc: Easwar Krishnan Signed-off-by: Luis R. Rodriguez Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit a65185367f9f876448f0f12ac09a673d20371efc Author: Luis R. Rodriguez Date: Wed Oct 20 10:18:57 2010 -0700 cfg80211: add debug print when disabling a channel on a custom regd Cc: Easwar Krishnan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 926a0a094d2b9052db3f7f37438c3d305cea4be7 Author: Luis R. Rodriguez Date: Thu Oct 21 19:17:03 2010 +0530 cfg80211: add debug prints for when we ignore regulatory hints This can help with debugging issues. You will only see these with CONFIG_CFG80211_REG_DEBUG enabled. Cc: Easwar Krishnan Signed-off-by: Luis R. Rodriguez Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit ca4ffe8f2848169a8ded0ea8a60b2d81925564c9 Author: Luis R. Rodriguez Date: Wed Oct 20 10:18:55 2010 -0700 cfg80211: fix disabling channels based on hints After a module loads you will have loaded the world roaming regulatory domain or a custom regulatory domain. Further regulatory hints are welcomed and should be respected unless the regulatory hint is coming from a country IE as the IEEE spec allows for a country IE to be a subset of what is allowed by the local regulatory agencies. So disable all channels that do not fit a regulatory domain sent from a unless the hint is from a country IE and the country IE had no information about the band we are currently processing. This fixes a few regulatory issues, for example for drivers that depend on CRDA and had no 5 GHz freqencies allowed were not properly disabling 5 GHz at all, furthermore it also allows users to restrict devices further as was intended. If you recieve a country IE upon association we will also disable the channels that are not allowed if the country IE had at least one channel on the respective band we are procesing. This was the original intention behind this design but it was completely overlooked... Cc: David Quan Cc: Jouni Malinen cc: Easwar Krishnan Cc: stable@kernel.org Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 749b527b21465fb079796c03ffb4302584dc31c1 Author: Luis R. Rodriguez Date: Wed Oct 20 10:18:54 2010 -0700 cfg80211: fix allowing country IEs for WIPHY_FLAG_STRICT_REGULATORY We should be enabling country IE hints for WIPHY_FLAG_STRICT_REGULATORY even if we haven't yet recieved regulatory domain hint for the driver if it needed one. Without this Country IEs are not passed on to drivers that have set WIPHY_FLAG_STRICT_REGULATORY, today this is just all Atheros chipset drivers: ath5k, ath9k, ar9170, carl9170. This was part of the original design, however it was completely overlooked... Cc: Easwar Krishnan Cc: stable@kernel.org Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7ca43d03b1291481bdf894bbaec5d580e7684e7d Author: Luis R. Rodriguez Date: Wed Oct 20 10:18:53 2010 -0700 cfg80211: pass the reg hint initiator to helpers This is required later. Cc: Easwar Krishnan Cc: stable@kernel.org signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2e48928d8a0f38c1b5c81eb3f1294de8a6382c68 Author: Stephen Hemminger Date: Wed Oct 20 10:16:58 2010 -0700 rfkill: remove dead code The following code is defined but never used. Signed-off-by: Stephen Hemminger Signed-off-by: John W. Linville commit 14fb7c17e97ea0fcc545393fb1f34e6541647b5b Author: Luis R. Rodriguez Date: Wed Oct 20 06:59:38 2010 -0700 ath5k: make ath5k_update_bssid_mask_and_opmode() static This fixes this sparse warning: CHECK drivers/net/wireless/ath/ath5k/base.c drivers/net/wireless/ath/ath5k/base.c:569:6: warning: symbol 'ath5k_update_bssid_mask_and_opmode' was not declared. Should it be static? Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f8c2a0871b8462481a02445b38a7321ad63bfc88 Author: Luis R. Rodriguez Date: Wed Oct 20 06:59:37 2010 -0700 ath: make ath_hw_set_keycache_entry() static This fixes this sparse warning: CHECK drivers/net/wireless/ath/key.c drivers/net/wireless/ath/key.c:110:6: warning: symbol 'ath_hw_set_keycache_entry' was not declared. Should it be static? Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a3685d119dacb07a7080169fea2847ef385b209f Author: Luis R. Rodriguez Date: Wed Oct 20 06:59:36 2010 -0700 ath: make ath_hw_keysetmac() static This fixes this sparse warning: CHECK drivers/net/wireless/ath/key.c drivers/net/wireless/ath/key.c:70:6: warning: symbol 'ath_hw_keysetmac' was not declared. Should it be static? Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit babcbc295fee766ca710235e431686fef744d9a6 Author: Felix Fietkau Date: Wed Oct 20 02:09:46 2010 +0200 ath9k: initialize per-channel tx power limits instead of hardcoding them Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit de40f316c01b1ba9535e6dc99f6a67e7655b07da Author: Felix Fietkau Date: Wed Oct 20 03:08:53 2010 +0200 ath9k_hw: extend ath9k_hw_set_txpowerlimit to test channel txpower ath9k_hw_set_txpowerlimit gets an extra boolean parameter that - if set - causes the rate txpower table and the regulatory limit to be calculated and stored, without changing hardware registers. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 6b7b6cf553f881d45bb37a73f5db956afb290a08 Author: Felix Fietkau Date: Wed Oct 20 02:09:44 2010 +0200 ath9k_hw: initialize regulatory->max_power_level in set_txpower for AR9003 The same is done for the older chip families as well. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit edb40a23c8dc5b5be219bf4561074b6233bba65f Author: Bruno Randolf Date: Tue Oct 19 16:56:54 2010 +0900 ath5k: Add channel time to survey data Include the channel utilization (busy, rx, tx) in the survey results. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 3dd0923de491d72a041f82a9d0aaccc473fd2c42 Author: Bruno Randolf Date: Tue Oct 19 16:56:48 2010 +0900 ath5k: Optimize descriptor alignment Similar to Felix Fietkau "ath9k_hw: optimize all descriptor access functions" (13db2a80244908833502189a24de82a856668b8a). Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 123f5b8e6f411d342f2fc8a15c4d9349ace5074a Author: Mohammed Shafi Shajakhan Date: Mon Oct 18 11:37:17 2010 +0530 ath9k: Remove the median function in rate control With the current rate control selection method the median function is nowhere used, so remove it. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit ada9f1cacb66b74a68254521bb5e3ca4eb8fa871 Author: Felix Fietkau Date: Sat Oct 16 01:01:48 2010 +0200 ath9k_hw: optimize all descriptor access functions Because all of the descriptor data structures are marked as __packed, GCC assumes the worst case wrt. alignment and generates unaligned load/store instructions on MIPS for access to all fields. Since descriptors always have to be 4-byte-aligned, we can just mark the data structures with __aligned(4), which allows GCC to generate much more efficient code. Verified through disassembly and OProfile comparisons. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f0e94b479c987abef17eb18e5c8e0ed178d00cd4 Author: Rafael J. Wysocki Date: Sat Oct 16 00:36:17 2010 +0200 ath9k: Convert to new PCI PM framework The ath9k driver uses the legacy PCI power management (suspend and resume) callbacks that apparently cause intermittent problems to happen (the adapter sometimes doesn't resume correctly on my Acer Ferrari One). Make it use the new PCI PM and let the PCI core code handle the PCI-specific details of power transitions. Signed-off-by: Rafael J. Wysocki Signed-off-by: John W. Linville commit 191d6a1186f65bc86c24b9d6d9d91acc155285ba Author: Luis R. Rodriguez Date: Fri Oct 15 13:27:49 2010 -0700 ath9k: fix sparse complaint on aphy for debugfs This fixes this sparse complaint: CHECK drivers/net/wireless/ath/ath9k/debug.c drivers/net/wireless/ath/ath9k/debug.c:548:34: warning: symbol 'aphy' shadows an earlier one drivers/net/wireless/ath/ath9k/debug.c:491:26: originally declared here Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 744bcb42a1ff1b9200e82dd074468877e31ff161 Author: Felix Fietkau Date: Fri Oct 15 20:03:33 2010 +0200 ath9k_hw: make ath9k_hw_gettsf32 static It is now only used in hw.c Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 8eb1dabbd10e067cff671935d3e0c819f8e80d54 Author: Felix Fietkau Date: Fri Oct 15 20:03:32 2010 +0200 ath9k: remove a redundant call to ath9k_hw_gettsf32 When the timer_next argument to ath9k_gen_timer_start is behind the tsf value, tsf + timer_period is used, which is what ath_btcoex_period_timer was setting it to. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 9fa23e1741404207c414fad69212a8763c138bf0 Author: Felix Fietkau Date: Fri Oct 15 20:03:31 2010 +0200 ath9k: optimize/fix ANI RSSI processing ANI needs the RSSI average only in station mode, and only for tracking the signal strength of beacons of the AP that it is connected to. Adjust the code to track on the beacon RSSI, and store the average of that in the ath_wiphy struct. With these changes, we can get rid of this extra station lookup in the rx path, which saves precious CPU cycles. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit e0e9bc82fb0813fd353b0abbba0f1d6a680cc77c Author: Felix Fietkau Date: Fri Oct 15 20:03:30 2010 +0200 ath9k_hw: optimize tx status descriptor processing Disassembly shows, that at least on MIPS, the compiler generates a lot of memory accesses to the same location in the descriptor field parsing. Since it is operating on uncached memory, this can be quite expensive in this hot path. Change the code a bit to help the compiler optimize it properly, and get rid of some unused fields in the ath_tx_status struct. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 45684c75f9aa80eb477465bddcf79c9ad95206c7 Author: Felix Fietkau Date: Fri Oct 15 20:03:29 2010 +0200 ath9k_hw: small optimization in ar9002_hw_get_isr ah->config.rx_intr_mitigation does not need to be checked before checking the rx interrupt mask for AR_ISR_RXMINTR or AR_ISR_RXINTM, as those interrupts will be masked out if rx interrupt mitigation is disabled. Avoid reading AR_ISR_S5_S twice by reordering the code to be more concise. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 4df3071ebd92ef7115b409da64d0eb405d24a631 Author: Felix Fietkau Date: Mon Nov 8 20:54:47 2010 +0100 ath9k_hw: optimize interrupt mask changes OProfile showed that ath9k was spending way too much time in ath9k_hw_set_interrupts. Since most of the interrupt mask changes only need to globally enable/disable interrupts, it makes sense to split this part into separate functions, replacing all calls to ath9k_hw_set_interrupts(ah, 0) with ath9k_hw_disable_interrupts(ah). ath9k_hw_set_interrupts(ah, ah->imask) only gets changed to ath9k_hw_enable_interrupts(ah), whenever ah->imask was not changed since the point where interrupts were disabled. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 790a11f268373b60069bc1371dc05143107c607c Author: Rafał Miłecki Date: Thu Oct 14 23:04:40 2010 +0200 b43: N-PHY: define registers names for 2056 radio Signed-off-by: Rafał Miłecki Cc: Henry Ptasinski Cc: Brett Rudley Cc: Nohee Ko Signed-off-by: John W. Linville commit 794830e691a6b61d2de3fa9daeb609fd4ef4a4e7 Author: Rafał Miłecki Date: Sun Oct 17 15:38:51 2010 +0200 b43: N-PHY: define registers names for 2056 radio Signed-off-by: Rafał Miłecki Cc: Henry Ptasinski Cc: Brett Rudley Cc: Nohee Ko Signed-off-by: John W. Linville commit 038aaa382eb0a8fd6a0bbae7abc1383b9b57c543 Author: Rafał Miłecki Date: Thu Oct 14 23:01:02 2010 +0200 b43: N-PHY: define channel table struct for rev3+ devices Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit b595076a180a56d1bb170e6eceda6eb9d76f4cd3 Author: Uwe Kleine-König Date: Mon Nov 1 15:38:34 2010 -0400 tree-wide: fix comment/printk typos "gadget", "through", "command", "maintain", "maintain", "controller", "address", "between", "initiali[zs]e", "instead", "function", "select", "already", "equal", "access", "management", "hierarchy", "registration", "interest", "relative", "memory", "offset", "already", Signed-off-by: Uwe Kleine-König Signed-off-by: Jiri Kosina