=============================================== ChangeLog for compat-wireless for linux-3.3 =============================================== This is the ChangeLog for the Linux kernel project compat-wireless. It provides a backport of a few Linux kernel subsystems down to older kernels: * 802.11 * Bluetooth * Ethernet For more details refer to the home page: http://wireless.kernel.org/en/users/Download/stable/ The compat-wireless project consists of code from three projects: * The Linux kernel: linux-2.6-allstable.git * Compat-wirelesS: compat-wireless.git * Compat: compat.git The compat-wireless stable releases incorporates code from from each of these git trees for the respective upstream Linux kernel stable release. A branch called linux-3.x.y exists for each stable release. Below we provide the ChangeLog of changes from the previous branched release to the new branched release. Release: linux-3.3 Updates from the compat.git project: ==================================== git shortlog linux-3.2.y..linux-3.3.y Felix Fietkau (3): compat: fix misplaced #ifdef for the workqueue backport compat: backport atomic64 support compat: fix security_sk_clone dummy backport compile Hauke Mehrtens (6): compat: add support for kernel 3.2 compat: backport kfree_rcu() compat: backport netdev_features_t compat: add config var for CORDIC and CRC8 compat: add module_usb_driver and module_platform_driver compat: add __cancel_delayed_work() John W. Linville (7): compat: use separate CONFIG_COMPAT_KFIFO option for building kfifo.o compat: add CONFIG_COMPAT_FIRMWARE_DATA_RW_NEEDS_FILP compat: check CONFIG_COMPAT_FIRMWARE_CLASS in compat-2.6.33.h compat: support RHEL6 as a build target compat: avoid warning in compat_system_workqueue_create compat: implement dummy security_sk_clone compat: use kconfig.h in compat-2.6.h for 3.1 and later kernels Luis R. Rodriguez (4): compat: fix building for 3.0 kernels compat: export compat kernel versions info compat: add .gitignore compat: add compat kernel checker and downloader Nikolay Martynov (1): Add dma_zalloc_coherent to fix build with kernels older than 3.2 Updates from the compat-wireless.git project: ============================================= git shortlog linux-2.6.2.y..linux-3.3.y Dominique Martinet (1): compat-wireless: build: Throw error if space in path Eliad Peller (1): compat-wireless: fix patches/08-rename-config-options.patch Hauke Mehrtens (17): compat-wireless: add support for kernel 3.2 compat-wireless: remove kfree_rcu() patch compat-wireless: make patches apply again compat-wireless: make patches apply again compat-wireless: escape & compat-wireless: add config var for CORDIC and CRC8 compat-wireless: remove some modules from Makefile compat-wireless: fix driver-select for intel compat-wireless: add some missing config options compat-wireless: fix brcm80211 driver-select compat-wireless deactivate mac80211 tracing for old kernels compat-wireless: compile fix for commit patches/09-threaded-irq.patch compat-wireless: remove platform_device_id for kernel < 2.6.30 compat-wireless: CONFIG_BT_L2CAP and CONFIG_BT_SCO removed compat-wireless: make patches apply again compat-wireless: use other workqueue compat-wireless: no trans_start on netdev_queue Johannes Berg (1): compat-wireless: disable SKB TX status stamping in mac80211 John W. Linville (9): compat-wireless: add CONFIG_COMPAT_KFIFO setting to config.mk compat-wireless: remove leading whitespace from CONFIG_COMPAT_FIRMWARE_CLASS compat-wireless: add CONFIG_COMPAT_BT_SOCK_CREATE_NEEDS_KERN compat-wireless: support RHEL6 as a build target compat-wireless: change CONFIG_IWLAGN -> CONFIG_IWLWIFI compat-wireless: fix patches/11-dev-pm-ops.patch compat-wireless: fix patches/38-led-max-brightness.patch compat-wireless: fix patches/39-remove_blink_set.patch Enable CONFIG_RT2800{PCI,USB}_RT53XX Luciano Coelho (1): compat-wireless: check if modprobe exists before using it Luis R. Rodriguez (23): compat-wireless: fix patches/08-rename-config-options.patch compat-wireless: refresh patches compat-wireless: refresh patches compat-wireless: fix patches/09-threaded-irq.patch compat-wireless: refresh patches compat-wireless: copy driver files only if present compat-wireless: clarify patches/47-no_trans_start_on_netdev_queue.patch compat-wireless: clarify patches/46-use_other_workqueue.patch compat-wireless: refresh patches compat-wireless: refresh patches for next-20120109 compat-wirless: refresh patches compat-wireless: refresh patches for 3.3-rc1 compat-wireless: use linux-stable instead of linux-2.6-allstable compat-wireless: fix patches/16-bluetooth.patch compat-wireless: refresh patches compat-wireless: add driver-select option ath9k_ap compat-wireless: fix allowing jobserver compat-wireless: add linux-next-cherry-picks for 3.3 recommended by nbd compat-wireless: refresh linux-next-cherry-picks patches compat-wireless: remove ath9k packet log crap compat-wireless: remove stale pending-stable ignore patch compat-wireless: refresh patches for v3.0 release compat-wireless: fix collateral damange of cherry picking Updates from the Linux kernel: ============================================= We only include very specific changes for the supported subsystems: * 802.11 * Bluetooth * Ethernet Generated by using: git log v3.2..HEAD \ net/wireless/ \ net/mac80211/ \ net/rfkill/ \ drivers/net/wireless/ \ net/bluetooth/ \ drivers/bluetooth/ \ drivers/net/ethernet/atheros/atl1c/ \ drivers/net/ethernet/atheros/atl1e/ \ drivers/net/ethernet/atheros/atlx/ \ include/linux/nl80211.h \ include/linux/rfkill.h \ include/net/cfg80211.h \ include/net/regulatory.h \ include/net/cfg80211.h >> ChangeLog-3.3-wireless git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-allstable.git commit 750084b51bc9a7962e7f7c9a29cede0234aed824 Merge: 1ab5ecb 3780d03 Author: John W. Linville Date: Tue Mar 13 14:38:51 2012 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit 3780d038fdf4b5ef26ead10b0604ab1f46dd9510 Author: Stanislaw Gruszka Date: Fri Mar 9 12:39:54 2012 +0100 rt2x00: fix random stalls Is possible that we stop queue and then do not wake up it again, especially when packets are transmitted fast. That can be easily reproduced with modified tx queue entry_num to some small value e.g. 16. If mac80211 already hold local->queue_stop_reason_lock, then we can wait on that lock in both rt2x00queue_pause_queue() and rt2x00queue_unpause_queue(). After drooping ->queue_stop_reason_lock is possible that __ieee80211_wake_queue() will be performed before __ieee80211_stop_queue(), hence we stop queue and newer wake up it again. Another race condition is possible when between rt2x00queue_threshold() check and rt2x00queue_pause_queue() we will process all pending tx buffers on different cpu. This might happen if for example interrupt will be triggered on cpu performing rt2x00mac_tx(). To prevent race conditions serialize pause/unpause by queue->tx_lock. Cc: stable@vger.kernel.org Signed-off-by: Stanislaw Gruszka Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 210787e82a0ac1ffb5d7be1c796f0c51050849ad Author: Stanislaw Gruszka Date: Thu Mar 8 13:16:01 2012 +0100 iwl3945: fix possible il->txq NULL pointer dereference in delayed works On il3945_down procedure we free tx queue data and nullify il->txq pointer. After that we drop mutex and then cancel delayed works. There is possibility, that after drooping mutex and before the cancel, some delayed work will start and crash while trying to send commands to the device. For example, here is reported crash in il3945_bg_reg_txpower_periodic(): https://bugzilla.kernel.org/show_bug.cgi?id=42766#c10 Patch fix problem by adding il->txq check on works that send commands, hence utilize tx queue. Reported-by: Clemens Eisserer Cc: stable@vger.kernel.org Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 783154573236f46b730b2eea17d2e6e04bdb3251 Author: Dan Carpenter Date: Wed Mar 7 00:02:04 2012 +0000 atl1c: set ATL1C_WORK_EVENT_RESET bit correctly ATL1C_WORK_EVENT_RESET is zero so the original code here is a nop. The intent was to set the zero bit. Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller commit 7f466cff75f16ac545f34c7876e6f80225a36a6d Merge: 5cb917b 182ada1 Author: John W. Linville Date: Tue Mar 6 14:16:48 2012 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit 182ada1c712a4ebe14d6a023cfab3559b2527d69 Author: Johannes Berg Date: Sun Mar 4 08:31:35 2012 -0800 iwlwifi: fix wowlan suspend This was broken by the commit 023ca58f1 "iwlwifi: Move the core suspend function to iwl-agn-lib" where for some reason the code changed while moving, from .len[0] = sizeof(*key_data.rsc_tsc), to .len[0] = sizeof(key_data.rsc_tsc), Cc: stable@kernel.org Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 00f157b49780e194c38dafdf9df8e10b8a6a9626 Author: Amitkumar Karwar Date: Fri Feb 24 21:35:35 2012 -0800 mwifiex: reset encryption mode flag before association Recent commit "mwifiex: clear previous security setting during association" fixes association failure problems observed in some corner cases by clearing previous security setting before each association. We should reset encryption mode flag as well. This patch takes care of it. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 9926a67557532acb6cddb1c1add02952175b5c72 Author: Christian Lamparter Date: Sat Feb 25 21:36:36 2012 +0100 carl9170: fix frame delivery if sta is in powersave mode Nicolas Cavallari discovered that carl9170 has some serious problems delivering data to sleeping stations. It turns out that the driver was not honoring two important flags (IEEE80211_TX_CTL_POLL_RESPONSE and IEEE80211_TX_CTL_CLEAR_PS_FILT) which are set on frames that should be sent although the receiving station is still in powersave mode. Cc: stable Reported-by: Nicolas Cavallari Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 992d52529d7840236d3059b51c15d5eb9e81a869 Author: Nicolas Cavallari Date: Thu Feb 23 16:53:34 2012 +0100 carl9170: Fix memory accounting when sta is in power-save mode. On Access Point mode, when transmitting a packet, if the destination station is in powersave mode, we abort transmitting the packet to the device queue, but we do not reclaim the allocated memory. Given enough packets, we can go in a state where there is no packet on the device queue, but we think the device has no memory left, so no packet gets transmitted, connections breaks and the AP stops working. This undo the allocation done in the TX path when the station is in power-save mode. Signed-off-by: Nicolas Cavallari Acked-by: Christian Lamparter Cc: stable Signed-off-by: John W. Linville commit eea79e0713d94b02952f6c591b615710fd40a562 Merge: 203738e 2b0a53d Author: John W. Linville Date: Mon Feb 27 13:14:47 2012 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit 2b0a53d51b5f263bb581bbdb40ebb9f7e09609b1 Author: Arend van Spriel Date: Thu Feb 23 18:38:23 2012 +0100 brcm80211: smac: only print block-ack timeout message at trace level In regular use block-ack timeouts can happen so it does not make sense to fill the log with these messages. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 85091fc0a75653e239dc8379658515e577544927 Author: Arend van Spriel Date: Thu Feb 23 18:38:22 2012 +0100 brcm80211: smac: fix endless retry of A-MPDU transmissions The A-MPDU code checked against a retry limit, but it was using the wrong variable to do so. This patch fixes this to assure proper retry mechanism. This problem had a side-effect causing the mac80211 flush callback to remain waiting forever as well. That side effect has been fixed by commit by Stanislaw Gruszka: commit f96b08a7e6f69c0f0a576554df3df5b1b519c479 Date: Tue Jan 17 12:38:50 2012 +0100 brcmsmac: fix tx queue flush infinite loop Reference: https://bugzilla.kernel.org/show_bug.cgi?id=42576 Cc: Stanislaw Gruszka Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 0dee00686da88cc32753e02e4e8efdd9e326e4d2 Author: Mohammed Shafi Shajakhan Date: Mon Feb 20 14:44:01 2012 +0530 mac80211: Fix a warning on changing to monitor mode from STA nothing needs to be done for monitor/AP_VLAN mode on calling ieee80211_bss_info_change_notify -> drv_bss_info_changed with the change flag 'BSS_CHANGED_IDLE'. 'wl1271' seems to use BSS_CHANGED_IDLE only for STA and IBSS mode. further the non-idle state of the monitor mode is taken care by the 'count' variable which counts non-idle interfaces. ieee80211_idle_off(local, "in use") will be called. this fixes the following WARNING when we have initially STA mode (network manager running) and not associated, and change it to monitor mode with network manager disabled and bringing up the monitor mode. this changes the idle state from 'true' (STA unassociated) to 'false' (MONITOR mode) exposed by the commit 405385f8ce7a2ed8f82e216d88b5282142e1288b "mac80211: set bss_conf.idle when vif is connected" WARNING: net/mac80211/main.c:212 ieee80211_bss_info_change_notify+0x1cf/0x330 [mac80211]() Hardware name: 64756D6 Pid: 3835, comm: ifconfig Tainted: G O 3.3.0-rc3-wl #9 Call Trace: [] warn_slowpath_common+0x72/0xa0 [] ? ieee80211_bss_info_change_notify+0x1cf/0x330 [mac80211] [] ? ieee80211_bss_info_change_notify+0x1cf/0x330 [mac80211] [] warn_slowpath_null+0x22/0x30 [] ieee80211_bss_info_change_notify+0x1cf/0x330 [mac80211] [] __ieee80211_recalc_idle+0x113/0x430 [mac80211] [] ieee80211_do_open+0x156/0x7e0 [mac80211] [] ? ieee80211_check_concurrent_iface+0x25/0x180 [mac80211] [] ? raw_notifier_call_chain+0x1f/0x30 [] ieee80211_open+0x40/0x80 [mac80211] [] __dev_open+0x96/0xe0 [] ? _raw_spin_unlock_bh+0x35/0x40 [] __dev_change_flags+0x109/0x170 [] dev_change_flags+0x23/0x60 [] devinet_ioctl+0x6a0/0x770 ieee80211 phy0: device no longer idle - in use Cc: Eliad Peller Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 8617b093d0031837a7be9b32bc674580cfb5f6b5 Author: Mohammed Shafi Shajakhan Date: Mon Feb 20 10:05:31 2012 +0530 mac80211: zero initialize count field in ieee80211_tx_rate rate control algorithms concludes the rate as invalid with rate[i].idx < -1 , while they do also check for rate[i].count is non-zero. it would be safer to zero initialize the 'count' field. recently we had a ath9k rate control crash where the ath9k rate control in ath_tx_status assumed to check only for rate[i].count being non-zero in one instance and ended up in using invalid rate index for 'connection monitoring NULL func frames' which eventually lead to the crash. thanks to Pavel Roskin for fixing it and finding the root cause. https://bugzilla.redhat.com/show_bug.cgi?id=768639 Cc: stable@vger.kernel.org Cc: Pavel Roskin Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 5dcbf480473f6c3f06ad2426b7517038a2a18911 Author: Johannes Berg Date: Fri Feb 17 09:47:14 2012 -0800 iwlwifi: fix key removal When trying to remove a key, we always send key flags just setting the key type, not including the multicast flag and the key ID. As a result, whenever any key was removed, the unicast key 0 would be removed, causing a complete connection loss after the second rekey (the first doesn't cause a key removal). Fix the key removal code to include the key ID and multicast flag, thus removing the correct key. Cc: stable@vger.kernel.org Reported-by: Alexander Schnaidt Tested-by: Alexander Schnaidt Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 7be081539e540517d5e1fcbf96b8080074afbf08 Author: Gabor Juhos Date: Thu Feb 16 20:44:59 2012 +0100 rt2x00: fix a possible NULL pointer dereference The 'rt2x00lib_probe_dev' function tries to allocate the workqueue. If the allocation fails, 'rt2x00_lib_remove_dev' is called on the error path. Because 'rt2x00dev->workqueue' is NULL in this case, the 'destroy_workqueue' call will cause a NULL pointer dereference. Signed-off-by: Gabor Juhos Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9bbb8168ed3d8b946f9c1901a63a675012de88f2 Author: Felix Fietkau Date: Wed Feb 15 19:31:20 2012 +0100 ath9k_hw: prevent writes to const data on AR9160 Duplicate the data for iniAddac early on, to avoid having to do redundant memcpy calls later. While we're at it, make AR5416 < v2.2 use the same codepath. Fixes a reported crash on x86. Signed-off-by: Felix Fietkau Reported-by: Magnus Määttä Cc: stable@vger.kernel.org Signed-off-by: John W. Linville commit 9d4990a260ce395493848640bed94fb55f440f10 Merge: 64f0a83 2504a64 Author: John W. Linville Date: Mon Feb 20 14:47:17 2012 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit 11aad99af6ef629ff3b05d1c9f0936589b204316 Author: Eric Dumazet Date: Wed Feb 15 20:43:11 2012 +0000 atl1c: dont use highprio tx queue This driver attempts to use two TX rings but lacks proper support : 1) IRQ handler only takes care of TX completion on first TX ring 2) the stop/start logic uses the legacy functions (for non multiqueue drivers) This means all packets witk skb mark set to 1 are sent through high queue but are never cleaned and queue eventualy fills and block the device, triggering the infamous "NETDEV WATCHDOG" message. Lets use a single TX ring to fix the problem, this driver is not a real multiqueue one yet. Minimal fix for stable kernels. Reported-by: Thomas Meyer Tested-by: Thomas Meyer Signed-off-by: Eric Dumazet Cc: Jay Cliburn Cc: Chris Snook Signed-off-by: David S. Miller commit 2504a6423b9ab4c36df78227055995644de19edb Author: Pavel Roskin Date: Sat Feb 11 10:01:53 2012 -0500 ath9k: stop on rates with idx -1 in ath9k rate control's .tx_status Rate control algorithms are supposed to stop processing when they encounter a rate with the index -1. Checking for rate->count not being zero is not enough. Allowing a rate with negative index leads to memory corruption in ath_debug_stat_rc(). One consequence of the bug is discussed at https://bugzilla.redhat.com/show_bug.cgi?id=768639 Signed-off-by: Pavel Roskin Cc: stable@vger.kernel.org Signed-off-by: John W. Linville commit 6670f15b1f6858a43b292d8ab64464e9f085a6aa Author: Amitkumar Karwar Date: Thu Feb 9 18:32:22 2012 -0800 mwifiex: clear previous security setting during association Driver maintains different flags for WEP, WPA, WPA2 security modes. Appropriate flag is set using security information provided in connect request. mwifiex_is_network_compatible() routine uses them to check if driver's setting is compatible with AP. Association is aborted if the routine fails. For some corner cases, it is observed that association is failed even for valid security information based on association history. This patch fixes the problem by clearing previous security setting during each association. We should set WEP key provided in connect request as default tx key. This missing change is also added here. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 216c57b214bd621335ff698b475f6db2802502dc Author: Felix Fietkau Date: Wed Feb 8 19:17:11 2012 +0100 mac80211: do not call rate control .tx_status before .rate_init Most rate control implementations assume .get_rate and .tx_status are only called once the per-station data has been fully initialized. minstrel_ht crashes if this assumption is violated. Signed-off-by: Felix Fietkau Tested-by: Arend van Spriel Signed-off-by: John W. Linville commit 4b5a433ae5348c23caa0b5f0a2fca7c342acb200 Author: Johannes Berg Date: Fri Jan 20 13:55:23 2012 +0100 mac80211: call rate control only after init There are situations where we don't have the necessary rate control information yet for station entries, e.g. when associating. This currently doesn't really happen due to the dummy station handling; explicitly disabling rate control when it's not initialised will allow us to remove dummy stations. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 24d2b8c0ac5c8ec41c26ed432238b0e027184882 Author: Ulisses Furquim Date: Mon Jan 30 18:26:29 2012 -0200 Bluetooth: Fix possible use after free in delete path We need to use the _sync() version for cancelling the info and security timer in the L2CAP connection delete path. Otherwise the delayed work handler might run after the connection object is freed. Signed-off-by: Ulisses Furquim Acked-by: Marcel Holtmann Signed-off-by: Johan Hedberg commit 6de32750822d00bfa92c341166132b0714c5b559 Author: Ulisses Furquim Date: Mon Jan 30 18:26:28 2012 -0200 Bluetooth: Remove usage of __cancel_delayed_work() __cancel_delayed_work() is being used in some paths where we cannot sleep waiting for the delayed work to finish. However, that function might return while the timer is running and the work will be queued again. Replace the calls with safer cancel_delayed_work() version which spins until the timer handler finishes on other CPUs and cancels the delayed work. Signed-off-by: Ulisses Furquim Acked-by: Marcel Holtmann Signed-off-by: Johan Hedberg commit 403f048a57050add364827fb3e2650af86463168 Author: Manoj Iyer Date: Thu Feb 2 09:32:36 2012 -0600 Bluetooth: btusb: Add vendor specific ID (0a5c 21f3) for BCM20702A0 T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=03 Dev#= 5 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0a5c ProdID=21f3 Rev=01.12 S: Manufacturer=Broadcom Corp S: Product=BCM20702A0 S: SerialNumber=74DE2B344A7B C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none) I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none) I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none) Signed-off-by: Manoj Iyer Tested-by: Dennis Chua Acked-by: Marcel Holtmann Signed-off-by: Johan Hedberg commit ca0d6c7ece0e78268cd7c5c378d6b1b610625085 Author: Johan Hedberg Date: Fri Feb 3 21:29:40 2012 +0200 Bluetooth: Add missing QUIRK_NO_RESET test to hci_dev_do_close We should only perform a reset in hci_dev_do_close if the HCI_QUIRK_NO_RESET flag is set (since in such a case a reset will not be performed when initializing the device). Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann commit cf33e77b76d7439f21a23a94eab4ab3b405a6a7d Author: Octavian Purdila Date: Fri Jan 27 19:32:39 2012 +0200 Bluetooth: Fix RFCOMM session reference counting issue There is an imbalance in the rfcomm_session_hold / rfcomm_session_put operations which causes the following crash: [ 685.010159] BUG: unable to handle kernel paging request at 6b6b6b6b [ 685.010169] IP: [] rfcomm_process_dlcs+0x1b/0x15e [ 685.010181] *pdpt = 000000002d665001 *pde = 0000000000000000 [ 685.010191] Oops: 0000 [#1] PREEMPT SMP [ 685.010247] [ 685.010255] Pid: 947, comm: krfcommd Tainted: G C 3.0.16-mid8-dirty #44 [ 685.010266] EIP: 0060:[] EFLAGS: 00010246 CPU: 1 [ 685.010274] EIP is at rfcomm_process_dlcs+0x1b/0x15e [ 685.010281] EAX: e79f551c EBX: 6b6b6b6b ECX: 00000007 EDX: e79f40b4 [ 685.010288] ESI: e79f4060 EDI: ed4e1f70 EBP: ed4e1f68 ESP: ed4e1f50 [ 685.010295] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 [ 685.010303] Process krfcommd (pid: 947, ti=ed4e0000 task=ed43e5e0 task.ti=ed4e0000) [ 685.010308] Stack: [ 685.010312] ed4e1f68 c149eb53 e5925150 e79f4060 ed500000 ed4e1f70 ed4e1f80 c149ec10 [ 685.010331] 00000000 ed43e5e0 00000000 ed4e1f90 ed4e1f9c c149ec87 0000bf54 00000000 [ 685.010348] 00000000 ee03bf54 c149ec37 ed4e1fe4 c104fe01 00000000 00000000 00000000 [ 685.010367] Call Trace: [ 685.010376] [] ? rfcomm_process_rx+0x6e/0x74 [ 685.010387] [] rfcomm_process_sessions+0xb7/0xde [ 685.010398] [] rfcomm_run+0x50/0x6d [ 685.010409] [] ? rfcomm_process_sessions+0xde/0xde [ 685.010419] [] kthread+0x63/0x68 [ 685.010431] [] ? __init_kthread_worker+0x42/0x42 [ 685.010442] [] kernel_thread_helper+0x6/0xd This issue has been brought up earlier here: https://lkml.org/lkml/2011/5/21/127 The issue appears to be the rfcomm_session_put in rfcomm_recv_ua. This operation doesn't seem be to required as for the non-initiator case we have the rfcomm_process_rx doing an explicit put and in the initiator case the last dlc_unlink will drive the reference counter to 0. There have been several attempts to fix these issue: 6c2718d Bluetooth: Do not call rfcomm_session_put() for RFCOMM UA on closed socket 683d949 Bluetooth: Never deallocate a session when some DLC points to it but AFAICS they do not fix the issue just make it harder to reproduce. Signed-off-by: Octavian Purdila Signed-off-by: Gopala Krishna Murala Acked-by: Marcel Holtmann Signed-off-by: Johan Hedberg commit b5a30dda6598af216c070165ece6068f9f00f33a Author: Octavian Purdila Date: Sun Jan 22 00:28:34 2012 +0200 Bluetooth: silence lockdep warning Since bluetooth uses multiple protocols types, to avoid lockdep warnings, we need to use different lockdep classes (one for each protocol type). This is already done in bt_sock_create but it misses a couple of cases when new connections are created. This patch corrects that to fix the following warning: <4>[ 1864.732366] ======================================================= <4>[ 1864.733030] [ INFO: possible circular locking dependency detected ] <4>[ 1864.733544] 3.0.16-mid3-00007-gc9a0f62 #3 <4>[ 1864.733883] ------------------------------------------------------- <4>[ 1864.734408] t.android.btclc/4204 is trying to acquire lock: <4>[ 1864.734869] (rfcomm_mutex){+.+.+.}, at: [] rfcomm_dlc_close+0x15/0x30 <4>[ 1864.735541] <4>[ 1864.735549] but task is already holding lock: <4>[ 1864.736045] (sk_lock-AF_BLUETOOTH){+.+.+.}, at: [] lock_sock+0xa/0xc <4>[ 1864.736732] <4>[ 1864.736740] which lock already depends on the new lock. <4>[ 1864.736750] <4>[ 1864.737428] <4>[ 1864.737437] the existing dependency chain (in reverse order) is: <4>[ 1864.738016] <4>[ 1864.738023] -> #1 (sk_lock-AF_BLUETOOTH){+.+.+.}: <4>[ 1864.738549] [] lock_acquire+0x104/0x140 <4>[ 1864.738977] [] lock_sock_nested+0x58/0x68 <4>[ 1864.739411] [] l2cap_sock_sendmsg+0x3e/0x76 <4>[ 1864.739858] [] __sock_sendmsg+0x50/0x59 <4>[ 1864.740279] [] sock_sendmsg+0x94/0xa8 <4>[ 1864.740687] [] kernel_sendmsg+0x28/0x37 <4>[ 1864.741106] [] rfcomm_send_frame+0x30/0x38 <4>[ 1864.741542] [] rfcomm_send_ua+0x58/0x5a <4>[ 1864.741959] [] rfcomm_run+0x441/0xb52 <4>[ 1864.742365] [] kthread+0x63/0x68 <4>[ 1864.742742] [] kernel_thread_helper+0x6/0xd <4>[ 1864.743187] <4>[ 1864.743193] -> #0 (rfcomm_mutex){+.+.+.}: <4>[ 1864.743667] [] __lock_acquire+0x988/0xc00 <4>[ 1864.744100] [] lock_acquire+0x104/0x140 <4>[ 1864.744519] [] __mutex_lock_common+0x3b/0x33f <4>[ 1864.744975] [] mutex_lock_nested+0x2d/0x36 <4>[ 1864.745412] [] rfcomm_dlc_close+0x15/0x30 <4>[ 1864.745842] [] __rfcomm_sock_close+0x5f/0x6b <4>[ 1864.746288] [] rfcomm_sock_shutdown+0x2f/0x62 <4>[ 1864.746737] [] sys_socketcall+0x1db/0x422 <4>[ 1864.747165] [] syscall_call+0x7/0xb Signed-off-by: Octavian Purdila Acked-by: Marcel Holtmann Signed-off-by: Johan Hedberg commit 6e1da683f79a22fafaada62d547138daaa9e3456 Author: Andrzej Kaczmarek Date: Wed Jan 4 12:10:42 2012 +0100 Bluetooth: l2cap_set_timer needs jiffies as timeout value After moving L2CAP timers to workqueues l2cap_set_timer expects timeout value to be specified in jiffies but constants defined in miliseconds are used. This makes timeouts unreliable when CONFIG_HZ is not set to 1000. __set_chan_timer macro still uses jiffies as input to avoid multiple conversions from/to jiffies for sk_sndtimeo value which is already specified in jiffies. Signed-off-by: Andrzej Kaczmarek Ackec-by: Marcel Holtmann Signed-off-by: Johan Hedberg commit a63752552b95624a9f1dfa3d763870f72f964ad0 Author: Andrzej Kaczmarek Date: Wed Jan 4 12:10:41 2012 +0100 Bluetooth: Fix sk_sndtimeo initialization for L2CAP socket sk_sndtime value should be specified in jiffies thus initial value needs to be converted from miliseconds. Otherwise this timeout is unreliable when CONFIG_HZ is not set to 1000. Signed-off-by: Andrzej Kaczmarek Acked-by: Marcel Holtmann Signed-off-by: Johan Hedberg commit 4aa832c27edf902130f8bace1d42cf22468823fa Author: Johan Hedberg Date: Sun Jan 8 22:51:16 2012 +0200 Bluetooth: Remove bogus inline declaration from l2cap_chan_connect As reported by Dan Carpenter this function causes a Sparse warning and shouldn't be declared inline: include/net/bluetooth/l2cap.h:837:30 error: marked inline, but without a definition" Reported-by: Dan Carpenter Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann commit 19ad9e94f6e2b4b3e1feccfb2466eb6e3e5b8c2a Author: Daniel Wagner Date: Tue Jan 3 11:53:53 2012 +0100 Bluetooth: Don't mark non xfer isoc endpoint URBs with URB_ISO_ASAP [ 2096.384084] btusb_send_frame:684: hci0 [ 2096.384087] usb 3-1: BOGUS urb flags, 2 --> 0 [ 2096.384091] Bluetooth: hci0 urb ffff8801b61d3a80 submission failed (22) According the documentation in usb_submit_urb() URB_ISO_ASAP flag is only allowed for endpoints of type USB_ENDPOINT_XFER_ISOC. This reverts commit b8aabfc92249b239c425da7e4ca85b7e4855e984. Signed-off-by: Daniel Wagner Acked-by: Luiz Augusto von Dentz Acked-by: Marcel Holtmann Signed-off-by: Johan Hedberg commit 18daf1644e634bae951a6e3d4d19d89170209762 Author: Peter Hurley Date: Fri Jan 13 15:11:30 2012 +0100 Bluetooth: Fix l2cap conn failures for ssp devices Commit 330605423c fixed l2cap conn establishment for non-ssp remote devices by not setting HCI_CONN_ENCRYPT_PEND every time conn security is tested (which was always returning failure on any subsequent security checks). However, this broke l2cap conn establishment for ssp remote devices when an ACL link was already established at SDP-level security. This fix ensures that encryption must be pending whenever authentication is also pending. Signed-off-by: Peter Hurley Tested-by: Daniel Wagner Acked-by: Marcel Holtmann Signed-off-by: Johan Hedberg commit c27111e5b8d6b1e9296f7075cdc35872f672b524 Author: Simon Graham Date: Thu Feb 9 09:55:13 2012 -0500 rtlwifi: Modify rtl_pci_init to return 0 on success Fixes problem where caller would think routine succeeded when it failed leading to divide by zero panic. Signed-off-by: Simon Graham Acked-by: Larry Finger Signed-off-by: John W. Linville commit b57e6b560fc2a2742910ac5ca0eb2c46e45aeac2 Author: Mohammed Shafi Shajakhan Date: Thu Feb 9 19:59:43 2012 +0530 mac80211: Fix a rwlock bad magic bug read_lock(&tpt_trig->trig.leddev_list_lock) is accessed via the path ieee80211_open (->) ieee80211_do_open (->) ieee80211_mod_tpt_led_trig (->) ieee80211_start_tpt_led_trig (->) tpt_trig_timer before initializing it. the intilization of this read/write lock happens via the path ieee80211_led_init (->) led_trigger_register, but we are doing 'ieee80211_led_init' after 'ieeee80211_if_add' where we register netdev_ops. so we access leddev_list_lock before initializing it and causes the following bug in chrome laptops with AR928X cards with the following script while true do sudo modprobe -v ath9k sleep 3 sudo modprobe -r ath9k sleep 3 done BUG: rwlock bad magic on CPU#1, wpa_supplicant/358, f5b9eccc Pid: 358, comm: wpa_supplicant Not tainted 3.0.13 #1 Call Trace: [<8137b9df>] rwlock_bug+0x3d/0x47 [<81179830>] do_raw_read_lock+0x19/0x29 [<8137f063>] _raw_read_lock+0xd/0xf [] tpt_trig_timer+0xc3/0x145 [mac80211] [] ieee80211_mod_tpt_led_trig+0x152/0x174 [mac80211] [] ieee80211_do_open+0x11e/0x42e [mac80211] [] ? ieee80211_check_concurrent_iface+0x26/0x13c [mac80211] [] ieee80211_open+0x48/0x4c [mac80211] [<812dbed8>] __dev_open+0x82/0xab [<812dc0c9>] __dev_change_flags+0x9c/0x113 [<812dc1ae>] dev_change_flags+0x18/0x44 [<8132144f>] devinet_ioctl+0x243/0x51a [<81321ba9>] inet_ioctl+0x93/0xac [<812cc951>] sock_ioctl+0x1c6/0x1ea [<812cc78b>] ? might_fault+0x20/0x20 [<810b1ebb>] do_vfs_ioctl+0x46e/0x4a2 [<810a6ebb>] ? fget_light+0x2f/0x70 [<812ce549>] ? sys_recvmsg+0x3e/0x48 [<810b1f35>] sys_ioctl+0x46/0x69 [<8137fa77>] sysenter_do_call+0x12/0x2 Cc: Cc: Gary Morain Cc: Paul Stewart Cc: Abhijit Pradhan Cc: Vasanthakumar Thiagarajan Cc: Rajkumar Manoharan Acked-by: Johannes Berg Tested-by: Mohammed Shafi Shajakhan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit e81a7bd55531a77d8c16d44766db4089c2983f1b Author: Tomas Vanek Date: Sun Feb 5 15:51:53 2012 +0200 zd1211rw: firmware needs duration_id set to zero for non-pspoll frames Some devices (iwl5100) cannot connect to zd1211rw based AP. It appears that zd1211 firmware messes up duration_id field if it is not set to zero by driver. Sniffing traffic shows that zd1211 is transmitting frames with duration_id bits 14 and 15 set and other bits appearing random. Setting duration_id at driver to zero results zd1211 outputting sane duration_id. This means that firmware is setting correct values itself and expects duration_id to be zero in first place. Looking at vendor driver shows that only PSPoll frames have duration_id set by driver, for other frames duration_id left zero. Original bug-report and attached patch at: http://sourceforge.net/mailarchive/message.php?msg_id=28759111 Reported-by: Tomas Vanek [modified original patch from bug-report, added check for pspoll frame] Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 55a2bb4a6d5e8c7b324d003e130fd9aaf33be4e6 Author: Felix Fietkau Date: Sun Feb 5 21:15:18 2012 +0100 ath9k_hw: fix a RTS/CTS timeout regression commit adb5066 "ath9k_hw: do not apply the 2.4 ghz ack timeout workaround to cts" reduced the hardware CTS timeout to the normal values specified by the standard, but it turns out while it doesn't need the same extra time that it needs for the ACK timeout, it does need more than the value specified in the standard, but only for 2.4 GHz. This patch brings the CTS timeout value in sync with the initialization values, while still allowing adjustment for bigger distances. Signed-off-by: Felix Fietkau Cc: stable@vger.kernel.org Reported-by: Seth Forshee Reported-by: Marek Lindner Signed-off-by: John W. Linville commit f88373fa47f3ce6590fdfaa742d0ddacc2ae017f Author: Felix Fietkau Date: Sun Feb 5 21:15:17 2012 +0100 ath9k: fix a WEP crypto related regression commit b4a82a0 "ath9k_hw: fix interpretation of the rx KeyMiss flag" fixed the interpretation of the KeyMiss flag for keycache based lookups, however WEP encryption uses a static index, so KeyMiss is always asserted for it, even though frames are decrypted properly. Fix this by clearing the ATH9K_RXERR_KEYMISS flag if no keycache based lookup was performed. Signed-off-by: Felix Fietkau Cc: stable@vger.kernel.org Reported-by: Laurent Bonnans Reported-by: Jurica Vukadin Signed-off-by: John W. Linville commit 2da8cbf8a6b454296c9db7b57cac72d5a39e3aa7 Author: Amitkumar Karwar Date: Fri Feb 3 20:34:02 2012 -0800 mwifiex: add NULL checks in driver unload path If driver load is failed, sometimes few pointers may remain uninitialized ex. priv->wdev, priv->netdev, adapter->sleep_cfm This will cause NULL pointer dereferance while unloading the driver. Signed-off-by: Amitkumar Karwar Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 07445f688218a48bde72316aed9de4fdcc173131 Author: Mohammed Shafi Shajakhan Date: Thu Feb 2 16:29:05 2012 +0530 ath9k: Fix kernel panic during driver initilization all works need to be initialized before ieee80211_register_hw to prevent mac80211 call backs such as drv_start, drv_config getting started. otherwise we would queue/cancel works before initializing them and it leads to kernel panic. this issue can be recreated with the following script in Chrome laptops with AR928X cards, with background scan running (or) Network manager is running while true do sudo modprobe -v ath9k sleep 3 sudo modprobe -r ath9k sleep 3 done EIP: [<81040a47>] __cancel_work_timer+0xb8/0xe1 SS:ESP 0068:f6be9d70 ---[ end trace 4f86d6139a9900ef ]--- Registered led device: ath9k-phy0 ieee80211 phy0: Atheros AR9280 Rev:2 mem=0xf88a0000, irq=16 Kernel panic - not syncing: Fatal exception Pid: 456, comm: wpa_supplicant Tainted: G D 3.0.13 #1 Call Trace: [<81379e21>] panic+0x53/0x14a [<81004a30>] oops_end+0x73/0x81 [<81004b53>] die+0x4c/0x55 [<81002710>] do_trap+0x7c/0x83 [<81002855>] ? do_bounds+0x58/0x58 [<810028cc>] do_invalid_op+0x77/0x81 [<81040a47>] ? __cancel_work_timer+0xb8/0xe1 [<810489ec>] ? sched_clock_cpu+0x81/0x11f [<8103f809>] ? wait_on_work+0xe2/0xf7 [<8137f807>] error_code+0x67/0x6c [<810300d8>] ? wait_consider_task+0x4ba/0x84c [<81040a47>] ? __cancel_work_timer+0xb8/0xe1 [<810380c9>] ? try_to_del_timer_sync+0x5f/0x67 [<81040a91>] cancel_work_sync+0xf/0x11 [] ath_set_channel+0x62/0x25c [ath9k] [] ? ath9k_tx_last_beacon+0x26a/0x85c [ath9k] [] ath_radio_disable+0x3f1/0x68e [ath9k] [] ieee80211_hw_config+0x111/0x116 [mac80211] [] __ieee80211_recalc_idle+0x919/0xa37 [mac80211] [] __ieee80211_recalc_idle+0xa33/0xa37 [mac80211] [<812dbed8>] __dev_open+0x82/0xab Cc: Cc: Gary Morain Cc: Paul Stewart Cc: Vasanthakumar Thiagarajan Tested-by: Mohammed Shafi Shajakhan Signed-off-by: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit b7097eb75fa11c302dcdec83f1dbfa874e0af0d1 Author: Amitkumar Karwar Date: Wed Feb 1 20:41:43 2012 -0800 mwifiex: handle association failure case correctly Currently even if association is failed "iw link" shows some information about connected BSS and "Tx timeout" error is seen in dmesg log. This patch fixes below issues in the code to handle assoc failure case correctly. 1) "status" variable in mwifiex_wait_queue_complete() is not correctly updated. Hence driver doesn't inform cfg80211 stack about association failure. 2) During association network queues are stopped but carrier is not cleared, which gives Tx timeout error in failure case Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 8149415efa033ca138c0080ded77329e98697c7b Author: John W. Linville Date: Mon Jan 30 10:55:13 2012 -0500 ath9k: use WARN_ON_ONCE in ath_rc_get_highest_rix The device seems to survive the issue, so no need to flood the logs about it... Signed-off-by: John W. Linville commit 07ae2dfcf4f7143ce191c6436da1c33f179af0d6 Author: Eliad Peller Date: Wed Feb 1 18:48:09 2012 +0200 mac80211: timeout a single frame in the rx reorder buffer The current code checks for stored_mpdu_num > 1, causing the reorder_timer to be triggered indefinitely, but the frame is never timed-out (until the next packet is received) Signed-off-by: Eliad Peller Cc: Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 3d29dd9b5b160ba4542a9b8f869a220559e633a0 Author: Emmanuel Grumbach Date: Wed Feb 1 07:01:32 2012 -0800 iwlwifi: don't mess up QoS counters with non-QoS frames In my AMPDU rework, I rely on the sequence numbers of frames. But I didn't check that the frame has a valid tid before updating the tracking counters. As a result, the Tx queues were stalled. People who hit this bug saw that we simply didn't let any data out. This bug was introduced in 3.3. This patch fixes that and checks that the frame is a QoS frame before looking at its tid and changing the counters. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 5fb8c182d26472ea24cbbadb6a3e355d7621cca4 Author: John W. Linville Date: Tue Jan 31 14:40:49 2012 -0500 iwlwifi: make "Tx aggregation enabled on ra =" be at DEBUG level Average users either don't care or they think that message indicates a problem... Signed-off-by: John W. Linville commit 7fc417556473f15efac269523c17eb92103c6484 Author: Luigi Tarenga Date: Tue Jan 31 18:51:23 2012 +0100 rt2800lib: fix wrong -128dBm when signal is stronger than -12dBm This patch correct the type of variables containing the rssi values read from the rxwi. In function rt2800_agc_to_rssi() 3 variables (rssi0, rssi1, rss2) defined as int was assigned a 16bit signed values as unsigned. From a test with a hi-gain antenna I verified that the rxwi contains signed rssi values in the range -13/+81 (inclusive) with 0 as an error condition. In case of negative values a condition is triggered and the function return -128dBm while the signal is at its maximum. This patch correct the cast so negative values are not treated as very high positive values (ex. -13 does not become 243). Signed-off-by: Luigi Tarenga Reviewed-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit cc0d7b91db000aef1cc12f1d3d4d7f80af9bd419 Merge: 9018e93 b49ba04 Author: David S. Miller Date: Fri Jan 27 20:40:18 2012 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless commit 701b259f446be2f3625fb852bceb93afe76e206d Merge: d234696 efc3dbc Author: Linus Torvalds Date: Tue Jan 24 15:51:40 2012 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Davem says: 1) Fix JIT code generation on x86-64 for divide by zero, from Eric Dumazet. 2) tg3 header length computation correction from Eric Dumazet. 3) More build and reference counting fixes for socket memory cgroup code from Glauber Costa. 4) module.h snuck back into a core header after all the hard work we did to remove that, from Paul Gortmaker and Jesper Dangaard Brouer. 5) Fix PHY naming regression and add some new PCI IDs in stmmac, from Alessandro Rubini. 6) Netlink message generation fix in new team driver, should only advertise the entries that changed during events, from Jiri Pirko. 7) SRIOV VF registration and unregistration fixes, and also add a missing PCI ID, from Roopa Prabhu. 8) Fix infinite loop in tx queue flush code of brcmsmac, from Stanislaw Gruszka. 9) ftgmac100/ftmac100 build fix, missing interrupt.h include. 10) Memory leak fix in net/hyperv do_set_mutlicast() handling, from Wei Yongjun. 11) Off by one fix in netem packet scheduler, from Vijay Subramanian. 12) TCP loss detection fix from Yuchung Cheng. 13) TCP reset packet MD5 calculation uses wrong address, fix from Shawn Lu. 14) skge carrier assertion and DMA mapping fixes from Stephen Hemminger. 15) Congestion recovery undo performed at the wrong spot in BIC and CUBIC congestion control modules, fix from Neal Cardwell. 16) Ethtool ETHTOOL_GSSET_INFO is unnecessarily restrictive, from Michał Mirosław. 17) Fix triggerable race in ipv6 sysctl handling, from Francesco Ruggeri. 18) Statistics bug fixes in mlx4 from Eugenia Emantayev. 19) rds locking bug fix during info dumps, from your's truly. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (67 commits) rds: Make rds_sock_lock BH rather than IRQ safe. netprio_cgroup.h: dont include module.h from other includes net: flow_dissector.c missing include linux/export.h team: send only changed options/ports via netlink net/hyperv: fix possible memory leak in do_set_multicast() drivers/net: dsa/mv88e6xxx.c files need linux/module.h stmmac: added PCI identifiers llc: Fix race condition in llc_ui_recvmsg stmmac: fix phy naming inconsistency dsa: Add reporting of silicon revision for Marvell 88E6123/88E6161/88E6165 switches. tg3: fix ipv6 header length computation skge: add byte queue limit support mv643xx_eth: Add Rx Discard and Rx Overrun statistics bnx2x: fix compilation error with SOE in fw_dump bnx2x: handle CHIP_REVISION during init_one bnx2x: allow user to change ring size in ISCSI SD mode bnx2x: fix Big-Endianess in ethtool -t bnx2x: fixed ethtool statistics for MF modes bnx2x: credit-leakage fixup on vlan_mac_del_all macvlan: fix a possible use after free ... commit b49ba04a3a0382e7314d990707c21094c410425a Author: Johannes Berg Date: Thu Jan 19 08:20:57 2012 -0800 iwlwifi: fix PCI-E transport "inta" race When an interrupt comes in, we read the reason bits and collect them into "trans_pcie->inta". This happens with the spinlock held. However, there's a bug resetting this variable -- that happens after the spinlock has been released. This means that it is possible for interrupts to be missed if the reset happens after some other interrupt reasons were already added to the variable. I found this by code inspection, looking for a reason that we sometimes see random commands time out. It seems possible that this causes such behaviour, but I can't say for sure right now since it happens extremely infrequently on my test systems. Cc: stable@vger.kernel.org [3.2] Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 405385f8ce7a2ed8f82e216d88b5282142e1288b Author: Eliad Peller Date: Wed Jan 11 13:11:50 2012 +0200 mac80211: set bss_conf.idle when vif is connected __ieee80211_recalc_idle() iterates through the vifs, sets bss_conf.idle = true if they are disconnected, and increases "count" if they are not (which later gets evaluated in order to determine whether the device is idle). However, the loop doesn't set bss_conf.idle = false (along with increasing "count"), causing the device idle state and the vif idle state to get out of sync in some cases. Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit ba1960257c5980f9b58057995ce3394bd8e48ca3 Author: Eliad Peller Date: Tue Jan 10 15:19:54 2012 +0200 mac80211: update oper_channel on ibss join Commit 13c40c5 ("mac80211: Add HT operation modes for IBSS") broke ibss operation by mistakenly removing the local->oper_channel update (causing ibss to start on the wrong channel). fix it. Signed-off-by: Eliad Peller Acked-by: Simon Wunderlich Signed-off-by: John W. Linville commit 2f6c76aa5f0fb53059730c628ac59ef62a14ed7a Author: Randy Dunlap Date: Sat Jan 21 11:03:00 2012 -0800 kernel-doc: fix new warnings in cfg80211.h Fix new kernel-doc warnings: Warning(include/net/cfg80211.h:1165): No description found for parameter 'channel_type' Warning(include/net/cfg80211.h:2090): No description found for parameter 'probe_resp_offload' Signed-off-by: Randy Dunlap Cc: Johannes Berg Cc: linux-wireless@vger.kernel.org Signed-off-by: Linus Torvalds commit b1cc16b8e643096adb92bbcb76c6c4c564141c40 Author: David S. Miller Date: Sun Jan 22 14:45:14 2012 -0500 bluetooth: hci: Fix type of "enable_hs" to bool. Fixes: net/bluetooth/hci_core.c: In function ‘__check_enable_hs’: net/bluetooth/hci_core.c:2587:1: warning: return from incompatible pointer type [enabled by default] Signed-off-by: David S. Miller commit 1c659a4475ec2b2f4495e4773c417a9100cbd9de Merge: ccb19d2 4f3d09d Author: David S. Miller Date: Wed Jan 18 15:59:32 2012 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless commit 4f3d09de38d234ce7ffba5ec5a7e6704f983d375 Author: John W. Linville Date: Wed Jan 11 15:50:15 2012 -0500 b43: add option to avoid duplicating device support with brcmsmac Signed-off-by: John W. Linville commit bc4934bc61d0a11fd62c5187ff83645628f8be8b Author: Johannes Berg Date: Wed Jan 18 14:10:25 2012 +0100 mac80211: fix work removal on deauth request When deauth is requested while an auth or assoc work item is in progress, we currently delete it without regard for any state it might need to clean up. Fix it by cleaning up for those items. In the case Pontus found, the problem manifested itself as such: authenticate with 00:23:69:aa:dd:7b (try 1) authenticated failed to insert Dummy STA entry for the AP (error -17) deauthenticating from 00:23:69:aa:dd:7b by local choice (reason=2) It could also happen differently if the driver uses the tx_sync callback. We can't just call the ->done() method of the work items because that will lock up due to the locking in cfg80211. This fix isn't very clean, but that seems acceptable since I have patches pending to remove this code completely. Cc: stable@vger.kernel.org Reported-by: Pontus Fuchs Tested-by: Pontus Fuchs Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 65e8b0ccb6cf176f8eddb1b05534be46580da9dd Author: Javier Cardona Date: Tue Jan 17 18:17:46 2012 -0800 mac80211: Use the right headroom size for mesh mgmt frames Use local->tx_headroom instad of local->hw.extra_tx_headroom. local->tx_headroom is the max of hw.extra_tx_headroom required by the driver and the headroom required by mac80211 for status reporting. On drivers where hw.extra_tx_headroom is smaller than what mac80211 requires (e.g. ath5k), we would not reserve sufficient buffer space to report tx status. Also, don't reserve local->tx_headroom + local->hw.extra_tx_headroom. Reported-by: Simon Morgenthaler Reported-by: Kai Scharwies Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit f96b08a7e6f69c0f0a576554df3df5b1b519c479 Author: Stanislaw Gruszka Date: Tue Jan 17 12:38:50 2012 +0100 brcmsmac: fix tx queue flush infinite loop This patch workaround live deadlock problem caused by infinite loop in brcms_c_wait_for_tx_completion(). I do not consider the patch as the proper fix, which should fix the real reason of tx queue flush failure, but patch helps with system lockup. Reference: https://bugzilla.kernel.org/show_bug.cgi?id=42576 Reported-and-tested-by: Patrick Cc: stable@vger.kernel.org # 3.2+ Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 9446f3efc53512e5ad9e0966539021a2a41fe5a0 Author: Johannes Berg Date: Tue Jan 17 10:32:01 2012 +0100 mac80211: fix debugfs key->station symlink Since stations moved into a virtual interface subdirectory, this link has been broken. Fix it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ccb19d263fd1c9e34948e2158c53eacbff369344 Merge: 6a48897 c3b5003 Author: Linus Torvalds Date: Tue Jan 17 22:26:41 2012 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (47 commits) tg3: Fix single-vector MSI-X code openvswitch: Fix multipart datapath dumps. ipv6: fix per device IP snmp counters inetpeer: initialize ->redirect_genid in inet_getpeer() net: fix NULL-deref in WARN() in skb_gso_segment() net: WARN if skb_checksum_help() is called on skb requiring segmentation caif: Remove bad WARN_ON in caif_dev caif: Fix typo in Vendor/Product-ID for CAIF modems bnx2x: Disable AN KR work-around for BCM57810 bnx2x: Remove AutoGrEEEn for BCM84833 bnx2x: Remove 100Mb force speed for BCM84833 bnx2x: Fix PFC setting on BCM57840 bnx2x: Fix Super-Isolate mode for BCM84833 net: fix some sparse errors net: kill duplicate included header net: sh-eth: Fix build error by the value which is not defined net: Use device model to get driver name in skb_gso_segment() bridge: BH already disabled in br_fdb_cleanup() net: move sock_update_memcg outside of CONFIG_INET mwl8k: Fixing Sparse ENDIAN CHECK warning ... commit 604c4ef1c453a1b2ea2cdf04d2b49afec421ebfa Author: Yogesh Ashok Powar Date: Tue Jan 17 15:45:15 2012 +0530 mwl8k: Fixing Sparse ENDIAN CHECK warning Fixing following sparse warning >drivers/net/wireless/mwl8k.c:2780:15: warning: incorrect type in assignment (different base types) >drivers/net/wireless/mwl8k.c:2780:15: expected restricted unsigned short [usertype] channel >drivers/net/wireless/mwl8k.c:2780:15: got unsigned short [unsigned] [usertype] hw_value Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit 544204733a20200951c271f81c74930ba5424638 Author: Helmut Schaa Date: Tue Jan 17 09:22:49 2012 +0100 mac80211: Fix possible race between sta_unblock and network softirq All other code paths in sta_unblock synchronize with the network softirq by using local_bh_disable/enable. Do the same around ieee80211_sta_ps_deliver_wakeup. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit d981e05908f85beb68ae0d935e59c5e399d2136e Author: Dan Carpenter Date: Tue Jan 17 10:33:31 2012 +0300 mwl8k: fix condition in mwl8k_cmd_encryption_remove_key() The intent here was to check whether key->cipher was WEP40 or WEP104. We do a similar check correctly in several other places in this file. The current condition is always true. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 5addc0de28f5e286f9d121112c4222250807b5a5 Author: Alexandre Oliva Date: Mon Jan 16 14:00:12 2012 -0500 brcmfmac: work-around gcc 4.7 build issue Alexandre Oliva says: "It's an issue brought about by GCC 4.7's partial-inlining, that ends up splitting the udelay function just at the wrong spot, in such a way that some sanity checks for constants fails, and we end up calling bad_udelay. This patch fixes the problem. Feel free to push it upstream if it makes sense to you." Signed-off-by: John W. Linville commit 7e9e7fa414e47fccc6127f23bc866cbcc7e27dcb Author: Linus Torvalds Date: Fri Jan 13 23:58:42 2012 +0100 brcmsmac: remove PCI suspend/resume from bcma driver The brcmsmac driver isn't a PCI driver any more, it's a bcma one. The PCI device has been resumed by the PCI driver (the generic PCI layer, really), we should be resuming just our own driver state. Also add pr_debug() calls to show that we now actually get the suspend/resume events. Signed-off-by: Linus Torvalds Signed-off-by: John W. Linville commit 7d5869e78f4c9d32f834dadefbb7dcb3c9d4d85f Author: Linus Torvalds Date: Fri Jan 13 23:58:41 2012 +0100 bcma: connect the bcma bus suspend/resume to the bcma driver suspend/resume Now the low-level driver actually gets informed that it is getting suspended and resumed. Signed-off-by: Linus Torvalds Signed-off-by: John W. Linville commit d32a102819eef99d4d87019266bea208447be0a0 Author: Yoni Divinsky Date: Mon Jan 16 15:18:59 2012 +0200 mac80211: fix tx->skb NULL pointer dereference In function ieee80211_tx_h_encrypt the var info was initialized from tx->skb, since the fucntion is called after the function ieee80211_tx_h_fragment tx->skb is not valid anymore. Signed-off-by: Yoni Divinsky Signed-off-by: John W. Linville commit 331d9301ed4d0fe33e9762c62f2870243bcf77eb Author: Fabio Estevam Date: Mon Jan 16 00:47:12 2012 -0200 wireless: iwlwifi: iwl-scan.c: Fix build warning Fix the following build warning: drivers/net/wireless/iwlwifi/iwl-scan.c: In function ‘iwlagn_request_scan’: drivers/net/wireless/iwlwifi/iwl-scan.c:572: warning: ‘cmd_len’ may be used uninitialized in this function Signed-off-by: Fabio Estevam Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 74b8cc3d592e5e884123eb99960a9f064223eaab Author: Jesper Juhl Date: Sat Jan 14 21:52:17 2012 +0100 Net, mac80211: Fix resource leak in ieee80211_rx_h_mesh_fwding() We may leak the 'fwd_skb' we skb_copy() in ieee80211_rx_h_mesh_fwding() if we take the 'else' branch in the 'if' statement just below. If we take that branch we'll end up returning from the function and since we've not assigned 'fwd_skb' to anything at that point, we leak it when the variable goes out of scope. The simple fix seems to be to just kfree_skb(fwd_skb); just before we return. That is what this patch does. Signed-off-by: Jesper Juhl Signed-off-by: John W. Linville commit 7a532fe7131216a02c81a6c1b1f8632da1195a58 Author: Felix Fietkau Date: Sat Jan 14 15:08:34 2012 +0100 ath9k_hw: fix interpretation of the rx KeyMiss flag Documentation states that the KeyMiss flag is only valid if RxFrameOK is unset, however empirical evidence has shown that this is false. When KeyMiss is set (and RxFrameOK is 1), the hardware passes a valid frame which has not been decrypted. The driver then falsely marks the frame as decrypted, and when using CCMP this corrupts the rx CCMP PN, leading to connection hangs. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 0a80939b3e6af4b0dc93bf88ec02fd7e90a16f1b Merge: 0b48d42 72db395 Author: Linus Torvalds Date: Sat Jan 14 12:32:16 2012 -0800 Merge tag 'for-linus' of git://github.com/rustyrussell/linux Autogenerated GPG tag for Rusty D1ADB8F1: 15EE 8D6C AB0E 7F0C F999 BFCB D920 0E6C D1AD B8F1 * tag 'for-linus' of git://github.com/rustyrussell/linux: module_param: check that bool parameters really are bool. intelfbdrv.c: bailearly is an int module_param paride/pcd: fix bool verbose module parameter. module_param: make bool parameters really bool (drivers & misc) module_param: make bool parameters really bool (arch) module_param: make bool parameters really bool (core code) kernel/async: remove redundant declaration. printk: fix unnecessary module_param_name. lirc_parallel: fix module parameter description. module_param: avoid bool abuse, add bint for special cases. module_param: check type correctness for module_param_array modpost: use linker section to generate table. modpost: use a table rather than a giant if/else statement. modules: sysfs - export: taint, coresize, initsize kernel/params: replace DEBUGP with pr_debug module: replace DEBUGP with pr_debug module: struct module_ref should contains long fields module: Fix performance regression on modules with large symbol tables module: Add comments describing how the "strmap" logic works Fix up conflicts in scripts/mod/file2alias.c due to the new linker- generated table approach to adding __mod_*_device_table entries. The ARM sa11x0 mcp bus needed to be converted to that too. commit 543d1b92d5500841e70f15e79d197bbffed36561 Author: Johannes Berg Date: Fri Jan 13 14:17:59 2012 +0100 mac80211: fix no-op authorized transitions When userspace attempts to authorize a station that is already authorized, nothing happens as you'd expect. Similarly, when it unauthorizes a station that is associated, nothing happens. However, when it unauthorizes a station that isn't even associated yet, we erroneously try to move the station to associated. This seems to happen occasionally as a result of a race when wpa_supplicant attempts to unauthorize the port in managed mode. Particularly with my new patches to keep stations, it can then move a station into ASSOCIATED state before we have really associated, which is really confusing. I introduced this bug in "mac80211: refactor station state transitions" Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit dfd00c4c8f3dfa1fd7cec45f83d98b2a49743dcd Author: Stanislaw Gruszka Date: Fri Jan 13 12:59:32 2012 +0100 rt2800pci: fix spurious interrupts generation Same devices can generate interrupt without properly setting bit in INT_SOURCE_CSR register (spurious interrupt), what will cause IRQ line will be disabled by interrupts controller driver. We discovered that clearing INT_MASK_CSR stops such behaviour. We previously first read that register, and then clear all know interrupt sources bits and do not touch reserved bits. After this patch, we write to all register content (I believe writing to reserved bits on that register will not cause any problems, I tested that on my rt2800pci device). This fix very bad performance problem, practically making device unusable (since worked without interrupts), reported in: https://bugzilla.redhat.com/show_bug.cgi?id=658451 We previously tried to workaround that issue in commit 4ba7d9997869d25bd223dea7536fc1ce9fab3b3b "rt2800pci: handle spurious interrupts", but it was reverted in commit 82e5fc2a34fa9ffea38f00c4066b7e600a0ca5e6 as thing, that will prevent to detect real spurious interrupts. Reported-and-tested-by: Amir Hedayaty Cc: stable@vger.kernel.org Signed-off-by: Stanislaw Gruszka Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 92c1ff1fa772ee76a18ae1edd2e4baecf381f17e Author: Dan Carpenter Date: Thu Jan 12 09:34:50 2012 +0300 ipw2x00: signedness bug handling frame length This is basically just a cleanup. Large positive numbers get counted as negative but then get implicitly cast to positive again for the checks that matter. This does make a small difference in ipw_handle_promiscuous_rx() when we test "if (unlikely((len + IPW_RX_FRAME_SIZE) > skb_tailroom(rxb->skb)))" It should return there, but we don't return until a couple lines later when we test "if (len > IPW_RX_BUF_SIZE - sizeof(struct ipw_rt_hdr)) {". The difference is that in the second test the sizeof() means that there is an implied cast to unsigned. Signed-off-by: Dan Carpenter Reviewed-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit ccde8a45cbd3ea9a6e785e4393d3a1f6b4e6b495 Author: Guennadi Liakhovetski Date: Fri Jan 6 12:58:16 2012 +0100 wireless: b43: fix Oops on card eject during transfer An Oops has once been observed, when the SDIO card had been ejected during IO. The PC value shows, that the dev pointer in b43_op_stop() was NULL. (I moved the NULL check before the lock, based upon a suggestion from Julian Calaby . -- JWL) Signed-off-by: Guennadi Liakhovetski Signed-off-by: John W. Linville commit 7c17d86a8502c2e30c2eea777ed1b830aa3b447b Merge: 2485a4b 91dce7d Author: Linus Torvalds Date: Thu Jan 12 20:30:02 2012 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (69 commits) pptp: Accept packet with seq zero RDS: Remove some unused iWARP code net: fsl: fec: handle 10Mbps speed in RMII mode drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c: add missing iounmap drivers/net/ethernet/tundra/tsi108_eth.c: add missing iounmap ksz884x: fix mtu for VLAN net_sched: sfq: add optional RED on top of SFQ dp83640: Fix NOHZ local_softirq_pending 08 warning gianfar: Fix invalid TX frames returned on error queue when time stamping gianfar: Fix missing sock reference when processing TX time stamps phylib: introduce mdiobus_alloc_size() net: decrement memcg jump label when limit, not usage, is changed net: reintroduce missing rcu_assign_pointer() calls inet_diag: Rename inet_diag_req_compat into inet_diag_req inet_diag: Rename inet_diag_req into inet_diag_req_v2 bond_alb: don't disable softirq under bond_alb_xmit mac80211: fix rx->key NULL pointer dereference in promiscuous mode nl80211: fix old station flags compatibility mdio-octeon: use an unique MDIO bus name. mdio-gpio: use an unique MDIO bus name. ... commit 90ab5ee94171b3e28de6bb42ee30b527014e0be7 Author: Rusty Russell Date: Fri Jan 13 09:32:20 2012 +1030 module_param: make bool parameters really bool (drivers & misc) module_param(bool) used to counter-intuitively take an int. In fddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy trick. It's time to remove the int/unsigned int option. For this version it'll simply give a warning, but it'll break next kernel version. Acked-by: Mauro Carvalho Chehab Signed-off-by: Rusty Russell commit cf778b00e96df6d64f8e21b8395d1f8a859ecdc7 Author: Eric Dumazet Date: Thu Jan 12 04:41:32 2012 +0000 net: reintroduce missing rcu_assign_pointer() calls commit a9b3cd7f32 (rcu: convert uses of rcu_assign_pointer(x, NULL) to RCU_INIT_POINTER) did a lot of incorrect changes, since it did a complete conversion of rcu_assign_pointer(x, y) to RCU_INIT_POINTER(x, y). We miss needed barriers, even on x86, when y is not NULL. Signed-off-by: Eric Dumazet CC: Stephen Hemminger CC: Paul E. McKenney Signed-off-by: David S. Miller commit 61bd5e5683244a564ecfe31c73575ee0bc708ccc Author: Linus Torvalds Date: Thu Jan 12 12:19:34 2012 -0800 brcmsmac: fix reading of PCI sprom contents It appears that you can only read the sprom contents with aligned 16-bit reads: anything else causes at least some versions of the broadcom chipset to abort the PCI transaction, returning 0xff. This apparently doesn't trigger very often, because most setups don't use an external srom chip, and the OTP sprom loading doesn't have this issue. But at least the current 11" Macbook Air does trigger it, and wireless communications were broken as a result. Acked-by: Arend van Spriel Signed-off-by: Linus Torvalds commit 9ee6045f09a7875ebe55b9942b232a19076b157b Merge: 3b09c84 1140afa Author: David S. Miller Date: Thu Jan 12 12:10:00 2012 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless commit 1140afa862842ac3e56678693050760edc4ecde9 Author: Stanislaw Gruszka Date: Wed Jan 11 09:26:54 2012 +0100 mac80211: fix rx->key NULL pointer dereference in promiscuous mode Since: commit 816c04fe7ef01dd9649f5ccfe796474db8708be5 Author: Christian Lamparter Date: Sat Apr 30 15:24:30 2011 +0200 mac80211: consolidate MIC failure report handling is possible to that we dereference rx->key == NULL when driver set RX_FLAG_MMIC_STRIPPED and not RX_FLAG_IV_STRIPPED and we are in promiscuous mode. This happen with rt73usb and rt61pci at least. Before the commit we always check rx->key against NULL, so I assume fix should be done in mac80211 (also mic_fail path has similar check). References: https://bugzilla.redhat.com/show_bug.cgi?id=769766 http://rt2x00.serialmonkey.com/pipermail/users_rt2x00.serialmonkey.com/2012-January/004395.html Cc: stable@vger.kernel.org # 3.0+ Reported-by: Stuart D Gathman Reported-by: Kai Wohlfahrt Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit bdd3ae3d1e749cf6597f035a5357f297a1af8eb3 Author: Johannes Berg Date: Mon Jan 2 13:30:03 2012 +0100 nl80211: fix old station flags compatibility My patch to validate station flags broke compatibility with the old station flags setting where all flags are always set at once since it always set the mask as all possible flags which ended up being rejected later in the station add/modify code. Fix by parsing only the current flags in the old flags attribute -- new applications and new flags should use (and will now require) the new flags attribute where the mask is given by the application. Reported-and-tested-by: Thomas Hilber Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1a19f77f3642b8194ad9cf55548cc5d92e841766 Author: Rajkumar Manoharan Date: Mon Jan 9 15:37:53 2012 +0530 ath9k: Fix regression in channelwidth switch at the same channel The commit "ath9k: Fix invalid noisefloor reading due to channel update" preserves the current channel noisefloor readings before updating channel type at the same channel index. It is also updating the curchan pointer. As survey updation is also referring curchan pointer to fetch the appropriate index, which might leads to invalid memory access. This patch partially reverts the change and stores the noise floor history buffer before updating channel type w/o updating curchan. Cc: stable@kernel.org Cc: Gary Morain Cc: Paul Stewart Reported-by: Mohammed Shafi Shajakhan Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit c40701eacbaebcfe3fb6fac8ef3da653021c212c Author: Jesper Juhl Date: Sun Jan 8 23:41:21 2012 +0100 brcm80211: Don't leak 'vbuffer' in brcmf_sdbrcm_write_vars() If the memory allocation 'nvram_ularray = kmalloc(varsize, GFP_ATOMIC);' fails we'll leak the memory allocated to 'vbuffer' when we return -ENOMEM from the function. This patch resolves the leak by kfree()'ing the allocated memory before the return. Signed-off-by: Jesper Juhl Acked-by: Arend van Spriel Signed-off-by: John W. Linville commit e4922f2b5f1c2b3daa80b56a6eeca984cbee0dde Author: Mohammed Shafi Shajakhan Date: Sat Jan 7 21:06:02 2012 +0530 ath9k_hw: fix a comment also remove an unused macro and a function declaration Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit d90db4b12bc1b9b8a787ef28550fdb767ee25a49 Author: Larry Finger Date: Wed Jan 4 20:50:47 2012 -0600 rtl8192se: Fix BUG caused by failure to check skb allocation When downloading firmware into the device, the driver fails to check the return when allocating an skb. When the allocation fails, a BUG can be generated, as seen in https://bugzilla.redhat.com/show_bug.cgi?id=771656. Signed-off-by: Larry Finger Cc: Stable Signed-off-by: John W. Linville commit 874c60bad92564358e87d58f505fceb0b09ec1aa Merge: a8c1f65 c5993de Author: John W. Linville Date: Tue Jan 10 15:44:17 2012 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next commit 98793265b429a3f0b3f1750e74d67cd4d740d162 Merge: b4a133d bd1b2a5 Author: Linus Torvalds Date: Sun Jan 8 13:21:22 2012 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (53 commits) Kconfig: acpi: Fix typo in comment. misc latin1 to utf8 conversions devres: Fix a typo in devm_kfree comment btrfs: free-space-cache.c: remove extra semicolon. fat: Spelling s/obsolate/obsolete/g SCSI, pmcraid: Fix spelling error in a pmcraid_err() call tools/power turbostat: update fields in manpage mac80211: drop spelling fix types.h: fix comment spelling for 'architectures' typo fixes: aera -> area, exntension -> extension devices.txt: Fix typo of 'VMware'. sis900: Fix enum typo 'sis900_rx_bufer_status' decompress_bunzip2: remove invalid vi modeline treewide: Fix comment and string typo 'bufer' hyper-v: Update MAINTAINERS treewide: Fix typos in various parts of the kernel, and fix some comments. clockevents: drop unknown Kconfig symbol GENERIC_CLOCKEVENTS_MIGR gpio: Kconfig: drop unknown symbol 'CS5535_GPIO' leds: Kconfig: Fix typo 'D2NET_V2' sound: Kconfig: drop unknown symbol ARCH_CLPS7500 ... Fix up trivial conflicts in arch/powerpc/platforms/40x/Kconfig (some new kconfig additions, close to removed commented-out old ones) commit eb59c505f8a5906ad2e053d14fab50eb8574fd6f Merge: 1619ed8 c233523 Author: Linus Torvalds Date: Sun Jan 8 13:10:57 2012 -0800 Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm * 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (76 commits) PM / Hibernate: Implement compat_ioctl for /dev/snapshot PM / Freezer: fix return value of freezable_schedule_timeout_killable() PM / shmobile: Allow the A4R domain to be turned off at run time PM / input / touchscreen: Make st1232 use device PM QoS constraints PM / QoS: Introduce dev_pm_qos_add_ancestor_request() PM / shmobile: Remove the stay_on flag from SH7372's PM domains PM / shmobile: Don't include SH7372's INTCS in syscore suspend/resume PM / shmobile: Add support for the sh7372 A4S power domain / sleep mode PM: Drop generic_subsys_pm_ops PM / Sleep: Remove forward-only callbacks from AMBA bus type PM / Sleep: Remove forward-only callbacks from platform bus type PM: Run the driver callback directly if the subsystem one is not there PM / Sleep: Make pm_op() and pm_noirq_op() return callback pointers PM/Devfreq: Add Exynos4-bus device DVFS driver for Exynos4210/4212/4412. PM / Sleep: Merge internal functions in generic_ops.c PM / Sleep: Simplify generic system suspend callbacks PM / Hibernate: Remove deprecated hibernation snapshot ioctls PM / Sleep: Fix freezer failures due to racy usermodehelper_is_disabled() ARM: S3C64XX: Implement basic power domain support PM / shmobile: Use common always on power domain governor ... Fix up trivial conflict in fs/xfs/xfs_buf.c due to removal of unused XBT_FORCE_SLEEP bit commit 972b2c719990f91eb3b2310d44ef8a2d38955a14 Merge: 02550d6 c3aa077 Author: Linus Torvalds Date: Sun Jan 8 12:19:57 2012 -0800 Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs * 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits) reiserfs: Properly display mount options in /proc/mounts vfs: prevent remount read-only if pending removes vfs: count unlinked inodes vfs: protect remounting superblock read-only vfs: keep list of mounts for each superblock vfs: switch ->show_options() to struct dentry * vfs: switch ->show_path() to struct dentry * vfs: switch ->show_devname() to struct dentry * vfs: switch ->show_stats to struct dentry * switch security_path_chmod() to struct path * vfs: prefer ->dentry->d_sb to ->mnt->mnt_sb vfs: trim includes a bit switch mnt_namespace ->root to struct mount vfs: take /proc/*/mounts and friends to fs/proc_namespace.c vfs: opencode mntget() mnt_set_mountpoint() vfs: spread struct mount - remaining argument of next_mnt() vfs: move fsnotify junk to struct mount vfs: move mnt_devname vfs: move mnt_list to struct mount vfs: switch pnode.h macros to struct mount * ... commit 7affca3537d74365128e477b40c529d6f2fe86c8 Merge: 356b954 ff4b8a5 Author: Linus Torvalds Date: Sat Jan 7 12:03:30 2012 -0800 Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core * 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (73 commits) arm: fix up some samsung merge sysdev conversion problems firmware: Fix an oops on reading fw_priv->fw in sysfs loading file Drivers:hv: Fix a bug in vmbus_driver_unregister() driver core: remove __must_check from device_create_file debugfs: add missing #ifdef HAS_IOMEM arm: time.h: remove device.h #include driver-core: remove sysdev.h usage. clockevents: remove sysdev.h arm: convert sysdev_class to a regular subsystem arm: leds: convert sysdev_class to a regular subsystem kobject: remove kset_find_obj_hinted() m86k: gpio - convert sysdev_class to a regular subsystem mips: txx9_sram - convert sysdev_class to a regular subsystem mips: 7segled - convert sysdev_class to a regular subsystem sh: dma - convert sysdev_class to a regular subsystem sh: intc - convert sysdev_class to a regular subsystem power: suspend - convert sysdev_class to a regular subsystem power: qe_ic - convert sysdev_class to a regular subsystem power: cmm - convert sysdev_class to a regular subsystem s390: time - convert sysdev_class to a regular subsystem ... Fix up conflicts with 'struct sysdev' removal from various platform drivers that got changed: - arch/arm/mach-exynos/cpu.c - arch/arm/mach-exynos/irq-eint.c - arch/arm/mach-s3c64xx/common.c - arch/arm/mach-s3c64xx/cpu.c - arch/arm/mach-s5p64x0/cpu.c - arch/arm/mach-s5pv210/common.c - arch/arm/plat-samsung/include/plat/cpu.h - arch/powerpc/kernel/sysfs.c and fix up cpu_is_hotpluggable() as per Greg in include/linux/cpu.h commit ff4b8a57f0aaa2882d444ca44b2b9b333d22a4df Merge: 805a6af ea04018 Author: Greg Kroah-Hartman Date: Fri Jan 6 11:42:52 2012 -0800 Merge branch 'driver-core-next' into Linux 3.2 This resolves the conflict in the arch/arm/mach-s3c64xx/s3c6400.c file, and it fixes the build error in the arch/x86/kernel/microcode_core.c file, that the merge did not catch. The microcode_core.c patch was provided by Stephen Rothwell who was invaluable in the merge issues involved with the large sysdev removal process in the driver-core tree. Signed-off-by: Greg Kroah-Hartman commit 1032c736e81cdf490ae62f86da7efe67c3c3e61d Merge: 117ff42 cb00ec3 Author: John W. Linville Date: Thu Jan 5 10:12:45 2012 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem Conflicts: drivers/net/wireless/b43legacy/dma.c commit cb00ec382b57d35b955c085198cd54a0c1fcdc94 Author: John W. Linville Date: Thu Jan 5 09:13:06 2012 -0500 ath6kl: revert USB support The ath6kl driver is causing build failures when the ath6kl bits are not built as modules. A better fix is forthcoming in a future release, but for now lets revert the problematic code. This reverts the following commits: fde57764ef8751b9aca11b6f6221ac5555bda699 d70385a26ad9a122a5450d066550470107b6bc38 59d954dda4b9b3f3e61d4b87a2b26952b8c4c09d Signed-off-by: John W. Linville commit 117ff42fd43e92d24c6aa6f3e4f0f1e1edada140 Merge: 1d57830 805a6af Author: David S. Miller Date: Wed Jan 4 21:35:43 2012 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net commit 00e8e69270cc8d5b9db98dcb73d26f21c2539010 Author: Yogesh Ashok Powar Date: Tue Dec 20 11:39:29 2011 +0530 mwl8k: Changing the driver version to 0.13 Signed-off-by: Yogesh Ashok Powar Signed-off-by: Nishant Sarmukadam Signed-off-by: John W. Linville commit 67f61261b6df33a9aee8a6e014b4aef661f1a532 Author: Mohammed Shafi Shajakhan Date: Fri Dec 30 16:49:01 2011 +0530 mac80211: remove dead code ieee80211_offchannel_enable_all_ps function is no longer used and looks like its logic is extensively handled in ieee80211_offchannel_stop_vifs Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 6b6accc3832e5a124eeb144c6b3b1ff65b503d2b Author: Yogesh Ashok Powar Date: Fri Dec 30 16:35:27 2011 +0530 mwl8k: Recover from firmware crash In case of firmware crash, reload the firmware and reconfigure it by triggering ieee80211_hw_restart; mac80211 utility function. V2 Addressed following comments from Lennert: - Stop the queues during reload - Removed atomic_t declaration for hw_restart - Extend the firmware reload support for sta firmware as well - Other misc changes Signed-off-by: Nishant Sarmukadam Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit 7f28197560116f08c4c27342974f9e64cab2cbb1 Author: Yogesh Ashok Powar Date: Fri Dec 30 16:34:25 2011 +0530 mac80211: Call driver commands after drv_start in mac80211 restart code Ideally, hardware/firmware initialization is complete after the drv_start routine. In mac80211 restart code (ieee80211_reconfig), defer calling the driver commands i.e. setup fragmentation threshold, rts threshold and coverage class till drv_start routine is called. Signed-off-by: Nishant Sarmukadam Signed-off-by: Yogesh Ashok Powar v2: Removed extra blank line added. Signed-off-by: John W. Linville commit 98f0a5eb02bbfff662664bf65f469dc4abd701fd Author: Mohammed Shafi Shajakhan Date: Wed Dec 28 19:09:54 2011 +0530 ath9k: tx queue enable is read only for EDMA chipsets for EDMA chip AR_Q_TXE (tx enable for each queue) is read only Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 7fbaf3efb042871fce7c9cd706cf9f90d61b5e59 Author: Gertjan van Wingerde Date: Wed Dec 28 01:53:24 2011 +0100 rt2x00: Change RF3853 to RF3053. According to the latest Ralink vendor drivers, this seems to be the real RF chipset type. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5a87e7a706750c84b3b17943e55a9de77d40869d Author: Gertjan van Wingerde Date: Wed Dec 28 01:53:23 2011 +0100 rt2x00: RT3593 is also applicable to USB. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit d823a50e55fade0eda3708b00dbf49c5476c82e2 Author: Jakub Kiciński Date: Wed Dec 28 01:53:22 2011 +0100 rt2x00usb: Zero USB padding before sending URB When USB driver requires padding at the end of frame or URB it will report this need by increasing return value of get_tx_data_len callback. Common USB code uses that return value as desired URB length. Ensure that appropriate part of skb's tailroom exists and is zeroed. Signed-off-by: Jakub Kicinski Acked-by: Ivo van Doorn -- drivers/net/wireless/rt2x00/rt2x00usb.c | 16 +++++++++++++--- 1 files changed, 13 insertions(+), 3 deletions(-) Signed-off-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 4bcafac8c64e015775fcb844f643c2c70115bf46 Author: Jakub Kiciński Date: Wed Dec 28 01:53:21 2011 +0100 rt2800usb: Let rt2x00usb handle USB padding Older USB drivers does not append end padding to skb but instead report it in size of data to be transmitted to HW. rt2800usb should follow that behaviour. Custom write_tx_data callback which was adding pad to skb is not be needed any more. Thanks to this patch frames handed back from rt2800usb to mac80211 will no longer contain end padding. Signed-off-by: Jakub Kicinski Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5aa570159090b8bcf1357ef92386c24ff32d76d2 Author: Gertjan van Wingerde Date: Wed Dec 28 01:53:20 2011 +0100 rt2x00: Convert big if-statements to switch-statements. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 70127cb69418487cec223575a34148604f156397 Author: Gertjan van Wingerde Date: Wed Dec 28 01:53:19 2011 +0100 rt2x00: Whitespace cleanup. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit bc93eda7e903ff75cefcb6e247ed9b8e9f8e9783 Author: Gertjan van Wingerde Date: Wed Dec 28 01:53:18 2011 +0100 rt2x00: Identify rt2800usb chipsets. According to the latest USB ID database these are all RT2770 / RT2870 / RT307x devices. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 65a692284d0343e1610eaf91a333a29769e989ef Author: Christian Lamparter Date: Tue Dec 27 21:01:55 2011 +0100 carl9170: move checksum and txseq into subfunctions Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 3f81f8f1524ccca24df1029b0cf825ecef5e5cdc Author: Larry Finger Date: Tue Dec 27 12:22:51 2011 -0600 rt2800usb: Move ID out of unknown Testing on the openSUSE wireless forum has shown that a Linksys WUSB54GC v3 with USB ID 1737:0077 works with rt2800usb when the ID is written to /sys/.../new_id. This ID can therefore be moved out of UNKNOWN. Signed-off-by: Larry Finger Cc: Stable Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 30fa904724b9c7737264e2eada7f16afc8deee79 Author: Mohammed Shafi Shajakhan Date: Tue Dec 27 18:54:07 2011 +0530 mac80211: use RCU read locks for sta_info_get this is being recently introduced by the commit a85e1d55974646a442d95911e3f7d7a891ea9ac5 Cc: Paul Stewart Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit f961e34ebef84b532ec6c477f73b66d9a8b0ddbc Author: Stanislav Yakovlev Date: Mon Dec 26 18:31:11 2011 -0500 ipw2x00: remove reset_port functionality Removes reset_port since it isn't used anywhere as suggested by Johannes Berg. Signed-off-by: Stanislav Yakovlev Signed-off-by: John W. Linville commit e46a2cf9e1dea9267e8a3f5284aea908e5aac5c6 Author: Mohammed Shafi Shajakhan Date: Mon Dec 26 10:43:29 2011 +0530 mac80211: fix kernel panic in IBSS due to a regression kernel panic occurs when we create an IBSS mode and leave it for sometime without any joiner and this is introduced by the commit ec2b774e7c91094d8c00de579646f1162b87b01e where we don't put proper braces for 'list_for_each_entry_safe' and we pass an invalid 'sta' pointer to __sta_info_destroy EIP is at __list_add+0xe/0xa0 EAX: f3b63db4 EBX: 00000000 ECX: eab88c1c EDX: 00000000 ESI: 00000000 EDI: 00000246 EBP: f3b63d80 ESP: f3b63d58 DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 Process kworker/u:2 (pid: 198, ti=f3b62000 task=f3afbea0 task.ti=f3b62000) Stack: 00000000 00000000 f9ef9821 00000000 00000000 eab88c30 f3b63d80 c017f623 eab88bf0 eab88bf0 f3b63dd0 c066f925 00000000 00000002 00000000 f9ef9821 f3b63da0 c0180a2b eab88c1c eab88c30 00000002 f3afbea0 eab88bf4 f3b63db4 Call Trace: [] ? __ieee80211_stop_tx_ba_session+0x31/0x60 [mac80211] [] ? debug_mutex_add_waiter+0x23/0x60 [] __mutex_lock_common+0xd5/0x390 [] ? __ieee80211_stop_tx_ba_session+0x31/0x60 [mac80211] [] ? trace_hardirqs_off+0xb/0x10 [] mutex_lock_nested+0x47/0x60 [] ? __ieee80211_stop_tx_ba_session+0x31/0x60 [mac80211] [] __ieee80211_stop_tx_ba_session+0x31/0x60 [mac80211] [] ieee80211_sta_tear_down_BA_sessions+0x39/0x60 [mac80211] [] __sta_info_destroy+0x57/0x780 [mac80211] [] ieee80211_sta_expire+0x93/0xb0 [mac80211] [] ieee80211_ibss_work+0x2d6/0x530 [mac80211] Cc: Marek Lindner Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit de2ee84db6a0201278e35590821cd014cb71830a Author: Mohammed Shafi Shajakhan Date: Sat Dec 24 18:43:28 2011 +0530 mac80211: fix scan state machine when we run high bandwidth UDP traffic and we trigger a scan, the scan state machine seems to be looping in SUSPEND->RESUME->DECISION->SUSPEND and SET_CHANNEL seems to be never called as 'tx_empty' is never true while running UDP traffic. fix this by settting SET_CHANNEL state when we get into RESUME state. Cc: Leela Kella Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 841f1d92fb8ca6aa70b56003d1da8874c593e820 Author: Julia Lawall Date: Fri Dec 23 18:39:27 2011 +0100 net/rfkill/rfkill-gpio.c: introduce missing kfree Error handling code following a kmalloc should free the allocated data. The label fail_alloc already does this for rfkill. A simplified version of the semantic match that finds the problem is as follows: (http://coccinelle.lip6.fr) // @r exists@ local idexpression x; statement S; identifier f1; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } x->f1 ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit 016c2177918301c9a2557c675c12ab88667a27bb Author: Rajkumar Manoharan Date: Fri Dec 23 21:27:02 2011 +0530 ath9k_hw: increase tx status ring buffer size AR9003 chips read tx status from ring buffer whose max number of status descriptor is mininal compared to max number of tx buffers. On a stress condition, it can be easily overflown which might cause false tx hung detection. Though increasing number of max status descriptors consumes more memory, it helps to avoid false positive chip resets. Cc: Paul Stewart Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 68acc4afb040d98ddfd2cae0de09e2f4e1ee127f Author: Stanislaw Gruszka Date: Fri Dec 23 08:13:50 2011 +0100 iwlegacy: 3945: fix hw passive scan on radar channels Patch fix firmware error on "iw dev wlan0 scan passive" for hardware scanning (with disable_hw_scan=0 module parameter). iwl3945 0000:03:00.0: Microcode SW error detected. Restarting 0x82000008. iwl3945 0000:03:00.0: Loaded firmware version: 15.32.2.9 iwl3945 0000:03:00.0: Start IWL Error Log Dump: iwl3945 0000:03:00.0: Status: 0x0002A2E4, count: 1 iwl3945 0000:03:00.0: Desc Time asrtPC blink2 ilink1 nmiPC Line iwl3945 0000:03:00.0: SYSASSERT (0x5) 0041263900 0x13756 0x0031C 0x00000 764 iwl3945 0000:03:00.0: Error Reply type 0x000002FC cmd C_SCAN (0x80) seq 0x443E ser 0x00340000 iwl3945 0000:03:00.0: Command C_SCAN failed: FW Error iwl3945 0000:03:00.0: Can't stop Rx DMA. We have disable ability to change passive scanning to active on particular channel when traffic is detected on that channel. Otherwise firmware will report error, when we try to do passive scan on radar channels. Reported-and-debugged-by: Pedro Francisco Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 81fb46139504f72a92243245df878e1a1af35f89 Author: Stanislaw Gruszka Date: Fri Dec 23 08:13:49 2011 +0100 iwlegacy: 3945: simplify calculations of retry limit Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 5d0bef903abe8ac438b660c77d886e6b0394797c Author: Stanislaw Gruszka Date: Fri Dec 23 08:13:48 2011 +0100 iwlegacy: random 3945-rs.c cleanups Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 5bf0dac47fef5270bde3c20a734a3c69e51f9eff Author: Stanislaw Gruszka Date: Fri Dec 23 08:13:47 2011 +0100 iwlegacy: 4965: remove one il4965_hdl_beacon We have two such functions. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 280ade5ea9555208716131765cc194069eaf97d9 Author: Stanislaw Gruszka Date: Fri Dec 23 08:13:46 2011 +0100 iwlegacy: 3945: get rid of hw_{set,get}_rate Remove these helpers, some are not unused at all, one can be unrolled in place of use. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 616107ed818876076bc482d3a33f89c31297b86e Author: Stanislaw Gruszka Date: Fri Dec 23 08:13:45 2011 +0100 iwlegacy: 4965: small tx_cmd build cleanup Get rid of two inline functions related and simplify a bit rts_retry_limit calculations. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit a0c1ef3b12f88c0ed7683472395145e491808b4b Author: Stanislaw Gruszka Date: Fri Dec 23 08:13:44 2011 +0100 iwlegacy: 4965: toggle tx antenna inline Make function static and change antenna number inline. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 17d4eca6432bb1d4753d7894b824271673a1640a Author: Stanislaw Gruszka Date: Fri Dec 23 08:13:43 2011 +0100 iwlegacy: move some i/o helpers out of inline This save us about 20k of text size, and should have no impact on performance as hot paths do not use much I/O. Before: text data bss dec hex filename 108512 1784 168 110464 1af80 drivers/net/wireless/iwlegacy/iwl3945.ko 165730 2164 156 168050 29072 drivers/net/wireless/iwlegacy/iwl4965.ko 91942 328 48 92318 1689e drivers/net/wireless/iwlegacy/iwlegacy.ko After: text data bss dec hex filename 95556 1784 168 97508 17ce4 drivers/net/wireless/iwlegacy/iwl3945.ko 154853 2164 156 157173 265f5 drivers/net/wireless/iwlegacy/iwl4965.ko 91634 328 48 92010 1676a drivers/net/wireless/iwlegacy/iwlegacy.ko Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit d71be937202853eda76562e9678073465d5c0fa8 Author: Dan Carpenter Date: Fri Dec 23 08:13:42 2011 +0100 iwlegacy: off by one in iwl3945_hw_build_tx_cmd_rate() We use "rate_index" like this: rate = iwl3945_rates[rate_index].plcp; The iwl3945_rates[] array has IWL_RATE_COUNT_3945 elements so the limit here is off by one. Signed-off-by: Dan Carpenter Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 2b20920d639da3ee275fcc691431b5b3daa9a3e7 Author: Stanislaw Gruszka Date: Fri Dec 23 08:13:41 2011 +0100 iwlegacy: remove iwl-sta.c I forgot to remove this file before. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit f6e8cb72ad4b0381d79df4575ec1f5c5df2e73b9 Author: Eliad Peller Date: Fri Dec 23 01:48:06 2011 +0200 mac80211: always clear SDATA_STATE_OFFCHANNEL flag If the vif is stopped while it is offchannel (e.g. right after p2p negotiation) the SDATA_STATE_OFFCHANNEL flag is never get cleared, resulting in various bad effects (e.g. GO can't start beaconing). Fix it by clearing the SDATA_STATE_OFFCHANNEL flag even if the vif is stopped. Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit b156579b1404871d97d2713c1f93c9526618e3ba Author: Dave Täht Date: Thu Dec 22 12:55:08 2011 -0800 wireless: Treat IPv6 diffserv the same as IPv4 for 802.11e Wireless will select a different hardware queue based on the top 3 bits of the diffserv field, for ipv4. Extend that queue selection mechanism to ipv6, and make the calls orthogonal. Signed-off-by: Dave Täht Signed-off-by: John W. Linville commit 9931df2692ddb7db092550ce063e674730176ecf Author: Helmut Schaa Date: Thu Dec 22 09:36:29 2011 +0100 rt2x00: Mark active channel's survey data as "in use" This is just a cosmetical fix since we only return survey data for the active channel but it allows iw to show that the survey data is for the currently used channel. Signed-off-by: Helmut Schaa Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5d07a3d62f63f3a9ce769c37108f8411c014903e Author: Larry Finger Date: Wed Dec 21 18:47:59 2011 -0600 b43legacy: Avoid packet losses in the dma worker code This patch addresses a bug in the dma worker code that keeps draining packets even when the hardware queues are full. In such cases packets can not be passed down to the device and are erroneusly dropped by the code. It is based on commit bad6919469662b7c92bc6353642aaaa777b36bac, which fixes the same problem in b43. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 9bd2857188d920f358cfb740fc6f88e1a17a837e Author: Rafał Miłecki Date: Thu Dec 22 00:47:19 2011 +0100 b43: N-PHY: fix typo in TX power fix Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit b97c071840ccc2c8016de87c21a95c9286415448 Author: Rafał Miłecki Date: Thu Dec 22 00:47:18 2011 +0100 b43: N-PHY: fix controling RF override Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit ed5103edc217aea9e2018178971ad4ff0d40a9b0 Author: Rafał Miłecki Date: Thu Dec 22 00:47:17 2011 +0100 b43: N-PHY: update gain ctl workarounds Specs were updated, now we match wl according to MMIO dumps. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit cc96adddbb04ead9ed9e844f6336f7cdfebbb407 Author: Rafał Miłecki Date: Thu Dec 22 00:47:16 2011 +0100 b43: add lacking boardflags defines Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 6ec414fd123f847d590ba71e68b48e77bbdb3442 Author: Luis R. Rodriguez Date: Wed Dec 21 09:27:01 2011 -0800 ath9k: make ath_mci_duty_cycle static This fixes this sparse warning: CHECK drivers/net/wireless/ath/ath9k/mci.c drivers/net/wireless/ath/ath9k/mci.c:23:4: warning: symbol 'ath_mci_duty_cycle' was not declared. Should it be static? Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 84c816dad5f5af90699ca12a520f25f9067bad79 Author: Djalal Harouni Date: Wed Dec 21 01:21:47 2011 +0100 drivers/iwlwifi: use dma_zalloc_coherent() for DMA allocation Replace dma_alloc_coherent()+memset() with the new dma_zalloc_coherent() Signed-off-by: Djalal Harouni Signed-off-by: John W. Linville commit 3dda07b6f94b8f9777156be1bf37bf707ecea447 Author: Rafał Miłecki Date: Tue Dec 20 22:45:49 2011 +0100 b43: N-PHY: get idle TSSI values Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 2c8ac7eb96e45997d99a5da6d0d5cdf265587437 Author: Rafał Miłecki Date: Tue Dec 20 22:45:48 2011 +0100 b43: N-PHY: fix success condition of running samples Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 9dd4d9b99218b2bebbcfb4627b34145250deeb6e Author: Rafał Miłecki Date: Tue Dec 20 22:45:47 2011 +0100 b43: N-PHY: move common TX/RX functions Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 3b77d5ec0c86b8a9594217ff9024b00e4d1c5795 Author: Luis R. Rodriguez Date: Tue Dec 20 12:23:38 2011 -0800 cfg80211: relicense reg.c reg.h and genregdb.awk to ISC Following the tradition we have had with ath5k, ath9k, CRDA, wireless-regdb I'd like to license this code under the permissive ISC license for the code sharing purposes with other OSes, it'd sure be nice to help the landscape in this area. Although I am %82.89 owner of the regulatory code I have asked every contributor to the regulatory code and have receieved positive Acked-bys from everyone except two deceased entities: o Frans Pop RIP 2010 [0] - Frans Pop - Frans Pop o Nokia RIP February, 11, 2011 [1], [2] - ext-yuri.ershov@nokia.com - kalle.valo@nokia.com Frans Pop's contribution was a simple patch 55f98938, titled, "wireless: remove trailing space in messages" which just add a \n to some printk lines. I'm going to treat these additions as uncopyrightable. As for the contributions made by employees on behalf of Nokia my contact point was Petri Karhula but after one month he noted he had not been able to get traction from the legal department on this request, as such it I proceeded by replacing their contributions in previous patches. The end goal is to help a clean rewrite that starts in userspace that is shared under ISC license which currently is taking place with the regulatory simulator [3]. [0] http://lists.debian.org/debian-devel/2011/12/msg00263.html [1] http://press.nokia.com/2011/02/11/nokia-outlines-new-strategy-introduces-new-leadership-operational-structure/ [2] http://NokiaPlanB.com [3] git://github.com/mcgrof/regsim.git Acked-by: Thadeu Lima de Souza Cascardo Acked-by: Dan Carpenter Acked-by: Mihai Moldovan Acked-by: Uwe Kleine-König Acked-by: Sven Neumann Acked-by: Johannes Berg Acked-by: Tomas Winkler Acked-by: Tony Vroon Acked-by: Pavel Roskin Acked-by: Bob Copeland Acked-by: Lucas De Marchi Acked-by: Pat Erley Acked-by: Tejun Heo Acked-by: John W. Linville Acked-by: Chris Wright Acked-by: Joe Perches Acked-by: Paul Gortmaker Acked-by: John Gordon Acked-by: Simon Barber Acked-by: Rajkumar Manoharan Acked-by: Jiri Benc Acked-by: Bruno Randolf Acked-by: Scott James Remnant Acked-by: Roel Kluin Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6653325a556ef5a838ed7d3a0a6552f0efc72739 Author: Luis R. Rodriguez Date: Tue Dec 20 12:23:37 2011 -0800 cfg80211: replace reg.c Nokia commit 269ac5 Nokia hasn't gotten back to me in over 1 month for a relicense change request. There are only a few changes that they contributed, so just reverting their changes but replacing with another set. This change replaces this commit: commit 269ac5fd2d75b118d76a2291e28796527db2f3f8 Author: Kalle Valo Date: Tue Dec 1 10:47:15 2009 +0200 cfg80211: indent regulatory messages with spaces The regulatory messages in syslog look weird: kernel: cfg80211: Regulatory domain: US kernel: ^I(start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) kernel: ^I(2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm) kernel: ^I(5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) kernel: ^I(5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) kernel: ^I(5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) kernel: ^I(5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) kernel: ^I(5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm) Indent them with four spaces instead of the tab character to get prettier output. Signed-off-by: Kalle Valo Acked: Luis R. Rodriguez Signed-off-by: John W. Linville Cc: Petri Karhula Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8848bef0382af53a7c9568bbc6757db97c53a0e3 Author: Luis R. Rodriguez Date: Tue Dec 20 12:23:36 2011 -0800 cfg80211: replace reg.c Nokia commit c4c32294 Nokia hasn't gotten back to me in over 1 month for a relicense change request. There are only a few changes that they contributed, so just reverting their changes but replacing with another set. This change replaces this commit: commit c4c322941ce0d7e2b7b8794ad70683123d9cb26a Author: Yuri Ershov Date: Tue Jun 29 15:08:08 2010 +0400 cfg80211: Update of regulatory request initiator handling In some cases there could be possible dereferencing freed pointer. The update is intended to avoid this issue. Signed-off-by: Yuri Ershov Signed-off-by: John W. Linville Cc: Petri Karhula Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a98aa7ae14529144527b64a54a9ecd828fa805a6 Author: Luis R. Rodriguez Date: Tue Dec 20 10:46:11 2011 -0800 ath9k_hw: fix sparse complaint on ar9003_switch_com_spdt_get() This fixes this sparse complaint: make C=2 CF="-D__CHECK_ENDIAN__" M=drivers/net/wireless/ath/ CHECK drivers/net/wireless/ath/ath9k/ar9003_eeprom.c drivers/net/wireless/ath/ath9k/ar9003_eeprom.c:3544:21: warning: incorrect type in assignment (different base types) drivers/net/wireless/ath/ath9k/ar9003_eeprom.c:3544:21: expected restricted __le32 [usertype] val drivers/net/wireless/ath/ath9k/ar9003_eeprom.c:3544:21: got restricted __le16 [usertype] switchcomspdt drivers/net/wireless/ath/ath9k/ar9003_eeprom.c:3546:21: warning: incorrect type in assignment (different base types) drivers/net/wireless/ath/ath9k/ar9003_eeprom.c:3546:21: expected restricted __le32 [usertype] val drivers/net/wireless/ath/ath9k/ar9003_eeprom.c:3546:21: got restricted __le16 [usertype] switchcomspdt The eep->modalHeader5G.switchcomspdt is a le16 and we return u16, so just return le16_to_cpu(). Cc: Felix Fietkau Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 76ff9a611d08d1fc03283c32cf16180e40cb6931 Author: Luis R. Rodriguez Date: Tue Dec 20 10:46:10 2011 -0800 ath5k: avoid sparse warnings on tracing Just skip the sparse checks on tracing. CHECK drivers/net/wireless/ath/ath5k/base.c include/trace/../../drivers/net/wireless/ath/ath5k/trace.h:19:1: error: incompatible types for operation (<) include/trace/../../drivers/net/wireless/ath/ath5k/trace.h:19:1: left side has type struct ath5k_hw * include/trace/../../drivers/net/wireless/ath/ath5k/trace.h:19:1: right side has type int include/trace/../../drivers/net/wireless/ath/ath5k/trace.h:37:1: error: incompatible types for operation (<) include/trace/../../drivers/net/wireless/ath/ath5k/trace.h:37:1: left side has type struct ath5k_hw * include/trace/../../drivers/net/wireless/ath/ath5k/trace.h:37:1: right side has type int include/trace/../../drivers/net/wireless/ath/ath5k/trace.h:63:1: error: incompatible types for operation (<) include/trace/../../drivers/net/wireless/ath/ath5k/trace.h:63:1: left side has type struct ath5k_hw * include/trace/../../drivers/net/wireless/ath/ath5k/trace.h:63:1: right side has type int /home/mcgrof/wireless-testing/arch/x86/include/asm/jump_label.h:16:9: error: bad asm output /home/mcgrof/wireless-testing/arch/x86/include/asm/jump_label.h:16:9: error: bad asm output /home/mcgrof/wireless-testing/arch/x86/include/asm/jump_label.h:16:9: error: bad asm output /home/mcgrof/wireless-testing/arch/x86/include/asm/jump_label.h:16:9: error: bad asm output CC [M] drivers/net/wireless/ath/ath5k/base.o Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1512a486569e039555907db36948d92b7fd32d7e Author: Luis R. Rodriguez Date: Tue Dec 20 10:46:09 2011 -0800 ath9k: fix tx queue sparse complaint This fixes this rant from sparse: CHECK drivers/net/wireless/ath/ath9k/xmit.c drivers/net/wireless/ath/ath9k/xmit.c:107:13: warning: context imbalance in 'ath_txq_lock' - wrong count at exit drivers/net/wireless/ath/ath9k/xmit.c:112:13: warning: context imbalance in 'ath_txq_unlock' - unexpected unlock drivers/net/wireless/ath/ath9k/xmit.c:123:30: warning: context imbalance in 'ath_txq_unlock_complete' - unexpected unlock CC [M] drivers/net/wireless/ath/ath9k/xmit. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e01ff34edca752ae45ee359896cdf8b97f216739 Author: Luis R. Rodriguez Date: Tue Dec 20 10:46:08 2011 -0800 ath9k_hw: fix sparse warnings on ar9003_rtt.c This fixes these sparse warnings: CHECK drivers/net/wireless/ath/ath9k/ar9003_rtt.c drivers/net/wireless/ath/ath9k/ar9003_rtt.c:36:6: warning: symbol 'ar9003_hw_rtt_enable' was not declared. Should it be static? drivers/net/wireless/ath/ath9k/ar9003_rtt.c:41:6: warning: symbol 'ar9003_hw_rtt_disable' was not declared. Should it be static? drivers/net/wireless/ath/ath9k/ar9003_rtt.c:46:6: warning: symbol 'ar9003_hw_rtt_set_mask' was not declared. Should it be static? drivers/net/wireless/ath/ath9k/ar9003_rtt.c:52:6: warning: symbol 'ar9003_hw_rtt_force_restore' was not declared. Should it be static? drivers/net/wireless/ath/ath9k/ar9003_rtt.c:102:6: warning: symbol 'ar9003_hw_rtt_load_hist' was not declared. Should it be static? drivers/net/wireless/ath/ath9k/ar9003_rtt.c:135:6: warning: symbol 'ar9003_hw_rtt_fill_hist' was not declared. Should it be static? drivers/net/wireless/ath/ath9k/ar9003_rtt.c:143:6: warning: symbol 'ar9003_hw_rtt_clear_hist' was not declared. Should it be stati Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit cee0bec58a922976a5f4d70081a3b2fd73e108e9 Author: Dmitry Shmidt Date: Mon Dec 19 12:32:21 2011 -0800 wireless: Protect regdomain change by mutex Signed-off-by: Dmitry Shmidt Signed-off-by: John W. Linville commit b423db5b356749e3e39faad607d387cd4c1a9d30 Author: Helmut Schaa Date: Mon Dec 19 11:39:54 2011 +0100 mac80211: Remove superfluous ieee80211_rx_h_remove_qos_control This seems to not serve any purpose anymore, at least all frame processing afterwards seems to be able to deal with QoS frames. So, let's save the expensive memmove and just leave the QoS header in the 802.11 frame for further processing. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit f4ae40a6a50a98ac23d4b285f739455e926a473e Author: Al Viro Date: Sun Jul 24 04:33:43 2011 -0400 switch debugfs to umode_t Signed-off-by: Al Viro commit 57adc1fcbae2c13104ce291b40f23e40a414fa87 Merge: faa85aa dc0d633 Author: John W. Linville Date: Tue Jan 3 15:16:34 2012 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem Conflicts: drivers/net/wireless/b43/dma.c drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c commit c5993de864d96b3656e9fca38c377b130105d97a Author: Andrei Emeltchenko Date: Fri Dec 30 12:07:47 2011 +0200 Bluetooth: Correct packet len calculation Remove unneeded skb_pull and correct packet length calculation removing magic number. Move BT_DBG after len check otherwise it could possibly access wrong memory. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 3542b854bc26e5f8e42e0eab4d7f7453b74a362d Author: Gustavo F. Padovan Date: Wed Dec 28 13:54:17 2011 -0200 Bluetooth: Keep chan->state and sk->sk_state in sync Those vars need to be in sync, otherwise l2cap_core.c can get the wrong state. Signed-off-by: Gustavo F. Padovan commit 333055f2aaabadb951b5ecd90f6a20a9aee38c29 Author: Gustavo F. Padovan Date: Thu Dec 22 15:14:39 2011 -0200 Bluetooth: Don't use *_bh locks anymore Those locks are not shared between interrupt and process context anymore, so remove the part that disable interrupts. We are still safe because preemption is disabled. Signed-off-by: Gustavo F. Padovan commit e75a8b0c332875b2a2d22acdc331fc2b83788cac Author: Andre Guedes Date: Mon Jan 2 16:50:53 2012 -0300 Bluetooth: Fix mgmt_stop_discovery_failed() Stop Discovery Command Status Event should use mgmt status code. Signed-off-by: Andre Guedes Acked-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit d084329e2862922bbc9a2de04a5c8e7219bfceb9 Author: Andre Guedes Date: Mon Jan 2 19:18:11 2012 -0300 Bluetooth: Queue adv_work on system workqueue This patch queues hdev->adv_work on the system-wide workqueue instead of on hdev->workqueue. This way we keep only tx/rx works on hdev->workqueue. Signed-off-by: Andre Guedes Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit c1b9b4f45f014093231c568be9b5c2e392943696 Author: Andre Guedes Date: Mon Jan 2 19:18:10 2012 -0300 Bluetooth: Fix adv_work delay This patch fixes the adv_work delay. It should be set to ADV_ CLEAR_TIMEOUT instead of (jiffies + ADV_CLEAR_TIMEOUT) since queue_delayed_work() receives the number of jiffies to wait before queueing. It also removes the unnecessary cancel_delayed_ work_sync() call in case LE scan has been disabled. Signed-off-by: Andre Guedes Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit b5b32b653dedb29eb95e57cbbaefc4abf7141cb2 Author: Andre Guedes Date: Fri Dec 30 10:34:04 2011 -0300 Bluetooth: Fix hci_cc_read_local_ext_features() Copy the Features value according to the Page number. Signed-off-by: Andre Guedes Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 59e294065ddee7074af91e4f5e12e6095eb1135b Author: Andre Guedes Date: Fri Dec 30 10:34:03 2011 -0300 Bluetooth: Rename extfeatures This patch renames hdev->extfeatures to hdev->host_features since it holds the extended features Page 1 (aka host features). Signed-off-by: Andre Guedes Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 94f5bfb8c1641080c3c4325714b8fe7d2839a906 Author: Gustavo F. Padovan Date: Tue Dec 27 15:28:48 2011 -0200 Bluetooth: Remove *_bh from socket list lock. We don't need it anymore. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 4b5dd696f81b210c1511ca7a969525126266c933 Author: Gustavo F. Padovan Date: Tue Dec 27 15:28:47 2011 -0200 Bluetooth: Remove local_bh_disable() from hci_sock.c Everything is in process context now, we do not need such a call. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit ee65d19e25c7ace7792bcd289776b2e24f4bf059 Author: Gustavo F. Padovan Date: Tue Dec 27 15:28:46 2011 -0200 Bluetooth: Remove *_bh locks from SCO Those locks are not shared between interrupt and process context anymore, so remove the part that disable interrupts. We are still safe because preemption is disabled. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 393432cd8dc02b88a00decd495913643aa5ff705 Author: Gustavo F. Padovan Date: Tue Dec 27 15:28:45 2011 -0200 Bluetooth: Fix context in RFCOMM tty We now run in process context, no need to disable interrupts. Calls from the tty layer also run in process context. rw_lock was converted to spinlock, we have more writers than readers in this case. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 95ca83f42fb5f5bf789b514635f79242afe555d1 Author: Gustavo F. Padovan Date: Tue Dec 27 15:28:44 2011 -0200 Bluetooth: Fix context in rfcomm_sock_lock Code now run in process context, does not need to disable interrupt anymore. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 9219b2a08c8a1ca9935b85ec4ab119bb55b0cb15 Author: Gustavo F. Padovan Date: Mon Jan 2 20:08:04 2012 -0200 Bluetooth: Fix bacpy in l2cap_core.c It should be the dst in the copy not src. 03a001948 introduced this bug. Reported-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit dc0d633e35643662f27a0b1c531da3cd6b204b9c Merge: aef6c92 4ae1652 Author: John W. Linville Date: Mon Jan 2 16:43:54 2012 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next commit 4ae1652ef1bf38e07caa5d1d86ffd3b31103b55a Author: Gustavo F. Padovan Date: Tue Dec 27 14:43:41 2011 -0200 Bluetooth: Fix a compile warning in RFCOMM sock and sk were leftover from another change. Signed-off-by: Gustavo F. Padovan commit b7ba68c4a072c9aa8f04b8cf7838b6cd2f48d918 Merge: 8d274ab 90363dd Author: Rafael J. Wysocki Date: Sun Dec 25 23:42:20 2011 +0100 Merge branch 'pm-sleep' into pm-for-linus * pm-sleep: (51 commits) PM: Drop generic_subsys_pm_ops PM / Sleep: Remove forward-only callbacks from AMBA bus type PM / Sleep: Remove forward-only callbacks from platform bus type PM: Run the driver callback directly if the subsystem one is not there PM / Sleep: Make pm_op() and pm_noirq_op() return callback pointers PM / Sleep: Merge internal functions in generic_ops.c PM / Sleep: Simplify generic system suspend callbacks PM / Hibernate: Remove deprecated hibernation snapshot ioctls PM / Sleep: Fix freezer failures due to racy usermodehelper_is_disabled() PM / Sleep: Recommend [un]lock_system_sleep() over using pm_mutex directly PM / Sleep: Replace mutex_[un]lock(&pm_mutex) with [un]lock_system_sleep() PM / Sleep: Make [un]lock_system_sleep() generic PM / Sleep: Use the freezer_count() functions in [un]lock_system_sleep() APIs PM / Freezer: Remove the "userspace only" constraint from freezer[_do_not]_count() PM / Hibernate: Replace unintuitive 'if' condition in kernel/power/user.c with 'else' Freezer / sunrpc / NFS: don't allow TASK_KILLABLE sleeps to block the freezer PM / Sleep: Unify diagnostic messages from device suspend/resume ACPI / PM: Do not save/restore NVS on Asus K54C/K54HR PM / Hibernate: Remove deprecated hibernation test modes PM / Hibernate: Thaw processes in SNAPSHOT_CREATE_IMAGE ioctl test path ... Conflicts: kernel/kmod.c commit abb434cb0539fb355c1c921f8fd761efbbac3462 Merge: 2494654 6350323 Author: David S. Miller Date: Fri Dec 23 17:13:56 2011 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: net/bluetooth/l2cap_core.c Just two overlapping changes, one added an initialization of a local variable, and another change added a new local variable. Signed-off-by: David S. Miller commit 3573b80c42e88c2a43c068c86bcd1a753cf6e1a0 Author: Hemant Gupta Date: Fri Dec 23 11:07:24 2011 +0530 Bluetooth: Incorrect address while storing LTK. This patch fixes incorrect address storage while storing Long Term Key for LE Devices using SMP (Security Manager Protocol). The address stored should be of remote device and not of source device. Signed-off-by: Hemant Gupta Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit af3e6359a2b52970c63c3c9f73d52be281a162ad Author: Gustavo F. Padovan Date: Thu Dec 22 16:35:05 2011 -0200 Bluetooth: Don't disable interrupt when locking the queue We run everything in process context now. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit f20d09d5f7093e5dc5f231c65835e2d04739bd5e Author: Gustavo F. Padovan Date: Thu Dec 22 16:30:27 2011 -0200 Bluetooth: remove *_bh usage from hci_dev_list and hci_cb_list They don't need to disable interrupts anymore, we only run in process context now. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 2fb9b3d4e5d720d4033461519af0d3f789924015 Author: Gustavo F. Padovan Date: Thu Dec 22 16:56:05 2011 -0200 Bluetooth: add debug output to l2cap_ack_timeout() Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 5436538fb5f2a12e5328dcaa2e3a1742be25c2e0 Author: Gustavo F. Padovan Date: Tue Dec 20 16:30:44 2011 -0200 Bluetooth: Remove l2cap priority from inside RFCOMM. RFCOMM needs a proper priority mechanism inside itself and not try to use l2cap priority to fix its own problem. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit c0190925dacd976a67044f4382d4effbed568dce Author: Jesse Sung Date: Thu Dec 22 10:48:47 2011 +0800 Bluetooth: Add support for BCM20702A0 [0a5c:21e3] Add another vendor specific ID for BCM20702A0. output of usb-devices: T: Bus=06 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0a5c ProdID=21e3 Rev=01.12 S: Manufacturer=Broadcom Corp S: Product=BCM20702A0 S: SerialNumber=9439E5CBF66C C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none) I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none) I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none) Signed-off-by: Wen-chien Jesse Sung Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 5fe57d9e9edb9182d1fa941b94902444c3174ccd Author: Brian Gix Date: Wed Dec 21 16:12:13 2011 -0800 Bluetooth: Add SMP to User Passkey and Confirm Low Energy pairing is performed through the SMP (Security Manager Protocol) mechanism rather than HCI. Signed-off-by: Brian Gix Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 2b64d153a0cc9d2b60e47be013cde8490f16e0a5 Author: Brian Gix Date: Wed Dec 21 16:12:12 2011 -0800 Bluetooth: Add MITM mechanism to LE-SMP To achive Man-In-The-Middle (MITM) level security with Low Energy, we have to enable User Passkey Comparison. This commit modifies the hard-coded JUST-WORKS pairing mechanism to support query via the MGMT interface of Passkey comparison and User Confirmation. Signed-off-by: Brian Gix Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 371fd83563252f550ce59476a7366d0b5171d316 Author: Ulisses Furquim Date: Wed Dec 21 20:02:36 2011 -0200 Bluetooth: Fix deadlocks with sock lock and L2CAP timers locks When cancelling a delayed work (timer) in L2CAP we can not sleep holding the sock mutex otherwise we might deadlock with an L2CAP timer handler. This is possible because RX/TX and L2CAP timers run in different workqueues. The scenario below illustrates the problem. Thus we are now avoiding to sleep on the timers locks. ====================================================== [ INFO: possible circular locking dependency detected ] 3.1.0-05270-ga978dc7-dirty #239 ------------------------------------------------------- kworker/1:1/873 is trying to acquire lock: (sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP){+.+...}, at: [] l2cap_chan_timeout+0x3c/0xe0 [bluetooth] but task is already holding lock: ((&(&chan->chan_timer)->work)){+.+...}, at: [] process_one_work+0x126/0x450 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 ((&(&chan->chan_timer)->work)){+.+...}: [] check_prevs_add+0xf6/0x170 [] validate_chain+0x613/0x790 [] __lock_acquire+0x4be/0xac0 [] lock_acquire+0x8d/0xb0 [] wait_on_work+0x4f/0x160 [] __cancel_work_timer+0x73/0x80 [] cancel_delayed_work_sync+0xd/0x10 [] l2cap_chan_connect+0x22d/0x470 [bluetooth] [] l2cap_sock_connect+0xb1/0x140 [bluetooth] [] kernel_connect+0xb/0x10 [] rfcomm_session_create+0x12a/0x1c0 [rfcomm] [] __rfcomm_dlc_open+0x1c7/0x240 [rfcomm] [] rfcomm_dlc_open+0x42/0x70 [rfcomm] [] rfcomm_sock_connect+0x103/0x150 [rfcomm] [] sys_connect+0xae/0xc0 [] compat_sys_socketcall+0xb2/0x220 [] sysenter_dispatch+0x7/0x30 -> #0 (sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP){+.+...}: [] check_prev_add+0x6cd/0x6e0 [] check_prevs_add+0xf6/0x170 [] validate_chain+0x613/0x790 [] __lock_acquire+0x4be/0xac0 [] lock_acquire+0x8d/0xb0 [] lock_sock_nested+0x8a/0xa0 [] l2cap_chan_timeout+0x3c/0xe0 [bluetooth] [] process_one_work+0x184/0x450 [] worker_thread+0x15e/0x340 [] kthread+0x96/0xa0 [] kernel_thread_helper+0x4/0x10 other info that might help us debug this: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock((&(&chan->chan_timer)->work)); lock(sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP); lock((&(&chan->chan_timer)->work)); lock(sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP); *** DEADLOCK *** 2 locks held by kworker/1:1/873: #0: (events){.+.+.+}, at: [] process_one_work+0x126/0x450 #1: ((&(&chan->chan_timer)->work)){+.+...}, at: [] process_one_work+0x126/0x450 stack backtrace: Pid: 873, comm: kworker/1:1 Not tainted 3.1.0-05270-ga978dc7-dirty #239 Call Trace: [] print_circular_bug+0xd2/0xe3 [] check_prev_add+0x6cd/0x6e0 [] check_prevs_add+0xf6/0x170 [] validate_chain+0x613/0x790 [] __lock_acquire+0x4be/0xac0 [] ? lock_sock_nested+0x66/0xa0 [] ? lock_release_nested+0x100/0x110 [] ? lock_sock_nested+0x66/0xa0 [] lock_acquire+0x8d/0xb0 [] ? l2cap_chan_timeout+0x3c/0xe0 [bluetooth] [] lock_sock_nested+0x8a/0xa0 [] ? l2cap_chan_timeout+0x3c/0xe0 [bluetooth] [] ? process_one_work+0x126/0x450 [] l2cap_chan_timeout+0x3c/0xe0 [bluetooth] [] process_one_work+0x184/0x450 [] ? process_one_work+0x126/0x450 [] ? l2cap_security_cfm+0x4e0/0x4e0 [bluetooth] [] worker_thread+0x15e/0x340 [] ? manage_workers+0x110/0x110 [] kthread+0x96/0xa0 [] kernel_thread_helper+0x4/0x10 [] ? retint_restore_args+0xe/0xe [] ? __init_kthread_worker+0x70/0x70 [] ? gs_change+0xb/0xb Signed-off-by: Ulisses Furquim Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 686ebf283ba19f82abd8aaec023cd124749be9ec Author: Ulisses Furquim Date: Wed Dec 21 10:11:33 2011 -0200 Bluetooth: Make HCI call directly into SCO and L2CAP event functions The struct hci_proto and all related register/unregister and dispatching code was removed. HCI core code now call directly the SCO and L2CAP event functions. Signed-off-by: Ulisses Furquim Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 68a8aea45973c8d0bc05f58389ce9e82e04bb5f6 Author: Andrei Emeltchenko Date: Mon Dec 19 16:14:18 2011 +0200 Bluetooth: Remove magic numbers from le scan cmd Make code readable by removing magic numbers. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 8a154a8feb805394d1fd46281becaf876e18860a Author: Gustavo F. Padovan Date: Tue Dec 20 17:15:56 2011 -0200 Bluetooth: fix bt_accept_dequeue() to work in process context No local_bh_disable is needed there once we run everything in process context. The same goes for the replacement of bh_lock_sock() by lock_sock(). Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit b00f4dc5ff022cb9cbaffd376d9454d7fa1e496f Merge: 1eac811 b9e26df Author: Rafael J. Wysocki Date: Wed Dec 21 21:59:45 2011 +0100 Merge branch 'master' into pm-sleep * master: (848 commits) SELinux: Fix RCU deref check warning in sel_netport_insert() binary_sysctl(): fix memory leak mm/vmalloc.c: remove static declaration of va from __get_vm_area_node ipmi_watchdog: restore settings when BMC reset oom: fix integer overflow of points in oom_badness memcg: keep root group unchanged if creation fails nilfs2: potential integer overflow in nilfs_ioctl_clean_segments() nilfs2: unbreak compat ioctl cpusets: stall when updating mems_allowed for mempolicy or disjoint nodemask evm: prevent racing during tfm allocation evm: key must be set once during initialization mmc: vub300: fix type of firmware_rom_wait_states module parameter Revert "mmc: enable runtime PM by default" mmc: sdhci: remove "state" argument from sdhci_suspend_host x86, dumpstack: Fix code bytes breakage due to missing KERN_CONT IB/qib: Correct sense on freectxts increment and decrement RDMA/cma: Verify private data length cgroups: fix a css_set not found bug in cgroup_attach_proc oprofile: Fix uninitialized memory access when writing to writing to oprofilefs Revert "xen/pv-on-hvm kexec: add xs_reset_watches to shutdown watches from old kernel" ... Conflicts: kernel/cgroup_freezer.c commit aef6c928a92481f75fbd548eb8c1e840912444b8 Author: Helmut Schaa Date: Wed Dec 21 09:11:35 2011 +0100 mac80211: Keep skb->piority for relayed frames in AP mode When mac80211 relays a frame from STA1 to STA2 in AP mode it will get re-classified in the tx path. Unfortunately the frame protocol field is always set to ETH_P_8023 while the classification only kicks in for ETH_P_IP. Hence, a high priority frame from STA1 will be send to STA2 as best effort. Instead of running classification on the frame just use the same priority as STA1 did. Do this by adding 256 to the skb->priority to allow cfg80211_classify8021d to shortcut frame classification. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 3aebee028aa8eb8ed49b7dbd52dfb841f6dc8dff Author: Amitkumar Karwar Date: Tue Dec 20 23:47:22 2011 -0800 mwifiex: fix issues in band configuration code Currently due to following issues in the code even if device is configured in B only, G only or BG mode using iw bitrates command, ibss is getting created in BGN mode. 1) mwifiex_channels_to_cfg80211_channel_type() routine gives channel type as NL80211_CHAN_HT20 for non-HT channel as well, because driver doesn't store HT information provided by stack for the channel. This issue is fixed by maintaining channel type information in 'adapter->channel_type'. 2) Band configuration is unnecessarily overwritten with BGN/AN while setting channel. This patch makes sure that "adapter->config_bands" correctly gets modified while setting channel. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 21c3ba346486c3df39d23a2a085fcdfc7a59a853 Author: Amitkumar Karwar Date: Tue Dec 20 23:47:21 2011 -0800 mwifiex: use IEEE80211_HT_PARAM_CHA_SEC_* macros Replace driver specific macros with the corresponding IEEE80211_HT_PARAM_CHA_SEC_* macros defined in ieee80211.h. Also, rename 'adapter->chan_offset' to 'adapter->sec_chan_offset' for consistency. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 43906cdb916a9059c34d02831d293fbd4105ed8f Author: Amitkumar Karwar Date: Tue Dec 20 23:47:20 2011 -0800 mwifiex: remove redundant band config code struct mwifiex_ds_band_cfg and mwifiex_set_radio_band_cfg() routine are unnecessary. It can be done with simple equivalant code. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit cf9bc5bae7fee420cebcfdbd7f59bb72b5f8ed1b Author: Luis R. Rodriguez Date: Tue Dec 20 11:18:48 2011 -0800 atheros: force endian checks on atheros wireless drivers Please NACK nasty patches. Cc: Kalle Valo Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ec2b774e7c91094d8c00de579646f1162b87b01e Author: Marek Lindner Date: Tue Dec 20 23:16:52 2011 +0800 mac80211: ibss should not purge clients it is not responsible for The IBSS merge code calls ieee80211_sta_expire() with a relatively short expire timeout that purges other clients prematurely. The expire function has to check that only the clients belonging to the vif in question are purged. Signed-off-by: Marek Lindner Signed-off-by: John W. Linville commit eca107ff8a25e0528d6e6225ac6ce59bd498136f Author: Yogesh Ashok Powar Date: Tue Dec 20 11:37:08 2011 +0530 mwl8k: Call ieee80211_stop_tx_ba_cb_irqsafe for already deleted BA stream When stack calls ampdu_action with action = IEEE80211_AMPDU_TX_STOP for a stream that has already been removed from the driver, call ieee80211_tx_ba_stop_irqsafe to clear the stream in the stack. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Nishant Sarmukadam Signed-off-by: John W. Linville commit ec9a5705476e4b8c1b02de15c199a783d87ca3e2 Author: Luis R. Rodriguez Date: Mon Dec 19 19:30:43 2011 -0800 ath9k: fix roadkill due to Joe's patch on ath_dbg() changes Joe changed ath_dbg() to simpify code but while his patch was being merged dfs.c was born and as such did not get the change Joe envisioned. This fixes that. Test compiled with: make allmodconfig Cc: Joe Perches Cc: Stephen Rothwell Cc: John W. Linville Reported-by: Stephen Rothwell Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 106671369e6d046c0b3e1e72b18ad6dd9cb298b0 Author: Johannes Berg Date: Mon Dec 19 14:00:59 2011 -0800 iwlagn: fix (remove) use of PAGE_SIZE The ICT code erroneously uses PAGE_SIZE. The bug is that PAGE_SIZE isn't necessarily 4096, so on such platforms this code will not work correctly as we'll try to attempt to read an index in the table that the device never wrote, it always has 4096-byte pages. Additionally, the manual alignment code here is unnecessary -- Documentation/DMA-API-HOWTO.txt states: The cpu return address and the DMA bus master address are both guaranteed to be aligned to the smallest PAGE_SIZE order which is greater than or equal to the requested size. This invariant exists (for example) to guarantee that if you allocate a chunk which is smaller than or equal to 64 kilobytes, the extent of the buffer you receive will not cross a 64K boundary. Just use appropriate new constants and get rid of the alignment code. Cc: Emmanuel Grumbach Cc: stable@vger.kernel.org Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 3ac44670ad0fca8b6c43b3e4d8494c67c419f494 Author: Alan Cox Date: Mon Dec 19 21:07:33 2011 +0000 rt2800: Add support for the Fujitsu Stylistic Q550 Just another USB identifier. Signed-off-by: Alan Cox Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit afbca95f95f2bf7283a72670c24c1f6de00b1cb5 Author: Andres Salomon Date: Mon Dec 19 12:22:58 2011 -0800 libertas: clean up scan thread handling The libertas scan thread expects priv->scan_req to be non-NULL. In theory, it should always be set. In practice, we've seen the following oops: [ 8363.067444] Unable to handle kernel NULL pointer dereference at virtual address 00000004 [ 8363.067490] pgd = c0004000 [ 8363.078393] [00000004] *pgd=00000000 [ 8363.086711] Internal error: Oops: 17 [#1] PREEMPT [ 8363.091375] Modules linked in: fuse libertas_sdio libertas psmouse mousedev ov7670 mmp_camera joydev videobuf2_core videobuf2_dma_sg videobuf2_memops [last unloaded: scsi_wait_scan] [ 8363.107490] CPU: 0 Not tainted (3.0.0-gf7ccc69 #671) [ 8363.112799] PC is at lbs_scan_worker+0x108/0x5a4 [libertas] [ 8363.118326] LR is at 0x0 [ 8363.120836] pc : [] lr : [<00000000>] psr: 60000113 [ 8363.120845] sp : ee66bf48 ip : 00000000 fp : 00000000 [ 8363.120845] r10: ee2c2088 r9 : c04e2efc r8 : eef97005 [ 8363.132231] r7 : eee0716f r6 : ee2c02c0 r5 : ee2c2088 r4 : eee07160 [ 8363.137419] r3 : 00000000 r2 : a0000113 r1 : 00000001 r0 : eee07160 [ 8363.143896] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel [ 8363.157630] Control: 10c5387d Table: 2e754019 DAC: 00000015 [ 8363.163334] Process kworker/u:1 (pid: 25, stack limit = 0xee66a2f8) While I've not found a smoking gun, there are two places that raised red flags for me. The first is in _internal_start_scan, when we queue up a scan; we first queue the worker, and then set priv->scan_req. There's theoretically a 50mS delay which should be plenty, but doing things that way just seems racy (and not in the good way). The second is in the scan worker thread itself. Depending on the state of priv->scan_channel, we cancel pending scan runs and then requeue a run in 300mS. We then send the scan command down to the hardware, sleep, and if we get scan results for all the desired channels, we set priv->scan_req to NULL. However, it that's happened in less than 300mS, what happens with the pending scan run? This patch addresses both of those concerns. With the patch applied, we have not seen the oops in the past two weeks. Signed-off-by: Andres Salomon Cc: stable@kernel.org Signed-off-by: John W. Linville commit 092fadb00c3958f2cbc560cf00489563bc929faa Author: Luis R. Rodriguez Date: Mon Dec 19 08:11:54 2011 -0800 ath9k: classify DFS debug header further DFS_DEBUG_H is very generic, instead use something more specific to ath9k such as ATH9K_DFS_DEBUG_H. Reported-by: Julian Calaby Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 03877332aef0659f43d169a71cbd5256b0b0d1be Merge: 885765f ee91d18 Author: John W. Linville Date: Wed Dec 21 15:02:18 2011 -0500 Merge branch 'for-linville' of git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx commit f1e91e1640d808d332498a6b09b2bcd01462eff9 Author: Ulisses Furquim Date: Wed Dec 21 01:32:09 2011 -0200 Bluetooth: Always compile SCO and L2CAP in Bluetooth Core The handling of SCO audio links and the L2CAP protocol are essential to any system with Bluetooth thus are always compiled in from now on. Signed-off-by: Ulisses Furquim Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit f2d64f6aa6c681ca00a71c2b3304ed80dc317752 Author: Ulisses Furquim Date: Tue Dec 20 17:10:51 2011 -0200 Bluetooth: Remove global mutex hci_task_lock The hci_task_lock mutex (previously a lock) was supposed to protect the register/unregister of HCI protocols against RX/TX tasks. This will not be needed anymore because SCO and L2CAP will always be compiled. Moreover, with the recent move of RX/TX to workqueues per device the global hci_task_lock was causing starvation between different HCI devices. Signed-off-by: Ulisses Furquim Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit fa0fb93f2ac308a76fa64eb57c18511dadf97089 Author: Bing Zhao Date: Tue Dec 20 18:19:00 2011 -0800 Bluetooth: btusb: fix bInterval for high/super speed isochronous endpoints For high-speed/super-speed isochronous endpoints, the bInterval value is used as exponent, 2^(bInterval-1). Luckily we have usb_fill_int_urb() function that handles it correctly. So we just call this function to fill in the RX URB. Cc: Marcel Holtmann Signed-off-by: Bing Zhao Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit ee91d1855137ba9c16d1e7815d562056c3f55e7f Author: Eyal Shapira Date: Tue Dec 20 14:55:38 2011 +0200 wl12xx: mark no sched scan only after FW event stop sched scan isn't an immediate operation and we need to wait for PERIODIC_SCAN_COMPLETE_EVENT_ID after sending a stop before changing internal state and notifying upper layers. Not doing this caused problems when canceling an existing sched scan and immediately requesting to start a new one with a different configuration as the FW was still in the middle of the previous sched scan. Signed-off-by: Eyal Shapira Signed-off-by: Luciano Coelho commit fea2a613cf33ee0662e413e2f5697bed36d5029e Author: Eyal Shapira Date: Tue Dec 20 12:04:01 2011 +0200 wl12xx: fix sched scan of DFS channels DFS channels weren't scanned properly because min/max_duration weren't set for these channels even though they're required by the FW. The change sets passive_duration and min/max_duration for all channels as the FW uses the correct parameters according to the channel type. Signed-off-by: Eyal Shapira Signed-off-by: Luciano Coelho commit 180d9fc3348e049f447969a9891ad166021f00ca Author: Luciano Coelho Date: Mon Dec 19 16:31:55 2011 +0200 wl12xx: add missing copyright notice The wl12xx_platform_data.c file did not have a proper copyright notice. Signed-off-by: Luciano Coelho commit 6ab70916939f055d9aaa9acc28a3a5bdfe9649f0 Author: Eliad Peller Date: Sun Dec 18 20:25:45 2011 +0200 wl12xx: check the actual vif operstate in wl1271_dev_notify The current wl1271_dev_notify implementation sets the new operstate to all associated stations (while only a specific vif was changed). Until we'll have a method to get the actual vif from the given dev, check the current operstate of each vif. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit b890f4c363ebdc9c38d7f1ec91e9ec0976c4fb6a Author: Eliad Peller Date: Sun Dec 18 20:25:44 2011 +0200 wl12xx: stop device role on remove_interface When removing a sta/ibss role, the device role has to stopped (and disabled) as well. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 92e712da55b2e5776fee7e177e789c01828a1bf4 Author: Eliad Peller Date: Sun Dec 18 20:25:43 2011 +0200 wl12xx: fix checking of started dev role dev_role_id only indicates whether the dev role is enabled, not started (e.g. on IBSS merge, the device role is enabled, but not started). Checking for any role in ROC (in order to determine whether dev role was started) is wrong as well, especially in multi-vif env. Check for started dev role only by checking the dev_hlid. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 8aefffeaae5d2e10edc77c084f75dc36bcce0c68 Author: Eliad Peller Date: Sun Dec 18 20:25:42 2011 +0200 wl12xx: flush packets before stopping dev role During sta disconnection, a deauth packet is being queued to the dev role queue. However, the dev role is being stopped before the packet was sent. Flush the tx queue before stopping the dev role. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit a0c7b7825e026c7acf63fd92a5182efd3aff637f Author: Eliad Peller Date: Sun Dec 18 20:25:41 2011 +0200 wl12xx: make WL1271_FLAG_IDLE flag per-vif This flag should be set per-vif, rather than globally. Rename the flag to indicate IN_USE (rather than IDLE), as in the default configuration (i.e. flag is clear) the vif should be idle. Change all the bit operations (and elp conditions) appropriately. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 5b37ddfec23c17e16b99d8b5c5d1815b312af060 Author: Eliad Peller Date: Sun Dec 18 20:25:40 2011 +0200 wl12xx: remove redundant code from wl1271_op_conf_tx Since the conf_tx callback passes the vif as param, we must have been added first (and mac80211 verifies it). Remove the handling of such case. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit c0fad1b76e5bf631ae27d34e94b8f44a0f731036 Author: Eliad Peller Date: Mon Dec 19 12:00:03 2011 +0200 wl12xx: implement change_interface Implement the change_interface callback by simply removing the current vif and adding a new one after updating the vif type. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 030013d8585bfc9479bb367bf771d96ef8e289a4 Author: Gustavo F. Padovan Date: Tue Dec 20 10:57:28 2011 -0200 Bluetooth: Rename info_work to info_timer It makes more sense this way, since info_timer is a timer using delayed work API. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 6c9d42a1615c6dc19c4a57a77d9c4b3d779bb741 Author: Gustavo F. Padovan Date: Tue Dec 20 10:57:27 2011 -0200 Bluetooth: convert security timer to delayed_work This one also needs to run in process context Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit c2ec9c1bbd17cdd1fc962f000b4ecb98c1dad830 Author: Gustavo F. Padovan Date: Tue Dec 20 10:57:26 2011 -0200 Bluetooth: Move l2cap_{set,clear}_timer to l2cap.h It is the only place where it is used. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 613a1c0c595fe2f2d9148a705f140a53bc9f56e1 Author: Andrei Emeltchenko Date: Mon Dec 19 16:31:30 2011 +0200 Bluetooth: Clean up magic pointers Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 32ac5b9b57ef521470f930fd00849be4705bc134 Author: Andrei Emeltchenko Date: Mon Dec 19 16:31:29 2011 +0200 Bluetooth: Check for flow control mode Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 2455a3ea0c0235fe3c32b67649ff7db3fb892d90 Author: Andrei Emeltchenko Date: Mon Dec 19 16:31:28 2011 +0200 Bluetooth: Initialize default flow control mode Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit e61ef49966777defa84b04159ea23cdeb2c7cd4c Author: Andrei Emeltchenko Date: Mon Dec 19 16:31:27 2011 +0200 Bluetooth: Split ctrl init to BREDR and AMP parts Current controller initialization is moved tp bredr_init and new function added amp_init to handle later AMP init sequence. Current AMP init sequence include Reset and Read Local Version. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit eb93992207dadb946a3b5cf4544957dc924a6f58 Author: Rusty Russell Date: Mon Dec 19 14:08:01 2011 +0000 module_param: make bool parameters really bool (net & drivers/net) module_param(bool) used to counter-intuitively take an int. In fddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy trick. It's time to remove the int/unsigned int option. For this version it'll simply give a warning, but it'll break next kernel version. (Thanks to Joe Perches for suggesting coccinelle for 0/1 -> true/false). Cc: "David S. Miller" Cc: netdev@vger.kernel.org Signed-off-by: Rusty Russell Signed-off-by: David S. Miller commit 3db1cd5c05f35fb43eb134df6f321de4e63141f2 Author: Rusty Russell Date: Mon Dec 19 13:56:45 2011 +0000 net: fix assignment of 0/1 to bool variables. DaveM said: Please, this kind of stuff rots forever and not using bool properly drives me crazy. Joe Perches gave me the spatch script: @@ bool b; @@ -b = 0 +b = false @@ bool b; @@ -b = 1 +b = true I merely installed coccinelle, read the documentation and took credit. Signed-off-by: Rusty Russell Signed-off-by: David S. Miller commit 885765f148b69b0269a50d0d89d2f20fe018fb8d Author: Venkataraman, Meenakshi Date: Wed Dec 14 16:54:21 2011 -0800 iwlwifi: Execute runtime calibration always Runtime DC calibration was previously conditional. Remove this behaviour, as new devices support runtime DC calibration, while older devices ignore the runtime DC calibration request. This patch addresses low TX throughput issues seen with the 6205. Signed-off-by: Meenakshi Venkataraman Signed-off-by: Wey-Yi Guy commit fb6c1c6c352260bc1c90e474f6c08de7e06f1990 Author: Wey-Yi Guy Date: Sat Dec 10 11:33:53 2011 -0800 iwlwifi: use bus_get_hw_id for IWL_TM_CMD_APP2DEV_GET_DEVICE_ID instead of doing all the work in IWL_TM_CMD_APP2DEV_GET_DEVICE_ID, just use the information from bus_get_hw_id() Signed-off-by: Wey-Yi Guy commit 0ba958ebf1440411a052bfeedd5b80f7645b3541 Author: Wey-Yi Guy Date: Sat Dec 10 11:33:52 2011 -0800 iwlwifi: set hw_version in wiphy Set the hw_version in wiphy structure Signed-off-by: Wey-Yi Guy commit 62e731695df4d6d9952175f86d3258a5da4373d4 Author: Wey-Yi Guy Date: Wed Dec 14 07:41:36 2011 -0800 iwlwifi: deliver hw version in both string and u32 format Add function to get hw version in both strind and u32 format Signed-off-by: Wey-Yi Guy commit 7428994d7991c662d77fc5212a9e42de34c05335 Author: Johannes Berg Date: Tue Dec 13 00:07:40 2011 -0800 iwlagn: finer-grained HT disable At least while debugging, a lot of people use 11n_disable=1 to disable HT completely. To be able to figure out what parts of HT cause the problems we see, make the parameter a bitmap, allowing to disable all of HT and aggregation (TX/RX) separately. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit b80667eee2af9c1a36ec45a06f9ff85dd8768412 Author: Johannes Berg Date: Fri Dec 9 07:26:13 2011 -0800 iwlagn: add IRQ tracing The legacy IRQs could be read from a trace by their IO accesses, but reading the ICT doesn't leave any trace (pun intended ;-) ) so in order to see what input they get we need to add specific tracepoints. While at it, fix whitespace in two related places. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 27bf88829f50cf1af2b052ecee2f6f0dbe4a5141 Author: Yogesh Ashok Powar Date: Fri Dec 16 11:47:15 2011 +0530 mac80211: Fixing sparse warning at sta_info.c The commit 42624d4913a00219a8fdbb4bafd634d1d843be85 created following sparse warning >net/mac80211/sta_info.c:965:24: warning: incorrect type in assignment (different address spaces) >net/mac80211/sta_info.c:965:24: expected struct tid_ampdu_tx *tid_tx >net/mac80211/sta_info.c:965:24: got struct tid_ampdu_tx [noderef] * Making use of rcu_dereference_protected to fix the problem. V2: - Replacing rcu_dereference with rcu_dereference_protected as suggested by Johannes. - Adding mutex_lock/unlock to satisfy the condition at rcu_dereference_protected Cc: Nishant Sarmukadam Reported-by: Johannes Berg Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit 23de5dc9be28b59a8474bcbba278230c66f0759d Author: Felix Fietkau Date: Mon Dec 19 16:45:54 2011 +0100 ath9k: fix tx locking issues The commit "ath9k: simplify tx locking" introduced a soft lockup triggered by mac80211 sending a BAR frame triggered by a driver call to ieee80211_tx_send_bar or ieee80211_tx_status. Fix these issues by queueing processed tx status skbs and submitting them to mac80211 outside of the lock. Signed-off-by: Felix Fietkau Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 8a30930563521c9dba73c93b5631be1d0993f78f Author: Felix Fietkau Date: Sat Dec 17 16:47:56 2011 +0100 ath9k_hw: make bluetooth coexistence support optional at compile time Many systems (e.g. embedded systems) do not have wifi modules connected to bluetooth modules, so bluetooth coexistence is irrelevant there. With the addition of MCI support, ath9k picked up quite a bit of extra code that can be compiled out this way. This patch redefines ATH9K_HW_CAP_MCI and adds an inline wrapper for querying the bluetooth coexistence scheme, allowing the compiler to eliminate code that uses it, with only very little use of #ifdef. On MIPS this reduces the total size for the modules by about 20k. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 104cfa881006c18af9b118e1631dcf1f8378994a Author: Rafał Miłecki Date: Sat Dec 17 13:57:27 2011 +0100 b43: N-PHY: reorder functions: random cleanups Signed-off-by: Rafał Miłecki Acked-by: Larry Finger Signed-off-by: John W. Linville commit 3ccd0957922a8be5303db46ace354bc2c0aecafa Author: Rafał Miłecki Date: Sat Dec 17 13:57:26 2011 +0100 b43: N-PHY: reorder functions: move rest of workarounds Signed-off-by: Rafał Miłecki Acked-by: Larry Finger Signed-off-by: John W. Linville commit 5ecab603c75efafaa2604725efe0afc3da4bd55b Author: Rafał Miłecki Date: Sat Dec 17 13:57:25 2011 +0100 b43: N-PHY: reorder functions: move RSSI calibration Signed-off-by: Rafał Miłecki Acked-by: Larry Finger Signed-off-by: John W. Linville commit 647120956e4e9a2151c42f4d3eead20c7f7be869 Author: Rafał Miłecki Date: Sat Dec 17 13:57:24 2011 +0100 b43: N-PHY: split gain control workarounds Signed-off-by: Rafał Miłecki Acked-by: Larry Finger Signed-off-by: John W. Linville commit 4d9f46ba92b688a5428605101092c2f46955cf6b Author: Rafał Miłecki Date: Sat Dec 17 13:57:23 2011 +0100 b43: N-PHY: reorder functions: collect RSSI selects Signed-off-by: Rafał Miłecki Acked-by: Larry Finger Signed-off-by: John W. Linville commit 8be89535e63422858250f90bc77b3f77a19e820b Author: Rafał Miłecki Date: Sat Dec 17 13:57:22 2011 +0100 b43: N-PHY: reorder functions: collect samples ones Signed-off-by: Rafał Miłecki Acked-by: Larry Finger Signed-off-by: John W. Linville commit 884a5228a26e281b3d6c0bbf1cce0e3523aacae9 Author: Rafał Miłecki Date: Sat Dec 17 13:57:21 2011 +0100 b43: N-PHY: reorder functions: collect radio ones Signed-off-by: Rafał Miłecki Acked-by: Larry Finger Signed-off-by: John W. Linville commit ab499217dc946876d81ea8842a4eb9d53e8329a8 Author: Rafał Miłecki Date: Sat Dec 17 13:57:20 2011 +0100 b43: N-PHY: reorder functions: put basic ones at beginning Signed-off-by: Rafał Miłecki Acked-by: Larry Finger Signed-off-by: John W. Linville commit b9116b9a2b5db63187d28f99e038f473fad036dc Author: Larry Finger Date: Fri Dec 16 21:17:16 2011 -0600 rtlwifi: Fix locking problem introduces with commit 6539306b When I tested commit 6539306, I did not notice that loading an out-of-tree module turns off lockdep testing in kernel 3.2. For that reason, I missed the kernel WARNING shown below: The solution fixes the warning by partially reverting commit 6539306. [ 84.168146] ------------[ cut here ]------------ [ 84.168155] WARNING: at kernel/mutex.c:198 mutex_lock_nested+0x309/0x310() [ 84.168158] Hardware name: HP Pavilion dv2700 Notebook PC [ 84.168161] Modules linked in: nfs lockd auth_rpcgss nfs_acl sunrpc af_packet cpufreq_conservative cpufreq_userspace cpufreq_powersave powernow_k8 mperf e xt3 jbd ide_cd_mod cdrom snd_hda_codec_conexant arc4 rtl8192ce ide_pci_generic rtl8192c_common rtlwifi snd_hda_intel mac80211 snd_hda_codec snd_pcm snd_timer amd74xx ide_core cfg80211 k8temp snd joydev soundcore hwmon battery forcedeth i2c_nforce2 sg rfkill ac serio_raw snd_page_alloc button video i2c_core ipv6 a utofs4 ext4 mbcache jbd2 crc16 sd_mod ahci ohci_hcd libahci libata scsi_mod ehci_hcd usbcore usb_common fan processor thermal [ 84.168231] Pid: 1218, comm: kworker/u:2 Not tainted 3.2.0-rc5-wl+ #155 [ 84.168234] Call Trace: [ 84.168240] [] warn_slowpath_common+0x7a/0xb0 [ 84.168245] [] warn_slowpath_null+0x15/0x20 [ 84.168249] [] mutex_lock_nested+0x309/0x310 [ 84.168269] [] ? rtl_ips_nic_on+0x49/0xb0 [rtlwifi] [ 84.168277] [] rtl_ips_nic_on+0x49/0xb0 [rtlwifi] [ 84.168284] [] rtl_pci_tx+0x1b5/0x560 [rtlwifi] [ 84.168291] [] rtl_op_tx+0x9a/0xa0 [rtlwifi] [ 84.168359] [] __ieee80211_tx+0x181/0x2b0 [mac80211] [ 84.168375] [] ieee80211_tx+0xf6/0x120 [mac80211] [ 84.168391] [] ? ieee80211_tx+0x39/0x120 [mac80211] [ 84.168408] [] ieee80211_xmit+0xdb/0x100 [mac80211] [ 84.168425] [] ? ieee80211_skb_resize.isra.26+0xb0/0xb0 [mac80211] [ 84.168441] [] ieee80211_tx_skb_tid+0x5a/0x70 [mac80211] [ 84.168458] [] ieee80211_send_auth+0x152/0x1b0 [mac80211] [ 84.168474] [] ieee80211_work_work+0x1049/0x1860 [mac80211] [ 84.168489] [] ? free_work+0x20/0x20 [mac80211] [ 84.168504] [] ? free_work+0x20/0x20 [mac80211] [ 84.168510] [] process_one_work+0x17c/0x530 [ 84.168514] [] ? process_one_work+0x112/0x530 [ 84.168519] [] worker_thread+0x164/0x350 [ 84.168524] [] ? trace_hardirqs_on+0xd/0x10 [ 84.168528] [] ? manage_workers.isra.28+0x220/0x220 [ 84.168533] [] kthread+0x87/0x90 [ 84.168539] [] kernel_thread_helper+0x4/0x10 [ 84.168543] [] ? retint_restore_args+0xe/0xe [ 84.168547] [] ? __init_kthread_worker+0x70/0x70 [ 84.168552] [] ? gs_change+0xb/0xb [ 84.168554] ---[ end trace f25a4fdc768c028f ]--- Signed-off-by: Larry Finger Cc: Stanislaw Gruska Cc: Chaoming Li Signed-off-by: John W. Linville commit f72ae31e6f0442936c23287d34500fb93b7ac7b8 Author: Franky Lin Date: Fri Dec 16 18:37:20 2011 -0800 brcm80211: fmac: add Kconfig option for SDIO bus support This patch adds a Kconfig option for SDIO bus support and abstracts a build subset correspondingly. It's the final patch of fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 54a86cc596cea4f1bc84a53f326fa27583af1633 Author: Franky Lin Date: Fri Dec 16 18:37:19 2011 -0800 brcm80211: fmac: exclude unnecessary header files This patch removes some headers files include lines from sdio layer code. This is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 382a9e0f31235e4efd63977646da5c84e73febf7 Author: Franky Lin Date: Fri Dec 16 18:37:18 2011 -0800 brcm80211: fmac: move idle macros to dhd_sdio.c The idle macros are only used by dhd_sdio.c. It's more appropriate to place them in dhd_sdio.c instead of dhd.h. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 8763349b7d49c314efd624d0b3cef27a4a383846 Author: Franky Lin Date: Fri Dec 16 18:37:17 2011 -0800 brcm80211: fmac: move debug level macros to dhd_dbg.h Debug message level macros are used for debug purpose. It would be more appropriate to place them at dhd_dbg.h. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit fcf094f414f9e9c088f6c2aa9e19a59f7b41e1f5 Author: Franky Lin Date: Fri Dec 16 18:37:16 2011 -0800 brcm80211: fmac: abstract ctrl frames interface function pointers Abstract bus layer brcmf_bus_txctl/brcmf_bus_rxctl function pointers for common layer. This patch is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit b9692d17e842fadb8c18faf24f550db80886763e Author: Franky Lin Date: Fri Dec 16 18:37:15 2011 -0800 brcm80211: fmac: abstract bus_txdata interface function pointer Abstract bus layer brcmf_bus_txdata function pointer for common layer. This patch is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 99a0b8ff9105d9b78e7e4e6aaa077264707e4e1c Author: Franky Lin Date: Fri Dec 16 18:37:14 2011 -0800 brcm80211: fmac: abstract bus_init interface function pointer Abstract bus layer brcmf_bus_init function pointer for common layer. This patch is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit a8a363ac3b0cc947c5153d5b2e46c07bb496958b Author: Franky Lin Date: Fri Dec 16 18:37:13 2011 -0800 brcm80211: fmac: move common layer bus interface context to dhd_bus.h dhd_bus.h is the header file for bus interface. Move functions declarations and brcmf_bus structure to there. This is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit a9ffda88be7416b8336f644806c2b3ed3ce08b26 Author: Franky Lin Date: Fri Dec 16 18:37:12 2011 -0800 brcm80211: fmac: abstract bus_stop interface function pointer Common layer should use interface function pointer stored in brcmf_bus to invoke corresponding interface function in bus layer. This patch is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 6e3c712807237ab2b50e860d94dc8f15a81d03cd Author: Franky Lin Date: Fri Dec 16 18:37:11 2011 -0800 brcm80211: fmac: move sdio related macros to sdio_host.h dhd_bus.h will be used as the shared header file for common layer and bus layer. It should not contain any sdio specific macros. This patch moves them to sdio_host.h as part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 2447ffb0bdf89d14c9a9503e33b32b73d3040fee Author: Franky Lin Date: Fri Dec 16 18:37:10 2011 -0800 brcm80211: fmac: stop referencing brcmf_sdio in common layer brcmf_sdio is the data structure for sdio bus layer. Stop referencing brcmf_sdio from common layer. This patch is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 712ac5b37a3348cac4e040c551a6ca6186d33682 Author: Franky Lin Date: Fri Dec 16 18:37:09 2011 -0800 brcm80211: fmac: stop referencing brcmf_pub in bus layer brcmf_pub is the data structure for common layer. Since brcmf_bus should be the only structure shared by common layer and bus layer, stop referencing brcmf_pub from bus layer. This patch is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit c8bf34849f92c5894a3d7e12573d3789d7851f23 Author: Franky Lin Date: Fri Dec 16 18:37:08 2011 -0800 brcm80211: fmac: move tx flow ctrl flag to bus layer txoff is the flow control flag for transmit used in sdio layer. Move it to bus layer data structure brcmf_sdio. Also flag management code is moved out of brcmf_txflowcontrol(). This is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 9c1a043ae688151444578f15208233143526bb88 Author: Franky Lin Date: Fri Dec 16 18:37:07 2011 -0800 brcm80211: fmac: move packet realloc stats to struct brcmf_bus tx_realloc is used by both common layer and bus layer. This patch moves it to interface structure brcmf_bus as part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 719f2733baa1e6a6a782c5109bfe054431db4259 Author: Franky Lin Date: Fri Dec 16 18:37:06 2011 -0800 brcm80211: fmac: move dongle statistics to struct brcmf_bus Dongle statistics are shared data between common layer and bus layer. This patch places them in bus interface structure brcmf_bus as part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 4033927cb891863ffdd689554051e205d74675bf Author: Franky Lin Date: Fri Dec 16 18:37:05 2011 -0800 brcm80211: fmac: remove duplicate statistics from driver data structure Some dongle statistics are stored in two places and synced when net device status inquired. There is no need to do it this way any more. Direct all usage to dongle stats structure in order to increase readability. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 3fb1d8d2dad35f5094350c175b778b78df894284 Author: Franky Lin Date: Fri Dec 16 18:37:04 2011 -0800 brcm80211: fmac: move driver up status to struct brcmf_bus Driver up/down status to network interface need to be shared by common layer and bus layer. Move it to bus interface structure brcmf_bus as part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit b01a6b3ca714e2bb86ee387aee487c7360363c93 Author: Franky Lin Date: Fri Dec 16 18:37:03 2011 -0800 brcm80211: fmac: move maxctl to struct brcmf_bus maxctl is the max size of rxctl request from protocol layer to bus layer. Move it to bus interface structure brcmf_bus. This is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 28a1a3bdaf4cce5ee8e473c332e2f371888341bb Author: Franky Lin Date: Fri Dec 16 18:37:02 2011 -0800 brcm80211: fmac: move sdio used statistics to struct brcmf_sdio Some statistics only used by sdio modules. Move them to sdio layer private structure brcmf_sdio. This is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit d5625ee66f82162acb7189c1974e688ebc178cf3 Author: Franky Lin Date: Fri Dec 16 18:37:01 2011 -0800 brcm80211: fmac: change function proto_hdrpull parameter Change parameter to device pointer for bus layer interface function brcmf_proto_hdrpull This is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 228bb43d5d82549c43eee29e12d7632d4df4e4df Author: Franky Lin Date: Fri Dec 16 18:37:00 2011 -0800 brcm80211: fmac: change function rx_frame parameter Change parameter to device pointer for bus layer interface function brcmf_rx_frame. This is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit b63487ed3d7d8bc08c966eac0543e8f3f70b7fb4 Author: Franky Lin Date: Fri Dec 16 18:36:59 2011 -0800 brcm80211: fmac: change function brcmf_c_prec_enq parameter Change parameter to device pointer for bus layer interface function brcmf_c_prec_enq. This is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit c995788f4761f175f811cbeabb2f88ab8565ec1e Author: Franky Lin Date: Fri Dec 16 18:36:58 2011 -0800 brcm80211: fmac: change function txcomplete parameter Change parameter to device pointer for bus layer interface function brcmf_txcomplete. This is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 2b4590569ead15fb88a83c1d8a07e3ca5507f4c6 Author: Franky Lin Date: Fri Dec 16 18:36:57 2011 -0800 brcm80211: fmac: change function txflowcontrol parameter Change parameter to device pointer for bus layer interface function brcmf_txflowcontrol. This is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 5f947ad942a72e7f96942da97d719dd62037dbc2 Author: Franky Lin Date: Fri Dec 16 18:36:56 2011 -0800 brcm80211: fmac: change function brcmf_detach parameter Change parameter to device pointer for bus layer interface function brcmf_detach. This is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit ed683c986f6fff6b9d9fe2adc8b11e0b0be7c085 Author: Franky Lin Date: Fri Dec 16 18:36:55 2011 -0800 brcm80211: fmac: change function bus_start parameter Change parameter to device pointer for bus layer interface function brcmf_bus_start. This is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 55a63bcc4cdeabf76f7e42a76d0c59dbe37d0d64 Author: Franky Lin Date: Fri Dec 16 18:36:54 2011 -0800 brcm80211: fmac: change function add_if parameter Change parameter to device pointer for bus layer interface function brcmf_add_if. This is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit fbf59108f9e13e19cef7a0291a522906c0b0f8e4 Author: Franky Lin Date: Fri Dec 16 18:36:53 2011 -0800 brcm80211: fmac: register a dummy irq handler for SDIO function 2 When there is data available in dongle for driver to fetch, an interrupt will be triggered and both SDIO function 1 and 2 will be flagged by default in bcm4329. These two interrupt flags are identical and only need to be handled once. Since there is no way to turn off one flag from the dongle side, a dummy handler for function 2 interrupt is placed. Reported-by: Denis 'GNUtoo' Carikli Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 1ae00421e72da52d35e994244abf768ffc7dffc6 Author: Franky Lin Date: Fri Dec 16 18:36:52 2011 -0800 brcm80211: fmac: remove oneline proto block functions brcmf_os_proto_block and brcmf_os_proto_unblock are oneline functions handling proto_block mutex. Place the mutex interface call inline to increase readability. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit d08b6a3759818eed78057a8bafebc630dbe9a9ba Author: Franky Lin Date: Fri Dec 16 18:36:51 2011 -0800 brcm80211: fmac: unify common layer driver data structure No need to split data structure for common layer into brcmf_pub and brcmf_info. Absorb brcmf_info into brcmf_pub to increase code readability. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit bad6919469662b7c92bc6353642aaaa777b36bac Author: francesco.gringoli@ing.unibs.it Date: Fri Dec 16 18:34:56 2011 +0100 b43: avoid packet losses in the dma worker code. Following Rafal request, we verified that on "modern" CPUs using one or more workers is equivalent. Here is patch V3 that addresses the packet loss bug in the dma engine using only one worker. ------- This patch addresses a bug in the dma worker code that keeps draining packets even when the hardware queues are full. In such cases packets can not be passed down to the device and are erroneusly dropped by the code. This problem was already discussed here http://www.mail-archive.com/b43-dev@lists.infradead.org/msg01413.html and acknowledged by Michael. Number of hardware queues is now defined in b43.h (B43_QOS_QUEUE_NUM). Acknowledgements to Riccardo Paolillo and Michele Orru Signed-off-by: Francesco Gringoli Signed-off-by: John W. Linville commit 1d8d3dec5fbba15864f25c734a7fda5703234091 Author: Johannes Berg Date: Fri Dec 16 15:28:57 2011 +0100 mac80211: handle SMPS action frames When a peer changes SMPS state we should update rate control so it doesn't have to detect it by itself. It can't detect "dynamic" mode anyway since that just requires rts-cts handshaking. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 186630c2809bc87fba6e49896fa2279c43f512d2 Author: Amitkumar Karwar Date: Thu Dec 15 21:00:37 2011 -0800 mwifiex: cleanup work in scan.c Scan type derived from IEEE80211_CHAN_PASSIVE_SCAN bit is a boolean flag representing passive scanning. We should not again compare it with driver specific macro MWIFIEX_SCAN_TYPE_PASSIVE to determine passive or active scan. We can also avoid the use of local variable by using the flag directly. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit d2182b69dcb6a68b1ef6070b2efd094e13dea3f1 Author: Joe Perches Date: Thu Dec 15 14:55:53 2011 -0800 ath: Convert ath_dbg(bar, ATH_DBG_, to ath_dbg(bar, FOO Add ATH_DBG_ to macros to shorten the uses and reduce the line count. Coalesce ath_dbg formats. Add missing spaces to coalesced formats. Add missing newline terminations to ath_dbg formats. Align ath_dbg arguments where appropriate. Standardize ath_dbg formats without periods. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit a85e1d55974646a442d95911e3f7d7a891ea9ac5 Author: Paul Stewart Date: Fri Dec 9 11:01:49 2011 -0800 cfg80211: Return beacon loss count in station If station info contains a beacon loss count, return it to userspace. Signed-off-by: Paul Stewart Signed-off-by: John W. Linville commit 84381b4ed58498e1e3d49a4a306fec9894b8e00c Author: Nikolay Martynov Date: Sat Dec 17 19:39:35 2011 -0500 mac80211: split addba retries in time Currently code allows three (HT_AGG_MAX_RETRIES) unanswered addba requests. When this limit is reached aggregation is turned off for given TID permanently. This doesn't seem right: three requests is not that much, some 'blackout' can happen, but effect of it affects whole connection indefinitely. This patch increases number of retries to 15. Also, when there have been 3 or more retries it splits further retries apart by 15 seconds instead of sending them in very short period of time. Signed-off-by: Nikolay Martynov Signed-off-by: John W. Linville commit 9662cbc712babe3f7a792af2bdd47fa0c631f27f Merge: 640f595 4b0b2f0 Author: John W. Linville Date: Mon Dec 19 14:28:22 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next commit 640f5950a7d9fd0d279d843b261eb934793605fb Merge: 7c4559c 7e95e365 Author: John W. Linville Date: Mon Dec 19 14:25:17 2011 -0500 Merge branch 'for-linville' of git://github.com/kvalo/ath6kl commit 7c4559c92d45949726d7cf687a010664730a07da Merge: 9b682c7 69b172f Author: John W. Linville Date: Mon Dec 19 14:24:13 2011 -0500 Merge branch 'wireless-next' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi commit 9f6e20cee6253c4ca5faacba8dbd09ebe70132ed Merge: d1d182e 5bd5e9a Author: John W. Linville Date: Mon Dec 19 13:54:26 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem commit 4b0b2f088f12e2ada1297502d7bebde182cf65b0 Merge: 4dad999 d766091 Author: Gustavo F. Padovan Date: Mon Dec 19 11:37:53 2011 -0200 Merge git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth Conflicts: net/bluetooth/l2cap_core.c commit 65983fc7bb8df655706cb6e8353b6561b633ee4d Author: Mat Martineau Date: Tue Dec 13 15:06:02 2011 -0800 Bluetooth: Incoming ACL packets do not force active mode Incoming sk_buffs always have bt_cb(skb)->force_active set to 0, so it's misleading to use that value from the control block when calling hci_conn_enter_active_mode() for incoming data. The destination socket is not known in the HCI layer, so the force_active setting for each socket isn't known either. Hard-coding the force_active parameter does not change any behavior, but makes it obvious that incoming ACL data never exits sniff mode. Signed-off-by: Mat Martineau Signed-off-by: Gustavo F. Padovan commit f42809185896296d5662778e4ec63e084cfa5f2b Author: Andrei Emeltchenko Date: Wed Dec 7 15:56:52 2011 +0200 Bluetooth: Simplify num_comp_pkts_evt function Simplify function and remove fourth level of indentation. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 350ee4cfc0ea620bd1126ad4daa295586d6aa3a9 Author: Andrei Emeltchenko Date: Wed Dec 7 15:56:51 2011 +0200 Bluetooth: Add HCI Read Data Block Size function Implement block size read function. Use different variables for packet-based and block-based flow control. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit c9c2659f1ea84f860af82cac504cc58f17067523 Author: Johan Hedberg Date: Thu Dec 15 00:47:41 2011 +0200 Bluetooth: Use correct struct for user_confirm_neg_reply This patch fixes user_confirm_neg_reply to use the appropriate struct for accessing the call parameters. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 7d78525dcf5c6fe5e6e73d22776ed5f960e3153e Author: Johan Hedberg Date: Thu Dec 15 00:47:39 2011 +0200 Bluetooth: Add timer for automatically disabling the service cache We do not want the service cache to be enabled indefinitely after mgmt_read_info is called. To solve this a timer is added which will automatically disable the cache if mgmt_set_dev_class isn't called within 5 seconds of calling mgmt_read_info. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit ef5803729c2323204f7372617ad97e55e94153b9 Author: Johan Hedberg Date: Thu Dec 15 00:47:38 2011 +0200 Bluetooth: Move EIR and CoD update functions to a better position Due to the upcoming addition of a service cache timer the functions to update the EIR and CoD need to be higher up in mgmt.c in order to avoid unnecessary forward-declarations. This patch simply moves code around without any other changes in order to make subsequent patches more readable. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 14c0b60829751135346d71e7d11649c4f72dc9af Author: Johan Hedberg Date: Thu Dec 15 00:47:37 2011 +0200 Bluetooth: Remove mgmt_set_service_cache Instead of having an explicit service cache command we can make the mgmt API simpler by implicitly enabling the cache when mgmt_read_info is called for the first time and disabling it when mgmt_set_dev_class is called. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit f7c6869cebe631582fdc2ac57459ee217ce9b015 Author: Johan Hedberg Date: Thu Dec 15 00:47:36 2011 +0200 Bluetooth: Move mgmt_set_fast_connectable to the right location Fast connectable is logically after the connectable property so that's where it should show up in the code as well (it's also after connectable in the settings bitfield). Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 69ab39ea5da03e632a51b31534da713aff8d1e3b Author: Johan Hedberg Date: Thu Dec 15 00:47:35 2011 +0200 Bluetooth: Update mgmt_read_info and related mgmt messages This patch updates the mgmt_read_info and related messages to the latest management API which uses a bitfield of settings instead of individual boolean values. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 590051de5ce54f7ae02997ed0a2532f08c7b7866 Author: Gustavo F. Padovan Date: Sun Dec 18 13:39:33 2011 -0200 Bluetooth: Add ProFUSION's copyright Add ProFUSION's copyright to some files I've been touching recently. Signed-off-by: Gustavo F. Padovan commit 7f971041cf591d8cf3b289c9d78739638ca7e629 Author: Gustavo F. Padovan Date: Sun Dec 18 12:40:32 2011 -0200 Bluetooth: Use system workqueue to schedule power_on hdev->workqueue should be only for rx/tx, so move this one out. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 6d438e335ce83ff0528415a58632dc6508e4fde1 Author: Gustavo F. Padovan Date: Sat Dec 17 18:53:02 2011 -0200 Bluetooth: Remove work_add and work_del from hci_sysfs As we run in process context now we don't need worqueue to add e del from sysfs. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 32845eb1242e4c862de8d27c19ae9b3011f89291 Author: Gustavo F. Padovan Date: Sat Dec 17 17:47:30 2011 -0200 Bluetooth: Use new alloc_workqueue() Update hdev workqueue API usage to use the new interface, this new interface also allow us to mark this workqueue as WQ_HIGHPRI, so now rx and tx work gets higher priority when running. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 80b7ab33414beeb3c17600af9b69d903f5cf8a7d Author: Gustavo F. Padovan Date: Sat Dec 17 14:52:27 2011 -0200 Bluetooth: move power_off to system workqueue hdev->workqueue will be only for for rx/tx/cmd processing, all other small works should go to the system workqueue for now. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 3d57dc6806599ca7d389fc9410eefbc1a7dc32bc Author: Gustavo F. Padovan Date: Sat Dec 17 10:56:45 2011 -0200 Bluetooth: Change l2cap chan_list to use RCU This list has much more reads than writes, so RCU makes senses here, also it avoid deadlock against the socket lock. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 03a001948166d966d0d580cddb8ae3a23f8b795b Author: Gustavo F. Padovan Date: Fri Dec 9 04:48:17 2011 -0200 Bluetooth: invert locking order in connect path This move some checking code that was in l2cap_sock_connect() to l2cap_chan_connect(). Thus we can invert the lock calls, i.e., call lock_sock() before hci_dev_lock() to avoid a deadlock scenario. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit f878fcad1760247c054a9c80964d0b7450d2379b Author: Gustavo F. Padovan Date: Thu Dec 15 01:16:14 2011 -0200 Bluetooth: convert info timer to delayed_work Another step of remove interrupt context from Bluetooth Core. Use the system workqueue. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 3eff45eaf81780dad25c167bbaafa7d25ae407da Author: Gustavo F. Padovan Date: Thu Dec 15 00:50:02 2011 -0200 Bluetooth: convert tx_task to workqueue This should simplify Bluetooth core processing a lot. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit c347b765fe70d718c721cd6d0b979cfbaed83125 Author: Gustavo F. Padovan Date: Wed Dec 14 23:53:47 2011 -0200 Bluetooth: Move command task to workqueue As part of the moving on all the Bluetooth processing to Process context. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 3c54711c4fd103edf2044ab60726939f1de02b0c Author: Gustavo F. Padovan Date: Wed Dec 14 22:58:44 2011 -0200 Bluetooth: Don't disable tasklets to call hdev->notify() It's pointless, we aren't protecting anything since btusb_notify() schedules a work to run, then all it operation happens without protection. If protection is really needed here, we will fix it further. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit bf4c63252490ba78fb833cc7acf1a5b1900c970f Author: Gustavo F. Padovan Date: Wed Dec 14 22:54:12 2011 -0200 Bluetooth: convert conn hash to RCU Handling hci_conn_hash with RCU make us avoid some locking and disable tasklets. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 8192edef03f9b47f1cc1120724db525e63e218f3 Author: Gustavo F. Padovan Date: Wed Dec 14 15:08:48 2011 -0200 Bluetooth: Use RCU to manipulate chan_list Instead of using tasklet_disable() to prevent acess to the channel use, we can use RCU and improve the performance of our code. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit d01b2ff4e6496bc48a1917b6340e13263f871a15 Author: Gustavo F. Padovan Date: Fri Dec 9 04:45:12 2011 -0200 Bluetooth: convert chan_lock to mutex spin lock doesn't fit ok anymore on the new code based on workqueues. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 67d0dfb5ec781e9fe030e4e61359ee6eed66ff92 Author: Gustavo F. Padovan Date: Fri Dec 9 04:41:30 2011 -0200 Bluetooth: move hci_task_lock to mutex Now we can sleep in any path inside Bluetooth core, so mutex can make sense here. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit eb403a1b7eea9d736c55f78407dccb42b72757a4 Author: Gustavo F. Padovan Date: Fri Jun 24 01:54:50 2011 -0300 Bluetooth: Remove sk_backlog usage from L2CAP We run everything in the same lock now. The backlog queue is useless now Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit aa2ac881ba1e4e9f878be2ece80001ae8563955c Author: Gustavo F. Padovan Date: Fri Jun 24 01:53:01 2011 -0300 Bluetooth: Don't use spin_lock socket lock anymore We now run everything in process context, so the mutex lock is the best option. But in some places we still need the bh_lock_sock() Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 721c41812daf7b38759942563773a7832e3c990d Author: Gustavo F. Padovan Date: Thu Jun 23 19:29:58 2011 -0300 Bluetooth: Move L2CAP timers to workqueue L2CAP timers also need to run in process context. As the works in l2cap are small we are using the system worqueue. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit b9cc553f12d14b692d0fcb607d28db783da68139 Author: Gustavo F. Padovan Date: Fri Jun 17 12:58:41 2011 -0300 Bluetooth: hci_conn_auto_accept() doesn't need locking It doesn't really touch any sensitive information about hdev. So no need to lock here. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit db323f2fff0ded058f033df6235e8c2be4146bfd Author: Gustavo F. Padovan Date: Mon Jun 20 16:39:29 2011 -0300 Bluetooth: Use delayed work for advertisiment cache timeout As HCI rx path is now done in process context it makes sense to do all the timer in process context as well. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 19c40e3bcaf2d969f5d4ee85bbe1330b54d36d9c Author: Gustavo F. Padovan Date: Fri Jun 17 13:03:21 2011 -0300 Bluetooth: Use delayed_work for connection timeout Bluetooth rx task runs now in a workqueue, so it a good approach run any timer that share locking with process context code also in a workqueue. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 09fd0de5bd8f8ef3317e5365f92f1a13dcd89aa9 Author: Gustavo F. Padovan Date: Fri Jun 17 13:03:21 2011 -0300 Bluetooth: Replace spin_lock by mutex in hci_dev Now we run everything in HCI in process context, so it's a better idea use mutex instead spin_lock. The macro remains hci_dev_lock() (and I got rid of hci_dev_lock_bh()), of course. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit b78752cc71d86998d3b77d873c61d6ffdb7a2142 Author: Marcel Holtmann Date: Sun Aug 8 23:06:53 2010 -0400 Bluetooth: Process recv path in a workqueue instead of a tasklet Run recv process in workqueue helps a lot with our processing as the recv path will also be in the process context, i.e., now all our tx and rx are in process context. Signed-off-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 416dc94baa4a0de6904707d17522f7eae7778c8e Author: Gustavo F. Padovan Date: Wed Dec 7 13:24:33 2011 -0200 Bluetooth: make hci_conn_enter_sniff_mode static It isn't used outside hci_conn.c Signed-off-by: Gustavo F. Padovan commit 9b682c786fb3b5d6157a0049dc1dc7565ae78a22 Author: John W. Linville Date: Fri Dec 16 16:29:17 2011 -0500 b43: mark some vars __maybe_unused in b43_nphy_pmu_spur_avoid Avoids this warning when CONFIG_B43_BCMA is not set: CC [M] drivers/net/wireless/b43/phy_n.o drivers/net/wireless/b43/phy_n.c: In function ‘b43_nphy_pmu_spur_avoid’: drivers/net/wireless/b43/phy_n.c:4052:6: warning: unused variable ‘pmu_ctl’ drivers/net/wireless/b43/phy_n.c:4051:22: warning: unused variable ‘cc’ Signed-off-by: John W. Linville commit 3e9c40a6f72a4ee7a978204cac00f91ad08bbe9b Author: Gustavo F. Padovan Date: Wed Dec 14 22:52:31 2011 -0200 Bluetooth: Use list_for_each_entry in hci_conn_hash_flush() Signed-off-by: Gustavo F. Padovan commit f9c3123b5a7c9585902927b14983e6635aca00c6 Author: Gustavo F. Padovan Date: Fri Dec 9 04:40:10 2011 -0200 Bluetooth: Use chan instead of l2cap_pi macro Signed-off-by: Gustavo F. Padovan commit 2c33c06a8fd2f784ca763ad150d5d63c3c49946e Author: Gustavo F. Padovan Date: Wed Dec 14 13:02:51 2011 -0200 Bluetooth: remove struct hci_chan_hash Only the list member of the struct was used, so we now fold it into hci_conn. Signed-off-by: Gustavo F. Padovan commit 7e95e365d5399647a41e10059e4b09826b82d78b Merge: 3ca9d1f 5bd5e9a Author: Kalle Valo Date: Fri Dec 16 21:10:39 2011 +0200 Merge remote branch 'wireless-next/master' into ath6kl-next Conflicts: drivers/net/wireless/ath/ath6kl/init.c commit 69b172f79644fe60f8c536fcbe1db83a22d6c5fc Author: Johannes Berg Date: Mon Dec 12 04:17:44 2011 -0800 iwlagn: remove iwlagn_build_addsta_hcmd This function is not needed: * we already have the "cmd" input to it in the same type (and on the stack elsewhere) * the "legacy_reserved" parameter is never set, so will always be zero Remove the function and the stack copy of the input command. This is still left from when iwlegacy was part of the driver -- then we needed a translation for the command for 3945. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit ee8ba8800b4f20845aa542ce53f3bc29064674b5 Author: Hsu, Kenny Date: Fri Dec 9 03:11:18 2011 -0800 iwlwifi: add IO function for continuous write of target memory Add new IO function _iwl_write_targ_mem_words() to support target memory write for a continuous area. It will return error code -EBUSY if iwl_grab_nic_access() fails to indicate the memory write does not be performed. Meanwhile the existing function iwl_write_targ_mem() also been updated by using _iwl_write_targ_mem_words() in a single word case. Signed-off-by: Kenny Hsu Signed-off-by: Wey-Yi Guy commit 7a0b3b08dfbf3f64e81e5ab2e60c4a1d2ad261b1 Author: Johannes Berg Date: Thu Dec 8 07:13:29 2011 -0800 iwlwifi: remove unused AMPDU factor/density configuration These are unused, so can be removed safely. They also don't make a lot of sense in Bluetooth configuration. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 69a679b0dc79edaca521eba5b06edc5593455b76 Author: Don Fry Date: Wed Dec 7 08:50:46 2011 -0800 iwlwifi: remove most of the iwl_priv references from iwl-ucode.c Remove all but the last few references to iwl_priv from the lower level iwl-ucode.c, with resulting code changes. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy commit 09af14030d77d5f43229adabdd3c84c63f3499aa Author: Don Fry Date: Fri Dec 9 10:07:38 2011 -0800 iwlwifi: create iwl_mac80211 unregister routine The mac80211 setup_register operations are collected in one routine, but the cleanup routines are not. Create a routine for this. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy commit 23fd7b029fa58c265bfa757603fd2af27c7af3ad Author: Emmanuel Grumbach Date: Wed Dec 7 14:46:24 2011 +0200 iwlwifi: add missing documentation for iwl_shared A few descriptions were missing Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit b5326db8bb058a32c22ed82a8e359a8fe6f0bf9b Author: Emmanuel Grumbach Date: Wed Dec 7 10:32:36 2011 +0200 iwlwifi: don't accept Tx packets when draining HW queues If the agg SM is in IWL_EMPTYING_HW_QUEUE_ADDBA or in IWL_EMPTYING_HW_QUEUE_DELBA, we are not supposed to get Tx packets from mac80211. mac80211 is supposed to buffer these packets for us. A few issues have been identified in this mechanism, not all of them were fixed. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit fdf426a34afe7b1c17a6783f273062e3464cceaa Author: Emmanuel Grumbach Date: Wed Dec 7 10:11:00 2011 +0200 iwlwifi: kill iwl_{start,stop}_tx_ba_trans_ready Since my latest patches, the upper layer reports to mac80211 that the driver is ready to continue the start / stop BA flow as opposed to the transport layer. Hence, iwl_{start,stop}_tx_ba_trans_ready are not needed any more. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 631b84c5c6daa18ec6c9602081b8f0dbdfd618ac Author: Emmanuel Grumbach Date: Wed Dec 7 09:30:21 2011 +0200 iwlwifi: add debug in Tx path in AGG flow This will allow us to catch bad cases in which the packets aren't in the right place on the ring. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 855c2ee85c6a96ecfb01188ba45ccae55b183092 Author: Emmanuel Grumbach Date: Wed Nov 23 11:37:27 2011 +0200 iwlwifi: reset the tid_data when a station is removed Since the station is removed, we need to reset the information that was accounted for this station. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 04cf6824a5e92e6f86c0abcb38ac65ee744c3d34 Author: Emmanuel Grumbach Date: Wed Nov 23 11:06:12 2011 +0200 iwlwifi: tid_data moves to iwl_priv The transport doesn't need to access it any more. Signed-off-by: Emmanuel Grumbach commit 97756fb1c39d58b76ee1488ac894ee81eaf17ba9 Author: Emmanuel Grumbach Date: Wed Nov 23 10:52:20 2011 +0200 iwlwifi: transport layer shouldn't access the AGG SM This is another step towards the move of tid_data from the shared area. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 34b5321e4f8bb71fd9b2190d6aad4646486c4ba6 Author: Emmanuel Grumbach Date: Mon Nov 21 13:25:31 2011 +0200 iwlwifi: tid_data logic move to upper layer - seq_number The tid_data is not related to the transport layer, so move the logic that depends on it to the upper layer. This patch deals with the seq_number. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 76bc10fcd128ad028cf77c62e179cd20dc2ffecf Author: Emmanuel Grumbach Date: Mon Nov 21 13:25:31 2011 +0200 iwlwifi: tid_data logic move to upper layer - txqid The tid_data is not related to the transport layer, so move the logic that depends on it to the upper layer. This patch deals with the mapping of RA / TID to HW queues in AGG. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 20addec6ac77fbffa1c913f8d07d3a78a9e50321 Author: Emmanuel Grumbach Date: Fri Dec 16 07:13:25 2011 -0800 iwlwifi: tid_data logic move to upper layer - check_empty The tid_data is not related to the transport layer, so move the logic that depends on it to the upper layer. This patch deals with the code that checks if there are still pending packets for an RA / TID. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 822e8b2a2d708f99daf1ae4cd9b9e4c9d84069c6 Author: Emmanuel Grumbach Date: Mon Nov 21 13:25:31 2011 +0200 iwlwifi: tid_data logic move to upper layer - tx AGG setup The tid_data is not related to the transport layer, so move the logic that depends on it to the upper layer. This patch deals with tx AGG setup. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 3c69b5954225b41cfa57338b17466816072d55a2 Author: Emmanuel Grumbach Date: Mon Nov 21 13:25:31 2011 +0200 iwlwifi: tid_data logic move to upper layer - tx AGG alloc The tid_data is not related to the transport layer, so move the logic that depends on it to the upper layer. This patch deals with tx AGG alloc. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit bc23773059ecea24cb653994686d230b6be08536 Author: Emmanuel Grumbach Date: Mon Nov 21 13:25:31 2011 +0200 iwlwifi: tid_data logic move to upper layer - tx AGG stop The tid_data is not related to the transport layer, so move the logic that depends on it to the upper layer. This patch deals with tx AGG stop. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 1f40e145eb4dafbded5591c85040259fed6a453e Author: Emmanuel Grumbach Date: Mon Nov 21 11:49:25 2011 +0200 iwlwifi: don't rely on the wr / rd pointers in DELBA flow In the same spirit as the previous patch. Eventually this will allow us to remove the tid_data knowledge from the transport layer. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 1ba42da479e8b4a4198a702bc819850d9926a035 Author: Emmanuel Grumbach Date: Mon Nov 21 22:31:54 2011 +0200 iwlwifi: we can wake SW queues even when draining HW queues In the very first implementation of HT, the driver was responsible for the queueing: stopping and waking the queues while the HW queues where being drained. In this implementation, we had to deal with the case where we were draining the AGG queue because we wanted to tear down the BA agreement. In the normal flow (when we don't drain any HW queue), when packets are reclaimed, we wake the SW queue in case the SW queue was stopped which can happen when the HW queues are too full. While draining a HW queue, we must make sure that we don't wake the SW queue, since the whole point of the draining is to empty totally the HW queue and not only get below a certain threshold. This is why there is condition in the reclaim function: if (NOT EMPTYING DELBA) wake the SW queue is applicable Since then, a lot has changed and mac80211 is now able to buffer packets that are being sent to a packet list that will be spliced after the driver has reported it has drained its HW queues. Hence, there is no need for the for aforementioned if, and we can safely wake up the queue even if we are draining HW queues. Removing this if, also allows us to remove the wake_queue in check_empty that was there in order to deal with a corner case created by the if. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit eb9a372a73ea3e2b7e795a7ea03a5b8d92815672 Author: Emmanuel Grumbach Date: Mon Nov 21 11:07:18 2011 +0200 iwlwifi: don't count the tfds in HW queue any more Since packets sent to an RA / TID in AGG are sent from a separate HW Tx queue, we may get into a race: the regular queue isn't empty while we already begin to send packets from the AGG queue. This would result in sending packets out of order. In order to cope with this, mac80211 waits until the driver reports that the legacy queue is drained before it can send packets to the AGG queue. During that time, mac80211 buffers packets for the driver. These packets will be sent in order after the driver reports it is ready. The way this was implemented in the driver is as follows: We held a counter that monitors the number of packets for an RA / TID in the HW queues. When this counter reached 0, we knew that the HW queues were drained and we reported to mac80211 that were ready to proceed. This patch changes the implementation described above. We now remember what is the wifi sequence number of the first packet that will be sent in the AGG queue (lets' call it ssn). When we reclaim the packet before ssn, we know that the queue is drained, and we are ready to proceed. This will allow us to move this logic in the upper layer and eventually remove the tid_data from the shared area. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit aca15f81fffb71e5df8fd72e76ef5f1a3128bd11 Author: Emmanuel Grumbach Date: Mon Nov 21 11:15:34 2011 +0200 iwlwifi: fix endianity issue in debug prints ba_resp->seq_ctl is __le16, need to translate to cpu endianity. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 6195d135b78e4067c24b5340552c89e7acf88d22 Author: Don Fry Date: Tue Dec 6 10:42:41 2011 -0800 iwlwifi: Add official names for new devices Replace the engineering names with the marketing names for the new devices. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy commit 3862241945026a8fa165ab73c57739df77b8e1fb Author: Don Fry Date: Fri Dec 16 07:07:36 2011 -0800 iwlwifi: move iwl_cfg from iwl_priv to iwl_shared Move the configuration pointer from the upper level iwl_priv to the lower level iwl_shared structure, with associated code fixes. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy commit 5bd5e9a6ae5137a61d0b5c277eac61892d89fc4f Author: Chun-Yeow Yeoh Date: Wed Dec 7 12:45:46 2011 -0800 ath9k: Support RSN Mesh Signed-off-by: Chun-Yeow Yeoh Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5ce543d148bf7590294e76bc30f4c4d6777fe094 Author: Rajkumar Manoharan Date: Wed Dec 7 21:50:08 2011 +0530 cfg80211: Restore orig channel values upon disconnect When we restore regulatory settings the world regulatory domain is properly reset on cfg80211 (or user prefered regulatory domain) but we were never setting back channel values for drivers that use WIPHY_FLAG_CUSTOM_REGULATORY. Set these values up again by using the orig_ channel parameters. This fixes restoring custom regulatory settings upon disconnect events. Cc: compat@orbit-lab.org Cc: Paul Stewart Cc: Rajkumar Manoharan Cc: Senthilkumar Balasubramanian Signed-off-by: Rajkumar Manoharan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 061acaae76dfb760f4f3fddf0cde43915b7d673c Author: Luis R. Rodriguez Date: Wed Dec 7 21:50:07 2011 +0530 cfg80211: allow following country IE power for custom regdom cards By definition WIPHY_FLAG_STRICT_REGULATORY was intended to allow the wiphy to adjust itself to the country IE power information if the card had no regulatory data but we had no way to tell cfg80211 that if the card also had its own custom regulatory domain (these are typically custom world regulatory domains) that we want to follow the country IE's noted values for power for each channel. We add support for this and document it. This is not a critical fix but a performance optimization for cards with custom regulatory domains that associate to an AP with sends out country IEs with a higher EIRP than the one on the custom regulatory domain. In practice the only driver affected right now are the Atheros drivers as they are the only drivers using both WIPHY_FLAG_STRICT_REGULATORY and WIPHY_FLAG_CUSTOM_REGULATORY -- used on cards that have an Atheros world regulatory domain. Cards that have been programmed to follow a country specifically will not follow the country IE power. So although not a stable fix distributions should consider cherry picking this. Cc: compat@orbit-lab.org Cc: Paul Stewart Cc: Rajkumar Manoharan Cc: Senthilkumar Balasubramanian Reported-by: Rajkumar Manoharan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a1910f9cad2b4b9cc0d5d326aa65632a23c16088 Author: Johannes Berg Date: Wed Dec 7 12:35:17 2011 +0100 mac80211_hwsim: fix wmediumd_pid Fix a few minor issues with wmediumd_pid: a) make static b) use u32 to match the snd_pid type c) use ACCESS_ONCE since we don't lock it d) don't explicitly initialize to 0 Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1b2538b2ab8f37e55b91b3cce98d2df5c126125d Author: Mohammed Shafi Shajakhan Date: Wed Dec 7 16:51:39 2011 +0530 ath9k_hw: remove ATH9K_HW_CAP_CST its not used anywhere in the current code Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 356cb55d81d1692bd74b96c71deeb7e1cf956196 Author: Mohammed Shafi Shajakhan Date: Wed Dec 7 16:51:38 2011 +0530 ath9k: validate for non-zero BSSID before concluding that the recieved beacon is for us, let us make sure that the BSSID is non-zero. when I configured ad-hoc mode as creator and left it for some time without joining I found we recieved few frames whose BSSID is zero, which we concluded wrongly as 'my_beacons' Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit b26e478f8fd5b575684f021b05a5c6236ebb911a Merge: bcebcc4 bb3c368 Author: David S. Miller Date: Fri Dec 16 02:11:14 2011 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/ethernet/freescale/fsl_pq_mdio.c net/batman-adv/translation-table.c net/ipv6/route.c commit d66be8294289346ceba4c6abc022954b682d4959 Author: Rafał Miłecki Date: Thu Dec 15 14:17:21 2011 +0100 b43: N-PHY: check for bustype before touching BCMA CC PLLs Reported-by: John W. Linville Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit aa1f2f0a3218a9b6ce979fca3d6ebdb1c5544dd8 Author: Dan Carpenter Date: Thu Dec 15 14:23:32 2011 +0300 brcm80211: smac: precendence bug in wlc_phy_attach() Negate has higher precendence than compare and since neither zero nor one are equal to four or eight the original condition is always false. Signed-off-by: Dan Carpenter Acked-by: Arend van Spriel Signed-off-by: John W. Linville commit 29942bc125374b5aa049a438fb628ea729538ca5 Author: Zefir Kurtisi Date: Wed Dec 14 20:16:34 2011 -0800 ath9k: add DFS radar pulse processing This initial DFS module provides basic functionality to deal with radar pulses reported by the Atheros DFS HW pulse detector. The reported data is evaluated and basic plausibility checks are performed to filter false pulses. Passing radar pulses are forwarded to pattern detectors which are not yet implemented. (Some modifications to actually use ATH9K_DFS_DEBUGFS based on comments from Julian Calaby . -- JWL) Signed-off-by: Zefir Kurtisi Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9a66af3317be2b2ceea38f403d2f682f255de82a Author: Zefir Kurtisi Date: Wed Dec 14 20:16:33 2011 -0800 ath9k_hw: add DFS testing check In order to enable DFS upstream we want to be sure DFS has been tested for each chipset. Push for public documentation of the requirements we want in place and allow for enabling each chipset through a single upstream commit. Signed-off-by: Zefir Kurtisi Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9b203c8fc2aa05d7bc28261d7c2bee52a0945789 Author: Zefir Kurtisi Date: Wed Dec 14 20:16:32 2011 -0800 ath: add a debug level for DFS This can later be used by other drivers that implement DFS support. Signed-off-by: Zefir Kurtisi Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 00d2ec0c5f5ae8507931efd8feb174f30370c12e Author: Larry Finger Date: Wed Dec 14 20:23:03 2011 -0600 brcmsmac: Replace kmalloc/memset with kzalloc In ai_attach(), space is allocated for an si_info struct. Immediately after the allocation, routine ai_doattach() is called and that allocated space is set to zero. As no other routine calls ai_doattach(), kzalloc() can be utilized. Signed-off-by: Larry Finger Acked-by: Arend van Spriel Signed-off-by: John W. Linville commit 55e435de9153581fda21631f0e68bb793072234d Author: Luis R. Rodriguez Date: Wed Dec 14 13:56:36 2011 -0800 ath: document ATH_DBG_MCI A debug level was added to the ath module for printing MCI messages but no documentation was provided. Clarify that MCI is the Message Coexistence Interface, a private protocol used exclusively for WLAN-BT coexistence starting from AR9462. Cc: wtsao@qca.qualcomm.com Cc: rmanohar@qca.qualcomm.com Cc: mohammed@qca.qualcomm.com Cc: senthilb@qca.qualcomm.com Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f94375431749d555a16659051d8033ba9a0fe83b Author: Felix Fietkau Date: Wed Dec 14 22:08:08 2011 +0100 ath9k: avoid retransmitting aggregation frames that a BAR was sent for The receiver will discard them anyway. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 3ad2952998b08442044690fa9b4ec38c6c3fc4a9 Author: Felix Fietkau Date: Wed Dec 14 22:08:07 2011 +0100 ath9k: simplify tx locking Instead of releasing and taking back the lock over and over again in the tx path, hold the lock a bit longer, requiring much fewer lock/unlock pairs. This makes locking much easier to review and should not have any noticeable performance/latency impact. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 6ee8284edb9be5cd567ff3f772de3bf55c73fc7a Author: Felix Fietkau Date: Wed Dec 14 22:08:06 2011 +0100 ath9k: remove bogus sequence number increment tid->seq_next is initialized on A-MPDU start anyway, and the comment next to this chunk of code seems to be bogus as well. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit b047701383cf886ee18124db0a8c027af6ccc07b Author: Felix Fietkau Date: Wed Dec 14 22:08:05 2011 +0100 ath9k: reduce indentation level in a few places Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 156369faa3f49c4fa37cf1f5254b1f3903b23dfd Author: Felix Fietkau Date: Wed Dec 14 22:08:04 2011 +0100 ath9k: reduce the number of unnecessary BAR tx packets When processing A-MPDU tx status, only send a BAR for the failed packet with the highest sequence number. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit da647626c7aa854755d32dc8e33d3c58314d2fdb Author: Felix Fietkau Date: Wed Dec 14 22:08:03 2011 +0100 ath9k: change maximum software retransmission handling Instead of limiting a subframe to 10 A-MPDU software transmission attempts, count hardware retransmissions as well and raise the limit a bit. That way there will be fewer software retransmission attempts when traffic suffers from lots of hardware retransmissions. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 1478acb392d8564d109c4add9de6a0c6258c4057 Author: Mohammed Shafi Shajakhan Date: Wed Dec 14 19:46:08 2011 +0530 mac80211: Fix power save in change interface we found that power save is not getting enabled when we do change interface in this order STA->IBSS->STA. this is because ieee80211_setup_sdata clears type-dependent union Reported-by: Leela Kella Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 9c38a8b4913ac811c467c6d50634167a123e6ac4 Author: Mohammed Shafi Shajakhan Date: Wed Dec 14 19:46:07 2011 +0530 mac80211: remove an unnecessary paraenthesis Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit cf6bb79ad8287cd9fe8783aa8c9afdc9f6799657 Author: Helmut Schaa Date: Thu Dec 15 10:18:34 2011 +0100 mac80211: Use appropriate TID for sending BAR, ADDBA and DELBA frames Currently BAR, ADDBA and DELBA frames are always sent using AC_VO. If the TID for which a BA session is established is assigned to a different queue BAR, ADDBA and DELBA frames can "overtake" frames of the according BA session. Hence, always put BA session related frames into the same queue as the BA sessions data frames. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 4d33960bf9fa2c0ee82ba7120e7b56c766dd3a86 Author: Johannes Berg Date: Thu Dec 15 11:24:20 2011 +0100 mac80211: reduce station management complexity Now that IBSS no longer needs to insert stations from atomic context, we can get rid of all the special cases for that, and even get rid of the sta_lock (though it needs to stay as tim_lock.) This makes the station management code much more straight-forward. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8bf11d8d081106c3cce8281a0150e716f8ac5d22 Author: Johannes Berg Date: Thu Dec 15 11:17:37 2011 +0100 mac80211: delay IBSS station insertion In order to notify drivers and simplify the station management code, defer IBSS station insertion to a work item and don't do it directly while receiving a frame. This increases the complexity in IBSS a little bit, but it's pretty straight forward and it allows us to reduce the station management complexity (next patch) considerably. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 56544160d44c3043c0a7faffa506f616c1bb45f0 Author: Johannes Berg Date: Wed Dec 14 13:28:46 2011 +0100 mac80211: make address arguments to sta_info_alloc const No real changes, just note that they are const. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 29623892e185b65a503c925236ff73894a842d38 Author: Johannes Berg Date: Wed Dec 14 12:20:31 2011 +0100 mac80211: count authorized stations per BSS Currently, each AP interface will send multicast traffic if any interface has a station entry even if that station entry is allocated only. With the new station state management we can easily fix it by adding a counter that counts each authorized station only and send multicast traffic only when the correct interface has at least one authorized station. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d9a7ddb05e5419ca5e4b54f57074dc33c7ea991c Author: Johannes Berg Date: Wed Dec 14 12:35:30 2011 +0100 mac80211: refactor station state transitions Station entries can have various states, the most important ones being auth, assoc and authorized. This patch prepares us for telling the driver about these states, we don't want to confuse drivers with strange transitions, so with this we enforce that they move in the right order between them (back and forth); some transitions might happen before the driver even knows about the station, but at least runtime transitions will be ordered correctly. As a consequence, IBSS and MESH stations will now have the ASSOC flag set (so they can transition to AUTHORIZED), and we can get rid of a special case in TX processing. When freeing a station, unwind the state so that other parts of the code (or drivers later) can rely on the transitions. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 87be1e1e00f870567780dec111193426b4c085e8 Author: Johannes Berg Date: Wed Dec 14 12:20:29 2011 +0100 mac80211: use station mutex in configuration There's no need to use RCU here, we can just lock the station mutex instead. This allows the code to sleep, which is necessary for later patches. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 92b62f28d02d3aafd824062f0ea57cc36fbc59d6 Author: Johannes Berg Date: Wed Dec 14 12:20:28 2011 +0100 mac80211: remove duplicate TDLS peer verification This is already checked in cfg80211, so no need to repeat the checks here. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bdd90d5e36a55271beb957b3d7ca3e29b2a90207 Author: Johannes Berg Date: Wed Dec 14 12:20:27 2011 +0100 cfg80211: validate nl80211 station handling better The nl80211 station handling code is a bit messy and doesn't do a lot of validation. It seems like this could be an issue for drivers that don't use mac80211 to validate everything. As cfg80211 doesn't keep station state, move the validation of allowing supported_rates to change for TDLS only in station mode to mac80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d83023daa219486e9aa139d423308a045bf0438b Author: Johannes Berg Date: Wed Dec 14 09:29:15 2011 +0100 nl80211: add TDLS peer flag to policy This was evidently missed in the TDLS patch (07ba55d7). Cc: Arik Nemtsov Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c99f895a231b2dfeedd27e4d218a1b2d22cf4d02 Author: Luciano Coelho Date: Thu Dec 15 14:58:08 2011 +0200 wl12xx: alloc buffer in driver_state_read to prevent compilation warning When compiling wl12xx for x86, there was a warning complaining about the size of the buffer we were allocating in the stack: drivers/net/wireless/wl12xx/debugfs.c: In function 'driver_state_read': drivers/net/wireless/wl12xx/debugfs.c:380:1: warning: the frame size of 1040 bytes is larger than 1024 bytes To prevent this, allocate the buffer in the heap instead. Signed-off-by: Luciano Coelho commit ef1870673dc3b66d8daec2b1fd1048992440e0e5 Author: Pontus Fuchs Date: Wed Dec 14 14:32:23 2011 +0100 Set wlvif->ps_compl to NULL in before return wl1271_configure_suspend_sta leaves a stale stack declared completion in wlvif->ps_compl. Set it to NULL before returning. Signed-off-by: Pontus Fuchs [small fix to use wlvif->ps_compl instead of wl->ps_compl] Signed-off-by: Luciano Coelho commit 7f74484a460f6bb8656725babf2e977e47a3dab4 Author: Luciano Coelho Date: Wed Dec 14 14:57:58 2011 +0200 wl12xx: remove unused firmware version macros We don't use WL12XX_BA_SUPPORT_FW_COST_VER2_START nor WL12XX_BA_SUPPORT_FW_COST_VER2_END anymore. Signed-off-by: Luciano Coelho commit 36b2082434e956e6048a26bbf4c14ad7488db153 Author: Luciano Coelho Date: Tue Dec 13 15:45:54 2011 +0200 wl12xx: remove deprecated packet detection threshold config The ACX_PD_THRESHOLD configuration command is deprecated and should not be used anymore. Signed-off-by: Luciano Coelho commit 5de8eef4fdd2044f6981ebf62330720bcdba8ee3 Author: Eliad Peller Date: Tue Dec 13 15:26:38 2011 +0200 wl12xx: use ieee80211_free_txskb() Use the newly introduced ieee80211_free_txskb() instead of dev_kfree_skb() for failed tx packets. Additionally, if the skb is a dummy packet, re-enqueue it (as the fw expects it) instead of freeing it. Reported-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 2c8f82eabc6b3b6d1fc97954377e67f2d83db687 Author: Luciano Coelho Date: Tue Dec 13 11:39:50 2011 +0200 wl12xx: call extended radio parameters for wl127x AP mode We need to set the extended radio parameters for wl127x only. Currently, we were only calling this command with wl127x STA mode, but we should also do it for AP mode. Move the call to the extended radio paramaters to the common hw_init and use a single if for the chip type to do everything at once. Signed-off-by: Luciano Coelho commit f414218ed8bc716825755c9cf59f16a19f28314a Author: Luciano Coelho Date: Tue Dec 13 11:39:02 2011 +0200 wl12xx: don't write out of bounds when hlid > WL12XX_MAX_LINKS We should not get an hlid value bigger than WL12XX_MAX_LINKS from wl1271_rx_handle_data(). We have a WARN_ON in case it happens. But despite the warning, we would still go ahead and write the hlid bit into active_hlids (a stack variable). This would cause us to overwrite other data in the stack. To avoid this problem, we now skip the write when issuing the warning, so at least we don't corrupt data. Signed-off-by: Luciano Coelho commit 3f1764945eaac532c20ab1f23afa352a40f797b2 Author: Pontus Fuchs Date: Thu Dec 1 12:13:44 2011 +0100 wl12xx: Restore testmode ABI Commit 80900d0140a7648587982c8f299830e900e49165 accidently broke the ABI for testmode commands. Restore the ABI again. Signed-off-by: Pontus Fuchs Cc: stable@kernel.org Signed-off-by: Luciano Coelho commit e4522ab1c469a65857ddd2d22d0d3f5606965aaa Author: Helmut Schaa Date: Wed Dec 14 16:28:41 2011 +0100 rt2x00: Make use of ieee80211_free_txskb in tx path ieee80211_free_txskb should be used when dropping a frame in the device rx path such that mac80211 knows about this frame being dropped. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit cb71b8d80334add8991862f9fd36dc50874944ce Author: Simon Wunderlich Date: Wed Dec 14 13:33:30 2011 +0100 mac80211: free skb on error path of ieee80211_ibss_join() Our new return also created a memleak. The skb should be freed before returning an error. Signed-off-by: Simon Wunderlich Signed-off-by: John W. Linville commit 38c9d6641ff0664911aebe4ba67124f28169a972 Author: Amitkumar Karwar Date: Tue Dec 13 20:43:17 2011 -0800 mwifiex: remove cfg_workqueue cfg_workqueue was added to notify cfg80211 that scan, connect or disconnect is done by calling respective completion handlers. We can avoid use of this workqueue by calling those handlers from other places. 1) Call connect, disconnect completion handlers in their callback functions. ex. Call cfg80211_connect_result() in mwifiex_cfg80211_connect() 2) Call scan completion handler after parsing response of last scan command in a queue. After removing the workqueue, variables (assoc_request etc.) and checks used for mutual exclusion become redundant. Those are also removed in this patch. Signed-off-by: Amitkumar Karwar Signed-off-by: Yogesh Ashok Powar Signed-off-by: Nishant Sarmukadam Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 00918d33c0e9966392e5a13aeacd712b9da473c9 Author: Johannes Berg Date: Tue Dec 13 17:22:05 2011 +0100 nl80211: accept testmode dump with netdev All nl80211 commands that need only the wiphy still allow identifying it by giving an interface index, except, as Kenny pointed out, the testmode dump support. Fix this by looking up the wiphy via the ifidx in this case as well. Tested-by: Kenny Hsu Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5d22df200beccb1dea26fe4d8684ed93ae2f0aeb Merge: 8b1fdb5 78feb35 Author: John W. Linville Date: Wed Dec 14 14:35:41 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless Conflicts: drivers/net/wireless/iwlwifi/iwl-agn.c commit 3ca9d1fc9aa64077645a26c396de9399b49ea226 Author: Aarthi Thiruvengadam Date: Tue Dec 13 13:32:12 2011 -0800 ath6kl: support for P2P mgmt operations on station interface This patch enables support for doing P2P management operations like device discovery on top of a station interface. After group formation, the station interface will become a P2P GO/client interface as the case may be. This feature requires modifications to a couple of existing WMI structures and therefore new command ids and structures have been defined in order to be compatible with older firmware versions and other chips. The exception here is the wmi_connect_cmd. Adding a new field to the end of the structure will not cause any issues with previous firmware versions since firmware only checks for minimum length of the command. The other structures are of variable length, hence it was not possible to add new fields to the end. The new command ids have to be added to the end of enum wmi_cmd_id, so it has updated to match the firmware. The driver will support both the 'old' and the 'new' commands for a while by checking the firmware capabilities. Signed-off-by: Aarthi Thiruvengadam Signed-off-by: Kalle Valo commit 39586bf272c77365a547867c8009bb92cc70b9f0 Author: Ryan Hsu Date: Tue Dec 13 17:11:07 2011 +0800 ath6kl: Support different uart_tx pin and refclk configuration AR6003 family use uart_tx=8 and refclk=26Mhz by default, and AR6004 family uses different uart_tx pin and could also support various xtal source, moves these per hw configuration. Signed-off-by: Ryan Hsu Signed-off-by: Kalle Valo commit 8b1fdb53075bd794a209a611bc94aedaf7ecf9e2 Author: John W. Linville Date: Wed Dec 14 09:03:52 2011 -0500 b43: avoid calling bcma_* if CONFIG_B43_BCMA is not set Avoids this: ERROR: "bcma_chipco_pll_write" [drivers/net/wireless/b43/b43.ko] undefined! Signed-off-by: John W. Linville commit c2521653f4f299b8946fb7073ac90ed5d3d5de7c Author: Amitkumar Karwar Date: Mon Dec 12 19:56:58 2011 -0800 mwifiex: do not advertise custom regulatory domain capability mwifiex driver no longer supports it's own custom regulatory rules, but custom regulatory domain capability is still advertised during wiphy registration by the driver. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit eb032f03cbf7ac7baf78ae89a832100561bf0e29 Author: Arend van Spriel Date: Mon Dec 12 15:15:12 2011 -0800 brcm80211: smac: register with bcma for specific 802.11 core revisions The brcmsmac driver has been verified on chipsets that were supported when it was a pci device driver, ie. bcm4313, bcm43224, and bcm43225. This patch restricts the driver to 802.11 core revisions that are found in these chipsets. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit e922602edad30d1f225c32c1cddd80fb3740a8d3 Author: Arend van Spriel Date: Mon Dec 12 15:15:11 2011 -0800 brcm80211: smac: cleanup buscore handling in aiutils.c Instead of storing the buscore information now the BCMA core device is kept for quick reference in si_info structure. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 99559f136559e6822f20fcf1b63e6910df126941 Author: Arend van Spriel Date: Mon Dec 12 15:15:10 2011 -0800 brcm80211: smac: cleanup si_info structure definition Number of fields are no longer needed as the BCMA provides it or makes them redundant. These have been removed. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 3b758a68402fc5b1c2dbc246595dbdc062bf0da9 Author: Arend van Spriel Date: Mon Dec 12 15:15:09 2011 -0800 brcm80211: smac: remove mapped core related function from aiutils.c In aiutils.c the selected core was maintained by its index number. This is obsolete using BCMA functions so several functions using that index have been removed. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit e3d5af56e1a50c9bc3c24810e6b25df91d37bc77 Author: Arend van Spriel Date: Mon Dec 12 15:15:08 2011 -0800 brcm80211: smac: remove ai_switch_core() function The function ai_switch_core() is no longer needed and its counterpart ai_restore_core() as well, because interrupts disabling is not needed anymore. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 937642f55ef7f8b9dcb202754d53853c7b36e15f Author: Arend van Spriel Date: Mon Dec 12 15:15:07 2011 -0800 brcm80211: smac: remove interrupt disable callback functionality There is no need to interrupt disable/enable functionality any longer due to BCMA usage assures the correct core is accessed in any context. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit a232c8a12a0fe55a2e671d24626c98a21b57a332 Author: Arend van Spriel Date: Mon Dec 12 15:15:06 2011 -0800 brcm80211: smac: INTROFF/INTRESTORE macros removed The macros were used to assure that the correct core was accessed in the ISR, but register access is now done giving the explicit core so no need to change interrupt state. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 291ed3dcd5334c7987272494373751f86e5b61ee Author: Arend van Spriel Date: Mon Dec 12 15:15:05 2011 -0800 brcm80211: smac: remove empty or unused functions from pmu.c A number of functions in pmu.c are not used or adding no functionality at all. These have been removed. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 646e2615d21d6438e033fd28888b8a6a62cda851 Author: Arend van Spriel Date: Mon Dec 12 15:15:04 2011 -0800 brcm80211: smac: remove register access macro definitions The register access macros like R_REG/W_REG/etc. are no longer needed as the driver uses the BCMA provided functions. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit c8086745215435281ca319b5243bf8b11a366ef3 Author: Arend van Spriel Date: Mon Dec 12 15:15:03 2011 -0800 brcm80211: smac: use bcma core access functions in aiutils.c The code in aiutils.c now uses the BCMA function for control the registers in the device cores. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 8d30b708b82ffa98e04197547e89fd8f18313ce2 Author: Arend van Spriel Date: Mon Dec 12 15:15:02 2011 -0800 brcm80211: smac: use bcma core access functions in pmu.c The code in pmu.c now uses the functions provided by BCMA to access the core registers. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit b14f16747f143b330d0cef84ff2c590c3f1744a4 Author: Arend van Spriel Date: Mon Dec 12 15:15:01 2011 -0800 brcm80211: smac: use bcma core access function in srom.c The code in srom.c now uses the core access function provided by BCMA so no need to pass __iomem pointer any longer. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 373c78e19d6c00ff87fc251584d8bab65150e751 Author: Arend van Spriel Date: Mon Dec 12 15:15:00 2011 -0800 brcm80211: smac: use bcma core access functions in otp.c The code in otp.c now uses the bcma core access functions to read the OTP information from the device. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit d3126c52eb7f3239b45481facc4078b08ed1027c Author: Arend van Spriel Date: Mon Dec 12 15:14:59 2011 -0800 brcm80211: smac: change ai_findcoreidx() to ai_findcore() Instead of returning the core index the function now returns the bcma device for the requested core id. This function is now exposed in the header file. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit dd5f13b8a4b5f86e645e7e6662075004d116d5ad Author: Rafał Miłecki Date: Mon Dec 12 23:40:22 2011 +0100 b43: N-PHY: update TX power fix Specs were updated. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 6a6865ef32065102a32ebe1a604d3b88426410fa Author: Rafał Miłecki Date: Mon Dec 12 21:38:36 2011 +0100 b43: N-PHY: workaround broken auto-increment on BCM43224 Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 03f665c895fa9801ef4701d3e4e0918055370ee2 Author: Rafał Miłecki Date: Mon Dec 12 21:38:35 2011 +0100 b43: N-PHY: fix 32-bit reads of tables The order is different than on older PHYs. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 53d69c399abf3b382c1e737ff9402d31ca5a7a51 Author: Eliad Peller Date: Mon Dec 12 15:30:04 2011 +0200 mac80211: don't check sdata_running in vif notifier The ip address of the vif can be set even before the vif is up. requiring the vif to be up in the vif notifier makes the notifer ignore this event, which causes wrong arp filter configuration later on. Reported-by: Eyal Shapira Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit 0d392e938b55935cf4137e05a23009dc168481c3 Author: Eliad Peller Date: Mon Dec 12 14:10:49 2011 +0200 mac80211: configure BSS_CHANGED_ARP_FILTER on reconfiguration Configure arp filtering on sta reconfiguration. Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit cd6c524e9e0b5ad8ce52bc3b4a3a1e272e3a8410 Author: Dmitry TARNYAGIN Date: Mon Dec 12 12:58:43 2011 +0100 mac80211: Do not request FIF_BCN_PRBRESP_PROMISC for HW scan. ieee80211_configure_filter code used local->scanning as a boolean value when it was a bit mask. Bits SCAN_COMPLETED, SCAN_ABORTED should not set FIF_BCN_PRBRESP_PROMISC filter. SCAN_HW_SCANNING should not set FIF_BCN_PRBRESP_PROMISC either, as there is no explicit filter configuration request from scan code. If a driver requires FIF_BCN_PRBRESP_PROMISC mode during HW scanning, it's up to the driver to temporary enable it. Similar mistake was fixed also in ieee80211_hw_config (power configuration code). Verified-by: Vitaly Wool Signed-off-by: Dmitry Tarnyagin Signed-off-by: John W. Linville commit 6539306b2c3ceafbc4094cf68c58094c282da053 Author: Stanislaw Gruszka Date: Mon Dec 12 12:43:24 2011 +0100 rtlwifi: merge ips,lps spinlocks into one mutex With previous patch "rtlwifi: use work for lps" we can now use mutex for protecting ps mode changing critical sections. This fixes running system with interrupts disabled for long time. Merge ips_lock and lps_lock as they seems to protect the same data structures (accessed in rtl_ps_set_rf_state() function). Reported-by: Philipp Dreimann Tested-by: Larry Finger Cc: Mike McCormack Cc: Chaoming Li Signed-off-by: Stanislaw Gruszka Signed-off-by: Larry Finger Tested-by: Tim Gardner Signed-off-by: John W. Linville commit 41affd5286fb91176eb99b34ecd8eb522ba22369 Author: Stanislaw Gruszka Date: Mon Dec 12 12:43:23 2011 +0100 rtlwifi: use work for lps Leaving leisure power save mode can take some time, so it's better to perform that action in process context with interrupts enabled. This patch changes lps_leave tasklet to work. Reported-by: Philipp Dreimann Tested-by: Larry Finger Cc: Mike McCormack Cc: Chaoming Li Signed-off-by: Stanislaw Gruszka Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 49d55cef5b1925a5c1efb6aaddaa40fc7c693335 Author: Rafał Miłecki Date: Sun Dec 11 13:16:51 2011 +0100 b43: N-PHY: implement spurious tone avoidance Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 38646ebae710da024bdf6e9dcac733bfdb6dd3e1 Author: Rafał Miłecki Date: Sun Dec 11 02:55:34 2011 +0100 b43: N-PHY: finish 2.4GHz 0x2056 radio setup Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit c7d6431035089565eec9f5138943498fa60f875c Author: Rafał Miłecki Date: Sun Dec 11 02:55:33 2011 +0100 b43: N-PHY: determine various PHY params Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 66d80a51e8a6fbca35bdce69db813288826ce9aa Author: Rafał Miłecki Date: Sun Dec 11 02:55:32 2011 +0100 b43: N-PHY: add table for antenna software control Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 9a2e85de2c2ff85bbf2891f8a29cded5dbff5e05 Author: Rafał Miłecki Date: Sun Dec 11 02:55:31 2011 +0100 b43: N-PHY: workaround BCM43224 hw bug in writing table id 9 Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 3c17dd414864bbd637379455e2f4885ef3aa7778 Author: Rafał Miłecki Date: Sun Dec 11 02:55:30 2011 +0100 b43: N-PHY: update some init values Changes were obtained from MMIO dump from 5.100.82.112. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit c56da252a7608bd06c4527e3ce5dd2090c7922b8 Author: Rafał Miłecki Date: Sun Dec 11 02:55:29 2011 +0100 b43: N-PHY: random trivial fixes for typos, missing writes Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit e5f0a276213ffb080d0613d6c7fc1240ef5af67c Author: Felix Fietkau Date: Sat Dec 10 22:11:19 2011 +0100 ath9k: make two mci related functions static Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit bbea3bc432dc5c08d09ca5c80afdd82515470688 Author: Avinash Patil Date: Thu Dec 8 20:41:05 2011 -0800 mwifiex: wakeup and stop multiple tx queues in net_device replace single queue function calls with equivalent multiple queue functions. Wakeup queue and stop queue calls are guarded by spin lock. Signed-off-by: Avinash Patil Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 17a60b48193f32ab0c87e0d57df6ab408fbe9bca Author: Avinash Patil Date: Thu Dec 8 20:41:04 2011 -0800 mwifiex: proper cleanup when RX multiport aggregation fails Free SKBs allocated during multiport aggrgation setup when RX multiport aggregation fails in the middle. With this handling freeing SKB in mwifiex_process_int_status() for failure case is removed. Also handles single RX transaction failure. Signed-off-by: Avinash Patil Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 8c53e42dea5905aee2a97e6af5874432f27b5c03 Author: Amitkumar Karwar Date: Thu Dec 8 20:41:03 2011 -0800 mwifiex: failure case handling for PCIe events Event buffers for PCIe interface are allocated during driver initialisation, and respective physical addresses are sent to FW in *_PCIE_DESC_DETAILS command so that FW can do DMA. These buffers will be freed while unloading the driver. Therefore we should not free them in event handling error path. Also we should skip next pending events in failure case. Also fixed 'returning -1 instead of -ENOMEM is sloppy' warnings. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit b0327ffa8cfe69ce2d380200c2097b86c6b3efd9 Author: Arend van Spriel Date: Thu Dec 8 15:06:59 2011 -0800 brcm80211: smac: use bcma core access functions in nicpci.c Code in nicpci.c now uses the PCI(E) core as provided by the BCMA bus driver to configure that core. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit a8779e4a8e7f0f90ae169393cd72105134ce7c7b Author: Arend van Spriel Date: Thu Dec 8 15:06:58 2011 -0800 brcm80211: smac: use bcma core control functions BCMA provides functions to control the state of the cores so using that and remove similar implementation from the driver. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 834d5846d1b17114530e2f4e4e0e5a415065f1f8 Author: Arend van Spriel Date: Thu Dec 8 15:06:57 2011 -0800 brcm80211: smac: remove unused functions and/or prototypes Several functions provided by aiutils.c are not used in brcmsmac driver and have been removed. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 7d8e18e456466c2247abe0658e4add598f85c98e Author: Arend van Spriel Date: Thu Dec 8 15:06:56 2011 -0800 brcm80211: smac: replace ai_corereg() function with ai_cc_reg() The ai_corereg() function is only used in the driver to safely access the chipcommon core. The function has been renamed to ai_cc_reg() removing the need to provide a core index parameter. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit ad5db1317c04ece569d18c692f8e49453c552d1e Author: Arend van Spriel Date: Thu Dec 8 15:06:55 2011 -0800 brcm80211: smac: remove SI_FAST() macro usage The use of SI_FAST() macro interferes with the BCMA integration as it causes BCMA and aiutils.c to get out of sync on what the current core is. When everything is using BCMA we will try to add SI_FAST functionality to BCMA to avoid unnecessary core switching. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 4b006b11ca18995677c5f1cd03cc9c42fbe80693 Author: Arend van Spriel Date: Thu Dec 8 15:06:54 2011 -0800 brcm80211: smac: use bcma functions for register access in phy code This adds the use of bcma functions to access the registers within the phy source code. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit e81da6501b433f757baa981a4e02fd9956cd3147 Author: Arend van Spriel Date: Thu Dec 8 15:06:53 2011 -0800 brcm80211: smac: use bcma function for register access in dma.c The dma.c source file now uses the register access functions provided by bcma. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 2e81b9b19f20286425fed3b54df9b81189444cee Author: Arend van Spriel Date: Thu Dec 8 15:06:52 2011 -0800 brcm80211: smac: use DMA-API calls for descriptor allocations Using BCMA hides the specifics about the host interface. The driver is now using the DMA-API to do dma related calls. BCMA provides the device object to use in the DMA-API calls. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 16d2812e9eaaa47ca952ea81e34b4f400c861dfc Author: Arend van Spriel Date: Thu Dec 8 15:06:51 2011 -0800 brcm80211: smac: use bcma core register access functions for 802.11 core The driver now uses the bcma register access functions to read and write the registers on the 802.11 core. The dma and phy code need to be modified next and access to the other cores. That will be done in coming patches. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 5204563ab841fbb5d6ef683635682e155a0a9e84 Author: Arend van Spriel Date: Thu Dec 8 15:06:50 2011 -0800 brcm80211: smac: remove enumeration rom parsing function The core enumeration rom is already parsed by the bcma bus driver and there is no need to repeat the exercise. The ai_scan() function still exists but is targetted for removal as well. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 28a5344261753fadb1731b82c5eeecca708a877c Author: Arend van Spriel Date: Thu Dec 8 15:06:49 2011 -0800 brcm80211: smac: change ai_attach interface taking a bcma_bus object The ai_attach now takes a bcma_bus object as its parameter to obtain all required information needed for chip control. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit cbc80db2922112cf3c77a6121827ad662ea78c2d Author: Arend van Spriel Date: Thu Dec 8 15:06:48 2011 -0800 brcm80211: smac: rename struct si_info field pbus to pcibus When moving to bcma usage there are two busses in play. The pci bus connecting the device to the host and the bcma bus connecting the cores in the device. To distinguish this the attribute pbus has been renamed to a more explicit name, ie. pcibus. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit b63337a0344d7ebf3c8d710b1327d0b61c0f6f03 Author: Arend van Spriel Date: Thu Dec 8 15:06:47 2011 -0800 brcm80211: smac: change attach interfaces in main.c for bcma support The driver is probed through bcma which provides a device representing the core. This device is now passed in brcms_c_attach and brcms_b_attach functions. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 2e756560a8a47ce754b852d0bc1ff7549433d0eb Author: Arend van Spriel Date: Thu Dec 8 15:06:46 2011 -0800 brcm80211: smac: change from pci device driver to bcma device driver A new bus driver called "bcma" has been introduced into the kernel tree which considers the Broadcom AMBA chip interconnect as a bus. Each core in the chip is a bcma device. This commit changes brcms_mac80211.c into a bcma device driver. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit b2ffec46ea230acac52170dd0a747526328d25fe Author: Arend van Spriel Date: Thu Dec 8 15:06:45 2011 -0800 brcm80211: smac: use inline access functions for struct si_pub fields Instead of directly accessing the fields in struct si_pub the driver now uses inline access functions. This is in preparation of the bcma integration as a lot of information will be provided by bcma module. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Reviewed-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 2e397c303807fadcf65f4e070603107453db4352 Author: Arend van Spriel Date: Thu Dec 8 15:06:44 2011 -0800 brcm80211: smac: move fields from struct si_pub to struct si_info The structure si_pub contained couple of fields that were only used internally in aiutils.c. These have been moved to the si_info structure. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Reviewed-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit c9eb65a4865a915e93847be19a546d47816d88e4 Author: Arend van Spriel Date: Thu Dec 8 15:06:43 2011 -0800 brcm80211: smac: remove unused fields from struct si_pub definition Several fields from the si_pub structure were not used or only set once but never checked. These fields have been removed. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Reviewed-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit ffb2756511a90091185e9be0652cc10eee0890d0 Author: Franky Lin Date: Thu Dec 8 15:06:40 2011 -0800 brcm80211: fmac: remove drive strength code for unsupported chips bcm4325 and bcm4336 are not supported by brcmfmac. Remove the drive strength setting code specific for these chips. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit ce2d7d7e8fd88191f5d1c92a8b33aeb0cb12ea34 Author: Franky Lin Date: Thu Dec 8 15:06:39 2011 -0800 brcm80211: fmac: add bcm4330 support This patch adds support for bcm4330 chip which has a SDIO device id 0x4330. All basic functionalities of bcm4330 are supported by brcmfmac after this patch. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit e40aed0638ac84d63a2ff33502e215ac81010a89 Author: Franky Lin Date: Thu Dec 8 15:06:38 2011 -0800 brcm80211: fmac: fix firmware shared structures version Some shared structures in fullmac have a wrong combination of version number and declarations. This patch fixes it by upgrading them to the latest version. This allows brcmfmac to support new firmwares with new features. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit d76d1c8c1deebe0c71872ac4e500d6a2233f80ff Author: Franky Lin Date: Thu Dec 8 15:06:37 2011 -0800 brcm80211: fmac: save bus interface structure in function 2 device bus interface was stored in sdio card device. The device pointer is used as parameter of interface functions between common layer and bus layer to make the function declaration generic for different bus type. But the card device is a parent device layer for SDIO function devices. It doesn't contain all contexts needed by udev. This patch moves the shared structure to private driver data pointer of SDIO function 2 device which is more appopriate for net device and cfg80211 registration. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 4a38994f1c43351b4aaca01ae93bd574f5b5075e Author: Rajkumar Manoharan Date: Thu Dec 8 23:59:26 2011 +0530 cfg80211: notify core hints that helps to restore regd settings Regulatory updates set by CORE are ignored for custom regulatory cards. Let us notify the changes to the driver, as some drivers uses core hint to restore its orig_* reg domain setting. Cc: Paul Stewart Signed-off-by: Rajkumar Manoharan Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 687f545ecf5600cf43717f937d94d859e105574c Author: Rajkumar Manoharan Date: Thu Dec 8 23:59:25 2011 +0530 ath9k: Reconfigure tx power on regulatory update Whenever the regulatory got updated by country IE for the world roaming cards, need to reconfigure the tx power immediately to increase the power level. Reviewed-by: Sam Leffler Signed-off-by: Rajkumar Manoharan Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit de1c732b1891a25f3f2f52ef7211a3d567bbd588 Author: Luis R. Rodriguez Date: Thu Dec 8 23:59:24 2011 +0530 ath: optimize processing of CTLs for country IEs for world roaming cards When we receive a country IE hint and we have a world roaming card we can optimize output power further by ensuring that we use the calibrated data for the country by using that country's own CTL data. That is -- when world roaming and when we process a country IE we no longer need to use the lowest output power of all CTLs instead we use an optimized CTL output power for that specific country. We accomplish this by copying the regulatory data prior on init and restoring it when cfg80211 tells us it gets a core hint. Core hints are only sent on init and when it wants to restore reguulatory settings. We take advantage of this fact and apply the cached regulatory data when we get a core hint. When we get a country IE hint though we process the regulatory data as if programmed for a specific country. Tested-by: Rajkumar Manoharan Signed-off-by: Luis R. Rodriguez Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 43fcb430a4cfb7bd7c82600edeb3ca65f202a5f3 Author: Luis R. Rodriguez Date: Thu Dec 8 23:59:23 2011 +0530 ath: add a helper for processing reg data on init This has no functional change. The helper can be used later for other things like country IE changes and following the CTL for different countries. Signed-off-by: Luis R. Rodriguez Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit adf5ace5d8161b962afe90e77922728a425b6933 Author: Helmut Schaa Date: Thu Dec 8 13:11:55 2011 +0100 mac80211: Make use of ieee80211_is_* functions in tx status path Use ieee80211_is_data, ieee80211_is_mgmt and ieee80211_is_first_frag in the tx status path. This makes the code easier to read and allows us to remove two local variables: frag and type. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 42624d4913a00219a8fdbb4bafd634d1d843be85 Author: Yogesh Ashok Powar Date: Thu Dec 8 14:56:15 2011 +0530 mac80211: Purge A-MPDU TX queues before station destructions When a station leaves suddenly while ampdu traffic to that station is still running, there is a possibility that the ampdu pending queues are not freed due to a race condition leading to memory leaks. In '__sta_info_destroy' when we attempt to destroy the ampdu sessions in 'ieee80211_sta_tear_down_BA_sessions', the driver calls 'ieee80211_stop_tx_ba_cb_irqsafe' to delete the ampdu structures (tid_tx) and splice the pending queues and this job gets queued in sdata workqueue. However, the sta entry can get destroyed before the above work gets scheduled and hence the race. Purging the queues and freeing the tid_tx to avoid the leak. The better solution would be to fix the race, but that can be taken up in a separate patch. Signed-off-by: Nishant Sarmukadam Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit adbde344dc12514d68620afae8d34035e72544b1 Author: Vasanthakumar Thiagarajan Date: Thu Dec 8 14:28:47 2011 +0530 cfg80211: Fix race in bss timeout It is quite possible to run into a race in bss timeout where the drivers see the bss entry just before notifying cfg80211 of a roaming event but it got timed out by the time rdev->event_work got scehduled from cfg80211_wq. This would result in the following WARN-ON() along with the failure to notify the user space of the roaming. The other situation which is happening with ath6kl that runs into issue is when the driver reports roam to same AP event where the AP bss entry already got expired. To fix this, move cfg80211_get_bss() from __cfg80211_roamed() to cfg80211_roamed(). [158645.538384] WARNING: at net/wireless/sme.c:586 __cfg80211_roamed+0xc2/0x1b1() [158645.538810] Call Trace: [158645.538838] [] warn_slowpath_common+0x65/0x7a [158645.538917] [] ? __cfg80211_roamed+0xc2/0x1b1 [158645.538946] [] warn_slowpath_null+0xf/0x13 [158645.539055] [] __cfg80211_roamed+0xc2/0x1b1 [158645.539086] [] cfg80211_process_rdev_events+0x153/0x1cc [158645.539166] [] cfg80211_event_work+0x26/0x36 [158645.539195] [] process_one_work+0x219/0x38b [158645.539273] [] ? wiphy_new+0x419/0x419 [158645.539301] [] worker_thread+0xf6/0x1bf [158645.539379] [] ? rescuer_thread+0x1b5/0x1b5 [158645.539407] [] kthread+0x62/0x67 [158645.539484] [] ? __init_kthread_worker+0x42/0x42 [158645.539514] [] kernel_thread_helper+0x6/0xd Reported-by: Kalle Valo Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit fb03c5eb8c0bbf4561cb5aa72e0a9546e9574661 Author: Dan Carpenter Date: Thu Dec 8 09:49:03 2011 +0300 mac80211: unlock on error path in ieee80211_ibss_join() We recently introduced a new return here but it needs an unlock first. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit cc78d6b16a6853a3f6c014a6173df41d80f65a35 Author: Mohammed Shafi Shajakhan Date: Thu Dec 8 11:59:03 2011 +0530 ath9k_hw: Fix handling of MCI interrupt in my previous patches of handling MCI interrupt I overlooked the case of interrupt status/mask variable being zeroed out in the below code, so ath_isr does not cache the MCI interrupt in the intrstatus. finally MCI interrupt handling won't be handled in ath9k_tasklet for the scheduled interrupts. Fix this by moving the MCI interrupt code in the appropriate position in ar9003_hw_get_isr Cc: Wilson Tsao Cc: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 93fdd59463369f07b69cf7397ccb9b1d28a84df4 Author: Mohammed Shafi Shajakhan Date: Thu Dec 8 11:59:02 2011 +0530 ath9k_hw: check for asynchronous interrupts before bailing out in ar9003_hw_get_isr we bail out if we don't have any primary interrupts and synchronous interrupts, also make sure we don't have any asynchronous interrupts Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 05ef54e8cd7d5d29b263ead74191e5b96c24618d Merge: b6a27d1 a844855 Author: John W. Linville Date: Tue Dec 13 15:08:02 2011 -0500 Merge branch 'wireless-next' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi commit 10509f903ebb7d2a02571f30cb937dd923b023cf Author: Kalle Valo Date: Tue Dec 13 14:52:07 2011 +0200 ath6kl: implement scheduled scan ath6kl firmware supports scheduled scan functionality with the wow ssid filter. But the firmware does not send any events after scan results so I had to add a timer which notifies about new scan results. Sched scan needs firmware version 3.2.0.6 or later. If firmware doesn't support sched scan the driver will not enable the feature. Signed-off-by: Kalle Valo commit 277d90f4ba4b7ebb35b85a5d6c58dce2f1e1b58d Author: Kalle Valo Date: Tue Dec 13 14:51:58 2011 +0200 ath6kl: fix reading of FW IE capabilities For some strange reason I used ALIGN() to calculate index to the buffer. That is totally bogus and wouldn't work when it tried to read the second bit. Fix it by removing the ALIGN() altogether. Also check that ie_len is not too short. Signed-off-by: Kalle Valo commit 75ae3bc48fc8f5d1e5f5fe43cd07078325a6194b Author: Kalle Valo Date: Tue Dec 13 14:51:47 2011 +0200 ath6kl: fix value of WOW_FILTER_SSID According to the firmware engineers WOW_FILTER_SSID is actually the second bit, not the first. Signed-off-by: Kalle Valo commit 7125f01d98ed75028ead5b335ec32e6e501cd19b Author: Kalle Valo Date: Tue Dec 13 14:51:37 2011 +0200 ath6kl: implement ath6kl_cfg80211_stop_all() During suspend we need to stop all vifs, not just the first. Signed-off-by: Kalle Valo commit ed8491a796558067200ae8a66570c83cb03cbd16 Author: Kalle Valo Date: Tue Dec 13 14:51:28 2011 +0200 ath6kl: call ath6kl_cfg80211_stop() from ath6kl_close() This way it's possible to keep all disconnect logic in one function and easier to add new functionality, like stopping scheduled scan. There are some changes to commands called during network interface close, but there should not be any visible changes in functionality. Signed-off-by: Kalle Valo commit c97a31b002d34595f74d2cb0d8017c183e7157d4 Author: Kalle Valo Date: Tue Dec 13 14:51:10 2011 +0200 ath6kl: remove a workaround from ath6kl_cfg80211_stop() There's a workaround in ath6kl_cfg80211_stop() which emits disconnected even when sme_state was disconnected. This is legacy from the old staging driver and I can't repoduce the old problem anymore. I assume the bug got fixed while the driver was cleaned up so let's get rid of the hack. This makes it possible to call ath6kl_cfg80211_stop from ath6kl_close() which happens in a followup patch. Signed-off-by: Kalle Valo commit d6d5c06c3cf6b1b5b4ffaac8a05c0cea97f90857 Author: Kalle Valo Date: Fri Nov 25 13:17:37 2011 +0200 ath6kl: cleanup ath6kl_priv() It really should not return a void pointer. Also remove useless casts from its users. Signed-off-by: Kalle Valo commit 4703290af46c73094b5252f0cd643c64613c2cb2 Author: Jouni Malinen Date: Thu Dec 8 16:50:30 2011 +0200 ath6kl: Use delayed key configuration for WAPI in AP mode This is needed to allow WAPI AP to configure the initial group key to the target in the same way as is done with TKIP/CCMP. This fixes broadcast data frame delivery with the initial group key. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit f2abba4921b945a6f8aca36fcba634c22797ba78 Merge: dfd56b8 b6a27d1 Author: John W. Linville Date: Mon Dec 12 14:19:43 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem commit 3f865490698871bf77eebce05208fd08e9b45aeb Author: Jiri Kosina Date: Mon Dec 12 00:31:49 2011 +0100 mac80211: drop spelling fix This is a partial revert of 42b2aa86c667 ("treewide: Fix typos in various parts of the kernel, and fix some comments") as the code has been refactored in the wireless tree. Reported-by: Stephen Rothwell Signed-off-by: Jiri Kosina commit b6a27d1e6b8e163dee054c9cd03639c62756c2e2 Author: Nikolay Martynov Date: Thu Dec 8 21:43:39 2011 -0500 iwlwifi regression in 20111205 merge It looks like the regression was introduced between 20111202 and 20111205 (linux-next tree). Symptoms: connection to AP seem to be established, but no data goes though it in any way. Tested on intel 5300. Peek at the changes have shown that it looks like at least part of the code wasn't merged properly. It was originally committed into iwl_agn.c but code in question was moved to iwl-mac80211.c. This patch puts code in place and my card works again. Signed-off-by: Nikolay Martynov Signed-off-by: John W. Linville commit cf00f379d82d170712150588accd2ebe316c2226 Author: John W. Linville Date: Thu Dec 8 16:15:58 2011 -0500 wl12xx: silence tx_attr uninitialized warning in wl1271_tx_fill_hdr CC [M] drivers/net/wireless/wl12xx/tx.o drivers/net/wireless/wl12xx/tx.c: In function ‘wl1271_tx_fill_hdr’: drivers/net/wireless/wl12xx/tx.c:288:6: warning: ‘tx_attr’ may be used uninitialized in this function Signed-off-by: John W. Linville commit a844855344b035338bfbcb1d2b7ed0aaca241a95 Author: Johannes Berg Date: Fri Dec 2 12:25:12 2011 -0800 iwlagn: use IWL_MAX_TID_COUNT instead of TID_MAX_LOAD_COUNT We track the load only on 8 TIDs, previously this was TID_MAX_LOAD_COUNT. Since IWL_MAX_TID_COUNT is now 8 as well, use that to make the code more easily understandable. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit e0467a30734a8dc2ecddbe892985ce5cfe5bf966 Author: Johannes Berg Date: Fri Dec 2 12:24:45 2011 -0800 iwlagn: use IWL_MAX_TID_COUNT for WoWLAN Now that I corrected IWL_MAX_TID_COUNT to be 8 instead of 9, we can use it in WoWLAN suspend. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 9a215e40d70ae63762963ab3ccc7f31dd966dc6a Author: Johannes Berg Date: Fri Dec 2 12:22:54 2011 -0800 iwlagn: fix TID use bug The driver everywhere uses max TID count as 9, which is wrong, it should be 8. I think the reason it uses 9 here is off-by-one confusion by whoever wrote this. We do use the value IWL_MAX_TID_COUNT for "not QoS/no TID" but that is completely correct even if it is 8 and not 9 since 0-7 are only valid. As a side effect, this fixes the following bug: Open BA session requested for 00:23:cd:16:8a:7e tid 8 ------------[ cut here ]------------ kernel BUG at drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h:350! ... when you do echo "tx start 8" > /sys/kernel/debug/ieee80211/*/*/*/*/agg_status Cc: stable@vger.kernel.org Reported-by: Nikolay Martynov Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 45c30dba1c9358b5446559eff07282c56ada3b4b Author: Don Fry Date: Wed Nov 30 16:58:39 2011 -0800 iwlwifi: move calib_results list from iwl_priv to iwl_trans Move the calib_results list from the upper layer iwl_priv structure to the lower layer iwl_trans structure. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy commit ae6130fc9b5e9957aaf26355b80e0a5ef7f8f537 Author: Don Fry Date: Wed Nov 30 16:12:59 2011 -0800 iwlwifi: move device_pointers from iwl_priv to iwl_shared Move the low level ucode device_pointers structure to iwl_shared. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy commit ab36eab24e7847d6d92872c55b46554c8ac4c4b3 Author: Don Fry Date: Wed Nov 30 15:37:32 2011 -0800 iwlwifi: move eeprom pointer from iwl_priv to iwl_shared The eeprom image is a device level component, move from iwl_priv to iwl_shared, with associated code changes. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy commit b8deb4925f88c5052fc42dc52e9c7057f05deb0d Author: Wey-Yi Guy Date: Fri Dec 2 08:09:10 2011 -0800 iwlwifi: set TX_CMD_FLG_STA_RATE_MSK for BAR frame It is needed by firmware to use the correct rate for BAR frame transmission Signed-off-by: Wey-Yi Guy commit 0cb38d65efa0304e9a948fd7aef9c7d38ad8cbb9 Author: Wey-Yi Guy Date: Fri Dec 2 07:33:57 2011 -0800 iwlwifi: P2P is not enabled by default P2P still under development. it will not enabled by default, but user always can enable it manually for testing. Signed-off-by: Wey-Yi Guy commit 0bec12b838c8fe002a3ad7a1ca5a444c8beee5c3 Author: Hsu, Kenny Date: Thu Dec 1 01:12:50 2011 -0800 iwlwifi: add device ID information support by testmode Create new tm command to report devce ID information to userspace - IWL_TM_CMD_APP2DEV_GET_DEVICE_ID Signed-off-by: Kenny Hsu Signed-off-by: Wey-Yi Guy commit 5ef15ccc648638a2cf00b3a13caa770559aa4e91 Author: Wey-Yi Guy Date: Wed Nov 30 13:24:06 2011 -0800 iwlwifi: rename CONFIG_IWLWIFI_DEVICE_SVTOOL to CONFIG_IWLWIFI_DEVICE_TESTMODE Change the name to match the works Signed-off-by: Wey-Yi Guy commit c4db616623030e9a75a990a2db4d733b5112acb1 Author: Wey-Yi Guy Date: Wed Nov 30 00:14:53 2011 -0800 iwlwifi: remove reference to legacy devices After driver split, no need to reference to legacy devices, remove comments Signed-off-by: Wey-Yi Guy commit 7f62cd17e0ed90f8a1e9fbbb6480fa48ebc4c0a6 Author: Wey-Yi Guy Date: Wed Nov 30 09:41:22 2011 -0800 iwlwifi: minor cleanup Remove the defines only used by legacy devices Signed-off-by: Wey-Yi Guy commit d332f591daca5f5301782bad69f94e160b5fa665 Author: Wey-Yi Guy Date: Wed Nov 30 12:32:42 2011 -0800 iwlwifi: Display more uCode debug info When uCode encounter problem, it pass a lot of debug data to help debugging the issue. We only show partial data before, why not display all of those. Signed-off-by: Wey-Yi Guy commit fe67c084cba9e50725f55281dc48fc29adb07cdd Author: Hsu, Kenny Date: Mon Nov 28 16:54:52 2011 -0800 iwlwifi: hide kernel option IWLWIFI_DEVICE_SVTOOL Because the testmode support should be the mandatory foundation of test functionality, it is better to set kernel option IWLWIFI_DEVICE_SVTOOL automatically instead of user configuration. Signed-off-by: Kenny Hsu Signed-off-by: Wey-Yi Guy commit e1a38fe10f998e27ce8600379d1109be33d4f9c2 Author: Hsu, Kenny Date: Mon Nov 28 00:55:38 2011 -0800 iwlwifi: add uCode version information support by testmode Create new tm command to report uCode version to userspace - IWL_TM_CMD_APP2DEV_GET_FW_VERSION Signed-off-by: Kenny Hsu Signed-off-by: Wey-Yi Guy commit e5cd9ec191e8190c3b8c55f0e0c27b7e1da040e6 Merge: dd5fe10 f589cf4 Author: Wey-Yi Guy Date: Thu Dec 8 15:00:27 2011 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into wireless-next commit f589cf4f2ccdc670ef6d7c30d87f9a3e9dfa4d9d Merge: 0052d81 1b04b73 Author: Luciano Coelho Date: Thu Dec 8 13:08:10 2011 +0200 Merge branch 'wl12xx-next' into for-linville commit 1b04b739f4c1d053bebb29657fb69bf03f180a97 Author: Eyal Shapira Date: Wed Dec 7 12:37:04 2011 +0200 wl12xx: minor fix in sched_scan_ssid_list The user can pass broadcast SSID (ssid="") in the list of SSIDs for active scan. In this case the loop was attempting to match SSIDs in the filter list to this empty entry and marking them as HIDDEN (sending probe request) by mistake Signed-off-by: Eyal Shapira Signed-off-by: Luciano Coelho commit 3dbb5846db1f5df3619b927cc2a7dcaf65a38f1e Author: Eliad Peller Date: Tue Dec 6 12:15:07 2011 +0200 wl12xx: send testmode reply in wl1271_tm_cmd_interrogate wl1271_tm_cmd_interrogate creates a reply skb, but doesn't send it (and thus just leaks it). Add the missing cfg80211_testmode_reply() call. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 188e7f54c38b9bf144ddc81b4b734cb6ea49f31e Author: Eliad Peller Date: Tue Dec 6 12:15:06 2011 +0200 wl12xx: remove redundant commands from plt init During plt init we configure some redundant commands, which are not needed for plt (specifically, we shouldn't configure any role-specific params, as there are no active roles). remove them. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit abc47470ef63cdde2efdf358ae373afb16f358c0 Author: Eliad Peller Date: Tue Dec 6 12:15:05 2011 +0200 wl12xx: fix testmode test/interrogate commands fix several issues in testmode test/interrogate commands: 1. check the driver state is not OFF. 2. wakeup the chip from elp (if needed) 3. fix memory leak in wl1271_tm_cmd_interrogate() Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 0052d812599fb0327792b6c3f4257b26dcc13239 Author: Johannes Berg Date: Tue Dec 6 20:45:37 2011 +0100 wireless: disable wext sysfs by default This code has been on the list to remove for a long time, so disable it by default, add a warning to its Kconfig, and schedule it for removal in 3.5. The only known dependency, hal, has not required it since its 0.5.12 release, which was in early 2009 and hal has since been deprecated completely. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4f17c48e3902c823e4af68d2de9546f5b707533d Author: Nikolay Martynov Date: Tue Dec 6 21:57:17 2011 -0500 ath9k: enable ANI for ar9100 chips Enable ANI for ar9100 since it seems to be working fine (and as a matter of fact ANI was always performed for ar9100 since code which was supposed to disable it didn't achieve this goal). This patch sets config.enable_ani to default (true) value for ar9100. Signed-off-by: Nikolay Martynov Signed-off-by: John W. Linville commit 4279425cef58808c0cdc616b8fff17c8308617bd Author: Nikolay Martynov Date: Fri Dec 2 22:39:16 2011 -0500 ath9k: use config.enable_ani to check if ani should be performed Currently in ath9k code there is an attempt which is meant to disable ANI for ar9100 and ar9340. But it doesn't really achieve this. All it does is disable ANI init and setup (i.e. calls to ath9k_hw_ani_setup and ath9k_hw_ani_init). Since ath9k_hw_ani_setup is not called ah->config.ani_poll_interval is never initialized (i.e. it is always zero) and ath_ani_calibrate always executes ANI procedures (over uninitialized ANI parameters). Moreover, ath_ani_calibrate is being called each 1ms because common->ani.timer is set to zero interval because ah->config.ani_poll_interval==0 (and thus smallest value of all intervals). Normally it should not be called this often. This patch changes the code so config.enable_ani is used to check if ANI should be performed. config.enable_ani is initialized to true by default. This patch sets it to false for ar9100 and ar9340. Signed-off-by: Nikolay Martynov Signed-off-by: John W. Linville commit 86951359c1ee35dbae5e11d7cd959e2cb8e6051f Author: Nikolay Martynov Date: Fri Dec 2 22:39:15 2011 -0500 ath9k: change calibration debug log to output all calibration types To help debugging write a log entry when long calibration, short calibration or ANI is performed. Signed-off-by: Nikolay Martynov Signed-off-by: John W. Linville commit a9b2ce03b2a071420c10f3873869480fbb7f4493 Author: Nikolay Martynov Date: Fri Dec 2 22:39:14 2011 -0500 ath9k: trivial: cosmetic fix in calibration debug log Add missed space and change typo in calibration debugging log. Signed-off-by: Nikolay Martynov Signed-off-by: John W. Linville commit daa1b6ee45170404efb3002ae2ff06e572f7ceba Author: Felix Fietkau Date: Wed Nov 16 13:08:43 2011 +0100 ath9k: cancel all workqueue activity when going idle Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 9df0d6a20a4e6d15684cc8f2e3f0155be0801592 Author: Felix Fietkau Date: Wed Nov 16 13:08:42 2011 +0100 ath9k: only drop packets in drv_flush when asked to Recently more places in mac80211 call drv_flush to ensure proper order for state changes wrt. powersave, channel changes, etc. On some systems such calls lead to spurious logspam about failing to stop tx dma, as well as hardware resets that go along with that. Instead of dropping packets in a place where it's completely unnecessary, only do it when drop == true. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit c0c1174144dd619456be5930d733028a055ef425 Author: Felix Fietkau Date: Wed Nov 16 13:08:41 2011 +0100 ath9k: rework power state handling Turning off the radio when mac80211 tells the driver that it's idle is not a good idea, as idle interfaces might still occasionally scan or send packets. The only time the radio can be safely turned off is when drv_stop has been called. In the mean time, use sc->ps_idle only to indicate network sleep vs full sleep. Move the LED GPIO changes out of the PCI suspend/resume path, the start/stop functions already take care of that. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit c8e8868e3bf2ee0b6e606ce43af023b5f6edc954 Author: Felix Fietkau Date: Wed Nov 16 13:08:40 2011 +0100 ath9k: always issue a full hw reset after waking up from full-sleep mode After waking up from full sleep, registers are accessible, but rx/tx typically fails. A fast channel change will not recover from this, so ensure that a full-sleep -> wake transition is always followed by a full reset. The reason why this hasn't created any serious problems yet is that it's hidden by the (wrong) behavior of enabling/disabling the radio when the wiphy idle state changes. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 4e79fada02df6819106a35ed6111ac47500541b2 Author: Ben Greear Date: Mon Dec 5 11:15:55 2011 -0800 mac80211: Remove WARN_ON in apply-ht-override logic. AP interfaces routinely call this logic, so just silently return when this happens instead of splatting the kernel logs. Reported-by: Christian Lamparter Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 3df6eaea76a9e1351b539541c0314129a0e4b10c Author: Johannes Berg Date: Tue Dec 6 10:39:40 2011 +0100 mac80211: accept public action frames with mismatched BSSID Arik's patch "mac80211: allow action frames with unknown BSSID in GO mode" allowed any action frames in P2P mode to go through, but only to cooked monitor interfaces as the IEEE80211_RX_RA_MATCH was still cleared. As a result my no-monitor patches broke invitation responses. Instead of allowing any action frames in P2P GO mode to go through with a wrong BSSID like that patch did, allow all public action frames. They will never be processed by mac80211, but can be reported via nl80211 then. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit aa5b549215f85cf48a7040bc9d33c4dae0c7d11a Author: Johannes Berg Date: Fri Dec 2 22:08:52 2011 +0100 mac80211: fix retransmit This fixes another regression from my "pass all fragments to driver at once" patches -- if the packet is being retransmitted then we don't go through all handlers, but we still need to move it to the skbs list, otherwise we run into the first warning in __ieee80211_tx() and leak the skb. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 79e3b16b7123018610f2754ce1bd219c5dd844f5 Author: Don Fry Date: Fri Dec 2 08:48:40 2011 -0800 iwlwifi: move ucode notification from iwl_priv to iwl_shared Move the notification structures for ucode operations from the iwl_priv structure to the iwl_shared structure, with associated code changes. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit a96b724d5ad7d44184d6a871bc1d35b005f2d53e Author: Don Fry Date: Fri Dec 2 08:48:39 2011 -0800 iwlwifi: move ucode_type from iwl_priv to iwl_shared Move the ucode_type variable from the iwl_priv to the iwl_shared structure with associated code changes. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit b96b09db60f8e0d9c6bc3ea00447953c16d8b2fc Author: Don Fry Date: Fri Dec 2 08:48:38 2011 -0800 iwlwifi: replace iwl_priv reference with iwl_trans for ucode. Replace the references to the iwl_priv structure with the iwl_trans structure as the priv structure is never referenced other than to access the trans structure. Rename from iwlagn to iwl. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 481f564ac72b2f6c77ba80e7a31932365bd21a35 Author: Don Fry Date: Fri Dec 2 08:48:37 2011 -0800 iwlwifi: rename iwl-agn-ucode as iwl-ucode iwl-agn-ucode is generic ucode operations, not limited just to iwlagn. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 6d5f3ec52939607511a660b01fc34d11ad71ae24 Author: Wey-Yi Guy Date: Fri Dec 2 08:48:36 2011 -0800 iwlwifi: Rename file name from iwl-sv-open.c to iwl-testmode.c The file dealing with all the operations through testmode, rename it. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit ca4c18231935bafeb2a36eec67f6d11076223084 Author: Hsu, Kenny Date: Fri Dec 2 08:48:35 2011 -0800 iwlwifi: add WOWLAN uCode loading support by testmode Create new tm command for WOWLAN uCode loading to support further debugging function in userspace. - IWL_TM_CMD_APP2DEV_LOAD_WOWLAN_FW Signed-off-by: Kenny Hsu Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 112f11dc219ec8f9b0cf5cf9f55fef1096006908 Author: Johannes Berg Date: Fri Dec 2 08:48:34 2011 -0800 iwlagn: make debug levels more readable Using the actual shifted constants here allows one to read and or them more easily. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit d28a21d8aaccadf930085cf581abc9b5e048026d Author: Johannes Berg Date: Fri Dec 2 08:48:33 2011 -0800 iwlagn: remove MACDUMP debug This is only used for TX debugging where there already is more debugging and tracing is more useful anyway, so remove it. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 145274408049d21274e3c645066aa7980165c71e Author: Johannes Berg Date: Fri Dec 2 08:48:32 2011 -0800 iwlagn: remove HC_DUMP debug This debug level is unused, remove it. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit d6846347a0e1bc111b67a1366380419231b97984 Author: Johannes Berg Date: Fri Dec 2 08:48:31 2011 -0800 iwlagn: remove TX_REPLY_LIMIT debug This macro is unused right now. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit f05f2efd84de22d3fa6e49145b601077f8ba8d2f Author: Wey-Yi Guy Date: Fri Dec 2 08:48:29 2011 -0800 iwlwifi: declare static for iwl_sram_cleanup function Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit a2f759fc41579205ad86ef17efe57e730a1af9e6 Author: Hsu, Kenny Date: Fri Dec 2 08:48:28 2011 -0800 iwlwifi: add generic chunk size of tm dumpit packet Use generic chunk size of dumpit packet for all necessary testmode commands instead of add declaration individually. Signed-off-by: Kenny Hsu Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 835df183011db2342b42d06e17c708854ab6defb Author: Kenny Hsu Date: Fri Dec 2 08:48:27 2011 -0800 iwlwifi: add range checking in tm sram read command The size of sram may alter according to ucode type. Retrieve the maximum sram size by current ucode type for range checking to prevent wrong data access. Signed-off-by: Kenny Hsu Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 158969a26553cba63b7ac674159413d32bb57489 Author: Hsu, Kenny Date: Fri Dec 2 08:48:26 2011 -0800 iwlwifi: add tm commands for sram reading by dumpit Create new testmode commands and attributes to suppot sram data reading. Because the amount of sram data may exceed single skb packet size. Using the nl80211 dump it funtion to deliver sram data to userspace. - IWL_TM_CMD_APP2DEV_READ_SRAM - IWL_TM_CMD_APP2DEV_DUMP_SRAM - IWL_TM_ATTR_SRAM_ADDR - IWL_TM_ATTR_SRAM_SIZE - IWL_TM_ATTR_SRAM_DUMP Signed-off-by: Kenny Hsu Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit e7104195a9b43f05d908ced9ce5db137e1f3616b Author: Mohammed Shafi Shajakhan Date: Thu Dec 1 18:14:01 2011 +0530 ath9k: clarify max_streams for AR9462 max_streams for AR9462 is '2'. it does not fixes anything, but improves the code readability Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit b9b6968b0d9d0fe3891c5f87aa6e53b7ee67cf7f Author: Mohammed Shafi Shajakhan Date: Thu Dec 1 11:14:19 2011 +0530 ath9k_hw: sync to latest AR9462 INI based on systems change to improve rx dynamic range, and enables heavy clip for 5G HT40 MCS0 to improve spectral mask power. also remove an unused function declaration Cc: Wilson Tsao Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 8ff08b4318b06eb3661bea0067ae587afc01e649 Author: Larry Finger Date: Wed Nov 30 10:58:14 2011 -0600 rtl8192c: Do not log firmware load message unless actually done A previous commit fixed a problem whereby the rtl8192c driver loaded the firmware from disk many times; however, the log message was not moved. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 13c40c54682ffe62977f670681268a26d500d6fa Author: Alexander Simon Date: Wed Nov 30 16:56:34 2011 +0100 mac80211: Add HT operation modes for IBSS The HT mode is set by iw (previous patchsets). The interface is set into the specified HT mode. HT mode and capabilities are announced in beacons. If we add a station that uses HT also, the fastest matching HT mode will be used for transmission. That means if we are using HT40+ and we add a station running on HT40-, we would transfer at HT20. If we join an IBSS with HT40, but the secondary channel is not available, we will fall back into HT20 as well. Allow frame aggregation to start in IBSS mode. Signed-off-by: Alexander Simon [siwu@hrz.tu-chemnitz.de: Updates] * remove implicit channel_type enum assumptions * use rate_control_rate_init() if channel type changed * remove channel flags check * activate HT IBSS feature support * slightly reword commit message * rebase on wireless-testing Signed-off-by: Simon Wunderlich Signed-off-by: Mathias Kretschmer Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit ff3cc5f40f36db1a60a8f1051be7fbc92233419b Author: Simon Wunderlich Date: Wed Nov 30 16:56:33 2011 +0100 mac80211: handle protection mode, RIFS and ADDBA for HT IBSS * Follow 802.11n-2009 9.13.3.1 for protection mode and ADDBA * Send ADDBA only to HT STAs - implement 11.5.1.1 partially Signed-off-by: Simon Wunderlich Signed-off-by: Mathias Kretschmer Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 54858ee5bf659f80a784303e41ee8898fd163f98 Author: Alexander Simon Date: Wed Nov 30 16:56:32 2011 +0100 nl80211: Parse channel type attribute in an ibss join request Prepare cfg80211 for IBSS HT: * extend cfg80211 ibss struct with channel_type * Check if extension channel can be used * Export can_beacon_sec_chan for use in mac80211 (will be called from ibss.c later). Signed-off-by: Alexander Simon [siwu@hrz.tu-chemnitz.de: Updates] * fix cfg80211_can_beacon_ext_chan comment * remove implicit channel_type enum assumptions * remove radar channel flags check * add HT IBSS feature flag * reword commit message Signed-off-by: Simon Wunderlich Signed-off-by: Mathias Kretschmer Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 2b50b8f58803f4c8521c6aa5401ed01cd36a1f77 Author: Thomas Meyer Date: Tue Nov 29 22:08:00 2011 +0100 iwlegacy: Use kcalloc instead of kzalloc to allocate array The advantage of kcalloc is, that will prevent integer overflows which could result from the multiplication of number of elements and size and it is also a bit nicer to read. The semantic patch that makes this change is available in https://lkml.org/lkml/2011/11/25/107 Signed-off-by: Thomas Meyer Signed-off-by: John W. Linville commit 839fafbe0dc35fabeb9bd3be9727fd74d12c0b9d Author: Thomas Meyer Date: Tue Nov 29 22:08:00 2011 +0100 rt2x00: Use kcalloc instead of kzalloc to allocate array The advantage of kcalloc is, that will prevent integer overflows which could result from the multiplication of number of elements and size and it is also a bit nicer to read. The semantic patch that makes this change is available in https://lkml.org/lkml/2011/11/25/107 Signed-off-by: Thomas Meyer Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5f779bbd472cdb2046ff8b672ad8c5b62b61cd19 Merge: d7a4858 5a13b09 Author: John W. Linville Date: Tue Dec 6 16:02:05 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next commit d39aeaf260e7d1ec6a677beed230a0406d0069a6 Merge: 40e4783 d7a4858 Author: John W. Linville Date: Tue Dec 6 10:47:12 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem commit 5a13b09531420d230616bd524b68a5b0c23cd487 Author: Andrei Emeltchenko Date: Thu Dec 1 14:33:28 2011 +0200 Bluetooth: trivial: correct check for LMP version Make sure that code match exactly what comment says about pre 1.2 bluetooth version. Since this is HCI detail lmp_ver changed to hci_ver. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit d095c1ebd43a43c1d78055ff111f464b04f8624e Author: Andrei Emeltchenko Date: Thu Dec 1 14:33:27 2011 +0200 Bluetooth: Remove magic bluetooth version numbers Use bluetooth names instead of BT SIG assigned numbers Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 5c69b0ada634bca4111fcc332df5fad2447ec90f Merge: ce7e4ad 33cb722 Author: Gustavo F. Padovan Date: Sat Dec 3 08:26:25 2011 +0900 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth commit d7a4858c0fde8383f7aa494eda0fba6bef3f2fec Merge: ba5736a 9995ffe Author: John W. Linville Date: Fri Dec 2 15:44:03 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless Conflicts: drivers/net/wireless/iwlwifi/iwl-agn.c drivers/net/wireless/libertas/cfg.c commit b3613118eb30a589d971e4eccbbb2a1314f5dfd4 Merge: 7505afe 5983fe2 Author: David S. Miller Date: Fri Dec 2 13:49:21 2011 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net commit dd5fe1046cb07d2a6665b6dbbfc6989b39ae063b Author: Don Fry Date: Mon Nov 28 16:13:19 2011 -0800 iwlwifi: move ucode notification from iwl_priv to iwl_shared Move the notification structures for ucode operations from the iwl_priv structure to the iwl_shared structure, with associated code changes. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy commit 3d6acefc0a24bf90746c1f259e9d65d1ed7ea5e2 Author: Don Fry Date: Mon Nov 28 17:05:01 2011 -0800 iwlwifi: move ucode_type from iwl_priv to iwl_shared Move the ucode_type variable from the iwl_priv to the iwl_shared structure with associated code changes. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy commit 66128b144b5107132966fabfc3843f8bdac68d2b Author: Don Fry Date: Mon Nov 28 14:35:14 2011 -0800 iwlwifi: replace iwl_priv reference with iwl_trans for ucode. Replace the references to the iwl_priv structure with the iwl_trans structure as the priv structure is never referenced other than to access the trans structure. Rename from iwlagn to iwl. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy commit 8a3cb29c83697cab0f237217112df78439a1b2dd Author: Don Fry Date: Mon Nov 28 14:34:13 2011 -0800 iwlwifi: rename iwl-agn-ucode as iwl-ucode iwl-agn-ucode is generic ucode operations, not limited just to iwlagn. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy commit 7152375d4daed8000e331492678be84b32c46027 Author: Wey-Yi Guy Date: Fri Nov 25 11:29:16 2011 -0800 iwlwifi: Rename file name from iwl-sv-open.c to iwl-testmode.c The file dealing with all the operations through testmode, rename it. Signed-off-by: Wey-Yi Guy commit d4af19fe6b70b54ddf37e14ba563eb705bc3baba Author: Hsu, Kenny Date: Thu Nov 24 22:26:53 2011 -0800 iwlwifi: add WOWLAN uCode loading support by testmode Create new tm command for WOWLAN uCode loading to support further debugging function in userspace. - IWL_TM_CMD_APP2DEV_LOAD_WOWLAN_FW Signed-off-by: Kenny Hsu Signed-off-by: Wey-Yi Guy commit 9a0dd89547e419fce321f92ba80b8e22b623749d Author: Johannes Berg Date: Fri Nov 25 04:57:49 2011 -0800 iwlagn: make debug levels more readable Using the actual shifted constants here allows one to read and or them more easily. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 51057e5d4d89d13dd62dffb7708615479d20bdf6 Author: Johannes Berg Date: Fri Nov 25 04:57:48 2011 -0800 iwlagn: remove MACDUMP debug This is only used for TX debugging where there already is more debugging and tracing is more useful anyway, so remove it. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 6e66bb4aeec93ea40a9c8efd7cf53b0b445b0b27 Author: Johannes Berg Date: Fri Nov 25 04:57:47 2011 -0800 iwlagn: remove HC_DUMP debug This debug level is unused, remove it. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 5c05dc8ad832c84a48d7897468f3f3e2559b0959 Author: Johannes Berg Date: Fri Nov 25 04:57:46 2011 -0800 iwlagn: remove TX_REPLY_LIMIT debug This macro is unused right now. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit a7e12c8e229b89fa23469718b605bfdbe66962d7 Author: Johannes Berg Date: Fri Nov 25 03:20:09 2011 -0800 iwlagn: fix HW crypto for TX-only keys Group keys in IBSS or AP mode are not programmed into the device since we give the key to it with every TX packet. However, we do need mac80211 to create the MMIC & PN in all cases. Move the code around to set the key flags all the time. We set them even when the key is removed again but that is obviously harmless. Cc: stable@vger.kernel.org Reported-by: Reinette Chatre Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 6b5a26f50a91fe46032f7ec8f5cd786c80dad34c Author: Wey-Yi Guy Date: Wed Nov 23 07:08:22 2011 -0800 iwlwifi: declare static for iwl_sram_cleanup function Signed-off-by: Wey-Yi Guy commit e056a6533b357fdaf4cc2c26e226530fe516ad1a Author: Hsu, Kenny Date: Tue Nov 22 23:05:02 2011 -0800 iwlwifi: add generic chunk size of tm dumpit packet Use generic chunk size of dumpit packet for all necessary testmode commands instead of add declaration individually. Signed-off-by: Kenny Hsu Signed-off-by: Wey-Yi Guy commit 76de2f29d437fc1c9324e353e26c5879a4fa6dfb Author: Kenny Hsu Date: Wed Nov 23 06:57:22 2011 -0800 iwlwifi: add range checking in tm sram read command The size of sram may alter according to ucode type. Retrieve the maximum sram size by current ucode type for range checking to prevent wrong data access. Signed-off-by: Kenny Hsu Signed-off-by: Wey-Yi Guy commit 306713fd1a04801ab3c9b5c0f76b615f1db46e6d Author: Hsu, Kenny Date: Tue Nov 22 23:03:39 2011 -0800 iwlwifi: add tm commands for sram reading by dumpit Create new testmode commands and attributes to suppot sram data reading. Because the amount of sram data may exceed single skb packet size. Using the nl80211 dump it funtion to deliver sram data to userspace. - IWL_TM_CMD_APP2DEV_READ_SRAM - IWL_TM_CMD_APP2DEV_DUMP_SRAM - IWL_TM_ATTR_SRAM_ADDR - IWL_TM_ATTR_SRAM_SIZE - IWL_TM_ATTR_SRAM_DUMP Signed-off-by: Kenny Hsu Signed-off-by: Wey-Yi Guy commit 137ce797e24855b738ef98411acbf88c6d918f27 Author: Wey-Yi Guy Date: Tue Nov 22 16:23:35 2011 -0800 iwlwifi: do not re-configure HT40 after associated The ht40 setting should not change after association unless channel switch This fix a problem we are seeing which cause uCode assert because driver sending invalid information and make uCode confuse Here is the firmware assert message: kernel: iwlagn 0000:03:00.0: Microcode SW error detected. Restarting 0x82000000. kernel: iwlagn 0000:03:00.0: Loaded firmware version: 17.168.5.3 build 42301 kernel: iwlagn 0000:03:00.0: Start IWL Error Log Dump: kernel: iwlagn 0000:03:00.0: Status: 0x000512E4, count: 6 kernel: iwlagn 0000:03:00.0: 0x00002078 | ADVANCED_SYSASSERT kernel: iwlagn 0000:03:00.0: 0x00009514 | uPc kernel: iwlagn 0000:03:00.0: 0x00009496 | branchlink1 kernel: iwlagn 0000:03:00.0: 0x00009496 | branchlink2 kernel: iwlagn 0000:03:00.0: 0x0000D1F2 | interruptlink1 kernel: iwlagn 0000:03:00.0: 0x00000000 | interruptlink2 kernel: iwlagn 0000:03:00.0: 0x01008035 | data1 kernel: iwlagn 0000:03:00.0: 0x0000C90F | data2 kernel: iwlagn 0000:03:00.0: 0x000005A7 | line kernel: iwlagn 0000:03:00.0: 0x5080B520 | beacon time kernel: iwlagn 0000:03:00.0: 0xCC515AE0 | tsf low kernel: iwlagn 0000:03:00.0: 0x00000003 | tsf hi kernel: iwlagn 0000:03:00.0: 0x00000000 | time gp1 kernel: iwlagn 0000:03:00.0: 0x29703BF0 | time gp2 kernel: iwlagn 0000:03:00.0: 0x00000000 | time gp3 kernel: iwlagn 0000:03:00.0: 0x000111A8 | uCode version kernel: iwlagn 0000:03:00.0: 0x000000B0 | hw version kernel: iwlagn 0000:03:00.0: 0x00480303 | board version kernel: iwlagn 0000:03:00.0: 0x09E8004E | hcmd kernel: iwlagn 0000:03:00.0: CSR values: kernel: iwlagn 0000:03:00.0: (2nd byte of CSR_INT_COALESCING is CSR_INT_PERIODIC_REG) kernel: iwlagn 0000:03:00.0: CSR_HW_IF_CONFIG_REG: 0X00480303 kernel: iwlagn 0000:03:00.0: CSR_INT_COALESCING: 0X0000ff40 kernel: iwlagn 0000:03:00.0: CSR_INT: 0X00000000 kernel: iwlagn 0000:03:00.0: CSR_INT_MASK: 0X00000000 kernel: iwlagn 0000:03:00.0: CSR_FH_INT_STATUS: 0X00000000 kernel: iwlagn 0000:03:00.0: CSR_GPIO_IN: 0X00000030 kernel: iwlagn 0000:03:00.0: CSR_RESET: 0X00000000 kernel: iwlagn 0000:03:00.0: CSR_GP_CNTRL: 0X080403c5 kernel: iwlagn 0000:03:00.0: CSR_HW_REV: 0X000000b0 kernel: iwlagn 0000:03:00.0: CSR_EEPROM_REG: 0X07d60ffd kernel: iwlagn 0000:03:00.0: CSR_EEPROM_GP: 0X90000001 kernel: iwlagn 0000:03:00.0: CSR_OTP_GP_REG: 0X00030001 kernel: iwlagn 0000:03:00.0: CSR_GIO_REG: 0X00080044 kernel: iwlagn 0000:03:00.0: CSR_GP_UCODE_REG: 0X000093bb kernel: iwlagn 0000:03:00.0: CSR_GP_DRIVER_REG: 0X00000000 kernel: iwlagn 0000:03:00.0: CSR_UCODE_DRV_GP1: 0X00000000 kernel: iwlagn 0000:03:00.0: CSR_UCODE_DRV_GP2: 0X00000000 kernel: iwlagn 0000:03:00.0: CSR_LED_REG: 0X00000078 kernel: iwlagn 0000:03:00.0: CSR_DRAM_INT_TBL_REG: 0X88214dd2 kernel: iwlagn 0000:03:00.0: CSR_GIO_CHICKEN_BITS: 0X27800200 kernel: iwlagn 0000:03:00.0: CSR_ANA_PLL_CFG: 0X00000000 kernel: iwlagn 0000:03:00.0: CSR_HW_REV_WA_REG: 0X0001001a kernel: iwlagn 0000:03:00.0: CSR_DBG_HPET_MEM_REG: 0Xffff0010 kernel: iwlagn 0000:03:00.0: FH register values: kernel: iwlagn 0000:03:00.0: FH_RSCSR_CHNL0_STTS_WPTR_REG: 0X21316d00 kernel: iwlagn 0000:03:00.0: FH_RSCSR_CHNL0_RBDCB_BASE_REG: 0X021479c0 kernel: iwlagn 0000:03:00.0: FH_RSCSR_CHNL0_WPTR: 0X00000060 kernel: iwlagn 0000:03:00.0: FH_MEM_RCSR_CHNL0_CONFIG_REG: 0X80819104 kernel: iwlagn 0000:03:00.0: FH_MEM_RSSR_SHARED_CTRL_REG: 0X000000fc kernel: iwlagn 0000:03:00.0: FH_MEM_RSSR_RX_STATUS_REG: 0X07030000 kernel: iwlagn 0000:03:00.0: FH_MEM_RSSR_RX_ENABLE_ERR_IRQ2DRV: 0X00000000 kernel: iwlagn 0000:03:00.0: FH_TSSR_TX_STATUS_REG: 0X07ff0001 kernel: iwlagn 0000:03:00.0: FH_TSSR_TX_ERROR_REG: 0X00000000 kernel: iwlagn 0000:03:00.0: Start IWL Event Log Dump: display last 20 entries kernel: ------------[ cut here ]------------ WARNING: at net/mac80211/util.c:1208 ieee80211_reconfig+0x1f1/0x407() kernel: Hardware name: 4290W4H kernel: Pid: 1896, comm: kworker/0:0 Not tainted 3.1.0 #2 kernel: Call Trace: kernel: [] ? warn_slowpath_common+0x73/0x87 kernel: [] ? ieee80211_reconfig+0x1f1/0x407 kernel: [] ? ieee80211_recalc_smps_work+0x32/0x32 kernel: [] ? ieee80211_restart_work+0x7e/0x87 kernel: [] ? process_one_work+0x1c8/0x2e3 kernel: [] ? worker_thread+0x17a/0x23a kernel: [] ? manage_workers.clone.18+0x15b/0x15b kernel: [] ? manage_workers.clone.18+0x15b/0x15b kernel: [] ? kthread+0x7a/0x82 kernel: [] ? kernel_thread_helper+0x4/0x10 kernel: [] ? kthread_flush_work_fn+0x11/0x11 kernel: [] ? gs_change+0xb/0xb Cc: 3.1+ Reported-by: Udo Steinberg Signed-off-by: Wey-Yi Guy commit 42b2aa86c6670347a2a07e6d7af0e0ecc8fdbff9 Author: Justin P. Mattock Date: Mon Nov 28 20:31:00 2011 -0800 treewide: Fix typos in various parts of the kernel, and fix some comments. The below patch fixes some typos in various parts of the kernel, as well as fixes some comments. Please let me know if I missed anything, and I will try to get it changed and resent. Signed-off-by: Justin P. Mattock Acked-by: Randy Dunlap Signed-off-by: Jiri Kosina commit ce7e4ad1436a0139c16225f2376134cff3ad24fe Author: Andrei Emeltchenko Date: Thu Dec 1 14:42:08 2011 +0200 Bluetooth: remove old code Remove old code not touched for several years. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 07f7fa5db1e65a27066c8ebf9fc676a4168e07f4 Author: Andre Guedes Date: Fri Dec 2 21:13:31 2011 +0900 Bluetooth: LE Set Scan Parameter Command This patch adds the parameter struct and the command complete event handler to the LE Set Scan Parameter HCI command. Signed-off-by: Andre Guedes Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit d23264a896a931c4b355c102d8e9d46649195ba4 Author: Andre Guedes Date: Fri Nov 25 20:53:38 2011 -0300 Bluetooth: Add dev_flags to struct hci_dev This patch adds the dev_flags field to struct hci_dev. This new flags variable should be used to define flags related to BR/EDR and/or LE controller itself. It should be used to define flags which represents states from the controller. The dev_flags is cleared in case the controller sends a Reset Command Complete Event to the host. Also, this patch adds the HCI_LE_SCAN flag which was created to track if the controller is performing LE scan or not. The flag is set/cleared when the controller starts/stops scanning. This is an initial effort to stop using hdev->flags to define internal flags since it is exported to userspace by an ioctl. Signed-off-by: Andre Guedes Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 1e89cffb44a94e1937e5ec16125ae866dbba7b2e Author: Andrei Emeltchenko Date: Thu Nov 24 14:52:02 2011 +0200 Bluetooth: Add HCI Read Flow Control Mode function Upstream Code Aurora function with minor trivial fixes. Origin: git://codeaurora.org/kernel/msm.git Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit e0d62536d032db689adf9c8162a9d2caf4714f44 Author: Eliad Peller Date: Tue Nov 8 16:07:52 2011 +0200 wl12xx: don't explicitly check for unjoined ibss After the ibss carrier issue was fixed, we can revert the following patch: commit 48309fd477ef867babb6819f67fe082c133a5fa9 Author: Shahar Lev Date: Fri Oct 7 18:17:25 2011 +0200 wl12xx: remove warning message during IBSS Tx mac80211 sets the carrier on an IBSS interface even when no network is joined. Ignore garbage frames transmitted on a disconnected IBSS interface without printing warnings. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 12d4b9759143aaa280195834820bc15d795e71c1 Author: Arik Nemtsov Date: Sun Oct 23 08:21:54 2011 +0200 wl12xx: leave IV calculation to HW for CCMP Use an appropriate mac80211 flags in CCMP keys to indicate we are calculating the CCMP IV in HW, but require room for the IV to be reserved in the skb. The space is reserved by mac80211. depends on "mac80211: support adding IV-room in the skb for CCMP keys". Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 358989352e70975d1c50ac2a49fc86d41d0518bd Author: Pontus Fuchs Date: Wed Nov 30 15:35:09 2011 +0100 wl12xx: Print nvs/fw file name if loading fails. Print the name of nvs/fw if request_firmware fails. This will make troubleshooting a bit easier. Signed-off-by: Pontus Fuchs Signed-off-by: Luciano Coelho commit 341f2c11b5ce7689d3f0acb04574fe6424aa6be0 Author: Arik Nemtsov Date: Tue Nov 22 19:52:59 2011 +0200 wl12xx: avoid bail out when probe-resp is not set by mac80211 During reconfig we can get the BSS_CHANGED_AP_PROBE_RESP indication even if a probe-resp has not been set in the first place. Therefore ignore the error when not getting a probe-resp from mac80211. Resort to the legacy probe-resp in this case. Also take this opportunity to add a vif argument to the set_probe_resp function. Reported-by: Eliad Peller Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 97127e67218e5970a5a7df0513ded730b19a67e9 Author: Eliad Peller Date: Wed Nov 9 13:12:45 2011 +0200 wl12xx: init CMD_TEMPL_KLV to sizeof(ieee80211_qos_hdr) The keep alive template should have a max size of sizeof(struct ieee80211_qos_hdr). Additionally, Remove the redundant wl12xx_qos_null_data_template struct. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 9c1b190b10972be9c0d53c658e537c54de530b7f Author: Arik Nemtsov Date: Tue Nov 8 18:46:55 2011 +0200 wl12xx: indicate probe-resp offloading support The wl12xx driver supports probe-response offloading, and the WPS, WPS2 and P2P special cases as well. Signed-off-by: Guy Eilam Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 560f00241b6d95bde73a570c29d6919b36fdf852 Author: Arik Nemtsov Date: Tue Nov 8 18:46:54 2011 +0200 wl12xx: configure probe-resp template according to notification When operating in AP-mode, replace our probe-response template when a notification is recieved from mac80211. We preserve the "legacy" way of configuring a probe-response according to beacon for IBSS mode and for versions of hostapd that do not support this feature. Signed-off-by: Guy Eilam Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit f6efe96edd9c41c624c8f4ddbc4930c1a2d8f1e1 Author: Pontus Fuchs Date: Tue Oct 18 09:23:42 2011 +0200 wl12xx: Check buffer bound when processing nvs data An nvs with malformed contents could cause the processing of the calibration data to read beyond the end of the buffer. Prevent this from happening by adding bound checking. Signed-off-by: Pontus Fuchs Cc: stable@kernel.org Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 2131d3c2f99b081806fdae7662c92fe6acda52af Author: Pontus Fuchs Date: Tue Oct 18 09:23:41 2011 +0200 wl12xx: Validate FEM index from ini file and FW Check for out of bound FEM index to prevent reading beyond ini memory end. Signed-off-by: Pontus Fuchs Cc: stable@kernel.org Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 4f957a76014fb63d193cd6c141bdd94aaff3a25e Author: Brian Gix Date: Wed Nov 23 08:28:36 2011 -0800 Bluetooth: Centralize SMP pairing failure handling Signed-off-by: Brian Gix Signed-off-by: Gustavo F. Padovan commit c8eb969071032defb1dc493ae28cf2e2a31193a5 Author: Brian Gix Date: Wed Nov 23 08:28:35 2011 -0800 Bluetooth: Cleanup blkcipher on SMP termination The blkcipher must be freed to avoid memory leak. Signed-off-by: Brian Gix Signed-off-by: Gustavo F. Padovan commit 1143d45846f190465382dd667c7f893b9d1fd131 Author: Brian Gix Date: Wed Nov 23 08:28:34 2011 -0800 Bluetooth: Add HCI User Passkey Req Evt handling Some MITM scenarios require handling of the User Passkey Request event, by querying the user, and passing the response back. Signed-off-by: Brian Gix Signed-off-by: Gustavo F. Padovan commit 604086b73b9b342414a53c0f34dd23aecb005ff8 Author: Brian Gix Date: Wed Nov 23 08:28:33 2011 -0800 Bluetooth: Add User Passkey Response handling For some MITM protection pairing scenarios, the user is required to enter or accept a 6 digit passkey. Signed-off-by: Brian Gix Signed-off-by: Gustavo F. Padovan commit e4da3fbfbd1de56d2367653e3823e6445e49f8a9 Merge: b693289 ba5736a Author: Luciano Coelho Date: Thu Dec 1 12:14:48 2011 +0200 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into wl12xx-next commit ba5736a5e9ac20c378ae4179e8a0ed3cc4b44351 Author: Mohammed Shafi Shajakhan Date: Wed Nov 30 21:10:52 2011 +0530 ath9k_hw: add default chainmask for AR9462 the default tx/rx chainmask for AR9462 is 0x3. this patch helps to assign 0x3 rather than 0x7 for AR9462 with the help of fix_chainmask module if something goes wrong in reading tx/rx chain mask from OTP/EEPROM card(though its very unlikely) Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 6fea593d9c0e3ad8014c4080e95cb93e42c8915c Author: Mohammed Shafi Shajakhan Date: Wed Nov 30 21:01:31 2011 +0530 ath9k_hw: Fix TX IQ calibration for AR9003 only for AR9485 (or) later chipsets TxIQ calibration runs as part of AGC calibration. without this patch TX IQ cal completion i.e. ar9003_hw_tx_iq_cal_run won't be executed for AR9003 Reviewed-by: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit ad9547c0413686a23e48793665a9ebd3e65c474c Author: Dan Carpenter Date: Wed Nov 30 11:49:38 2011 +0300 brcm80211: fmac: small memory leak on error We should free "bus_if" here, it's a small leak but it makes the static checkers happy. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 7468722b681ff4ea3f2cb612a28943c01c1b492a Author: Mohammed Shafi Shajakhan Date: Wed Nov 30 14:18:38 2011 +0530 ath9k: minor cleanup Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 32b1076dc139881abaca772b2e3666ff547a0750 Author: Mohammed Shafi Shajakhan Date: Wed Nov 30 10:41:29 2011 +0530 ath9k: fix a typo Cc: Wilson Tsao Cc: Senthil Balasubramanian Signed-off-by: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 19686ddf638cac8c779216bb1f5e53b2666a9035 Author: Mohammed Shafi Shajakhan Date: Wed Nov 30 10:41:28 2011 +0530 ath9k: MCI state machine based on MCI interrupt Cc: Wilson Tsao Cc: Senthil Balasubramanian Signed-off-by: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 63d3296741e9f556d1edbdc34c07ce7dbe54a471 Author: Mohammed Shafi Shajakhan Date: Wed Nov 30 10:41:27 2011 +0530 ath9k_hw: Add MCI related changes in chip reset here we check for BT state and if BT calibration has started, give 25ms for BT Calibration to finish. we also take care of 2G/5G switch and LNA transfer incase WLAN is operating in 5G. in case the BT state is awake when we do WLAN calibration re-calibrate and we reset the message exchange between WLAN and BT. BT is given preference when simultaneous CAL request happens. calibration for WLAN/BT is done assuming that the other co-existing module is in awake state, if not we continue to do calibration while if the other module's state changes we need to do restart the calibration handshake Cc: Wilson Tsao Cc: Senthil Balasubramanian Signed-off-by: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 3ebfcdc43ae261e58e5b9b381ae1f278cda068e3 Author: Mohammed Shafi Shajakhan Date: Wed Nov 30 10:41:26 2011 +0530 ath9k_hw: Add support for MCI WLAN calibration WLAN communicates with BT for its calibration by sending WLAN_CAL_REQ, waits for BT_CAL_GRANT. This is done with the help of GPM messages. also WLAN_CAL_DONE messages is sent once WLAN calibration is done. Cc: Wilson Tsao Cc: Senthil Balasubramanian Signed-off-by: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 7a9233ff6de823d14a26662697813bee82617268 Author: Mohammed Shafi Shajakhan Date: Wed Nov 30 10:41:25 2011 +0530 ath9k_hw: MCI related changes in set_reset_reg Cc: Wilson Tsao Cc: Senthil Balasubramanian Signed-off-by: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 1010911ec389fe7a342b9962877fdb88d7f04247 Author: Mohammed Shafi Shajakhan Date: Wed Nov 30 10:41:24 2011 +0530 ath9k_hw: MCI related changes in chip management send halt BT GPM if the chip is in network sleep and BT state is awake Cc: Wilson Tsao Cc: Senthil Balasubramanian Signed-off-by: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 9e25365ffaa98626bdf7e1bb5fdddf73a1c131fb Author: Mohammed Shafi Shajakhan Date: Wed Nov 30 10:41:23 2011 +0530 ath9k: Add functions to allocate/free buffers for MCI required buffers and dma allocation is done for GPM and SCHED messages Cc: Wilson Tsao Cc: Senthil Balasubramanian Signed-off-by: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit f2f2185679288ade3de1052a572daf9b5d1fd324 Author: Mohammed Shafi Shajakhan Date: Wed Nov 30 10:41:22 2011 +0530 ath9k: add MCI specific definitions and structures Cc: Wilson Tsao Cc: Senthil Balasubramanian Signed-off-by: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 4421d30ffa4b4271b48d8f1e8c7bd65186bf2cd5 Author: Mohammed Shafi Shajakhan Date: Wed Nov 30 10:41:21 2011 +0530 ath9k_hw: check for MCI interrupt in get_isr check for the condition of MCI interrupt being triggered and appropriately obtain the values of MCI_INTERRUPT_RX_MSG_RAW and MCI_INTERRUPT_RAW Cc: Wilson Tsao Cc: Senthil Balasubramanian Signed-off-by: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit e35848134ccbd74fa8162d3b00461e189f913dfc Author: Mohammed Shafi Shajakhan Date: Wed Nov 30 10:41:20 2011 +0530 ath9k_hw: check for asynchronous MCI interrupt pending MCI interrupt is an asynchronous one, so take care of it by having a check in ath9k_hw_intrpend, which actually decides whether the interrupt is really for the driver from ath_isr Cc: Wilson Tsao Cc: Senthil Balasubramanian Signed-off-by: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit f229f815d26acea2e51ef073ef73ea37406cca98 Author: Mohammed Shafi Shajakhan Date: Wed Nov 30 10:41:19 2011 +0530 ath9k_hw: take care of enabling MCI interrupts enable MCI interrupt when ath9k_hw_enable_interrupts is called, like during the completion of chip_reset before which the interrupts are disabled Cc: Wilson Tsao Cc: Senthil Balasubramanian Signed-off-by: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 40dc5392e6bfcd62b3c09c68df8b73c2bc6adf2a Author: Mohammed Shafi Shajakhan Date: Wed Nov 30 10:41:18 2011 +0530 ath9k: Add MCI interrupt to interrupt mask Cc: Wilson Tsao Cc: Senthil Balasubramanian Signed-off-by: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit bbefb8715298ce8c6a1da03da16efaa6f1ff4237 Author: Mohammed Shafi Shajakhan Date: Wed Nov 30 10:41:17 2011 +0530 ath9k_hw: Add MCI h/w code and state machine Cc: Wilson Tsao Cc: Senthil Balasubramanian Signed-off-by: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 16659f6ad86b0e73ef0409a87b74170fbaeda344 Author: Mohammed Shafi Shajakhan Date: Wed Nov 30 10:41:16 2011 +0530 ath9k_hw: initialize MCI parameters these parameter will be utilized and modified in the MCI hardware codes state machine Cc: Wilson Tsao Cc: Senthil Balasubramanian Signed-off-by: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 6af24c49a3c4fb9755606d15e3699a483570afdb Author: Mohammed Shafi Shajakhan Date: Wed Nov 30 10:41:15 2011 +0530 ath9k_hw: Add MCI h/w specific structure Cc: Wilson Tsao Cc: Senthil Balasubramanian Signed-off-by: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 93d36e9939c2c3e90a060c1452844da0d292c5e8 Author: Mohammed Shafi Shajakhan Date: Wed Nov 30 10:41:14 2011 +0530 ath9k_hw: add GPIO output MUX related macros Cc: Wilson Tsao Cc: Senthil Balasubramanian Signed-off-by: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 2ee4bd1e25f8752cc5c4d39219c7bf5079ffc21f Author: Mohammed Shafi Shajakhan Date: Wed Nov 30 10:41:13 2011 +0530 ath9k_hw: add definitions to support MCI h/w code these definitions will be used by MCI state machine and the corresponding hardware code Cc: Wilson Tsao Cc: Senthil Balasubramanian Signed-off-by: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit acda130b0e615596c63640f05febb02d2e681dde Author: Luis R. Rodriguez Date: Tue Nov 29 12:40:16 2011 -0500 prism54: remove private driver ioctls As of hostap_0_7_1~358 the CONFIG_DRIVER_PRISM54 was removed from upstream wpa_supplicant/hostapd so lets just kill the useless old prism54 private ioctl crap. Cc: Jouni Malinen Cc: David Miller Reported-by: David Miller Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit eb840a80d2e5f446ad58a6d4f14dcaa3d877a362 Author: Mohammed Shafi Shajakhan Date: Tue Nov 29 20:30:35 2011 +0530 ath9k: change the default antenna settings based on diversity change the AR_DEF_ANTENNA register settings i.e setting default antenna setting only for antenna diversity enabled chipsets. no point in doing this for MIMO chipsets Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 1a68abb0c85b5eb490971b622ff36168c64416a7 Author: Mohammed Shafi Shajakhan Date: Tue Nov 29 20:06:15 2011 +0530 ath9k: Fix LED GPIO pin for AR9462 GPIO pin 4 is assigned AR9462 chipsets LED. while GPIO pin 0 worked for obselete AR9462 chipsets though they are meant for EEPROM as per Russell Cc: Senthil Balasubramanian Signed-off-by: Russell Hu Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit c8c3c6af05e9236d8a0c26cd72e4d5d77d6e830f Author: Mohammed Shafi Shajakhan Date: Tue Nov 29 19:21:53 2011 +0530 mac80211: remove unused function declaration Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit e76aadc572288a158ae18ae1c10fe395c7bca066 Author: Johannes Berg Date: Tue Nov 29 10:20:02 2011 +0100 mac80211: revert on-channel work optimisations The on-channel work optimisations have caused a number of issues, and the code is unfortunately very complex and almost impossible to follow. Instead of attempting to put in more workarounds let's just remove those optimisations, we can work on them again later, after we change the whole auth/assoc design. This should fix rate_control_send_low() warnings, see RH bug 731365. Cc: stable@vger.kernel.org Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 742c29fd5bcd73f14facd6c7f3912c5ab66739ed Author: Luis R. Rodriguez Date: Mon Nov 28 16:38:50 2011 -0500 mwifiex: fix usage of set tx power mBm is passed but dBm was assumed... Acked-by: Bing Zhao Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e957abb60e293761d47d647b811d8547ebfbf5c3 Author: Luis R. Rodriguez Date: Mon Nov 28 16:38:49 2011 -0500 brcm80211: avoid code duplication on set tx power Both cases are doing the same so treat the switch cases for both as an "or". Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d3f311349adde6ac533f9acdee45c49ce20cdb12 Author: Luis R. Rodriguez Date: Mon Nov 28 16:38:48 2011 -0500 brcm80211: fix usage of set tx power mBm is passed but dBm was assumed... Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1432de0784fc745dd2ed334d8d90f888a9ed3d8a Author: Luis R. Rodriguez Date: Mon Nov 28 16:38:46 2011 -0500 cfg80211: clarify set tx power mBm documentation Tons of drivers missed that we use mBm and not dBm... Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 98ef55f66f791a04877c9e0a272a8c50cceaf9a5 Author: Axel Lin Date: Mon Nov 28 17:15:04 2011 +0800 net: rfkill: convert net/rfkill/* to use module_platform_driver() This patch converts the drivers in net/rfkill/* to use the module_platform_driver() macro which makes the code smaller and a bit simpler. Cc: "David S. Miller" Cc: "John W. Linville" Cc: Johannes Berg Cc: Antonio Ospite Cc: Rhyland Klein Signed-off-by: Axel Lin Acked-by: Rhyland Klein Signed-off-by: John W. Linville commit 264827555bff54bc2c896b51777e89bd22d01c21 Author: Emmanuel Grumbach Date: Fri Nov 25 11:11:48 2011 -0800 iwlwifi: help to debug AGG SM inconsistencies Add more data when inconsistencies occur in the AGG state machine. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit ebfa867dd939839436fe8fed8122b9e5d30841f6 Author: Wey-Yi Guy Date: Fri Nov 25 11:11:47 2011 -0800 iwlwifi: show the configuration option Not sure it is the best way to do it, but many times we want to know what the configuration options were enabled for the compiled driver. Let's just log the options during load time; so there were be no confusion. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 9d5fa6181914371883be880ed3adc1bca2f26cba Author: Wey-Yi Guy Date: Fri Nov 25 11:11:46 2011 -0800 iwlwifi: show command string for REPLY_D3_CONFIG missing the string, add it Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit a0d337f9a11d58ec7c9bd70ae260e397c091d157 Author: Johannes Berg Date: Fri Nov 25 11:11:45 2011 -0800 iwlagn: allow up to uCode API 6 for 6000 devices Since the uCode hasn't been released (yet?), warn only if using older than API 4, but load anything up to API 6. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 80e83da7eb2cf4409a3ba08f3e39b363c617dd2a Author: Johannes Berg Date: Fri Nov 25 11:11:44 2011 -0800 iwlagn: dynamically allocate & reflect calibration data This makes handling the calibration data more generic and no longer requires updating IWL_CALIB_MAX when a new uCode comes with more calibration packets. Since we just copy the data back, there's also no need for understanding which calibration we received -- we can just reflect it back to the runtime uCode. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit c27bdc84d6310914cfdd59280c2e663588392d01 Author: Johannes Berg Date: Fri Nov 25 11:11:43 2011 -0800 iwlagn: remove calibration knowledge The init microcode knows very well which calibrations are required and sends us results for those that are. Consequently, we can just send all of those to the RT uCode again. The problem with having the driver know about this is that it is a uCode feature, not a hardware feature so the config is completely unsuitable. The only thing we need to check is whether the device needs crystal calibration or not, add a new parameter to the configuration for that. This makes new uCode work on 6000 series devices. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit aed666e5e88a27f600187f960d306a028f4883ea Author: Hsu, Kenny Date: Fri Nov 25 11:11:42 2011 -0800 iwlwifi: add tm commands for indirect register access Create new testmode commands to suppot indirect access of peripheral register. - IWL_TM_CMD_APP2DEV_INDIRECT_REG_READ32 - IWL_TM_CMD_APP2DEV_INDIRECT_REG_WRITE32 Meanwhile, add affix "DIRECT" into original register access commands for better discrimination with new commands. - IWL_TM_CMD_APP2DEV_DIRECT_REG_READ32 - IWL_TM_CMD_APP2DEV_DIRECT_REG_WRITE32 - IWL_TM_CMD_APP2DEV_DIRECT_REG_WRITE8 Signed-off-by: Kenny Hsu Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 9a3916910548e419f4da438406f84af9e05f72eb Author: Nick Kossifidis Date: Fri Nov 25 20:40:31 2011 +0200 ath5k: Optimize ath5k_cw_validate Optimize ath5k_cw_validate by using the classic (X & (X - 1)) == 0 check to see if a number is power of 2. v2: Use functions from log2.h instead Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit b4cfb5d574cd9e23e41462061941f6ac68a41c80 Author: Nick Kossifidis Date: Fri Nov 25 20:40:30 2011 +0200 ath5k: Renumber hw queue ids According to documentation higher DCUs have higher priority and should be used for beacons and CAB traffic. More specifically DCU 9 should be used for beacons and DCU 8 for CAB traffic, I assumed DCU 7 should be OK for UAPSD traffic. Note that DCU 8 and 9 are special because they can only be mapped to a single QCU each but since we use a 1:1 mapping between QCUs and DCUs anyway we don't have to change much. P.S. I also did a few related cleanups on qcu.c and ath5k.h Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 29355a4877d7b3219318f0be5b3af55128a4f0ce Author: Nick Kossifidis Date: Fri Nov 25 20:40:29 2011 +0200 ath5k: ath5k_ani_period_restart only touches struct ath5k_ani_state No need to take ath5k_hw as an argument. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 86f62d9b705cdd4f04da5387a5c71ca6ee0a37c9 Author: Nick Kossifidis Date: Fri Nov 25 20:40:28 2011 +0200 ath5k: MRR support and 2GHz radio override belong in ah_capabilities MRR support and 2GHz radio override belong in ah_capabilities and we should use them (e.g. so far we used to set mrr descriptor without checking if MRR support is enabled + we checked for MRR support 2 times, one by trying to set up an MRR descriptor and another one based on MAC version). Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 84e1e7373b961713bde371b9391d91fe7150d7f2 Author: Nick Kossifidis Date: Fri Nov 25 20:40:27 2011 +0200 ath5k: Add a module parameter to disable hw rf kill switch Add a module parameter to disable hw rf kill switch (GPIO interrupt) because in some cases when the card doesn't come with the laptop, EEPROM configuration doesn't match laptop's configuration and rf kill interrupt always fires up and disables hw. I thought of moving this to debugfs and make it per-card but this way it's easier for users and distros to handle. Signed-off-by: Nick Kossifidis Tested-by: Pavel Roskin Signed-off-by: John W. Linville commit dafae6af0336958e9e2eb67cc5e4e31d6d13b308 Author: Nick Kossifidis Date: Fri Nov 25 20:40:26 2011 +0200 ath5k: We always do full calibration on AR5210 There is no short calibration on AR5210, make sure we treat it always as full calibration. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit c47faa364cfb249d5d7670fb7293a6f9acd8aa9e Author: Nick Kossifidis Date: Fri Nov 25 20:40:25 2011 +0200 ath5k: Cleanups v2 + add kerneldoc on all hw functions No functional changes Add kernel doc for all ath5k_hw_* functions and strcucts. Also do some cleanup, rename ath5k_hw_init_beacon to ath5k_hw_init_beacon_timers, remove an unused variable from ath5k_hw_pcu_init and a few obsolete macros, mostly related to XR. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 1846ac3dbec0894095520b2756b68c4fd81e3fbb Author: Nick Kossifidis Date: Fri Nov 25 20:40:24 2011 +0200 ath5k: Use usleep_range where possible Use usleep_range where possible to reduce busy waits Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit ce169aca0d823d38465127023e3d571816e6666c Author: Nick Kossifidis Date: Fri Nov 25 20:40:23 2011 +0200 ath5k: Calibration re-work Noise floor calibration does not interfere with traffic and should run more often as part of our "short calibration". The full calibration is not the noise floor calibration but the AGC + Gain_F (on RF5111 and RF5112) calibration and should run less often because it does interfere with traffic. So Short calibration -> I/Q & NF Calibration Long calibration -> Short + AGC + Gain_F This patch was for some time on my pub/ dir on www.kernel.org and has been tested by a few people and me. I think it's O.K. to go in. I also changed ah_calibration to ah_iq_cal_needed to make more sense. v2 Use a workqueue instead of a tasklet for calibration Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 34ce644aa8342f95eb1e187178f83febade4af37 Author: Nick Kossifidis Date: Fri Nov 25 20:40:22 2011 +0200 ath5k: Cleanups v1 No functional changes, just a few comments/documentation/cleanup Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit fea9480786c0fc41901bddb9819dd036527a9e10 Author: Nick Kossifidis Date: Fri Nov 25 20:40:21 2011 +0200 ath5k: Add TXNOFRM to INT_TX_ALL Add TXNOFRM to INT_TX_ALL since it's a TX interrupt too. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 7ff7c82ee4339af277cface9071f81c5c10a9283 Author: Nick Kossifidis Date: Fri Nov 25 20:40:20 2011 +0200 ath5k: Switch from read-and-clear to write-to-clear method when handling PISR/SISR registers Since card has 12 tx queues and we want to keep track of the interrupts per queue we can't fit all these interrupt bits on a single register. So we have 5 registers, the primary interrupt status register (PISR) and the 4 secondary interupt status registers (SISRs). In order to be able to read them all at once (atomic operation) Atheros introduced the Read-And-Clear registers to make things easier. So when reading RAC_PISR register, hw does a read on PISR and all SISRs, returns the value of PISR, copies all SISR values to their shadow copies (RAC_SISRx) and clears PISR and SISRs. This saves us from reading PISR/SISRs in a sequence. So far we 've used this approach and MadWiFi/Windows driver etc also used it for years. It turns out this operation is not atomic after all (at least not on all cards) That means it's possible to loose some interrupts because they came after the copy step and hw cleared them on the clean step ! That's probably the reason we got missed beacons, got stuck queues etc and couldn't figure out what was going on. With this patch we switch from RaC operation to an alternative method (that makes more sense IMHO anyway, I just chose to be on the safe side so far). Instead of reading RAC registers, we read the normal PISR/SISR registers and clear any bits we got by writing them back on the register. This will clear only the bits we got on our read step and leave any new bits unaffected (at least that's what docs say). So if any new interrupts come up we won't miss it. I've tested this with an AR5213 and an AR2425 and it seems O.K. Many thanks to Adrian Chadd for debuging this and reviewing the patch ! v2: Make sure we don't clear PISR bits that map to SISR generated interrupts (added a comment on the code for this) Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 61c0d48f1565efdbab1e913c3cfda997e6299c41 Author: Johannes Berg Date: Fri Nov 25 13:31:53 2011 +0100 mac80211: remove tracing config symbol There's little point in this config symbol, if tracing is disabled the overhead is negligible and if you think it's too bad you can always turn off tracing completely. Also remove the part where we don't have sparse check the tracing code -- it seems that it can now deal with it (or the code changed). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 30789eb6cbfcead5d90d27dc4e7d7389cacc528c Author: Thomas Pedersen Date: Thu Nov 24 17:15:26 2011 -0800 mac80211: clean up rx_h_mesh_fwding Lose about two levels of unnecessary indentation. Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit 0cfda8519c85eb279166fb55a8553ee66eac9b35 Author: Thomas Pedersen Date: Thu Nov 24 17:15:25 2011 -0800 mac80211: don't initiate path discovery when forwarding frame with unknown DA We used to initiate a path discovery when receiving a frame for which there is no forwarding information. To cut down on PREQ spam, just send a (gated) PERR in response. Also separate path discovery logic from nexthop querying. This patch means we no longer queue frames when forwarding, so kill the PERR TX stuff in discard_frame(). Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit dca7e9430cb3e492437a5ce891b8b3e315c147ca Author: Thomas Pedersen Date: Thu Nov 24 17:15:24 2011 -0800 {nl,cfg,mac}80211: implement dot11MeshHWMPperrMinInterval As per 802.11mb 13.9.11.3 Signed-off-by: Thomas Pedersen Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit d3c1597b8d1ba0447ce858c7c385eabcf69f2c8f Author: Thomas Pedersen Date: Thu Nov 24 17:15:23 2011 -0800 mac80211: fix forwarded mesh frame queue mapping We can't rely on ieee80211_select_queue() to do its job at this point since the skb->protocol is not yet known. Instead, factor out and reuse the queue mapping logic for injected frames. Also, to mitigate congestion, forwarded frames should be dropped if the outgoing queue was stopped. This was not correctly implemented as we were not checking the right queue. Furthermore, we were dropping frames that had arrived to their destination if that queue was stopped. Signed-off-by: Thomas Pedersen Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 3c26f1f68e24d087cd3481aeb68a6274e6e0b30b Author: Thomas Pedersen Date: Thu Nov 24 17:15:22 2011 -0800 mac80211: fix switched HWMP frame addresses HWMP originator and target addresses were switched on the air but also on reception, which is why path selection still worked. Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit 7e3c88660b5b90f437cf466b1805089ccb764ee3 Author: Thomas Pedersen Date: Thu Nov 24 17:15:21 2011 -0800 mac80211: failed forwarded mesh frame addressing Don't write the TA until next hop is actually known, since we might need the original TA for sending a PERR. Previously we would send a PERR to ourself if path resolution for a forwarded frame failed. Signed-off-by: Thomas Pedersen Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 4bb62344e4703414fd253ceb07c163ac37da80d4 Author: Chun-Yeow Yeoh Date: Thu Nov 24 17:15:20 2011 -0800 {nl,cfg,mac}80211: Allow Setting Multicast Rate in Mesh Signed-off-by: Chun-Yeow Yeoh Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit 090891fb2c68eecf95c18c8ba117fc850d21abf8 Author: Veli-Pekka Peltola Date: Thu Nov 24 21:35:28 2011 +0200 hostap_cs: add ID for Canon K30225 Signed-off-by: Veli-Pekka Peltola Signed-off-by: John W. Linville commit 32dfefac1958b64107aedb7ae81ecc55c09803fb Author: Ben Greear Date: Thu Nov 24 11:15:21 2011 -0800 mac80211: Make __check_htcap_disable static. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 4e3309ba95f0d642efacfcb972251b07c3d29c27 Author: Lars-Peter Clausen Date: Thu Nov 24 16:29:20 2011 +0100 wireless: Remove redundant spi driver bus initialization In ancient times it was necessary to manually initialize the bus field of an spi_driver to spi_bus_type. These days this is done in spi_driver_register(), so we can drop the manual assignment. The patch was generated using the following coccinelle semantic patch: // @@ identifier _driver; @@ struct spi_driver _driver = { .driver = { - .bus = &spi_bus_type, }, }; // Signed-off-by: Lars-Peter Clausen Cc: Dan Williams Cc: "John W. Linville" Cc: Christian Lamparter Cc: Luciano Coelho Cc: libertas-dev@lists.infradead.org Cc: linux-wireless@vger.kernel.org Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit 5220da39b4f6bd2ee69d298111ebebc0de886f2f Author: Eliad Peller Date: Thu Nov 24 16:50:00 2011 +0200 mac80211: call skb_put() before copying the data (trivial) It doesn't have any actual effect here, but we should skb_put() *before* copying the data. Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit 4db4e0a17fb0e7b345b344cde141b252794c2f19 Author: Johannes Berg Date: Thu Nov 24 14:47:36 2011 +0100 mac80211: fix TX warning Emmanuel reported that my previous patches to enable handing all fragments to drivers at once triggered the warning that the SKB queue wasn't empty. This is happening when we actually queue up some frames and don't hand them to the driver (queues are stopped). The reason for it is that my code that splices the frame(s) over to the pending queue didn't re-init the local queue, so skb_queue_empty() was false. Fix this by using the _init versions of the splicing. Also, convert the warning to WARN_ON_ONCE. Reported-by: Emmanuel Grumbach Signed-off-by: Johannes Berg Tested-by: Emmanuel Grumbach Signed-off-by: John W. Linville commit 4883993841638963fbae2f334899f29309466152 Author: Helmut Schaa Date: Thu Nov 24 09:13:26 2011 +0100 rt2x00: Pass BlockAck and BlackAckReq frames to mac80211 in monitor mode Previously BlockAcks were always dropped by the rt2800 hardware while BlockAckReqs were always accepted. However, both are only useful on monitor interfaces at the moment and both are control frames. So pass them up when mac80211 sets FIF_CONTROL. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit de2e56cea25c80f91a6c6699de40fb3fe8b2479d Author: Larry Finger Date: Wed Nov 23 21:30:19 2011 -0600 rtlwifi: Fix incorrect return of IRQ_HANDLED The recent discussion regarding an incorrect return of IRQ_HANDLED from rt2800pci caused me to look at this PCI interrupt routine. I discovered that changes were needed. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit bc192f8918ab8e41ba53b9ef881bc425ae92ed1b Author: Felix Fietkau Date: Wed Nov 23 21:09:49 2011 +0700 mac80211: do not pass AP VLAN vif pointers to drivers This fixes frequent WARN_ONs when using AP VLAN + aggregation, as these vifs are virtual and not registered with drivers. Use sta_info_get_bss instead of sta_info_get in aggregation callbacks, so that these callbacks can find the station entry when called with the AP vif. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 5ccc32ff46065f031075cdbbdfe21b9e3b05aaad Author: Nikolay Martynov Date: Tue Nov 22 21:50:30 2011 -0500 mac80211: log reason and initiator when rx agg is stopped Add additional debug logging of initiator and reason when rx aggregation session is stopped Signed-off-by: Nikolay Martynov Signed-off-by: John W. Linville commit a7f39f60775c0a5f2b537b20a0c2431b3f791cc8 Author: Nikolay Martynov Date: Tue Nov 22 21:50:29 2011 -0500 mac80211: trivial: use WLAN_BACK_RECIPIENT instead of hardcoded 0 Use WLAN_BACK_RECIPIENT instead of hardcoded 0 for clarity Signed-off-by: Nikolay Martynov Signed-off-by: John W. Linville commit 285fa6958c1d56469ec8a0e879ae7487a4e62840 Author: Nikolay Martynov Date: Tue Nov 22 21:50:28 2011 -0500 mac80211: timeout tx agg sessions in way similar to rx agg sessions Currently tx aggregation is not being timed out even if timeout is specified when aggregation is opened. Tx tid stays active until delba arrives from recipient (i.e. recipient times out tid when it is inactive). The problem with this approach is that delba can get lost in the air and tx tid will stay perpetually opened on the originator while closed on recipient thus all data sent via this tid will be lost. This patch implements tx tid timeouting in way very similar to rx tid timeouting. Signed-off-by: Nikolay Martynov Signed-off-by: John W. Linville commit 94c2fb82bd7c9055bec8e410c387befce33d1299 Author: Franky Lin Date: Tue Nov 22 17:21:59 2011 -0800 brcm80211: fmac: change function bus_stop parameter Change parameter to device pointer for bus layer interface function brcmf_sdbrcm_bus_stop. This is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit c0a7962ae72c9ebf42f623719a46c8f472f44067 Author: Franky Lin Date: Tue Nov 22 17:21:58 2011 -0800 brcm80211: fmac: remove function brcmf_bus_get_device brcmf_bus_get_device is no longer necessary. Use dongle device pointer saved in brcmf_pub directly. This is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit fa20b91143c616d402f1ed61f27693477279d0c6 Author: Franky Lin Date: Tue Nov 22 17:21:57 2011 -0800 brcm80211: fmac: change function bus_init parameter Change parameter to device pointer for bus layer interface function brcmf_sdbrcm_bus_init. This is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit bf347bb9768ab0da028a0d9f92142df738211deb Author: Franky Lin Date: Tue Nov 22 17:21:56 2011 -0800 brcm80211: fmac: change function bus_txdata parameter Change parameter to device pointer for bus layer interface function brcmf_sdbrcm_bus_txdata. This is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 47a1ce78d544b9fb3b776a62de3c084cf0020fda Author: Franky Lin Date: Tue Nov 22 17:21:55 2011 -0800 brcm80211: fmac: change function bus_txctl parameter Change paramter to device pointer for bus layer interface function brcmf_sdbrcm_bus_txctl. This is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 532cdd3b99b7a89fdc128c2b58abea780f3bbb4d Author: Franky Lin Date: Tue Nov 22 17:21:54 2011 -0800 brcm80211: fmac: change function bus_rxctl parameter brcmf_sdbrcm_bus_rxctl acts as an interface function of bus layer. Change parameter from struct brcmf_sdio to device pointer in order to provide a more compatible interface for different bus layers. This is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit cad2b26b1010d0694d2f08d408486451b9f919d2 Author: Franky Lin Date: Tue Nov 22 17:21:53 2011 -0800 brcm80211: fmac: stop using brcmf_pub in brcmf_sdbrcm_bus_watchdog structure brcmf_pub contains context for generic layer and should not be used in brcmf_sdbrcm_bus_watchdog. This patch is part of fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 8d169aa00d0356f915e84dbdf6c9be381cce34a4 Author: Franky Lin Date: Tue Nov 22 17:21:52 2011 -0800 brcm80211: fmac: move busstate to struct brcmf_bus busstate keeps track of the bus (USB/SDIO) status and is used by both generic layer and bus layer. Move it to brcmf_bus helps to clean up the interface. This patch is part of fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 655713be2cf1a69990eb510f3641e9ef05648f51 Author: Franky Lin Date: Tue Nov 22 17:21:51 2011 -0800 brcm80211: fmac: introduce common bus interface struct brcmf_bus struct brcmf_bus will contain function porinter, bus specific private structure pointer and interface context of generic layer and bus layer. It will be the only shared structure between generic and bus layer. This patch is part of fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit e92eedf4e080fc0bd98e892cb9d31d2163ae8b29 Author: Franky Lin Date: Tue Nov 22 17:21:50 2011 -0800 brcm80211: fmac: rename structure brcmf_bus to brcmf_sdio Rename sdio bus structure brcmf_bus to brcmf_sdio for preparation of USB bus support. This patch is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 4175b88bd22022a60de175f94fdb303bed087eb9 Author: Franky Lin Date: Tue Nov 22 17:21:49 2011 -0800 brcm80211: fmac: remove unused parameter of brcmf_sdbrcm_probe bus_no, slot, func and bustype are no longer needed by brcmf_sdbrcm_probe. This patch removes them. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 4f96bf1910491e3d8e41915239080422e9810662 Author: Franky Lin Date: Tue Nov 22 17:21:48 2011 -0800 brcm80211: fmac: remove function brcmf_c_init brcmf_c_init only init brcmf_msg_level used for debug. It's no longer needed as brcmf_msg_level doesn't cause trouble to multiple instances. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 3392c888bbe6fb939dea952ea90bea4dc969c234 Author: Franky Lin Date: Tue Nov 22 17:21:47 2011 -0800 brcm80211: fmac: move module init/exit to sdio layer This patch is part of the fullmac bus interface refactoring series. It moves the module init/exit code to bus layer. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 0c094c77ce9c338adc08d6d71b2d92a7761992b8 Author: Franky Lin Date: Tue Nov 22 17:21:46 2011 -0800 brcm80211: fmac: discard packet received when net device not registered A new feature in the dongle firmware requires a handshake during firmware intialization. The request is sent in event packets which the host driver is not able to handle before any net device registered. Discard those packets as the context for handling it is missing. The initialization handler will be added as part of feature support code in the future. Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit a52dd17d20be1fb6a111468f3ca8bfa0af7c0903 Author: Arend van Spriel Date: Tue Nov 22 17:21:45 2011 -0800 brcm80211: fmac: rename wait queue name to match using function The wait queue request_packet_wait was used in request_chain function and for sake of consistency it has been renamed to request_chain_wait. Reviewed-by: Franky (Zhenhui) Lin Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 8054321b7cb8c685f21762268b20dc590dab2a8d Author: Arend van Spriel Date: Tue Nov 22 17:21:44 2011 -0800 brcm80211: fmac: remove alignment check from brcmf_sdioh_request_buffer() The check for alignment is not valid anymore and can be removed. The function is collapsed with brcmf_sdioh_request_packet() as a consequence because it did not add much functionality any longer. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit be667669ec01d514b3820f8c74d9336115be6aa7 Author: Alwin Beukers Date: Tue Nov 22 17:21:43 2011 -0800 brcm80211: smac: added support for mac80211 filter flags Added support for handling FIF_PROMISC_IN_BSS, FIF_FCSFAIL, FIF_CONTROL, FIF_OTHER_BSS and FIF_PSPOLL. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Signed-off-by: Alwin Beukers Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 8906c43cb160abc89c3d7e0721cacb8bc54be927 Author: Alwin Beukers Date: Tue Nov 22 17:21:42 2011 -0800 brcm80211: smac: fix channel frequency Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 8dd939cade92647a7c87db5ae895a6e120258320 Author: Franky Lin Date: Tue Nov 22 17:21:41 2011 -0800 brcm80211: fmac: change firmware/nvram name to be more generic The nvram file contains info for firmware which varies with different hardware designs. Use more common firmware/nvram file names instead of those in Linux firmware repository to avoid misunderstanding. Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 4c6e869d2ee7ca489b7049c17c9afe7b68bebecc Author: Arend van Spriel Date: Tue Nov 22 17:21:40 2011 -0800 brcm80211: fmac: simplify the brcmf_sdioh_request_buffer() function The function is only called with sk_buff parameter being non-zero so the prototype does not need to support passing a char buffer any longer. When the function is called with a NULL sk_buff parameter it returns -EINVAL now. Reviewed-by: Franky (Zhenhui) Lin Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 5e8e13b94c7ace2ed8b2aed253211290b329eb5c Author: Arend van Spriel Date: Tue Nov 22 17:21:39 2011 -0800 brcm80211: fmac: remove width parameter from brcmf_sdioh_request_buffer The function brcmf_sdioh_request_buffer() was requiring a parameter in its prototype that was not used within the function. It has been removed consequently. Reviewed-by: Franky (Zhenhui) Lin Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 5adfeb632c52a6c15e98fa6465bdade6fff915d9 Author: Arend van Spriel Date: Tue Nov 22 17:21:38 2011 -0800 brcm80211: fmac: separate receiving skb chain from other receive path In the receive path the buffer used to store the receive data from the device can be a chain of sk_buff. It has been separated to allow the use of skb queues. Reported-by: Johannes Berg Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Franky (Zhenhui) Lin Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 3030794fcae9b07d62a9ff7649a413dff0c88e01 Author: Arend van Spriel Date: Tue Nov 22 17:21:37 2011 -0800 brcm80211: smac: remove skb next pointer usage from the driver In two places the next pointer was used to process a sk_buff chain but it will always get a single sk_buff so this has been removed. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Franky (Zhenhui) Lin Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 0b45bf74f91e781b74bfadb8bb08ef341b6befd3 Author: Arend van Spriel Date: Tue Nov 22 17:21:36 2011 -0800 brcm80211: fmac: cleanup receive path using proper skb_queue functions In the receive path there was still code using the next pointer to access all packets in skb_queue. This patch fixes that. Reported-by: Johannes Berg Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Franky (Zhenhui) Lin Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit e7979ac7826e3170c685e7fe6d8c594ac505a30a Author: Arik Nemtsov Date: Tue Nov 22 19:33:18 2011 +0200 mac80211: don't indicate probe resp change in IBSS mode Due the a fall-through in the switch statement, the IBSS mode got a report for AP_RPOBE_RESPONSE change on reconfig. Change this to an AP only notification. Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit e170d180fb0fa13f86fc9f2b257eceb43f4e0859 Author: Mohammed Shafi Shajakhan Date: Tue Nov 22 20:15:56 2011 +0530 ath9k_hw: cosmetic change in calibration debug log Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit a261f0e965b7e903873880cec1a70c9cbc776c76 Author: Rajkumar Manoharan Date: Tue Nov 22 18:52:00 2011 +0530 ath9k_hw: Fix minimum CTL power for each runtime mode The conformance test limits (CTL) for each regulatory domains (FCC/ETSI/MKK) are programmed for each runtime modes (11B,11G, HT20 and HT40) in EEPROM. The lowest ctledge power value of a particular running mode should not be used while computing ctledge power for a different running mode.(i.e 11G's min ctledge power should not be used while computing ctledge power for HT20). Currently, the code does not handle this properly which would result in incorrect txpowers in certain cases. So reset the twiceMaxEdgePower to the default while computing min ctlegepower for every mode. Cc: David Quan Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 4eb287a4048e4a2cb0400a6d972d97739ec8c799 Author: Nikolay Martynov Date: Mon Nov 21 17:32:06 2011 -0500 ath9k: improve ath_tx_aggr_stop to avoid TID stuck in cleanup state When tx agg is being stopped TID is flushed using ath_tx_flush_tid. It is possible that ath_tx_flush_tid completelly flushes TID (if all packets in this TID have already been retried). If this happened ath_tx_aggr_stop would leave TID in cleanup state permanently. Fix this by making ath_tx_flush_tid remove AGGR_ADDBA_COMPLETE and AGGR_CLEANUP flags from TID status if TID is empty. Signed-off-by: Nikolay Martynov Signed-off-by: John W. Linville commit f724828bd3db7e0fe6f17ed8de2656bfbfed5c4e Author: Arik Nemtsov Date: Sat Nov 19 10:51:26 2011 +0200 mac80211: dereference RCU protected probe_resp pointer correctly This fixes a sparse warning: cfg.c:502:13: warning: incorrect type in assignment (different address spaces) cfg.c:502:13: expected struct sk_buff *old cfg.c:502:13: got struct sk_buff [noderef] *probe_resp Reported-by: Johannes Berg Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit 6674f210e9dbf30e592ccd85b0cf90bd8d1d2d28 Author: Simon Wunderlich Date: Mon Nov 21 21:34:30 2011 +0100 mac80211: fix duration calculation for QoS NOACK frames Signed-off-by: Simon Wunderlich Signed-off-by: Mathias Kretschmer Signed-off-by: John W. Linville commit b53be7920bd9bb1bb99fecc2ff537bc79d24082f Author: Simon Wunderlich Date: Fri Nov 18 14:20:44 2011 +0100 mac80211: Add NoAck per tid support This patch contains the processing changes in mac80211. Signed-off-by: Simon Wunderlich Signed-off-by: Mathias Kretschmer Signed-off-by: John W. Linville commit 1d9d9213d526f2f4ef9a3aa198a29a0b1a670fa1 Author: Simon Wunderlich Date: Fri Nov 18 14:20:43 2011 +0100 wireless: Add NoAck per tid support This patch contains the configuration changes in nl80211/cfg80211. Signed-off-by: Simon Wunderlich Signed-off-by: Mathias Kretschmer Signed-off-by: John W. Linville commit 6fd67e937ece538e0ab766df96a9895e6fd622df Author: Simon Wunderlich Date: Fri Nov 18 14:20:42 2011 +0100 mac80211: remove debugfs noack test This feature has been superseded by the NoAck per Queue feature. Signed-off-by: Simon Wunderlich Signed-off-by: Mathias Kretschmer Signed-off-by: John W. Linville commit 39338b56382ac640614851a80e0bd71994cc664d Merge: 8b7ff20 eb1852b Author: John W. Linville Date: Mon Nov 28 14:11:18 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem commit b4c0e72e80e2e04b462ea05cc5a001807d7feed6 Author: David S. Miller Date: Sat Nov 26 15:41:29 2011 -0500 ray_cs: Fix array bounds warnings. rx_msg is defined to have a 1 entry array at the end, so gcc warns: drivers/net/wireless/ray_cs.c: In function ‘rx_authenticate’: drivers/net/wireless/ray_cs.c:2436:3: warning: array subscript is above array bounds [-Warray-bounds] drivers/net/wireless/ray_cs.c:2436:3: warning: array subscript is above array bounds [-Warray-bounds] drivers/net/wireless/ray_cs.c:2436:3: warning: array subscript is above array bounds [-Warray-bounds] drivers/net/wireless/ray_cs.c:2436:3: warning: array subscript is above array bounds [-Warray-bounds] drivers/net/wireless/ray_cs.c:2436:3: warning: array subscript is above array bounds [-Warray-bounds] drivers/net/wireless/ray_cs.c:2439:15: warning: array subscript is above array bounds [-Warray-bounds] drivers/net/wireless/ray_cs.c:2452:16: warning: array subscript is above array bounds [-Warray-bounds] drivers/net/wireless/ray_cs.c:2453:18: warning: array subscript is above array bounds [-Warray-bounds] drivers/net/wireless/ray_cs.c:2453:32: warning: array subscript is above array bounds [-Warray-bounds] Use a zero length array and rename to "ray_rx_msg" to make sure we hit all of the necessary cases. Signed-off-by: David S. Miller commit f47398409c140a48dd40faf75a18f7c93504a22e Author: David S. Miller Date: Sat Nov 26 15:35:10 2011 -0500 airo: Fix array bounds warning when moving packet payload. drivers/net/wireless/airo.c: In function ‘encapsulate’: drivers/net/wireless/airo.c:1421:15: warning: array subscript is above array bounds [-Warray-bounds] drivers/net/wireless/airo.c: In function ‘decapsulate’: drivers/net/wireless/airo.c:1509:16: warning: array subscript is above array bounds [-Warray-bounds] Signed-off-by: David S. Miller commit 6dec4ac4ee1ad894dc0e9647cd3e180f93fc353c Merge: d6f03f2 fc0b927 Author: David S. Miller Date: Sat Nov 26 14:47:03 2011 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: net/ipv4/inet_diag.c commit 5081c80c7d3fecf59fda79af6648d8c705822b34 Author: Vasanthakumar Thiagarajan Date: Thu Nov 24 17:06:34 2011 +0530 ath6kl: Increase the maximum number of connections in AP mode The maximum number of clients which ath6kl can support in AP mode is 10. The limitation of 8 connections is only for older chipsets which ath6kl does not support. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 0bb4e30f13ce7c4e811ea5937f39d985f02a9aff Author: Kalle Valo Date: Wed Nov 23 20:21:54 2011 +0200 ath6kl: remove unused sc_params from struct ath6kl It was only initialised but not used anywhere. Also remove two defines which ended up unused after this change. Signed-off-by: Kalle Valo commit b992a28557afdcabcee7d8af88471dddfe791c11 Author: Luis R. Rodriguez Date: Wed Nov 23 11:08:14 2011 -0500 ath6kl: fix ath6kl's set tx power ath6kl assumed cfg80211 passed to us power in dBm but it is in mBm. Cc: Kalle Valo Signed-off-by: Luis R. Rodriguez Signed-off-by: Kalle Valo commit 50553c2c8145c3278668f385a71abbf79108e737 Author: Dan Carpenter Date: Wed Nov 23 09:34:50 2011 +0300 ath6kl: use a larger buffer for debug output The return value of snprintf() is the number of bytes which would have been copied if there was enough space, but we want the number of bytes actually copied. The scnprintf() function does this. Also in theory, a %u can take take 10 digits so we may as well make the buffer larger as well. Signed-off-by: Dan Carpenter Signed-off-by: Kalle Valo commit 2cfa5a0471fef43fda0b7bd87e3a5e4dbadb7809 Author: Eric Dumazet Date: Wed Nov 23 07:09:32 2011 +0000 net: treewide use of RCU_INIT_POINTER rcu_assign_pointer(ptr, NULL) can be safely replaced by RCU_INIT_POINTER(ptr, NULL) (old rcu_assign_pointer() macro was testing the NULL value and could omit the smp_wmb(), but this had to be removed because of compiler warnings) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit badaaa00f2122bab4bc2d46c26d6fad6af50f97c Author: Gustavo F. Padovan Date: Wed Nov 23 20:11:46 2011 -0200 Bluetooth: Add user readable debug for state changes I did this as a part of a testing course at university, but it might be useful upstream as well. Signed-off-by: Gustavo F. Padovan commit 84b405011166e663fe9ef56c29b1d76f59b35568 Author: Rick Jones Date: Mon Nov 21 10:54:05 2011 +0000 Sweep away N/A fw_version dustbunnies from the .get_drvinfo routine of a number of drivers Per discussion with Ben Hutchings and David Miller, go through and remove assignments of "N/A" to fw_version in various drivers' .get_drvinfo routines. While there clean-up some use of bare constants and such. Signed-off-by: Rick Jones Signed-off-by: David S. Miller commit eb1852b10593dc3ca73e02bf9ac4753a5a464905 Author: John W. Linville Date: Mon Nov 21 16:37:26 2011 -0500 rtlwifi: squash warning in _usb_read_sync drivers/net/wireless/rtlwifi/usb.c: In function ‘_usb_read_sync’: drivers/net/wireless/rtlwifi/usb.c:102:6: warning: ‘status’ may be used uninitialized in this function drivers/net/wireless/rtlwifi/usb.c:102:6: note: ‘status’ was declared here My compiler is dumb, but better to eliminate the warning than to have anyone waste time evaluating this again... Signed-off-by: John W. Linville Acked-by: Larry Finger commit 515db09338704a6ad7d27b5f1e33820d3052edd2 Merge: 30be52e cfcfc9e Author: John W. Linville Date: Tue Nov 22 14:05:46 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux Conflicts: drivers/net/wireless/iwlegacy/iwl-debugfs.c drivers/net/wireless/iwlegacy/iwl-rx.c drivers/net/wireless/iwlegacy/iwl-scan.c drivers/net/wireless/iwlegacy/iwl-tx.c include/net/bluetooth/bluetooth.h commit 30be52e44fd4276d768efffb55d424fb682e6505 Author: Johannes Berg Date: Mon Nov 21 11:23:50 2011 +0100 mac80211: fix RCU warnings in mesh Sparse RCU checking reports two warnings in the mesh path table code. These are due to questionable uses of rcu_dereference. To fix the first one, get rid of mesh_gate_add() and just make mesh_path_add_gate() do the correct deref. To fix the second one, simply remove rcu_dereference() in mesh_gate_del() -- it already gets a proper pointer as indicated by the prototype (no __rcu annotation) and confirmed by the code. Cc: Javier Cardona Cc: Thomas Pedersen Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 11a2a357a9d8e058db032883ffd535bf4ad6a899 Author: Johannes Berg Date: Mon Nov 21 11:09:22 2011 +0100 cfg80211: work around a sparse issue sparse reports: net/wireless/util.c:499:30: error: cannot size expression net/wireless/util.c:503:30: error: cannot size expression This is evidently due to the EXPORT_SYMBOL() of the bridge_tunnel_header and rfc1042 header variables. Move them to the end of the file to work around the sparse issue. The error itself from sparse can be ignored safely, but since sparse stops parsing at errors, other issues after this would go undetected. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit fd67a728a97c171e54319833adaf8d2641954781 Author: Christian Lamparter Date: Sat Nov 19 19:30:20 2011 +0100 carl9170: use ieee80211_free_txskb In the past, it was fine to simply call dev_kfree_skb when it was impossible to transmit a skb. However, with the new tx status API: "mac80211: implement wifi TX status" Every loose skb needs to be handed back to mac80211. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit c3745b40601513a6a6e901c3ec44ddefd0c428d8 Author: Christian Lamparter Date: Sat Nov 19 19:25:02 2011 +0100 p54: use ieee80211_free_txskb In the past, it was fine to simply call dev_kfree_skb when it was impossible to transmit a skb. However, with the new tx status API: "mac80211: implement wifi TX status" Every loose skb needs to be handed back to mac80211. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit a7cf534d4ddc961bf74f54a964ad0fd19b389b6e Author: Jussi Kivilinna Date: Sat Nov 19 13:04:26 2011 +0200 rndis_wlan: remove unused macro NET_TYPE_11FB actually has never been used. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 1c70687536575bcc96ae88b69154ca62dbdac7c1 Author: Jussi Kivilinna Date: Sat Nov 19 13:04:21 2011 +0200 rndis_wlan: add reporting of PMKSA candidate events Convert old WEXT reporting to use new cfg80211_pmksa_candidate_notify(). Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 30fd90731d45eab2f4f51e622e522075c90a0d59 Author: Jussi Kivilinna Date: Sat Nov 19 13:04:16 2011 +0200 rndis_wlan: add missing __packed Some structures were missing __packed. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 6f104a081b18ffc7c666be2a1cda682f83d7c8b7 Author: Jussi Kivilinna Date: Sat Nov 19 13:04:11 2011 +0200 rndis_wlan: pass channel info to cfg80211_roamed() cfg80211_roamed() now has channel parameter so add passing current channel info. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit cb82a66d0f35eb3f510c3f770d6fbdc3b17ab041 Author: Jussi Kivilinna Date: Sat Nov 19 13:04:05 2011 +0200 rndis_wlan: split getting current channel to separate function Split getting current channel channel from hardware to separate function as this function will be needed later in patch 'pass channel info to cfg80211_roamed()'. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit ef96a84202ccfb48a4569256ffba45e32308f7ee Author: Ben Greear Date: Fri Nov 18 11:32:00 2011 -0800 mac80211: Support ht-cap over-rides. This implements ht-cap over-rides for mac80211 drivers. HT may be disabled, making an /a/b/g/n station act like an a/b/g station. HT40 may be disabled forcing the station to be HT20 even if the AP and local hardware support HT40. MAX-AMSDU may be disabled. AMPDU-Density may be increased. AMPDU-Factor may be decreased. This has been successfully tested with ath9k using patched wpa_supplicant and iw. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 7e7c8926b2f4e3453b8aeb39cd814d2af3fec24f Author: Ben Greear Date: Fri Nov 18 11:31:59 2011 -0800 wireless: Support ht-capabilities over-rides. This allows users to disable features such as HT, HT40, and to modify the MCS, AMPDU, and AMSDU settings for drivers that support it. The MCS, AMPDU, and AMSDU features that may be disabled are are reported in the phy-info netlink message as a mask. Attemping to disable features that are not supported will take no affect, but will not return errors. This is to aid backwards compatibility in user-space apps that may not be clever enough to deal with parsing the the capabilities mask. This patch only enables the infrastructure. An additional patch will enable the feature in mac80211. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit dd76986b0e398978ca32dd60c1b7dc50ab4e9ae1 Author: Johannes Berg Date: Fri Nov 18 16:54:50 2011 +0100 cfg80211/mac80211: Revert "move information element parsing logic to cfg80211" No other driver ever ended up using this, and the commit forgot to move the prototype so no driver could have used it. Revert it, if any driver shows up and needs it it can be moved again, but until then it's more efficient to have it in mac80211 where the only user is. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 80b998993d97d8a13589f8462e62a60298c72cf2 Author: Johannes Berg Date: Fri Nov 18 16:23:01 2011 +0100 nl80211: make get_vlan logic more common get_vlan() sets the output parameter even if it returns an error, which is a bit odd. Instead, convert it to use ERR_PTR. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7c4ef7122cef54dc49562eea35cbfaf0f44faa0b Author: Johannes Berg Date: Fri Nov 18 15:33:48 2011 +0100 cfg80211: add flags for off-channel capabilities Currently mac80211 implements these for all devices, but given restrictions of some devices that isn't really true, so prepare for being able to remove the capability for some mac80211 devices. Signed-off-by: Johannes Berg Acked-by: Kalle Valo Signed-off-by: John W. Linville commit f2dc7989bf821a0ca78289b32f16078c76c88e7e Author: Johannes Berg Date: Fri Nov 18 15:27:31 2011 +0100 mac80211: minor cleanup to mesh state locking First time I tried smatch, and it says: mesh_hwmp.c +870 mesh_queue_preq(21) error: double lock 'bottom_half:' mesh_hwmp.c +873 mesh_queue_preq(24) error: double unlock 'bottom_half:' mesh_hwmp.c +886 mesh_queue_preq(37) error: double unlock 'bottom_half:' Which is indeed true -- there's no point in disabling BHs again if we just did that a few lines earlier, so remove. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1e7aecc26b95efb9d9bdba1ff5c33c99ca34d4ad Author: Joe Perches Date: Thu Nov 17 17:46:15 2011 -0800 iwl-debug: Shrink object by using dev_err and deduplicating formats Using dev_err instead of dev_printk(KERN_ERR uses fewer arguments and is a bit smaller. Deduplicating formats used by IWL_DEBUG_QUIET_RFKILL also makes the object a bit smaller. Neatened the macros, used ##__VA_ARGS__. $ size drivers/net/wireless/iwlwifi/built-in.o* text data bss dec hex filename 462652 8646 92576 563874 89aa2 drivers/net/wireless/iwlwifi/built-in.o.new 467557 8646 92592 568795 8addb drivers/net/wireless/iwlwifi/built-in.o.old Signed-off-by: Joe Perches Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 1ffeb2a3e943299a2ca954b8d10c208c853c1960 Author: Wey-Yi Guy Date: Thu Nov 17 16:05:13 2011 -0800 iwlwifi: remove redundancy just use iwl_bus, remove the redundancy Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit b3f15ef22cc539c35e7ec1db97cd652a56ccce04 Author: Emmanuel Grumbach Date: Thu Nov 17 16:05:12 2011 -0800 iwlwifi: tid_data is taken twice in iwl_trans_pcie_tx_agg_alloc Remove this redundancy. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 4bf218c03328beeed60ded10d173468f6a551caa Author: Emmanuel Grumbach Date: Thu Nov 17 16:05:11 2011 -0800 iwlwifi: fix endianity issues in debug prints Use the CPUed version of the variables when printing data from the BA notification. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 1daf04b8ac51f911f32aedc77f7f6559924d8ab3 Author: Emmanuel Grumbach Date: Thu Nov 17 16:05:10 2011 -0800 iwlwifi: improve the prints in the reclaim path Some information was redundation, other was missing. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 08d1700da05a2246ee0d9d2440d5c165615c352c Author: Emmanuel Grumbach Date: Thu Nov 17 16:05:09 2011 -0800 iwlwifi: check the HW when a queue is stuck Add more information when a queue is stuck and actually get information from the scheduler instead of looking at internal variables. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 1f1d528977162a1a04aaecdc7f08a5b715a58810 Author: Thomas Meyer Date: Thu Nov 17 23:43:40 2011 +0100 brcm80211: smac: Use kmemdup rather than duplicating its implementation The semantic patch that makes this change is available in scripts/coccinelle/api/memdup.cocci. Signed-off-by: Thomas Meyer Acked-by: Franky Lin Signed-off-by: John W. Linville commit 0dcc3c842930a36d344d240878ee24910c838665 Author: Larry Finger Date: Thu Nov 17 12:14:45 2011 -0600 rtlwifi: Remove redundant code from PCI interrupt The interrupt routine for PCI devices has a special exit that executes the same instructions as does the normal exit. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit abfabc9b48f6943dbb707fcfc2ef2a04c329e3e8 Author: Larry Finger Date: Thu Nov 17 12:14:44 2011 -0600 rtlwifi: rtl8192cu: Fix endianian issues Driver rtlwifi fails on a big-endian host. These changes have been tested on a Mac PowerBook G4, which has a PPC processor. Although this patch touches some of the code that will affect endian issues on PCI hardware through drivers rtl8192ce, rtl8192se, and rtl8192de, these have not been tested due to lack of suitable hardware. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit ff6ff96b5ba5b39f7ab3d8ea0cf9ec414452ac92 Author: Larry Finger Date: Thu Nov 17 12:14:43 2011 -0600 rtlwifi: rtl8192cu: Change firmware upload to use block writes Driver rtl8192cu writes the firmware with 32-bit asynchronous writes. This design is OK for USB 2.0 adapters, but the current implementation of xhcu-hcd has a limited ring size, which is exceeded. By converting to synchronous block writes, this error is avoided. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 040a72785cf19fd8032f24d584ee305158c87ac7 Author: George Date: Thu Nov 17 12:14:42 2011 -0600 rtlwifi: rtl8192cu: Allow retries for USB I/O The USB driver does not retry reads - allow 10 tries. Signed-off-by: George Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 4745fc095da0d276b9c149e87b853b78d42d4f32 Author: Kalle Valo Date: Thu Nov 17 19:06:10 2011 +0200 nl80211: add testmode to the list of supported commands User space might want to test if driver supports testmode. Adding testmode to the list of supported commands makes this easier. I omitted testmode_dump() in purpose. I assume all drivers implementing testmode_dump() will also implement testmode_cmd(). Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit fb4431bf608fe135ba743ecdd0aa084a3569992f Author: Johannes Berg Date: Thu Nov 17 16:23:29 2011 +0100 mac80211: remove unused ASSOC_AP flag WLAN_STA_ASSOC_AP indicates that the station entry is for an AP we're associated to but isn't used so remove it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 11127e9121d4dd9da868cf0fd89dcac35f7f0fa3 Author: Johannes Berg Date: Wed Nov 16 16:02:47 2011 +0100 mac80211: transmit fragment list to drivers Drivers can usually handle fragmented packets much easier when they get the entire list of fragments at once. The only thing they need to do is keep enough space on the queues for up to ten fragments of a single MSDU. This allows them to implement this with a new operation tx_frags. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 74e4dbfd57a38c4ec4131cebdbfa3d621d38dd6a Author: Johannes Berg Date: Wed Nov 16 15:28:57 2011 +0100 mac80211: make TX LED handling independent of fragmentation This just prepares for passing the entire fragment list to the driver. No significant changes, but the TX throughput is calculated slightly differently now and we blink only once for each MSDU. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a1a3fcec6fcc36482c1c57bde7ed4078313495cd Author: Johannes Berg Date: Wed Nov 16 15:28:56 2011 +0100 mac80211: move fragment flag adjustment Instead of adjusting the fragment flags at TX time, adjust them at fragmentation time. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 252b86c43225d067468dd182e9ae616ad2532bc8 Author: Johannes Berg Date: Wed Nov 16 15:28:55 2011 +0100 mac80211: use skb list for fragments We are currently linking the skbs by using skb->next directly. This works, but the preferred way is to use a struct sk_buff_head instead. That also prepares for passing that to drivers directly. While at it I noticed we calculate the duration for fragments twice -- remove one of them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 83c76570961573e56a238d84ba18f2581ef1e6b5 Author: Zefir Kurtisi Date: Wed Nov 16 11:09:44 2011 +0100 ath9k: trivial: reorder rx_tasklet processing DFS events are reported as PHY errors and need to be processed with a correct timestamp set before ath9k_skb_preprocess() is called and the frame is possibly dropped. This patch puts the rxs->mactime calculation before the skb is preprocessed to prepare for DFS event reporting. Signed-off-by: Zefir Kurtisi Signed-off-by: John W. Linville commit b68e6b3b33b208c5690355fd9804ea65cc53d3a5 Author: Luis R. Rodriguez Date: Tue Oct 11 10:59:03 2011 -0700 cfg80211: pass DFS region to drivers through reg_notifier() This grants drivers access to the DFS region that a regulatory domain belongs to. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8b60b07805d557542160d852874fa6a1b969184e Author: Luis R. Rodriguez Date: Tue Oct 11 10:59:02 2011 -0700 cfg80211: process regulatory DFS region for countries The wireless-regdb now has support for mapping a country to one DFS region. CRDA sends this to us now so process it so we can provide that hint to drivers. This will later be used by code for processing DFS in a way that meets the criteria for the DFS region the country belongs to. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4713e962c5d98901890c446843ae4e0a9d37b7b3 Merge: e3bea1c 9b5e2f4 Author: John W. Linville Date: Mon Nov 21 16:00:56 2011 -0500 Merge branch 'for-linville' of git://github.com/sgruszka/iwlegacy commit 3a7cbd50f74907580eb47a8d08e1f29741b81abf Author: Tejun Heo Date: Mon Nov 21 12:32:22 2011 -0800 freezer: don't unnecessarily set PF_NOFREEZE explicitly Some drivers set PF_NOFREEZE in their kthread functions which is completely unnecessary and racy - some part of freezer code doesn't consider cases where PF_NOFREEZE is set asynchronous to freezer operations. In general, there's no reason to allow setting PF_NOFREEZE explicitly. Remove them and change the documentation to note that setting PF_NOFREEZE directly isn't allowed. -v2: Dropped change to twl4030-irq.c as it no longer uses PF_NOFREEZE. Signed-off-by: Tejun Heo Acked-by: "Gustavo F. Padovan" Acked-by: Samuel Ortiz Cc: Marcel Holtmann Cc: wwang commit efd0bf97deeddd9ba53daabfc470a1399c6b0b2d Merge: f8a15af 6fe4c6d Author: David S. Miller Date: Mon Nov 21 13:50:33 2011 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net The forcedeth changes had a conflict with the conversion over to atomic u64 statistics in net-next. The libertas cfg.c code had a conflict with the bss reference counting fix by John Linville in net-next. Conflicts: drivers/net/ethernet/nvidia/forcedeth.c drivers/net/wireless/libertas/cfg.c commit fdb28589b10f1bd4c407ea304399c2ff1cae1504 Author: Raja Mani Date: Mon Nov 21 12:26:51 2011 +0530 ath6kl: Use mutex to protect dma buffer in sync read write Firmware crashes while starting Soft AP in 32 bit x86 platform. The reason is that the single dma buffer (ar_sdio->dma_buffer) is used in ath6kl_sdio_read_write_sync() for unaligned buffer handling and this function is called in the multiple context at the same time. So, finally hits dma buffer corruption and firmware crash. Mutex is used to protect dma buffer to avoid data corruption. Spin lock can not used to fix this issue since mmc stack read/write calls may for sleep. Observed this issue with recently commited patch "ath6kl: Claim sdio function only at appropriate places" 861dd058f495973c7ad2a44b8f68f3cc05733eab kvalo: change name of mutex to more descriptive and add a comment about what it protects Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit 743b4518f9432e09ade6120ced414558969ba5fd Author: Dan Carpenter Date: Fri Nov 18 17:09:32 2011 +0300 ath6kl: unlock if ath6kl_cfg80211_connect() fails There is an unlock missing on this error path. Signed-off-by: Dan Carpenter Signed-off-by: Kalle Valo commit b64de35654cea2f5301d08f9195836f7ea8118c0 Author: Vasanthakumar Thiagarajan Date: Fri Nov 18 10:05:28 2011 +0530 ath6kl: Enable multiple vif support The maximum number of supported virtual interfaces are 3. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit f143379dbf5e0709d6d39b50995ff6d697564834 Author: Vasanthakumar Thiagarajan Date: Fri Nov 18 10:05:27 2011 +0530 ath6kl: Find ar->max_norm_iface in firmware IE parsing Currently the max number of vifs which can be used for non-p2p mode is determined in ath6kl_core_alloc(). But the maximum supported vifs are parsed from firmware IE in ath6kl_fetch_fw_api2() which would happen after ath6kl_core_alloc(). Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 774439ad88ecec928ab4a438946ee4985116c481 Author: Vasanthakumar Thiagarajan Date: Fri Nov 18 10:05:26 2011 +0530 ath6kl: Remove modparam multi_norm_if_support This modparam was introduced to enable non-p2p mode operation on two virtual interfaces. It does not seem to be necessary to have a separate module parameter to do that. Instead, this option can be enabled when any one of the interfaces is not going to be used for p2p (ath6kl_p2p). Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit c6feeb28aed51831c27c9f42e5c15129b1562a5b Author: Andrei Emeltchenko Date: Wed Nov 16 17:30:20 2011 +0200 Bluetooth: Use queue in the device list Use queue instead of stack discipline for device list. When processing dev_list with list_for_each* devices will be prosessed in order they were added (Usually BR/EDR first and AMP later). Also output from hciconfig looks nicer :-) Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 47c15e2b332dd51048170915ad8c4ab4b47e3bf2 Author: Brian Gix Date: Wed Nov 16 13:53:14 2011 -0800 Bluetooth: Differentiate LE User Pairing Responses Low Energy (LE) pairing responses must be recognized and handled differently from BR/EDR pairing responses. BR/EDR responses are handled via HCI commands by the LMP layer, and LE responses are handled by the Host. Signed-off-by: Brian Gix Signed-off-by: Gustavo F. Padovan commit 0df4c185ed84d914fa2671fa5f4cec2f8dee2d2e Author: Brian Gix Date: Wed Nov 16 13:53:13 2011 -0800 Bluetooth: User Pairing Response restructuring There are 4 possible User Responses to pairing requests, and they all share the same checks and handling. This restructures the handling of the two Confirm responses in preperation for the second two. Signed-off-by: Brian Gix Signed-off-by: Gustavo F. Padovan commit 7784d78f184a80ca576f87b5a663b7b40e7a9b25 Author: Andrei Emeltchenko Date: Fri Nov 18 13:35:42 2011 +0200 Bluetooth: making enable_hs independent from L2CAP Fixes bluetooth compiling when CONFIG_BT_L2CAP is not enabled net/built-in.o: In function `hci_dev_open': (.text+0xdce9a): undefined reference to `enable_hs' Reported-by: Randy Dunlap Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit fb94333a62b7b11041dfb6daad94353ec5fbb7fd Author: Arik Nemtsov Date: Tue Nov 8 19:14:08 2011 +0200 ath6kl: indicate probe-resp offload support The ath6kl responds to probe-requests in HW while operating as an AP. It supports offloading exclusions to support the WPS, WPS2, P2P and 802.11u protocols. Signed-off-by: Arik Nemtsov Signed-off-by: Kalle Valo commit 9a97af7eb68c9405152ae5796d5307fca2acdef1 Merge: 59500b4 e3bea1c Author: Kalle Valo Date: Mon Nov 21 17:02:46 2011 +0200 Merge remote branch 'wireless-next/master' into ath6kl-next commit 93f1508cffc3d578c2b7bbbf298dc52326b80777 Author: Greg Kroah-Hartman Date: Fri Nov 18 09:47:34 2011 -0800 USB: convert drivers/bluetooth/* to use module_usb_driver() This converts the drivers in drivers/bluetooth/* to use the module_usb_driver() macro which makes the code smaller and a bit simpler. Added bonus is that it removes some unneeded kernel log messages about drivers loading and/or unloading. Cc: Marcel Holtmann Cc: "Gustavo F. Padovan" Signed-off-by: Greg Kroah-Hartman commit d632eb1bf22e11def74e4e53cc47d790fbdba105 Author: Greg Kroah-Hartman Date: Fri Nov 18 09:44:20 2011 -0800 USB: convert drivers/net/* to use module_usb_driver() This converts the drivers in drivers/net/* to use the module_usb_driver() macro which makes the code smaller and a bit simpler. Added bonus is that it removes some unneeded kernel log messages about drivers loading and/or unloading. Cc: Wolfgang Grandegger Cc: Samuel Ortiz Cc: Oliver Neukum Cc: Peter Korsgaard Cc: Petko Manolov Cc: Steve Glendinning Cc: Christian Lamparter Cc: "John W. Linville" Cc: Dan Williams Cc: Jussi Kivilinna Cc: Ivo van Doorn Cc: Gertjan van Wingerde Cc: Helmut Schaa Cc: Herton Ronaldo Krzesinski Cc: Hin-Tak Leung Cc: Larry Finger Cc: Chaoming Li Cc: Lucas De Marchi Cc: "David S. Miller" Cc: Roel Kluin Cc: Paul Gortmaker Cc: Jiri Pirko Cc: Pavel Roskin Cc: Yoann DI-RUZZA Cc: George Signed-off-by: Greg Kroah-Hartman commit e3bea1c8751d297c197949db01aa1e7adbc1104d Author: Bing Zhao Date: Wed Nov 16 20:40:35 2011 -0800 mwifiex: add support for Marvell sd8797 device This patch supports Marvell chipset 88W8797 (Avastar) with SDIO interface. The corresponding firmware image file is located at: "mrvl/sd8797_uapsta.bin" Signed-off-by: Bing Zhao Signed-off-by: Tristan Xu Signed-off-by: Amitkumar Karwar Signed-off-by: Kiran Divekar Signed-off-by: Frank Huang Signed-off-by: John W. Linville commit 7adb92faa852589ad60ebd5ff94fc53c0882ebd5 Author: Michael Büsch Date: Wed Nov 16 23:51:20 2011 +0100 p54spi: Remove FIXME in op_stop Don't use the interruptible variant of mutex_lock(). It doesn't really need to be interruptible. This avoids nasty error handling. Signed-off-by: Michael Buesch Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit fcac4fb00eaefea375db9745464cc182389a1751 Author: Felix Fietkau Date: Wed Nov 16 13:34:55 2011 +0100 mac80211: call ieee80211_recalc_idle() after sending packets Some drivers (e.g. ath9k) assume that it's safe to go into low-power mode immediately after the idle state changes. To support that, mac80211 even calls drv_flush() before that happens. In some instances, mac80211 sent a packet right after recalculating the idle state, this patch fixes that. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 1f80c230a7d291a10045a3cdc2efd18a4185674d Author: Rick Jones Date: Tue Nov 15 10:40:49 2011 -0800 wireless: use strlcpy routine in .get_drvinfo Convert various seemingly still compiled wireless drivers' .get_drvinfo routines to use the preferred strlcpy() routine. Signed-off-by: Rick Jones Signed-off-by: John W. Linville commit 6048d76384ed531123588277fe1fd95b24067cbc Author: Patrick Kelle Date: Tue Nov 15 16:44:48 2011 +0100 minstrel_ht: Remove unused function parameters Remove unused function parameters in the following functions: minstrel_calc_rate_ewma() minstrel_ht_calc_tp() minstrel_aggr_check() minstrel_ht_set_rate() Signed-off-by: Patrick Kelle Signed-off-by: John W. Linville commit 88d5346512294fbd02fd982173c64cb9b2f0235c Author: Dan Carpenter Date: Tue Nov 15 09:33:31 2011 +0300 mac80211: memory leak in mesh_queue_preq() We recently introduced a return here, but we need to call kfree first. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 5e2e05de55ce1dd05521c419b80241551d36b473 Author: Dan Carpenter Date: Tue Nov 15 09:33:09 2011 +0300 mac80211: use kfree_skb() instead of kfree() sk_buff structs should be freed using kfree_skb(). This was introduced recently in 029458212 "mac80211: Save probe response data for bss". Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit a5f69d94d8e239b48299abdd836840b7447866ab Author: Helmut Schaa Date: Mon Nov 14 15:28:20 2011 +0100 mac80211: Get rid of search loop for rate group index Finding the group index for a specific rate is done by looping through all groups and returning if the correct one is found. This code is called for each tx'ed frame and thus it makes sense to reduce its runtime. Do this by calculating the group index by this formula based on the SGI and HT40 flags as well as the stream number: idx = (HT40 * 2 * MINSTREL_MAX_STREAMS) + (SGI * MINSTREL_MAX_STREAMS) + (streams - 1) Hence, the groups are ordered by th HT40 flag first, then by the SGI flag and afterwards by the number of used streams. This should reduce the runtime of minstrel_ht_get_group_idx considerable. Signed-off-by: Helmut Schaa Acked-by: Felix Fietkau Signed-off-by: John W. Linville commit b79296beeba470074737a7d5a941f4ddd64863d8 Author: Helmut Schaa Date: Mon Nov 14 15:28:19 2011 +0100 mac80211: Check rate->idx before rate->count The drivers are not required to fill in rate->count if rate->idx is set to -1. Hence, we should first check rate->idx before accessing rate->count. Signed-off-by: Helmut Schaa Acked-by: Felix Fietkau Signed-off-by: John W. Linville commit a7f23f0a8f6be9d95d8110d34b21ccce03111447 Author: Johannes Berg Date: Mon Nov 14 15:02:44 2011 +0100 mac80211: remove crypto special case for auth frames The shared key authentication frame that needs to be encrypted (the third one in the shared key handshake) is directly encrypted in ieee80211_send_auth and the IEEE80211_TX_INTFL_DONT_ENCRYPT is set. All others are not encrypted, so the only way to get to this is erroneously on no-monitor AP side. Remove the special case for authentication frames to fix the AP shared key side when operating without cooked monitor interfaces -- with cooked monitor the IEEE80211_TX_INTFL_DONT_ENCRYPT also gets set, so we never get here -- an AP never encrypts auth frames. Without this patch, an AP operating in WEP mode with my no-monitor patches would erroneously encrypt all authentication frames, instead of none. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8505a7e652c8a37bdacfd9d6ad5096c793f55ceb Author: Joe Perches Date: Sun Nov 13 11:41:04 2011 -0800 brcmsmac: Use current logging styles Add and use pr_fmt and pr_ Remove useless double parentheses from macros. Remove function names from format strings, add to pr_debug use. Coalesce formats. Remove uncompileable undeclared variable in a DMA_NONE use. Signed-off-by: Joe Perches Acked-by: Arend van Spriel Signed-off-by: John W. Linville commit 8227bf455469a153d5fa2a810653a669a2595ebd Author: Rajkumar Manoharan Date: Sat Nov 12 19:35:48 2011 +0530 ath9k_hw: set btcoex weights for AR9462 Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 54f10b059e6592598a9b66fabf0cde8be1d2780c Author: Rajkumar Manoharan Date: Sat Nov 12 19:35:47 2011 +0530 ath9k_hw: Cleanup btcoex wlan weights Remove all wlan weight macros and group it together for better understanding & readability. It makes the code reusable for AR9462 wlan weights. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit bc6d5c29afa724901c2feb7e4446c6eec7788cec Author: Rajkumar Manoharan Date: Sat Nov 12 19:35:46 2011 +0530 ath9k: Remove enabling btcoex from stomp type change This patch removes btcoex_enable from stomp type change and let it be called from callee functions that makes the code can be reusable for MCI changes. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 9c461cef0d6c417775dcec9a2b39d86b3fd8b94a Merge: b4487c2 8cb6d99 Author: John W. Linville Date: Thu Nov 17 15:16:55 2011 -0500 Merge branch 'for-linville' of git://github.com/kvalo/ath6kl commit e11c259f745889b55bc5596ca78271f2f5cf08d2 Merge: 8d26784 b4487c2 Author: John W. Linville Date: Thu Nov 17 13:11:43 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem Conflicts: include/net/bluetooth/bluetooth.h commit c8f44affb7244f2ac3e703cab13d55ede27621bb Author: Michał Mirosław Date: Tue Nov 15 15:29:55 2011 +0000 net: introduce and use netdev_features_t for device features sets v2: add couple missing conversions in drivers split unexporting netdev_fix_features() implemented %pNF convert sock::sk_route_(no?)caps Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 1ec918cef5ced016edb95c357e45e656e4e156b1 Author: Szymon Janc Date: Wed Nov 16 09:32:21 2011 +0100 Bluetooth: Fix some checkpatch.pl errors and warnings Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 250938cb370351fb603e1d47292377421bb029b2 Author: Szymon Janc Date: Wed Nov 16 09:32:22 2011 +0100 Bluetooth: Simplify __l2cap_global_chan_by_addr Make __l2cap_global_chan_by_addr similar to other find functions. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit d1726b6dc95b5ed0914e969f6765a9e2cf7baf04 Author: Szymon Janc Date: Wed Nov 16 09:32:20 2011 +0100 Bluetooth: Refactor loop in l2cap_retransmit_one_frame This make it easier to see what is the real reason for loop to exit. skb_queue_next return valid skb or garbage, not NULL. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 039d9572f11ef46ff2743798f2170a888d393ec6 Author: Szymon Janc Date: Wed Nov 16 09:32:19 2011 +0100 Bluetooth: Simplify l2cap_add_to_srej_queue Make it easier to see what is loop break condition. skb_queue_next return valid skb or garbage, not NULL. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit aef89f214e4306153c7913b9854456595153f5d8 Author: Szymon Janc Date: Wed Nov 16 09:32:18 2011 +0100 Bluetooth: Fix possible NULL pointer derefence in l2cap code Due to ERTM reliability L2CAP channel needs to be disconnected if adding to srej list failed. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 36acbb1adadf1ba300f14ee904a7d3f23120e0d6 Author: Andrei Emeltchenko Date: Mon Nov 14 12:42:48 2011 +0200 Bluetooth: Allow to set AMP type for virtual HCI Type can be changed during re-opening device /dev/vhci. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 07e3b94ac385cc9d5fd31d6dcd233da0958b9984 Author: Andrei Emeltchenko Date: Fri Nov 11 17:02:15 2011 +0200 Bluetooth: Do not set HCI_RAW when HS enabled Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 450dfdafbcfbf19e39481d0e4737a832b991333a Author: Johan Hedberg Date: Sat Nov 12 11:58:22 2011 +0200 Bluetooth: Pass all message parameters to mgmt_start_discovery The mgmt_start_discovery command contains the type of discovery that should be started so this should be passed to the start_discovery function. This patch doesn't yet add any action depending on the type of the requested discovery. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 0e5f875a8f4fa78edf5762d6d0a9843e1d9ae85e Author: Johan Hedberg Date: Fri Nov 11 16:18:54 2011 +0200 Bluetooth: Add missing cmd_complete for mgmt_load_link_keys The command complete event was completely missing for this command. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit ca69b7957bf2e3bc0acc882b837a42617498ece1 Author: Johan Hedberg Date: Fri Nov 11 18:10:00 2011 +0200 Bluetooth: Create a unique mgmt error code hierarchy The management protocol uses a single byte for error codes (aka command status). In some places this value is directly copied from HCI and in other a POSIX error number is used. This makes it impossible for user-space to uniquily decipher the meaning of an error. To solve this issue a new mgmt-specific set of error codes is added along with a conversion table for HCI status values. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 8680570b0cae8f66ad28c8de227aab1894428ee5 Author: Johan Hedberg Date: Fri Nov 11 16:18:52 2011 +0200 Bluetooth: Return success instead of EALREADY for mgmt commands When the adapter state is already what is requested it's more friendly to user-space to simply report success than to send a EALREADY error message. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 1425acb74b6d58690d78027021ce1d8f3068c66f Author: Johan Hedberg Date: Fri Nov 11 00:07:35 2011 +0200 Bluetooth: Fix mgmt_pair_device imediate error responses When possible cmd_complete should be returned instead of cmd_status since it contains the remote address (this helps user-space track what exactly failed). Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit ba4e564f60064689661882c84fa2ee63e39b457e Author: Johan Hedberg Date: Fri Nov 11 00:07:34 2011 +0200 Bluetooth: Add address type to mgmt_pair_device The kernel needs to know whether it should connect to a device over BR/EDR or over LE. This is particularly important in the future when dual-mode device may be connectable also over LE. It is also important if/when we decide to move the LE advertisement cache from the kernel into user-space. Adding the type to the mgmt command also ensures conformance with the latest mgmt API spec. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit e6d465cb482935c26cb4065a6ab9ce987c067da3 Author: Andre Guedes Date: Wed Nov 9 17:14:26 2011 -0300 Bluetooth: mgmt_stop_discovery_failed() This patches creates mgmt_stop_discovery_failed() which removes pending MGMT_OP_STOP_DISCOVERY commands and sends proper command status events. This patch also fixes the MGMT_OP_STOP_DISCOVERY command leak in case cancel inquiry fails. Signed-off-by: Andre Guedes Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 7a13510902c81ad865f6d02aed2f4e053a46050e Author: Andre Guedes Date: Wed Nov 9 17:14:25 2011 -0300 Bluetooth: Rename mgmt_inquiry_failed() This patch renames the function mgmt_inquiry_failed() to mgmt_start_discovery_failed(). This function is more related to MGMT_OP_START_DISCOVERY command handling than to inquiry. Besides, this functions will be reused by LE based discovery procedures in case of failure. Signed-off-by: Andre Guedes Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 9b5e2f463ac6f53789bd5ce43d2bb4b4c01e8607 Author: Greg Dietsche Date: Tue Sep 6 19:11:35 2011 -0500 iwlegacy: debugfs_ops should depend on CONFIG_IWLEGACY_DEBUGFS Only setup structs related to debugfs_ops when CONFIG_IWLEGACY_DEBUGFS is set. Signed-off-by: Greg Dietsche Signed-off-by: Stanislaw Gruszka commit e3a2c775336641663b1c38dfa7dd8a1c1210ae23 Author: Greg Dietsche Date: Tue Sep 6 18:25:32 2011 -0500 iwlegacy: 4965-rs: cleanup il4965_rs_sta_dbgfs_rate_scale_data_read 1) remove ret local var and return the result directly 2) remove il since it is not used Signed-off-by: Greg Dietsche Signed-off-by: Stanislaw Gruszka commit a741b99577c3fa359208c9ff14aede77bc0d0e02 Author: Greg Dietsche Date: Tue Sep 6 17:49:07 2011 -0500 iwlegacy: 4965-rs: don't return rate from il4965_rs_update_rate_tbl 1) don't return rate from il4965_rs_update_rate_tbl 2) fix up il4965_rs_rate_scale_perform Signed-off-by: Greg Dietsche Signed-off-by: Stanislaw Gruszka commit 3e4b0655207452be0a1d82425f19ed4a081cf48b Author: Greg Dietsche Date: Tue Sep 6 18:12:05 2011 -0500 iwlegacy: 4965-rs: il4965_rs_alloc_sta: remove lq_sta local var remove the lq_sta local variable and return the result directly in il4965_rs_alloc_sta Signed-off-by: Greg Dietsche Signed-off-by: Stanislaw Gruszka commit 144c0961b47ab07812ec1440adea6d4218b9a6a6 Author: Greg Dietsche Date: Tue Sep 6 18:31:13 2011 -0500 iwlegacy: 4965-rs: remove unnecessary null check for sta and lq_sta both sta and lq_sta are guaranteed to be not null in the calling function so we don't need to check them here. Signed-off-by: Greg Dietsche Signed-off-by: Stanislaw Gruszka commit da6134d2537363775c73e96186c0d5eb9b2c6b1c Author: Greg Dietsche Date: Tue Sep 6 17:38:34 2011 -0500 iwlegacy: 4965-rs: remove null check on sta in il4965_rs_tx_status the null check on sta in il4965_rs_tx_status is not necessary Signed-off-by: Greg Dietsche Signed-off-by: Stanislaw Gruszka commit 730b4c2102902a0061bb01a3d3fa1b6461973849 Author: Greg Dietsche Date: Tue Sep 6 17:33:51 2011 -0500 iwlegacy: 4965: remove vif null check in request_scan remove null check on vif in il4965_request_scan Signed-off-by: Greg Dietsche Signed-off-by: Stanislaw Gruszka commit 59500b4864aea3e946889308b36c877b31c0b04b Author: Vasanthakumar Thiagarajan Date: Wed Nov 16 13:21:34 2011 +0530 ath6kl: Fix AP mode operation after interface down/up When operating AP interface is brough down the mode is reset to STA. This STA will be reconfigured into AP mode when the interface is brought up again. This sequence will be successful only when change_virtual_intf() returns with no error, but there is a check in this callback which does the type change only when that interface is active. This callback does nothing more than saving the new interface type to vif and wdev, so the sanity check for interface state and wmi state is not necessary. This makes the AP interface functional again after interface down/up. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 542c519a0eb94e5fece4c12b12ad9c84e8b66384 Author: Raja Mani Date: Tue Nov 15 14:14:56 2011 +0530 ath6kl: Clear WPS ctrl flag if zero length IE is received from cfg80211 Connect control flag CONNECT_WPS_FLAG has to be cleared by default even if the driver receives zero length IE from cfg80211. Otherwise this flag would be always set after WPS exchange which would lead wpa_supplicant to fail to connect with the received WPS credentials. This issue is observed only in OPEN security. kvalo: use cfg80211 instead of CFG in the commit log Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit 368b1b0f4b0328f488780605c423aafe1e6235b5 Author: Kalle Valo Date: Mon Nov 14 19:31:38 2011 +0200 ath6kl: add firmware IE for maximum number of vifs Not all firmwares support multiple vifs and we need to read the limit from the firmware image. Signed-off-by: Kalle Valo commit 71f96ee6c6fd50fefb3f5550f25380060a85eebf Author: Kalle Valo Date: Mon Nov 14 19:31:30 2011 +0200 ath6kl: make maximum number of vifs runtime configurable Needed when detecting how many vifs firmware supports. Signed-off-by: Kalle Valo commit d1a9421ddc63c2b81f9b05ea7ba6082c13b933b5 Author: Kalle Valo Date: Mon Nov 14 19:31:23 2011 +0200 ath6kl: add firmware filename info to struct ath6kl_hw Signed-off-by: Kalle Valo commit f0ea5d588a50f080dd0738bab651f967c4d0020e Author: Kalle Valo Date: Mon Nov 14 19:31:15 2011 +0200 ath6kl: add ar6004 firmwares to sdio module When adding ar6004 SDIO support I forgot to add corresponding MODULE_FIRMWARE() definitions to sdio.c. Signed-off-by: Kalle Valo commit 0d0192babc2f5ff9a5c047e61567d414806c1137 Author: Kalle Valo Date: Mon Nov 14 19:31:07 2011 +0200 ath6kl: use hardware version names consistently Part of ath6kl uses "REV3" style of naming hardware versions and elsewhere "hw 2.1.1" is used instead for the same version. This is confusing, use the latter term everywhere. Signed-off-by: Kalle Valo commit 293badf4e2fcb81aeab92616856c65fedc454c94 Author: Kalle Valo Date: Mon Nov 14 19:30:54 2011 +0200 ath6kl: add name field to struct ath6kl_hw To make it easier to print name for each hardware type. Also move the hw info print to ath6kl_init_hw_start() which is more logical place for it. Signed-off-by: Kalle Valo commit 03ef0250aea65c0afc217d7832485f6984e1fde4 Author: Kalle Valo Date: Mon Nov 14 19:30:47 2011 +0200 ath6kl: add firmware IE for board data address Board data address can change between firmwares so we need to read that from the firmware image. Also fix debug log for the patch address to print the address in hex. Signed-off-by: Kalle Valo commit 0d4d72bf8e15199c4cf8d5491c9c45464a1d6f08 Author: Kalle Valo Date: Mon Nov 14 19:30:39 2011 +0200 ath6kl: add board address to struct ath6kl_hw This is to make it configurable by firmware IEs. Also determine if we need to write or read the board address to the chip by checking if board address is set or not. Signed-off-by: Kalle Valo commit 856f4b313abaeeffff97792c72d17b8b7019440b Author: Kalle Valo Date: Mon Nov 14 19:30:29 2011 +0200 ath6kl: move hw version related to parameters to struct It's easier to handle the values when they are defined in a struct. Signed-off-by: Kalle Valo commit f275dc7117c4a9847ee0380ca1a355b18d616b09 Author: Kalle Valo Date: Mon Nov 14 19:30:13 2011 +0200 ath6kl: remove hw version related parameter defines Having separate defines, in a different file, makes it difficult to read the actual values. As we are just setting named fields in a struct the defines don't make any sense anymore. There are no functional changes, only moving of constants. Signed-off-by: Kalle Valo commit c63b2d01b1bec83f31259651a0ed2a26104cb7a3 Author: Stanislaw Gruszka Date: Tue Nov 15 15:20:03 2011 +0100 iwlegacy: remove unused IL_AC_UNSET define Signed-off-by: Stanislaw Gruszka commit dd44eb9e13131f7b1fda65518b24fd3dfcf3a114 Author: Greg Dietsche Date: Sun Aug 28 08:32:10 2011 -0500 iwlegacy: change IL_ERR to D_HT in iwl4965_rs_tl_turn_on_agg_for_tid This message should be a debug message and not an error. Signed-off-by: Greg Dietsche Signed-off-by: Stanislaw Gruszka commit 53611e05263ca2101a29736920fdf86ccad0e93b Author: Greg Dietsche Date: Sun Aug 28 08:26:16 2011 -0500 iwlegacy: change IL_WARN to D_HT in il4965_tx_agg_start This message should be a debug message and not a warning. Signed-off-by: Greg Dietsche Signed-off-by: Stanislaw Gruszka commit 1722f8e12a9c6117d872bd19ec5919460ccdfb4e Author: Stanislaw Gruszka Date: Tue Nov 15 14:51:01 2011 +0100 iwlegacy: checkpatch.pl fixes Fix most checkpatch.pl ERRORs and some WARNINGs. Signed-off-by: Stanislaw Gruszka commit e7392364fcd1004a5e495f15cf21b1e0ef874215 Author: Stanislaw Gruszka Date: Tue Nov 15 14:45:59 2011 +0100 iwlegacy: indentions and whitespaces Process iwlegacy source files using: indent -npro -l500 -nhnl indent -npro -kr -i8 -ts8 -sob -l80 -nbbo -ss -ncs -cp1 -il0 -psl Plus manual compilation fixes. Signed-off-by: Stanislaw Gruszka commit f02579e3a81954c8f0944c7d2a95159ee48f052d Author: Stanislaw Gruszka Date: Wed Aug 31 14:49:56 2011 +0200 iwlegacy: merge iwl-debug.h into common.h Signed-off-by: Stanislaw Gruszka commit f19ab370a7ba40570dcdb2c0c3cdaa8c20efde97 Author: Stanislaw Gruszka Date: Tue Nov 15 14:24:36 2011 +0100 iwlegacy: rename iwl-debug.c to debug.c Signed-off-by: Stanislaw Gruszka commit eac3b2127749af8ba033a755efdc0d4b43167906 Author: Stanislaw Gruszka Date: Wed Aug 31 14:29:46 2011 +0200 iwlegacy: merge iwl-fh.h into 4965.h Signed-off-by: Stanislaw Gruszka commit 9a95b37015de03aa82bf340b3ee8e97af11be910 Author: Stanislaw Gruszka Date: Wed Aug 31 14:20:23 2011 +0200 iwlegacy: use FH49_ prefix in 4965 code Signed-off-by: Stanislaw Gruszka commit 53143a1809db521ff34371f066bfd8f1619ec2c9 Author: Stanislaw Gruszka Date: Wed Aug 31 14:14:18 2011 +0200 iwlegacy: use FH39_ prefix in 3945 code Signed-off-by: Stanislaw Gruszka commit e8c39d4e62a01c21330bcccd7989c9c8deac4271 Author: Stanislaw Gruszka Date: Wed Aug 31 14:09:39 2011 +0200 iwlegacy: rename iwl-prph.h to prph.h Signed-off-by: Stanislaw Gruszka commit 47ef694dd47b1e97a0d766f3c74067bab3debfa5 Author: Stanislaw Gruszka Date: Wed Aug 31 14:04:45 2011 +0200 iwlegacy: merge iwl-{eeprom,led}.h into common.h Signed-off-by: Stanislaw Gruszka commit 99412002a07b63781adfc3d1272d3677841d4170 Author: Stanislaw Gruszka Date: Wed Aug 31 13:53:04 2011 +0200 iwlegacy: merge iwl-power.h into common.h Signed-off-by: Stanislaw Gruszka commit 3fbbf9a8083049718c44e43dc88c8e79cb0b7793 Author: Stanislaw Gruszka Date: Wed Aug 31 13:39:29 2011 +0200 iwlegacy: merge iwl-legacy-rs.h into common.h Signed-off-by: Stanislaw Gruszka commit f44cfaf330b911b43f0763d1932ba0b4e0e353a1 Author: Stanislaw Gruszka Date: Wed Aug 31 13:24:32 2011 +0200 iwlegacy: remove iwl-helpers.h This file was already merged into common.h Signed-off-by: Stanislaw Gruszka commit e94a4099adb2ec148776975bcd953a01c6bec992 Author: Stanislaw Gruszka Date: Wed Aug 31 13:23:20 2011 +0200 iwlegacy: merge common header files Signed-off-by: Stanislaw Gruszka commit 98613be06e9de8acd20841d2d85b99c39b3b7814 Author: Stanislaw Gruszka Date: Tue Nov 15 14:19:34 2011 +0100 iwlegacy: rename iwl-core.h to common.h Signed-off-by: Stanislaw Gruszka commit 77375bb01cc030c680d5892eb1e756bc100c8022 Author: Stanislaw Gruszka Date: Wed Aug 31 11:19:51 2011 +0200 iwlegacy: rename iwl-csr.h to csr.h Signed-off-by: Stanislaw Gruszka commit e53aac424767a9f42b3bbac22eb001491f605d4e Author: Stanislaw Gruszka Date: Wed Aug 31 11:18:16 2011 +0200 iwlegacy: move IL_MASK Signed-off-by: Stanislaw Gruszka commit 6278ddab9f859b8d6311879d35f2b1f74a789964 Author: Stanislaw Gruszka Date: Wed Aug 31 11:13:05 2011 +0200 iwlegacy: remove il_ieee80211_get_hw_conf Signed-off-by: Stanislaw Gruszka commit d4459a99c41e0e4fe7e36b3816b461c42827fb80 Author: Stanislaw Gruszka Date: Wed Aug 31 10:59:02 2011 +0200 iwlegacy: rename iwl-commands.h to commands.h On the way remove also not needed iwl-fh.h include. Signed-off-by: Stanislaw Gruszka commit 7f8e12238049b0e5398e77cdf15f95a41077841f Author: Stanislaw Gruszka Date: Tue Nov 15 13:42:04 2011 +0100 iwlegacy: rename module name Signed-off-by: Stanislaw Gruszka commit 0cdc21363cc27989fe9aa1cde614ef4c0429d62f Author: Stanislaw Gruszka Date: Tue Nov 15 13:40:15 2011 +0100 iwlegacy: merge common .c files Merge iwl-{tx,rx,sta,scan,power,eeprom,led,hcmd}.c into common.c . Signed-off-by: Stanislaw Gruszka commit 4ed47911a2e0f9a425d22253433452ffa59d533e Author: Stanislaw Gruszka Date: Tue Nov 15 13:18:51 2011 +0100 iwlegacy: rename iwl-core.c to common.c Signed-off-by: Stanislaw Gruszka commit d2dfb33ec9a8da257bb0e6ed2872af2fdf85260c Author: Stanislaw Gruszka Date: Tue Nov 15 13:16:38 2011 +0100 iwlegacy: rename other handlers Signed-off-by: Stanislaw Gruszka commit 6e9848b496cf256ba820094e88e78cc4f8304008 Author: Stanislaw Gruszka Date: Tue Aug 30 15:45:31 2011 +0200 iwlegacy: s/rx_reply/hdl/ Signed-off-by: Stanislaw Gruszka commit d0c72347bece3299a90351151c69c0f721f964ff Author: Stanislaw Gruszka Date: Tue Aug 30 15:39:42 2011 +0200 iwlegacy: s/rx_handler/handler/ Signed-off-by: Stanislaw Gruszka commit 4d69c7521a90cba945b4720672b4511b1e541189 Author: Stanislaw Gruszka Date: Tue Aug 30 15:26:35 2011 +0200 iwlegacy: rename REPLY_ to N_ or C_ Signed-off-by: Stanislaw Gruszka commit db7746f78cab25ee39dd20f61d9b2e6b5993d8fa Author: Stanislaw Gruszka Date: Tue Nov 15 13:11:50 2011 +0100 iwlegacy: s/STATISTICS/STATS/ Signed-off-by: Stanislaw Gruszka commit a6766ccdaf9cc80d565672516d429a562d1a732d Author: Stanislaw Gruszka Date: Tue Nov 15 13:09:01 2011 +0100 iwlegacy: s/STATUS_/S_/ Signed-off-by: Stanislaw Gruszka commit 6bbb1370c3083190cae8487c2c61c0d24f869e68 Author: Stanislaw Gruszka Date: Tue Aug 30 14:12:12 2011 +0200 iwlegacy: move iwl-3945-{,hw,fh,debugfs}.h to 3945.h Signed-off-by: Stanislaw Gruszka commit af038f404ffb851dcefa0c56c5c81cacd06f0903 Author: Stanislaw Gruszka Date: Tue Aug 30 13:58:27 2011 +0200 iwlegacy: move iwl-4965-{,hw,debugfs,calib}.h to 4965.h Signed-off-by: Stanislaw Gruszka commit 8f29b456f8b2c560819f698b82ef2efc09ac47c5 Author: Stanislaw Gruszka Date: Tue Nov 15 12:57:25 2011 +0100 iwlegacy: add accidentally removed comments Signed-off-by: Stanislaw Gruszka commit ccf5533ec4cdf792ec17c375b1186cfed4086f2a Author: Stanislaw Gruszka Date: Tue Sep 6 12:28:10 2011 +0200 iwlegacy: rename iwl-3945-{rs,debugfs}.c to 3945-{rs,debug}.c Signed-off-by: Stanislaw Gruszka commit f3a1b49d669472159e05327fff64ec55315a0f54 Author: Stanislaw Gruszka Date: Tue Aug 30 13:14:41 2011 +0200 iwlegacy: rename iwl-4965-{rs,calib,debugfs}.c to 4965-{rs,calib,debug}.c Signed-off-by: Stanislaw Gruszka commit fcb74588dccb06d8e3e13afb36c5401cae470518 Author: Stanislaw Gruszka Date: Tue Aug 30 13:06:03 2011 +0200 iwlegacy: merge iwl-4965-lib.c into 4965-mac.c Signed-off-by: Stanislaw Gruszka commit a1751b22a82e6cd2da6c9e79611cfd6d6aba1d39 Author: Stanislaw Gruszka Date: Tue Nov 15 12:50:37 2011 +0100 iwlegacy: merge iwl-4965-{tx,rx}.c into 4965-mac.c Signed-off-by: Stanislaw Gruszka commit eb3cdfb72d1cc73d8f78f01bc107064d77727d30 Author: Stanislaw Gruszka Date: Tue Aug 30 12:58:35 2011 +0200 iwlegacy: merge iwl-4965-sta.c into 4965-mac.c Signed-off-by: Stanislaw Gruszka commit 862d32e6db6183e5cb67fe465818578556196a94 Author: Stanislaw Gruszka Date: Tue Aug 30 12:50:25 2011 +0200 iwlegacy: merge iwl-4965-ucode.c into 4965.c Signed-off-by: Stanislaw Gruszka commit 56e7a8cca0fd9e096acd2233f0e9f95df6423071 Author: Stanislaw Gruszka Date: Tue Aug 30 12:45:25 2011 +0200 iwlegacy: merge iwl-4965-eeprom.c into 4965.c Signed-off-by: Stanislaw Gruszka commit ecce1f09e847351d18e503e533000f781cac1d41 Author: Stanislaw Gruszka Date: Mon Aug 29 17:05:28 2011 +0200 iwlegacy: merge iwl-3945-led.c into 3945.c Signed-off-by: Stanislaw Gruszka commit fc19cbde0c38c24f2d473f9095fbd5772883ec59 Author: Stanislaw Gruszka Date: Mon Aug 29 16:59:15 2011 +0200 iwlegacy: merge iwl-4965-led.c into 4965.c Signed-off-by: Stanislaw Gruszka commit 61fe55f61fb48b691251e0f75505674db77f5d29 Author: Stanislaw Gruszka Date: Tue Nov 15 12:40:26 2011 +0100 iwlegacy: rename base 4965 and 3945 file names Signed-off-by: Stanislaw Gruszka commit 17d6e557359e0a4033bf0889e0b481519e145404 Author: Stanislaw Gruszka Date: Mon Aug 29 12:52:20 2011 +0200 iwlegacy: remove for_each_context We do not support many contexts. Signed-off-by: Stanislaw Gruszka commit 3b98c7f49b675eb13e723967cf1264e3d562c480 Author: Stanislaw Gruszka Date: Fri Aug 26 16:29:35 2011 +0200 iwlegacy: s/TABLE/TBL/ Signed-off-by: Stanislaw Gruszka commit 0c2c885200057c44ac5660d123e199192689ca5d Author: Stanislaw Gruszka Date: Tue Nov 15 12:30:17 2011 +0100 iwlegacy: s/index/idx/ Signed-off-by: Stanislaw Gruszka commit 2d09b0624a1048f6424b2c7ff60ad3a42d8036ff Author: Stanislaw Gruszka Date: Fri Aug 26 16:10:40 2011 +0200 iwlegacy: s/INDEX/IDX/ Signed-off-by: Stanislaw Gruszka commit 2eb058162ea8b72d5d8965520d05bcdc160010b3 Author: Stanislaw Gruszka Date: Fri Aug 26 16:07:43 2011 +0200 iwlegacy: s/IL_RATE/RATE/ Signed-off-by: Stanislaw Gruszka commit 6ce1dc45304eece672a36241cda587ba056d2b1f Author: Stanislaw Gruszka Date: Fri Aug 26 15:49:28 2011 +0200 iwlegacy: s/window/win/ Signed-off-by: Stanislaw Gruszka commit ebf0d90d12cf013019005a8ee7d1bc8599935356 Author: Stanislaw Gruszka Date: Fri Aug 26 15:43:47 2011 +0200 iwlegacy: s/statistics/stats/ Signed-off-by: Stanislaw Gruszka commit b73bb5f13bb60735a846b73125e297ab6e3eece5 Author: Stanislaw Gruszka Date: Fri Aug 26 14:37:54 2011 +0200 iwlegacy: s/il_rx_mem_buffer/il_rx_buf/ Signed-off-by: Stanislaw Gruszka commit 7c2cde2ef278cb833581fe599c6654fc28b11a7e Author: Stanislaw Gruszka Date: Tue Nov 15 11:29:04 2011 +0100 iwlegacy: partial rxon context cleanup Signed-off-by: Stanislaw Gruszka commit dcae1c641a4d7b7a00b1a566355ffaa517588aa6 Author: Stanislaw Gruszka Date: Fri Aug 26 14:36:21 2011 +0200 iwlegacy: s/iwl_rx_packet/iwl_rx_pkt/ Signed-off-by: Stanislaw Gruszka commit d31751679897441d89e6ae59da98f1424b3f7dfe Author: Stanislaw Gruszka Date: Tue Nov 15 11:25:42 2011 +0100 iwlegacy: rename remaining IWLs to ILs Also rename config names IWLWIFI_LEGACY to IWLEGACY Signed-off-by: Stanislaw Gruszka commit 232913b51e6f6e7105184b23a436dfc6b942491b Author: Stanislaw Gruszka Date: Fri Aug 26 10:45:16 2011 +0200 iwlegacy: remove not needed parentheses Signed-off-by: Stanislaw Gruszka commit db54eb57ce5edeebd621b12e23f3e1cdea7fe3ee Author: Stanislaw Gruszka Date: Wed Aug 24 21:06:33 2011 +0200 iwlegacy: rename il_{read,write}_prph Signed-off-by: Stanislaw Gruszka commit 0c1a94e299eed7ea11ebc407d1e08a26c594abe5 Author: Stanislaw Gruszka Date: Wed Aug 24 17:37:16 2011 +0200 iwlegacy: rename i/o direct methods Signed-off-by: Stanislaw Gruszka commit 1c8cae575b14ffad6af9c80927a08aa783f0ed78 Author: Stanislaw Gruszka Date: Wed Aug 24 15:46:03 2011 +0200 iwlegacy: remove _il_{read,write}_direct32 Use _il_{rd,wr} instead of another name of these operations. Signed-off-by: Stanislaw Gruszka commit 138822698fc16bd4c5b509da28a9b08faac4367b Author: Stanislaw Gruszka Date: Wed Aug 24 15:39:23 2011 +0200 iwlegacy: mark il_{grab,release}_nic_access as unlocked Signed-off-by: Stanislaw Gruszka commit 142b343f6eb4898289c402afb6237def8e252a3e Author: Stanislaw Gruszka Date: Wed Aug 24 15:22:57 2011 +0200 iwlegacy: mark poll bit as unlocked function We do not take reg_lock during poll bit, so mark it such using underscore. Signed-off-by: Stanislaw Gruszka commit 841b2ccac3251fdbf7a0bc26724874cdc35df96c Author: Stanislaw Gruszka Date: Wed Aug 24 15:14:03 2011 +0200 iwlegacy: rename il_{read,write}32 to _il_{rd,wr} Introduce rule that underscore at the beginning mean unlocked I/O method. Signed-off-by: Stanislaw Gruszka commit b6297cd2aa4ec318b3634e6c1ca4cf063a0042c9 Author: Stanislaw Gruszka Date: Thu Aug 18 22:27:04 2011 +0200 iwlegacy: remove IL_CRIT Signed-off-by: Stanislaw Gruszka commit 9406f79775a5374b932ac45ae9e84a71032a9d33 Author: Stanislaw Gruszka Date: Thu Aug 18 22:07:57 2011 +0200 iwlegacy: remove il argument from IWL_ERR/INFO/WARN/CRIT Signed-off-by: Stanislaw Gruszka commit 58de00a464f1e7cf0b108341dc6cc49276d19d7a Author: Stanislaw Gruszka Date: Tue Nov 15 11:21:01 2011 +0100 iwlegacy: rename IL_DEBUG_ to D_ Signed-off-by: Stanislaw Gruszka commit 2d27c5dbd696e7e3a162bba7b948486a9856abca Author: Stanislaw Gruszka Date: Tue Aug 16 15:36:33 2011 +0200 iwlegacy: remove DEBUG_LIMIT Even if messages are generating fast we want to see all of them when debugging. Signed-off-by: Stanislaw Gruszka commit 46f16c492e5ca905c2170c11177fb90a58074eab Author: Stanislaw Gruszka Date: Tue Aug 16 15:00:23 2011 +0200 iwlegacy: remove DEBUG_IO Nothing useful at present. Signed-off-by: Stanislaw Gruszka commit d2ddf621aa45ac4cf4cce6359bfac6b49a8c6b34 Author: Stanislaw Gruszka Date: Tue Aug 16 14:17:04 2011 +0200 iwlegacy: rename iwlegacy to il More renaming to make code shorter. Signed-off-by: Stanislaw Gruszka commit 46bc8d4b0e73ac75de323646d75a2333f47b84c3 Author: Stanislaw Gruszka Date: Mon Oct 24 16:49:25 2011 +0200 iwlegacy: rename priv to il Make code shorter. Signed-off-by: Stanislaw Gruszka commit e2ebc8337d116acdc25469ec8547ae665f50a4c1 Author: Stanislaw Gruszka Date: Mon Oct 24 15:41:30 2011 +0200 iwlegacy: rename iwl to il iwl_legacy prefix result in long function names, what cause that we have frequent line split and not readable code. Also iwl_foo symbols are duplicated in iwlwifi driver, what is annoying when editing kernel tree with cscope. Signed-off-by: Stanislaw Gruszka commit fee005e5dd82a43546c1b1beb187e82415360940 Author: Stanislaw Gruszka Date: Mon Aug 15 15:00:42 2011 +0200 iwlegacy: remove tracing This is not useful. Signed-off-by: Stanislaw Gruszka commit be5abaafad8090a5051355b1d224bfbae0951fc2 Author: Vasanthakumar Thiagarajan Date: Fri Nov 11 20:33:01 2011 +0530 ath6kl: Fix bug in setting dot11_auth_mode in AP mode OPEN_AUTH is passed as dot11_auth_mode by default, this would affect the AP mode when configured with shared authentication type. Assign appropriate auth type to fix this from driver. A patch in wpa_supplicant (wpa_supplicant: Set configured auth_algs) is also needed to fix this. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 7cefa44f140bc88def4f68f38c76d37d5fd61630 Author: Vasanthakumar Thiagarajan Date: Fri Nov 11 20:33:00 2011 +0530 ath6kl: Fix bug in setting default key index for tx in AP mode vif->def_txkey_index is set to key_index in ath6kl_cfg80211_add_key(). If the interface is configured with multiple static wep keys, vif->def_txkey_index would be holding the index of the last key configured, not the default tx key index. Remove this unnecessary default key index setting in ath6kl_cfg80211_add_key() to configure the right key index in WEP thereby make it work when multiple wep keys are configured. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit fde57764ef8751b9aca11b6f6221ac5555bda699 Author: Kalle Valo Date: Fri Nov 11 12:18:45 2011 +0200 ath6kl: enable USB support Now two modules are built, ath6kl_sdio.ko and ath6kl_usb.ko. But the USB module isn't fully functional yet as HTC layer is missing support and that's why it's marked as experimental for now. Signed-off-by: Kalle Valo commit d70385a26ad9a122a5450d066550470107b6bc38 Author: Kalle Valo Date: Fri Nov 11 12:18:37 2011 +0200 ath6kl: disable HTC for USB devices As HTC layer doesn't support USB devices return an error if that happens. USB support will be added to HTC in the future, this is just a temporary solution. Signed-off-by: Kalle Valo commit 59d954dda4b9b3f3e61d4b87a2b26952b8c4c09d Author: Kalle Valo Date: Fri Nov 11 12:18:29 2011 +0200 ath6kl: add USB support Add USB support for ar6004. Currently only firmware can be booted, no commands can be sent to firmware yet as HTC layer doesn't work with USB yet. Based on patches by Kevin Fang. Signed-off-by: Kalle Valo commit 77eab1e929c371f98c6a17a8c5f566529d3b0be2 Author: Kalle Valo Date: Fri Nov 11 12:18:22 2011 +0200 ath6kl: add hif_type In some rare cases core code needs to know what hif type is used. Add a field to struct ath6kl to denote that. Hopefully this is just a temporary solution. Signed-off-by: Kalle Valo commit d93e2c2f2109a3b804fa799079a6dd4d315af857 Author: Naveen Gangadharan Date: Fri Nov 11 12:18:14 2011 +0200 ath6kl: AR6004 SDIO support Add support for AR6004 SDIO. Tested scan, association (open mode) and ping. kvalo: change commit log a bit, drop board address changes Signed-off-by: Naveen Gangadharan Signed-off-by: Kalle Valo commit 50e2740b7bba90560321fba67840778c1fdb178b Author: Kalle Valo Date: Fri Nov 11 12:18:06 2011 +0200 ath6kl: firmware boot fixes for ar6004 These have changed a bit since last time ar6004 code was commited. Signed-off-by: Kalle Valo commit d5720e59410578d00c1767d66b2b8dfeda91a08b Author: Kalle Valo Date: Fri Nov 11 12:17:59 2011 +0200 ath6kl: update ar6004 definitions Add also hw 1.1. Signed-off-by: Kalle Valo commit c71114959dc952a509822f22251d01004b3b94cc Author: Kalle Valo Date: Fri Nov 11 12:17:51 2011 +0200 ath6kl: move diag commands to hif driver This is preparation for USB support which will have different diag commands. Based on code by Kevin Fang. Signed-off-by: Kalle Valo commit 1f4c894d3a35e88331c01e681d033a2000c3667b Author: Kalle Valo Date: Fri Nov 11 12:17:42 2011 +0200 ath6kl: change bmi sizes being configurable by HIF SDIO and USB have different maximum sizes for BMI commands so make that configurable. Signed-off-by: Kalle Valo commit 66b693c3b84876d33afd35b9d717d8b9d07384c8 Author: Kalle Valo Date: Fri Nov 11 12:17:33 2011 +0200 ath6kl: move bmi calls to hif driver In preparation for USB support which has it's own method for bmi. Based on code by Kevin Fang. Signed-off-by: Kalle Valo commit bd24a50fe66ef1f64a84a3d02e0f464bb394bb9b Author: Aarthi Thiruvengadam Date: Wed Nov 9 10:05:56 2011 -0800 ath6kl: Fix target minimum length requirement for WMI_SEND_PROBE_RESPONSE_CMDID The firmware expects the minimum length of WMI_SEND_PROBE_RESPONSE_CMDID to be 13. However, when the device is a P2P GO and it needs to send a probe response to a non-P2P client, there are no P2P IEs to be added, and therefore the length of the WMI command is 12. This command gets rejected by the firmware. To fix this, add an extra byte to satisfy the minimum length requirement. Signed-off-by: Aarthi Thiruvengadam Signed-off-by: Kalle Valo commit 4eab6f4f43032015131db97f089734633c1b3c1f Author: Raja Mani Date: Wed Nov 9 17:02:23 2011 +0530 ath6kl: Fix cfg80211 warning while starting IBSS mode When the connect event is received from the target in IBSS mode, cfg80211_ibss_joined() is called without informing BSS info to cfg80211 layer which internally hits the below WARN_ON message. WARNING: at net/wireless/ibss.c:33 __cfg80211_ibss_joined+0x153/0x180 [cfg80211]() [..] [ 4916.845878] Call Trace: [ 4916.845889] [] warn_slowpath_common+0x72/0xa0 [ 4916.845905] [] ? __cfg80211_ibss_joined+0x153/0x180 [cfg80211] [ 4916.845918] [] ? __cfg80211_ibss_joined+0x153/0x180 [cfg80211] [ 4916.845923] [] warn_slowpath_null+0x22/0x30 [ 4916.845934] [] __cfg80211_ibss_joined+0x153/0x180 [cfg80211] [ 4916.845941] [] ? default_spin_lock_flags+0x8/0x10 [ 4916.845952] [] cfg80211_process_rdev_events+0x19d/0x220 [cfg80211] [ 4916.845962] [] cfg80211_event_work+0x2b/0x50 [cfg80211] [ 4916.845968] [] process_one_work+0x116/0x3c0 [ 4916.845977] [] ? cfg80211_get_dev_from_info+0x40/0x40 [cfg80211] [ 4916.845982] [] worker_thread+0x140/0x3b0 [ 4916.845986] [] ? manage_workers+0x1f0/0x1f0 [ 4916.845991] [] kthread+0x74/0x80 [ 4916.845995] [] ? kthread_worker_fn+0x160/0x160 [ 4916.846001] [] kernel_thread_helper+0x6/0x10 [ 4916.846005] ---[ end trace 769254924e409367 ]--- This patch make sures that BSS info is delivered via cfg80211_inform_bss() to cfg80211 in advance before intimating IBSS status to cfg80211. In addition to this, one debug message is also added to know ad-hoc mode status (creator/joiner). kvalo: change subject Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit 901db39c845f676a46349a833fbe89a9ad0699ee Author: Vasanthakumar Thiagarajan Date: Tue Nov 8 20:01:25 2011 +0530 ath6kl: Fix packet drop when ath6kl_cookie runs out "ath6kl: Maintain virtual interface in a list" mistakenly stops the netq only when the mode is ibss. This causes packet drops in sta mode when the available cookies (buffer abstraction in ath6kl and also used for tx throttling) runs out for the highest priority traffic. This patch just fixes this regression though the original code may still need fixes which can be addressed in separate patches. Reported-by: Kalle Valo Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit f3803eb2f57450ad3f67f8f6dd728f94ad8c717d Author: Vasanthakumar Thiagarajan Date: Mon Nov 7 12:50:17 2011 +0530 ath6kl: Fix accessing wrong skb->data in ath6kl_tx_complete() When buffer alignmnet is applied, the data pointer of skb taken from cookie will no longer point to the first byte of the actual data. But the skb->data pointer is used in ath6kl_tx_complete() to get the index of the virtual interface which will not give the correct interface index and sometimes may give the following WARN_ON() message. Use packet->buf instead of skb->data to fix this. WARNING: at drivers/net/wireless/ath/ath6kl/wmi.c:88 ath6kl_get_vif_by_index+0x5b/0x60 [ath6kl]() Hardware name: 2842K3U Modules linked in: ath6kl mmc_block cfg80211 binfmt_misc ppdev nfs nfsd lockd nfs_acl auth_rpcgss sunrpc exportfs snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_intel +snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy thinkpad_acpi snd_seq_oss snd_seq_midi snd_rawmidi joydev fbcon tileblit font bitblit softcursor +snd_seq_midi_event snd_seq snd_timer snd_seq_device i915 uvcvideo drm_kms_helper drm psmouse serio_raw snd i2c_algo_bit sdhci_pci videodev intel_agp soundcore intel_gtt jmb38x_ms +memstick sdhci snd_page_alloc nvram lp parport agpgart video ahci r8169 mii libahci [last unloaded: ath6kl] Pid: 15482, comm: kworker/u:1 Tainted: G W 3.1.0-rc10-wl+ #2 Call Trace: [] warn_slowpath_common+0x72/0xa0 [] ? ath6kl_get_vif_by_index+0x5b/0x60 [ath6kl] [] ? ath6kl_get_vif_by_index+0x5b/0x60 [ath6kl] [] warn_slowpath_null+0x22/0x30 [] ath6kl_get_vif_by_index+0x5b/0x60 [ath6kl] [] ath6kl_tx_complete+0x128/0x4d0 [ath6kl] [] ? mmc_request_done+0x80/0x80 [] htc_tx_complete+0x5e/0x70 [ath6kl] [] ? _raw_spin_unlock_bh+0x16/0x20 [] ? ath6kl_sdio_scatter_req_add+0x48/0x60 [ath6kl] [] htc_async_tx_scat_complete+0xb2/0x120 [ath6kl] [] ath6kl_sdio_scat_rw+0x87/0x370 [ath6kl] [] ? __switch_to+0xd2/0x190 [] ? finish_task_switch+0x45/0xd0 [] ? __schedule+0x3ae/0x8b0 [] ath6kl_sdio_write_async_work+0x4a/0xf0 [ath6kl] [] process_one_work+0x116/0x3c0 [] ? ath6kl_sdio_read_write_sync+0xb0/0xb0 [ath6kl] [] worker_thread+0x140/0x3b0 [] ? manage_workers+0x1f0/0x1f0 [] kthread+0x74/0x80 [] ? kthread_worker_fn+0x160/0x160 [] kernel_thread_helper+0x6/0x10 Reported-by: Aarthi Thiruvengadam Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 30677ae015ade68a315e66385f64448c532ce39a Author: Dai Shuibing Date: Thu Nov 3 11:39:39 2011 +0200 ath6kl: Indicate WAPI IE from (Re)Association Request frame This is needed to know whether the STA requests WAPI to be used and if so, with what AKM and cipher. Signed-off-by: Dai Shuibing Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit b8214df1d963cad2aae1479b86452e205312004e Author: Dai Shuibing Date: Thu Nov 3 11:39:38 2011 +0200 ath6kl: Allow SMS4 to be configured in AP mode Signed-off-by: Dai Shuibing Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 5e07021e434a64c454b0e9fb9f5aa763f131b22b Author: Dai Shuibing Date: Thu Nov 3 11:39:37 2011 +0200 ath6kl: Add support for configuring SMS4 keys Indicate support for WPI-SMS4 cipher and allow SMS4 keys to be configured. Signed-off-by: Dai Shuibing Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit b4487c2d0edaf1332d7a9f11b5661044955ef5e2 Author: Johannes Berg Date: Fri Nov 11 20:22:30 2011 +0100 mac80211: fix warning in ieee80211_probe_client The warning is spurious -- if !sta we always exit without using the unassigned qos variable, and if we do find the sta we assign it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 731f8e1c41a4d0ffb589e2395f931f8a1aa6c6a4 Author: John W. Linville Date: Fri Nov 11 13:49:45 2011 -0500 libertas: release bss references and avoid warning from cfg80211_inform_bss CC [M] drivers/net/wireless/libertas/cfg.o drivers/net/wireless/libertas/cfg.c: In function ‘lbs_ret_scan’: drivers/net/wireless/libertas/cfg.c:636:24: warning: ignoring return value of ‘cfg80211_inform_bss’, declared with attribute warn_unused_result drivers/net/wireless/libertas/cfg.c: In function ‘lbs_join_post’: drivers/net/wireless/libertas/cfg.c:1766:21: warning: ignoring return value of ‘cfg80211_inform_bss’, declared with attribute warn_unused_result Signed-off-by: John W. Linville commit 6d377cdbe3d35d67468fcfe7473fc3f0f74fa647 Author: John W. Linville Date: Fri Nov 11 13:29:29 2011 -0500 brcmsmac: fix warning in _initvars_srom_pci CC [M] drivers/net/wireless/brcm80211/brcmsmac/srom.o drivers/net/wireless/brcm80211/brcmsmac/srom.c: In function ‘_initvars_srom_pci’: drivers/net/wireless/brcm80211/brcmsmac/srom.c:641:6: warning: ‘val’ may be used uninitialized in this function Signed-off-by: John W. Linville commit e78946e198b9cf2656dceb5ea2c21759f469a125 Author: Franky Lin Date: Thu Nov 10 20:30:34 2011 +0100 brcm80211: fmac: release bss struct returned from cfg80211_inform_bss Referenced struct returned by cfg80211_inform_bss must be released with cfg80211_put_bss to avoid memory leak. Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 99b72cde632b67603f4c7f18e8ff23a57b484478 Author: Franky Lin Date: Thu Nov 10 20:30:33 2011 +0100 brcm80211: fmac: remove PCMCIA core related code all the devices supported or will be supported by brcmfmac do not have a PCMCIA bus core. So remove the corresponding code. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 046808daf9f6b8c5275861330d4f8c2e6cfe3c31 Author: Arend van Spriel Date: Thu Nov 10 20:30:31 2011 +0100 brcm80211: fmac: add function to free the glom skb queue In several places in dhd_sdio.c a skb packet queue was being emptied and the packets freed. This warrants to have a function in place to do this. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 53ee4bc46784ad53d0a9be52e8d687dd4e89a055 Author: Arend van Spriel Date: Thu Nov 10 20:30:30 2011 +0100 brcm80211: util: remove pointer traversal from brcmu_pkt_buf_free_skb The function brcmu_pkt_buf_free_skb() was following the next pointer to free all linked packets. However, it is only called with unlinked packets so this can be removed. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 9a95e60e0610bb8ec39c74d2c8546514a76428df Author: Arend van Spriel Date: Thu Nov 10 20:30:29 2011 +0100 brcm80211: util: move brcmu_pkttotlen() function to brcmfmac The functions brcmu_pkttotlen() is only used in brcmfmac driver so it has been moved there. It also does not use the sk_buff next pointer anymore but walks a skb queue to determine the total length. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 02a588a2e3b9e0156f306a542bb6cd29ba42e1b9 Author: Alwin Beukers Date: Thu Nov 10 20:30:28 2011 +0100 brcm80211: smac: combine promiscuous mode functionality Combined mac configuration for promiscious mode and monitor mode, and removed unused monitor mode flag in pub structure. Reviewed-by: Arend van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit ad3b8b39189689dbff84c8a8edf024511b087f87 Author: Arend van Spriel Date: Thu Nov 10 20:30:27 2011 +0100 brcm80211: util: use sk_buff_head in precedence queue functions Instead of dealing with sk_buff prev pointers the queue functions now make use of the sk_buff_head functions provided by the kernel. Reported-by: Johannes Berg Reviewed-by: Alwin Beukers Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit ad4d71f69ebe2acab75d0a8a66ab9f7609151cce Author: Arend van Spriel Date: Thu Nov 10 20:30:26 2011 +0100 brcm80211: smac: remove usage of brcmu_pkttotlen The function brcmu_pkttotlen calculates the total length of a sk_buff chain following the next pointer. In brcmsmac this is not needed as in each place where it was used the provided sk_buff had a NULL pointer as next field value. Reviewed-by: Alwin Beukers Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 122d36fd5ac99305d294012044198894648bf0f8 Author: Franky Lin Date: Thu Nov 10 20:30:25 2011 +0100 brcm80211: fmac: remove id retrieve code sdio_chip.c is dedicated to sdio bus chip. No need to retrieve id for bus core Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit d77e70ff5ace175f19447a1965691a794c27de24 Author: Franky Lin Date: Thu Nov 10 20:30:24 2011 +0100 brcm80211: fmac: add resetcore function for bcm4330 chip This patch is part of the series of adding new backplane support Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 086a2e0a63eef367dab9b4499ba0cfe3a309ec94 Author: Franky Lin Date: Thu Nov 10 20:30:23 2011 +0100 brcm80211: fmac: add coredisable function for bcm4330 chip This patch is part of the series of adding new backplane support Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 523894f2672b9832da9f9fcce3043f1720ca42f4 Author: Franky Lin Date: Thu Nov 10 20:30:22 2011 +0100 brcm80211: fmac: add corerev function for bcm4330 chip This patch is part of the series adding new backplane support Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 6ca687d9461b25ce2339ba1809ec13ef459d4661 Author: Franky Lin Date: Thu Nov 10 20:30:21 2011 +0100 brcm80211: fmac: add iscoreup function for bcm4330 chip New type of backplane interconnect support is needed for bcm4330 Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit e9ca530a7b183691d9799fd40772c2cd398b494a Author: Alwin Beukers Date: Thu Nov 10 20:30:20 2011 +0100 brcm80211: smac: don't modify sta parameters when adding sta Reported-by: Johannes Berg Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Signed-off-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit a0f24c8a9328b58c2881e6a1c139110700a1a584 Author: Arend van Spriel Date: Thu Nov 10 20:30:19 2011 +0100 brcm80211: smac: remove duplicate definition of D11_PHY_HDR_LEN The macro definition D11_PHY_HDR_LEN was defined in d11.h and pub.h. It has been removed from pub.h. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Roland Vossen Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit b7eec4233c348447e3f2d653f6c64128f2457c94 Author: Arend van Spriel Date: Thu Nov 10 20:30:18 2011 +0100 brcm80211: smac: replace own access category definitions with mac80211 enum The brcmsmac had own definitions for the access categories. The mac80211 header provides these as well as they are used in the conf_tx callback. As the definitions did not match the driver configured the tx parameters to the wrong queue. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Roland Vossen Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit bfd8284b6523203e5218864d74b82571df80534f Author: Arend van Spriel Date: Thu Nov 10 20:30:17 2011 +0100 brcm80211: smac: remove code under unused macro definitions There were a couple of code segments left that were placed under a macro definition that was not applicable or not used in the brcmsmac driver. These pieces of code have been removed. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Roland Vossen Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 9752915e3ead9ce794744dde3a1c7f6f49a1e936 Author: Arend van Spriel Date: Thu Nov 10 20:30:16 2011 +0100 brcm80211: smac: fix endianess issue for OTP memory access This fixes issue when using OTP memory. It was introduced by following commit: commit 028f78d43d80dcb8b1142ea38606067151dd3d51 Author: Arend van Spriel Date: Fri Oct 21 16:16:35 2011 +0200 brcm80211: smac: change buffer endianess convert function interface Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 97b52cfd1ae0c2f7284ee36e80ea0c22000f90bf Author: Don Fry Date: Thu Nov 10 06:55:27 2011 -0800 iwlagn: move nvm_device_type from iwl_priv to iwl_trans The nvm_device_type is eeprom related and does not need to be part of the iwl_priv structure. Move it and eliminate access to the iwl_priv structure. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 1431b2166a83ba0cc46007269298caa53c86a6d0 Author: Don Fry Date: Thu Nov 10 06:55:26 2011 -0800 iwlagn: Remove dependence of iwl_priv from eeprom routines. Make the eeprom routines less dependent on the iwl_priv structure. Don't use the priv when bus structure is sufficient. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 383b0874abc8c23f15a15773812fb09f23078311 Author: Venkataraman, Meenakshi Date: Thu Nov 10 06:55:25 2011 -0800 iwlwifi: fix rate-scaling algorithm for BT combo devices iwlwifi tries to avoid using antenna B in BT combo devices when BT is active. A bug in the rate-scaling algorithm was causing the combo device to never attempt MIMO rates. Fix the algorithm to opportunistically try MIMO rates when BT traffic is low. Signed-off-by: Meenakshi Venkataraman Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 81a3de1ce2929fef2b112c048c50bc52b686f94d Author: Emmanuel Grumbach Date: Thu Nov 10 06:55:24 2011 -0800 iwlwifi: add debug information on queue stop / wake Users complain that the traffic gets stalled sometimes. This will allow easier debugging. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 0dcf50ca4ebdef5468aa2475de2b87feec5a1e8f Author: Emmanuel Grumbach Date: Thu Nov 10 06:55:23 2011 -0800 iwlwifi: remove the use of the QOS debug flag This bit was used only once. Use IWL_DL_INFO instead. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit eb32043f430d74d4381b29273d174b376593d072 Author: Johannes Berg Date: Thu Nov 10 06:55:22 2011 -0800 iwlagn: don't always split remain-on-channel Due to the P2P context always having the associated bit set when we got to this code, we were splitting up the remain-on-channel durations unconditionally. This isn't needed -- if the P2P context is in P2P device type mode it doesn't impose restrictions on timing to skip it in that case. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 3ddf6befb98d5dd61466a0e0e585037f6dca352f Author: Johannes Berg Date: Thu Nov 10 06:55:21 2011 -0800 iwlagn: convert remain-on-channel duration to TU The device expects TU but we get ms, so convert. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 9cac4943aa15763a2b1f13d276ae03b4cd5aa9a1 Author: Emmanuel Grumbach Date: Thu Nov 10 06:55:20 2011 -0800 iwlwifi: fix unused label in iwl_send_cmd_sync Warning introduced by c847474b7dfdda304d0d8ffcc5a9db546b1cb3e9 iwlwifi: check status before send command Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 94b3c45c7be7a392764e5945d4ebb095a42e5ef0 Author: Wey-Yi Guy Date: Thu Nov 10 06:55:19 2011 -0800 iwlwifi: check status before send command Check the status before sending host command, if any of the condition match, cancel the host command before queue Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 89db3b972c997d910b648497345fb0410ad04aec Author: Wey-Yi Guy Date: Thu Nov 10 06:55:18 2011 -0800 iwlwifi: set "echo" host command length "echo" host command has no data, set the length to 0 Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 023ca58f1d025d9c210f8003ca47d6b96cdac167 Author: Wey-Yi Guy Date: Thu Nov 10 06:55:17 2011 -0800 iwlwifi: Move the core suspend function to iwl-agn-lib The core suspend function is part of agn, iwl_mac80211 should only handle mac80211 I/F operations. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 76b2933111afe5a04e342040436a90c31c7661d4 Author: Wey-Yi Guy Date: Thu Nov 10 06:55:16 2011 -0800 iwlwifi: move station functions to mac80211 The station related mac80211 callback functions should belong to _mac80211 Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit ba4c531984d480dff554e2ccb442958052482773 Author: Wey-Yi Guy Date: Thu Nov 10 06:55:15 2011 -0800 iwlwifi: move hw_scan into _mac80211 file iwlagn_mac_hw_scan should belong to _mac80211 callback. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 0b7a4c788fd08ffd147b266b7d0992f6f13ccdae Author: Wey-Yi Guy Date: Thu Nov 10 06:55:14 2011 -0800 iwlwifi: move more mac80211 callback function Move more mac80211 related functions to _mac80211 file Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit a69cd040d03711215c32f89683a025d28594d2b5 Author: Johannes Berg Date: Thu Nov 10 06:55:13 2011 -0800 iwlagn: explicitly program P2P QoS parameters In P2P device mode, the device needs to have valid QoS parameters. We currently have those because we program parameters from any virtual interface into all contexts, but not only do we want to get rid of this -- it is also unpredictable since on the BSS context we might have any parameters, and there it might even be programmed for HT. Explicitly program default QoS parameters into the PAN context for P2P (the defaults are 11g but with QoS disabled) to make device behaviour predictable. This also helps when in a follow-up patch we will use TX QoS parameters from mac80211 only for the context they were meant for -- without this first that would completely break P2P device discovery. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit df912e5119759dad2d2f4b989a5fe83fbdfdeec0 Author: Johannes Berg Date: Thu Nov 10 06:55:12 2011 -0800 iwlagn: use per-vif AC parameters Eliad added the ability to configure AC parameters per virtual interface; make use of this in iwlwifi and set the parameters in the right context. Since storage and uploading to the device is already per context, this is sufficient. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 7335613ae27ae148fde720caccbfbbd9afa7465d Author: Wey-Yi Guy Date: Thu Nov 10 06:55:11 2011 -0800 iwlwifi: move all mac80211 related functions to one place There are many mac80211 callback functions in the driver, as current implementation, those functions are scatter everywhere which is very difficult to find and maintain, move all the mac80211 callback functions into single file. There should be no functional changes Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit de7f5f92dbda0652dcb850fd02762e628556f645 Author: Don Fry Date: Thu Nov 10 06:55:10 2011 -0800 iwlagn: move ucode files out of the iwl_priv structure Relocate the ucode files and update relevant code. More code refactoring. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit baa0005663d6b4aa48ab5c632d74b459fcfeb086 Author: Don Fry Date: Thu Nov 10 06:55:09 2011 -0800 iwlagn: push knowledge of ucode image lower down Move the knowledge of the ucode image to lower level routines. Also do not pass the iwl_priv structure lower than it needs to be. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 8929c24bf2ef4fb983ff86478116092080f8773f Author: Don Fry Date: Thu Nov 10 06:55:08 2011 -0800 iwlagn: remove knowledge of ucode image location from upper layers The upper layers of the driver do not need to know where the ucode is stored. It already passes in an enum of which ucode to load. Let the lower layer routines select the ucode to load. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 5703ddb01328c8ee3fa315273ea3b29f6524fb38 Author: Don Fry Date: Thu Nov 10 06:55:07 2011 -0800 iwlagn: move ucode_write_complete from priv to trans structure ucode_write_complete is used for ucode loading. Move it as part of restructuring work out of the priv structure. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit b6cb406a023184733bffc7762a75a2e204fff6b9 Author: Wey-Yi Guy Date: Thu Nov 10 06:55:06 2011 -0800 iwlwifi: remove un-supported SKUs BG only SKUs are no longer supported by 2000 and 1x5 series. Remove it Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit aed0fd4acd9b1a4fa042ea65f5de697996f6ac7f Author: Johannes Berg Date: Thu Nov 10 06:55:05 2011 -0800 iwlagn: fix NULL ptr deref when reprogramming sta w/o LQ Reinette reports a crash in iwl_reprogram_ap_sta(). The debugging shows: b1 16 mov $0x16,%cl *f3 a5 rep movsl %ds <-- trapping instruction:(%rsi),%es:(%rdi) which is a memcpy of 22 (0x16) words (movsl). this points to "priv->stations[sta_id].lq" being NULL since that is the memcpy() of that size here. The only way I see for this to happen is if we try to do some RXON reprogramming while connecting to an AP, after tx_sync() but before full setup, but that seems like something that might very well happen. Fix this by checking if the LQ is present and only then reprogramming it. Reported-by: Reinette Chatre Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit b2ccccdca46273c7b321ecf5041c362cd950da20 Author: Wey-Yi Guy Date: Thu Nov 10 06:55:04 2011 -0800 iwlagn: check for SMPS mode Check and report WARN only when its invalid Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 75a56eccb01fcc3c1ae8000130f3c9b3c8ec68d9 Author: Wey-Yi Guy Date: Thu Nov 10 06:55:03 2011 -0800 iwlwifi: two more SKUs for 6x05 series Add two more SKUs for 6x05 series of device. First SKU has low 5GHz channels actives, the other SKU has high 5GHz channels actives. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit b36b110c577a12157112faa1ec41b12924232af4 Author: Todd Previte Date: Thu Nov 10 06:55:02 2011 -0800 iwlwifi: Suppress noisy syslog messages when RF_KILL switch engaged When a station is associated with an AP and the RF_KILL switch is engaged, numerous error messages were sent to the system log. The error messages were the result of the failure(s) of the various submodules to perform their tasks after the radios were disabled. To resolve this situation, the messages were modified to use a new macro, IWL_DEBUG_QUIET_RFKILL. This macro allows for the RF_KILL error messages to be sent to the log provided that IWL_DEBUG is true and IWL_DL_RADIO is '1'. For all other cases, the error messages resulting from an RFKILL event will not be sent to the system log. Messages logged because of an RFKILL will be tagged with the prefix '(RFKILL)' to clarify the cause of the error. Signed-off-by: Todd Previte Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 79d3eef89190ee0a7ee585e3949873241bc382e3 Author: Johannes Berg Date: Thu Nov 10 06:55:01 2011 -0800 iwlagn: add P2P NoA to probe responses Whether to use NoA or not is entire controlled by the uCode right now, and it also adds the attribute to beacons. We do need to add it to probe responses in the driver though. Keep track of the NoA notification from the uCode and add the data to probe responses when such are transmitted. Use RCU to manage the lifetime. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 868a5f719d730866564d9bd73a8f4a8d89bdc71a Author: Patrick Kelle Date: Thu Nov 10 15:13:11 2011 +0100 minstrel: Remove unused function parameter in calc_rate_durations() Signed-off-by: Patrick Kelle Signed-off-by: John W. Linville commit 8915f980c1b051b4ddc7d15e027a5896611e4029 Author: Rajkumar Manoharan Date: Thu Nov 10 15:14:57 2011 +0530 ath9k_hw: Fix tx power settings for AR9003 Retriving tx power for 2x2 and 3x3 chainmask is not handled properly. While calculating tx power for 2x2, 3 dBm was reduced and for 3x3, 5 dBm was reduced which should be added back when retriving. Cc: Paul Stewart Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 029458212604570eec4789049a8a74428484dbb4 Author: Arik Nemtsov Date: Thu Nov 10 11:28:57 2011 +0200 mac80211: Save probe response data for bss Allow setting a probe response template for an interface operating in AP mode. Low level drivers are notified about changes in the probe response template and are able to retrieve a copy of the current probe response. This data can, for example, be uploaded to hardware as a template. Signed-off-by: Guy Eilam Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit 00f740e1a3b7abb51980371ee8fa113df22ae0b8 Author: Arik Nemtsov Date: Thu Nov 10 11:28:56 2011 +0200 nl80211: Pass probe response data to drivers Pass probe-response data from usermode via beacon parameters. Signed-off-by: Guy Eilam Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit 87bbbe22f84b91d0bcd3a7fc638e4f5e8224cc4e Author: Arik Nemtsov Date: Thu Nov 10 11:28:55 2011 +0200 nl80211: Add probe response offload attribute Notify user-space about probe-response offloading support in the driver. A wiphy flag is used to indicate support and a bitmap of protocols determines which protocols are supported. Signed-off-by: Guy Eilam Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit d64d373ffed925f29c3e68a8d6f45677a622054e Author: Johannes Berg Date: Thu Nov 10 09:44:46 2011 +0100 nl80211: fix compiler warning John reported the following warning: net/wireless/nl80211.c: In function ‘nl80211_tx_mgmt’: net/wireless/nl80211.c:5286:8: warning: ‘hdr’ may be used uninitialized in this function Evidently, his version of gcc isn't able to see that when "msg" is initialized, "hdr" must also be. My gcc, 4.6.1, can actually see that and doesn't warn. Simply initialize the variable to NULL. That means if the compiler was ever right we'll crash though so isn't really optimal since it may hide warnings from the compiler when somebody modifies this code in the future. Reported-by: John Linville Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e0830f71e7b8c2c58031c9692384819943162e9b Author: Arik Nemtsov Date: Thu Nov 10 09:35:13 2011 +0200 mac80211: make sure hw_key exists before checking its flags Fixes a bug introduced in: commit 077a9154898b374f20555adc3f620cccd02581d6 Author: Arik Nemtsov Date: Sun Oct 23 08:21:41 2011 +0200 Reported-by: Arend van Spriel Reported-by: Johannes Berg Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit fdacbcda7f21ba684cb4426daed67e23003d8311 Author: Daniel Kuehn Date: Wed Nov 9 23:57:57 2011 +0100 ath9k: set ATH9K_PCI to y by default Most ath9k devices are PCI/PCIe based, therefor making PCI/PCIe support default y helps those porting a config from 2.6 kernel series from getting "non-functional" wireless drivers with 3.x kernel series. Signed-off-by: Daniel Kuehn Signed-off-by: John W. Linville commit 776d68f863b8fa3880595a958cf86b837427713a Author: Johannes Berg Date: Wed Nov 9 21:33:45 2011 +0100 wireless: move ieee80211chan2mhz macro The macro is only used in ipw2200 and we certainly don't want to encourage its use, so move it out of the radiotap header file and into the driver. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8e1b23b9ed427c3bd4c69503fed64231458d3edb Author: Eyal Shapira Date: Wed Nov 9 12:29:06 2011 +0200 mac80211: add recalc PS in ieee80211_reconfig() Driver should be instructed to enter PS AFTER reconfiguring ASSOCIATED (in STA case) using ieee80211_bss_info_change_notify same as it's being done in ieee80211_set_associated() Signed-off-by: Eyal Shapira Signed-off-by: John W. Linville commit e999882a052a2959571989b2db2b51893d23c0bb Author: Johannes Berg Date: Wed Nov 9 10:30:21 2011 +0100 mac80211/cfg80211: report monitor channel in wireless extensions Just add API to get the channel & report it. Trivial really. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 07ef03ee8b280a536b38ccfe512b9556996f0492 Author: Johannes Berg Date: Tue Nov 8 16:21:21 2011 +0100 mac80211: simplify scan state machine Attempting to micro-optimise the scan by going fully live again when scanning the operating channel just made the code extremely complex and has little gain in most use cases. Remove all that code and simplify the state machine again. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 86a2ea4134b48f6371103cfceb521bf2d2bf76cd Author: Eliad Peller Date: Tue Nov 8 15:36:59 2011 +0200 mac80211: set carrier_on for ibss vifs only while joined mac80211 should set carrier_on for ibss vifs only while they are joined (similar to sta vifs) Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit 94e2ad9ee47025747d19620f288fb533d49c0475 Author: Rajkumar Manoharan Date: Tue Nov 8 14:19:34 2011 +0530 ath9k_hw: Fix channel list of CalFreqPeir for AR938x This patch sync up CalFreqPeir channel list and paprd rate mask of AR938x templates to the latest received from Systems team. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 202bff08bf8ed3769dd49e1890352c0b106df796 Author: Rajkumar Manoharan Date: Tue Nov 8 14:19:33 2011 +0530 ath9k_hw: Read and configure xpa timing field Configure xpa timing field while loading boad defaults to fix 11b CCK spur issue that was observed in EMI testing. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit df222edc09a0219ea0c5c6cec6217abb334280c4 Author: Rajkumar Manoharan Date: Tue Nov 8 14:19:32 2011 +0530 ath9k_hw: Read and configure quick drop for AR9003 Read and configure quick drop feild from AR9003 eeprom inorder to help with strong signal. This patch also removes obsolate parameters ob, db_stage2, db_stage_3, db_stage4 from the eeprom templates. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit aa95a48d46328f35403f3b03e0cafb3c5883aaba Author: Amitkumar Karwar Date: Mon Nov 7 21:41:12 2011 -0800 mwifiex: release bss structure returned by cfg80211_inform_bss() Following compilation warning is fixed by releasing referenced BSS structure returned by cfg80211_inform_bss(). "warning: ignoring return value of cfg80211_inform_bss, declared with attribute warn_unused_result" Cc: Johannes Berg Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit f72fa45f7d3e3ec627b62fed2e3451f5a597914d Author: Amitkumar Karwar Date: Mon Nov 7 21:41:11 2011 -0800 mwifiex: remove unnecessary free_priv handler Cfg80211 stack allocates private area for driver use in struct cfg80211_bss. It will be freed by stack in bss_release(). Driver don't need to worry about it. In mwifiex driver, we use the private area just to store band information(u8). We don't allocate memory explicitly and store it's pointer in bss->priv. Hence we don't have any cleanup work to do in free_priv handler. Currently we try to free the allocated private area in free_priv handler which is not correct. This patch removes unnecessary free_priv handler. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 8ed1303321914a70ad580c1d034898e43c39b065 Author: Yogesh Ashok Powar Date: Mon Nov 7 21:41:10 2011 -0800 mwifiex: fix 'Smatch' warnings Following three warnings are fixed: >init.c +256 mwifiex_init_adapter(71) >warn: variable dereferenced before check 'adapter->sleep_cfm' >(see line 191) >sta_rx.c +193 mwifiex_process_sta_rx_packet(75) >warn: variable dereferenced before check 'priv' (see line 182) Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 63af63330f4c8b4fdcc13dec082dea3b81d53b0a Author: Yogesh Ashok Powar Date: Mon Nov 7 21:41:09 2011 -0800 mwifiex: fix coding style Rename DataRate to data_rate and arrange 'for' loop for better readability. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit ab581472c01d8533a801c96c00575694739cb94c Author: Yogesh Ashok Powar Date: Mon Nov 7 21:41:08 2011 -0800 mwifiex: change return types to void Functions mwifiex_11n_dispatch_pkt_until_start_win and mwifiex_11n_scan_and_dispatch used to always return value zero for all inputs. Changing these functions to void. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit eedf15d34d3997051cc3a4bdd2adef68f3e36f57 Author: Yogesh Ashok Powar Date: Mon Nov 7 21:41:07 2011 -0800 mwifiex: use existing helper function mwifiex_fill_cap_info Use existing helper function mwifiex_fill_cap_info to fill the HT CAP info for ibss beacons. Also removing extra parenthesis block for better readability. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 33f38d425f65d767ac2f0f439465d1b3969c9a82 Author: Yogesh Ashok Powar Date: Mon Nov 7 21:41:06 2011 -0800 mwifiex: fix ht_cap_info in ibss beacons A local variable is used to calculate ht_cap_info. Erroneously ht_cap.cap_info isn't updated in the ibss beacons after the calculation. This patch fixes it. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit d64cf63e062f6741f80c393f19c9706358489cc7 Author: Arik Nemtsov Date: Mon Nov 7 23:24:39 2011 +0200 mac80211: init rate-control for TDLS sta when supp-rates are known Initialize rate control algorithms only when supported rates are known for a TDLS peer sta. Direct Tx between peers is not allowed before the link is enabled. In turn, this only occurs after a change_station() call that sets supported rates. Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit dd9dfb9f95e2141db672eb12a1d71892e9e481fb Author: Dmitry Tarnyagin Date: Fri Nov 4 17:12:07 2011 +0100 cfg80211: merge in beacon ies of hidden bss. The problem with PSM when a hidden SSID was used was originally reported by Juuso Oikarinen. - When generally scanning, the AP is getting a bss entry with a zero SSID. - When associating, a probe-req is sent to the AP with the SSID, and as a result a probe-response is received with the hidden SSID in place. As a consequence, a second bss entry is created for the AP, now with the real SSID. - After association, mac80211 executes ieee80211_recalc_ps(), but does not switch to powersave because the beacon-ies are missing. As result, the STA does not ever enter PSM. The patch merges in beacon ies of hidden bss from beacon to the probe response, creating a consistent set of ies in place. Patch is depended on "cfg80211: fix cmp_ies" made by Johannes. Signed-off-by: Dmitry Tarnyagin Signed-off-by: John W. Linville commit 8cb6d9915f77aa4a01181613a5882a7c04e571c3 Author: Vasanthakumar Thiagarajan Date: Fri Nov 4 18:34:55 2011 +0530 ath6kl: Fix error in writing create_qos debugfs 100 bytes are allocated to store the parameters which are needed to create a priority stream. These 100 bytes are not sufficiant and throws error when running the following command. echo "6 2 3 1 1 9999999 9999999 9999999 7777777 0 6 45000 200 56789000 56789000 5678900 0 0 9999999 20000 0" > create_qos 179 bytes are needed when the following vlaues are given so that a maximum possible value in that data type can be given in decimal. echo "255 255 255 255 255 4294967295 4294967295 4294967295 4294967295 4294967295 255 65535 65535 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295" > create_qos Following takes 187 bytes when given in hex echo "0xff 0xff 0xff 0xff 0xff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xff 0xffff 0xffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff" > create_qos Increase the size to 200 bytes so that it can hold upto the maximum value possible for that data type. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit a29517ce40e128bdf0794110bb4b18a984da7fb7 Author: Vasanthakumar Thiagarajan Date: Fri Nov 4 15:48:51 2011 +0530 ath6kl: Fix tx packet drop in AP mode with bridge skb is dropped in ath6kl_data_tx() when the headroom in skb is insufficient. We hit this condition for every skb in AP mode which is used with bridge, so all tx packets are getting dropped when tried to send traffic to wireless client from bridge. Fix this by reallocating the headroom instead of dropping the skb when it has lesser headroom than needed. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 902b46293ba6fe2320970bbd400e3201992059d0 Author: Raja Mani Date: Mon Nov 7 22:52:47 2011 +0200 ath6kl: Remove few unused WMI stuff * Removed unused WOW_MAX_FILTER_LISTS macro. * Removed empty ath6kl_wmi_get_wow_list_event_rx() function. List of configured WOW patterns are maintained in CFG layer itself. No need to have this function in ath6kl to get configured WOW pattern list. It can added later if we need it for debugging. Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit eae9e0661b6fcac9ee5b14644516799912de7549 Author: Raja Mani Date: Mon Nov 7 22:52:46 2011 +0200 ath6kl: Expose ath6kl's WOW capabilities to cfg80211 Set the list of ath6kl's WOW trigger options in wiphy->wowlan.flags variable during wiphy registration. So that, those options can be configured via iw. Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit 0737237411235d7c48a993a62de01257cc4b004d Author: Raja Mani Date: Mon Nov 7 22:52:46 2011 +0200 ath6kl: Remove WARN_ON msg in Suspend path In the current code, WOW resume is executed first from RX path and ar->state is moved to ATH6KL_STATE_ON. When platform calls ath6kl_sdio_resume() in CFG resume context, that time ar->state could have moved to ON state. Printing WARN_ON(1) is void in this context. Hence removing this. Once WOW resume is removed from RX path, This WARN_ON msg can be reverted. Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit a918fb3cc6a58f918f36348c43c3170bb88bc599 Author: Raja Mani Date: Mon Nov 7 22:52:46 2011 +0200 ath6kl: Perform WOW resume in RX path in case of SDIO IRQ wake up The target triggers sdio data line to wake up the host when WOW pattern matches. This causes sdio irq handler is being executed in the host side which internally hits ath6kl's RX path. WOW resume should happen before start processing any data from the target. So it's required to perform WOW resume in RX path. This area needs bit rework to avoid WOW resume in RX path, As of now it's fine to have this model, rework will be done later. Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit d7c44e0ba5003c22a9ff3545fc2f51eaca8a95b1 Author: Raja Mani Date: Mon Nov 7 22:52:46 2011 +0200 ath6kl: Invoke WOW suspend/resume calls during PM operation Link ath6kl's wow suspend/resume functions with the actual suspend/resume path. WOW mode is selected when the host sdio controller supports both MMC_PM_KEEP_POWER and MMC_PM_WAKE_SDIO_IRQ capabilities. kvalo: also adds a missing break in ath6kl_cfg80211_resume(), luckily it didn't have any effect on functionality. Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit 524441e3a7cadf12acbb409ad733d783ba1da459 Author: Raja Mani Date: Mon Nov 7 22:52:46 2011 +0200 ath6kl: Move ath6kl_cfg80211_stop() call specific to deep sleep and cut pwr ath6kl_cfg80211_stop() call is not applicable for WOW mode. Hence moving this call to deep sleep and cut pwr specific cases. Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit dd6c0c63b43afc3a99b6c69d0b509f0395bb4fe2 Author: Raja Mani Date: Mon Nov 7 22:52:45 2011 +0200 ath6kl: Add new state for WOW mode In addition to existing deep sleep and cut pwr mode, new state is added in ath6kl_cfg_suspend_mode as well as in ath6kl_state for WOW. Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit 0f60e9f4c239554ad75ab8e4d864030a7f0dd6f7 Author: Raja Mani Date: Mon Nov 7 22:52:45 2011 +0200 ath6kl: Include new parameter in suspend path for wowlan cfg80211 layer provides user defined wow parameters like Filter options, Patterns, Pattern's mask, etc via "struct cfg80211_wowlan *wow" to suspend function. Right now, this wowlan parameter is not handled in __ath6kl_cfg80211_suspend func. This parameter has to be passed to HIF layer, So that it can be passed back to ath6kl's cfg interface layer when WOW mode is selected. In case of deep sleep and cut power mode, it's not handled. Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit 6cb3c714e75c6e70fa1c379b7f3af2f143f31c70 Author: Raja Mani Date: Mon Nov 7 22:52:45 2011 +0200 ath6kl: Add WOW suspend/resume implementation This is the core WOW suspend/resume functions will be called in PM suspend/resume path. Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit 45cf110b2b77914a9f02bbf1ba60796f17898be2 Author: Raja Mani Date: Mon Nov 7 22:52:45 2011 +0200 ath6kl: Add wmi functions to configure WOW mode and host sleep mode It will be used in WOW suspend/resume functions to active/deactivate WOW suspend mode. Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit 5c9b4fa19a488de48f1cc2268a7b7b247723568a Author: Raja Mani Date: Mon Nov 7 22:52:45 2011 +0200 ath6kl: Add wmi functions to add/delete WOW patterns These commands will be used in WOW suspend/resume functions to configure WOW parameters like patterns to be matched and it's mask value, etc. Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit f3e61eceb20a993ea2b375e82503ab8a1efa31d9 Author: Jouni Malinen Date: Wed Nov 2 23:46:47 2011 +0200 ath6kl: Do not hide ath6kl_wmi_addkey_cmd() error values Instead of converting any error to EIO, just return the real error value to upper layers. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit f4bb9a6fbc1f49058fc9eb6dcb4a3022d99013b4 Author: Jouni Malinen Date: Wed Nov 2 23:45:55 2011 +0200 ath6kl: Fix key configuration to copy at most seq_len from seq There is no guarantee on the caller using 8-octet buffer for key->seq, so better follow the key->seq_len parameter on figuring out how many octets to copy. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 1ddc3377e1f43b0bd62c7042cb2032824ebfb663 Author: Jouni Malinen Date: Wed Nov 2 23:44:14 2011 +0200 ath6kl: Remove unused WMI crypto defines Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 8277de15efb00a4796fb05824a28c20c3894256c Author: Kalle Valo Date: Thu Nov 3 12:18:31 2011 +0200 ath6kl: add suspend_cutpower module parameter This is to force ath6kl to power off hardware during suspend even if sdio support keep power. This is needed, for example, when sdio controller is buggy or maximum powersaving is desired. Usage: insmod ath6kl.ko suspend_cutpower=1 Signed-off-by: Kalle Valo commit cf97fa9fdf145bff2a0117d2ead4a92b132f69f6 Author: Kalle Valo Date: Thu Nov 3 11:53:57 2011 +0200 ath6kl: don't power down hardware when interface is down Jouni reported that my patch "ath6kl: power down hardware when interface is down" caused a regression on his x86 boxes and scan didn't work anymore. I was able to reproduce the problem by disabling all debug messages. So there has to be a race condition somewhere in the code and disable the functionality until the race is fixed. Now hardware is powered from the point where module is loaded until it's removed. Reported-by: Jouni Malinen Tested-by: Jouni Malinen Signed-off-by: Kalle Valo commit 11f6e40d9f21767a9090e4e559d3c63edf25e6c0 Author: Vasanthakumar Thiagarajan Date: Tue Nov 1 16:38:50 2011 +0530 ath6kl: Fix lockdep warning The following is the lockdep warning which detects possible deadlock condition with the way ar->lock and ar->list_lock are being used. (&(&ar->lock)->rlock){+.-...}, at: [] ath6kl_indicate_tx_activity+0x83/0x110 [ath6kl] but this lock took another, SOFTIRQ-unsafe lock in the past: (&(&ar->list_lock)->rlock){+.+...} and interrupts could create inverse lock ordering between them. other info that might help us debug this: Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&(&ar->list_lock)->rlock); local_irq_disable(); lock(&(&ar->lock)->rlock); lock(&(&ar->list_lock)->rlock); lock(&(&ar->lock)->rlock); *** DEADLOCK *** softirqs have to be disabled when acquiring ar->list_lock to avoid the above deadlock condition. When the above warning printed the interface is still up and running without issue. Reported-by: Kalle Valo Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit b4b2a0b116d79510640622a5f28f219065e61b03 Author: Kalle Valo Date: Tue Nov 1 08:44:44 2011 +0200 ath6kl: cut power during suspend If sdio controller doesn't support keep power, cut power from hardware during suspend and restart firmware during resume. If we are connected during suspend, send a disconnected event to user space. Earlier suspend failed with an error if sdio didn't support keep power. Now suspend will happen succesfully even with that case. Signed-off-by: Kalle Valo commit e28e810486a6826417e77e634666f0dfc2bfe548 Author: Kalle Valo Date: Tue Nov 1 08:44:36 2011 +0200 ath6kl: refactor sdio configuration to a separate function These commands are also needed after cutpower suspend so create a function for them. Also fix memory leaks in ath6kl_sdio_probe() error path. Signed-off-by: Kalle Valo commit 76a9fbe27ec04420844ddf49b9e7a2f872222983 Author: Kalle Valo Date: Tue Nov 1 08:44:28 2011 +0200 ath6kl: add state variable depicting hw/fw state This way it's easier to track state changes and in the future add more warnings about using hardware in wrong states. Currently there are few random flags for trying to do the same, those will be cleaned and removed in the future. Signed-off-by: Kalle Valo commit 52d81a6883fb36c4304fb5619bfa5f61eb7986ef Author: Kalle Valo Date: Tue Nov 1 08:44:21 2011 +0200 ath6kl: implement ath6kl_cfg80211_suspend() This is in preparation for cutpower suspend feature. HIF layer makes the decision based on information provided by cfg80211 and what hardware actually supports. Then it calls ath6kl_cfg80211_suspend() to enable the chosen mode. Functionality should be the same, this is just preparation for more suspend modes (cutpower and wow). Signed-off-by: Kalle Valo commit 1f40525512ba8c68902b3c2f5c09692364cc6b6a Author: Kalle Valo Date: Tue Nov 1 08:44:13 2011 +0200 ath6kl: reset CONNECT_PEND and CONNECTED flags in ath6kl_cfg80211_stop() Otherwise first connection establish after cutpower suspend will fail. Signed-off-by: Kalle Valo commit ec4b7f602d24839a85131dc5b498e69c84ee8373 Author: Kalle Valo Date: Tue Nov 1 08:44:04 2011 +0200 ath6kl: create ath6kl_cfg80211_stop() Just take code from deep sleep for now, will be improved later. No functional changes. Signed-off-by: Kalle Valo commit 1c17d313891c1477f5aad8d2e1da473bf8b9499d Author: Kalle Valo Date: Tue Nov 1 08:43:56 2011 +0200 ath6kl: add aborted parameter to ath6kl_cfg80211_scan_complete_event() Currently it takes an error code as status, but what we really want to tell is if the scan was aborted or not. Also fix a bug where we were comparing firmware scan status values with kernel error codes, which is obviously wrong. This meant that ath6kl didn't detect when firmware informed about failed scans. I doubt that this fix doesn't make any difference in practise but it still needs to be fixed. This is fixed by adding an enum for the success status code and checking for that. Signed-off-by: Kalle Valo commit 2387f0dcd10abf8f867ebb9b22d213793510b4c6 Author: Kalle Valo Date: Sun Oct 30 21:16:49 2011 +0200 ath6kl: print seqno in htc debug logs Makes it easier to debug where frames are going. Signed-off-by: Kalle Valo commit 6250aac6dfc01a0e3e02a8e1eef41d7fbfedb6c7 Author: Kalle Valo Date: Sun Oct 30 21:16:41 2011 +0200 ath6kl: print firmware crashes always Currently firmware crash dump is printed only if debug is enabled. Change it so that the crash dump is always printed. Also move the code from init.c to hif.c. Signed-off-by: Kalle Valo commit 68469341f32b566481bfccb776ee03146b63bae5 Author: Kalle Valo Date: Sun Oct 30 21:16:33 2011 +0200 ath6kl: fix WLAN_ENABLE usage in ath6kl_close() If ath6kl_init_hw_stop() failed with an error WLAN_ENABLED would not be cleared. Found during code review and just a theoretical issue. Signed-off-by: Kalle Valo commit 5fe4dffbc12b22507d2416667720cbd4b27c693b Author: Kalle Valo Date: Sun Oct 30 21:16:15 2011 +0200 ath6kl: power down hardware when interface is down The benefit from this is that user space can control hardware's power state by putting interface up and down. This is handy if firmware gets to some weird state. The downside will be that putting interface up takes a bit longer, I was measuring ~500 ms during interface up. Signed-off-by: Kalle Valo commit 32a07e4448f78158a75f7c1f0056289647d83946 Author: Kalle Valo Date: Sun Oct 30 21:15:57 2011 +0200 ath6kl: create ath6kl_hif_stop() This is to reset hif layer for powering down hw. Signed-off-by: Kalle Valo commit cd4b8b85800a47dc68b9282ffc3a88b82e77f242 Author: Kalle Valo Date: Fri Oct 28 16:23:26 2011 +0300 ath6kl: change name of sdio driver to ath6kl Currently the name of the driver in struct sdio_driver is "ath6kl_sdio", this is for example what uevent advertises. This is wrong as the module is named as ath6kl.ko. Change it to "ath6kl" so that the names match. Signed-off-by: Kalle Valo commit 778e6502414a35e3db8f3637a600b6645ac0b815 Author: Kalle Valo Date: Thu Oct 27 18:49:08 2011 +0300 ath6kl: don't print an error for canceled packets ath6kl_tx_complete() was printing an error when packet was canceled. That causes unnecessary errors when hardware is powered off. Also change the error to a warning and cleanup the message. Signed-off-by: Kalle Valo commit 8a8109169bcb3390a46c81a45fbfdd4801fb1adc Author: Kalle Valo Date: Thu Oct 27 18:49:00 2011 +0300 ath6kl: create ath6kl_htc_reset() When rebooting hardware we need to reset the htc state in ath6kl_htc_stop(). Signed-off-by: Kalle Valo commit d60e8ab6b9bcbbb5eb7591c1989f8c79d6b3d964 Author: Kalle Valo Date: Thu Oct 27 18:48:52 2011 +0300 ath6kl: add a timeout to ath6kl_hif_intr_bh_handler() It's possible to busyloop forever in ath6kl_hif_intr_bh_handler(). Add a check that it lasts only one second. Signed-off-by: Kalle Valo commit 0c30295e4fd5436ad0bd78a6e0974dc4933e2ddb Author: Kalle Valo Date: Thu Oct 27 18:48:45 2011 +0300 ath6kl: remove useless cleanup call from ath6kl_bmi_done() aht6kl core code will call the cleanup function when the device is removed. Signed-off-by: Kalle Valo commit 20459ee2744d0dc47849ff5791e68ec805aa0a88 Author: Kalle Valo Date: Thu Oct 27 18:48:37 2011 +0300 ath6kl: separate hardware boot code from module initialisation code Refactor the code needed to boot the hardware to a separate function so that it will be easier boot and shutdown hardware. No functional changes (hopefully). Signed-off-by: Kalle Valo commit 61448a93efc26dc00e9684a9421394ca78142479 Author: Kalle Valo Date: Thu Oct 27 18:48:29 2011 +0300 ath6kl: merge ath6kl_init() to ath6kl_core_init() In preparation for splitting module initialisation and hardware boot code from each other. Signed-off-by: Kalle Valo commit 4e3d54c7abcaad35062540432ba5b72bf27876aa Author: Kalle Valo Date: Thu Oct 27 18:48:22 2011 +0300 ath6kl: add a fixme to ath6kl_htc_wait_target() This doesn't look right, but investigate it later. Signed-off-by: Kalle Valo commit b2e756989e9744d94f7cbae47586858c3efc8430 Author: Kalle Valo Date: Thu Oct 27 18:48:14 2011 +0300 ath6kl: move power control from sdio to core In preparation for cutting down power from the chip on the fly. Signed-off-by: Kalle Valo commit c89c591d19ace9904cfd658f54d7d72aa54b3371 Author: Kalle Valo Date: Thu Oct 27 18:48:00 2011 +0300 ath6kl: rename ath6kl_wmi_qos_state_init() to _wmi_reset() Just to make it more clear that this function is supposed to reset wmi related variables. Signed-off-by: Kalle Valo commit cb93821a9eaf53fb60addd689d3fa9f106790be1 Author: Kalle Valo Date: Thu Oct 27 18:47:46 2011 +0300 ath6kl: don't use cfg80211_scan_request after cfg80211_scan_done() Use of cfg80211_scan_request is not valid after calling cfg80211_scan_done() but ath6kl_cfg80211_scan_complete_event() was doing exactly that. Change the function to call cfg80211_scan_done() last. This was found during code review, I didn't see any visible problems due to this bug. Signed-off-by: Kalle Valo commit 3101edef5cc43034cd809e7105ea2b366e9c7c00 Author: Aarthi Thiruvengadam Date: Thu Oct 27 09:35:56 2011 -0700 ath6kl: fix missing copy of action frame contents The wpa_supplicant was receiving incorrect frame contents in the callback function that indicates the status of the frame transmitted. This patch fixes a missing copy of the frame contents to a local buffer. The local buffer keeps track of the last sent management frame. Signed-off-by: Aarthi Thiruvengadam Signed-off-by: Kalle Valo commit 1052261e4bba9879c1d7d519c8e8606c5d4264d5 Author: Jouni Malinen Date: Thu Oct 27 16:00:13 2011 +0300 ath6kl: Report unique remain-on-channel cookie values Even though only a single concurrent remain-on-channel operation is supported, there may be two pending remain-on-channel events (one to indicate end of a canceled operation and another to indicate start of a new operation). User space won't be able to distinguish these events unless unique cookies are used. The previous behavior resulted in wpa_supplicant getting quite confused about the driver's offchannel state in various sequences and this made the P2P state machine behave incorrectly. Use of more than a single remain-on-channel cookie value fixes this. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit f7830202c3ae934e2b978b750656626b203decb4 Author: Sangwook Lee Date: Wed Oct 26 16:28:38 2011 +0100 ath6kl: Fix compilation error from of.h When compiling ath6kl for ARM with device tree tree compilation fails with errors like: include/linux/of.h: In function 'of_property_read_u32_array': include/linux/of.h:249:10: error: 'ENOSYS' undeclared Workaround this by including errno.h from init.c. kvalo: improved commit log Signed-off-by: Sangwook Lee Signed-off-by: Kalle Valo commit a24fc7c35324618ce5fe9c54baa4bc9a3881cc86 Author: Rishi Panjwani Date: Tue Oct 25 19:52:41 2011 -0700 ath6kl: Implement support for power parameter control from userspace In order to allow user space based control of power parameters, we use available debugfs infrastructure. With these features user can control power consumption by adjusting various sleep/wake up related parameters. The feature has been added for testing purposes. All 5 parameters are mandatory in correct order. They have to be written to the power_params file. These are: 1) idle_period 2) no_of_pspoll 3) dtim_policy 4) tx_wakeup_policy 5) no_tx_to_wakeup Example: echo "200 1 0 1 1" > power_params Signed-off-by: Rishi Panjwani Signed-off-by: Kalle Valo commit ef8f0eba5a35327a9968e2a4d2116195240512c6 Author: Rishi Panjwani Date: Tue Oct 25 17:26:29 2011 -0700 ath6kl: Implement support for listen interval from userspace In order to allow user space based control of listen interval, we use available debugfs infrastructure. Listen interval implies how frequently we want the WLAN chip to wake up and synchronize the beacons in case it is in sleep mode. The command requires two parameters in the following order: 1) listen_interval_time 2) listen_interval_beacons The user has to write the listen interval_time (in msecs) and listen_interval_beacons (in no. of beacons) to the listen_interval file in ath6kl debug directory. Example: echo "30 1" > listen_interval Signed-off-by: Rishi Panjwani Signed-off-by: Kalle Valo commit 635412127e089cc401fdd793f4d3731450419231 Author: Aarthi Thiruvengadam Date: Tue Oct 25 11:25:52 2011 -0700 ath6kl: add support for WPS Add control flag CONNECT_WPS_FLAG if a WPS IE is present in the Association Request IEs. This flag is needed when the station must connect to a WPS-enabled AP. Signed-off-by: Aarthi Thiruvengadam Signed-off-by: Kalle Valo commit 3ef987bee7d56604bcbdbaebf85c51ca2ad87503 Author: Kalle Valo Date: Mon Oct 24 12:18:07 2011 +0300 ath6kl: add more boot debug messages Move some of the debug logs to boot level because they are more interesting when debugging boot issues. Signed-off-by: Kalle Valo commit 02f0d6fcab8980236694be78b3b1a1973897716e Author: Kalle Valo Date: Mon Oct 24 12:17:59 2011 +0300 ath6kl: add debug messages for credit handling Also take few from htc debug level which are more suitable for credit. Signed-off-by: Kalle Valo commit d23ace77e2d90a093ead65a03d97c36ec261ce71 Author: Kalle Valo Date: Mon Oct 24 12:17:51 2011 +0300 ath6kl: remove unused debug levels Few levels had only one user so I changed them to use WLAN_CFG. Signed-off-by: Kalle Valo commit cb64a6105bbc36e660a5198c7d425f75e4b33820 Author: Kalle Valo Date: Mon Oct 24 12:17:28 2011 +0300 ath6kl: use ath6kl_credit prefix consistently Not all credit functions used that prefix, fix that. Signed-off-by: Kalle Valo commit f2f921950d6a066f6e4a84c52fc69292bc877aa7 Author: Kalle Valo Date: Mon Oct 24 12:17:20 2011 +0300 ath6kl: move all credit distribution code to htc.c As htc is the only user there's no reason to keep it in main.c. No functional changes. Signed-off-by: Kalle Valo commit 3c3703987a43b969e2f1e54c4e28f1fc8594c9d8 Author: Kalle Valo Date: Mon Oct 24 12:17:12 2011 +0300 ath6kl: rename struct htc_credit_state_info to ath6kl_htc_credit_info Also rename cred_dist_cntxt to credit_info in struct htc_target. Signed-off-by: Kalle Valo commit e8c39790d00c0f9498da84f0efb61efa5664068c Author: Kalle Valo Date: Mon Oct 24 12:17:04 2011 +0300 ath6kl: rename struct htc_endpoint_credit_dist.htc_rsvd to htc_ep No need to use void pointer here. Signed-off-by: Kalle Valo commit fa99e963b1976374db1d89aea854e8740b92796d Author: Kalle Valo Date: Mon Oct 24 12:16:55 2011 +0300 ath6kl: use ath6kl prefix in credit functions This is to follow the common style in the driver. Also add braces to fix a style issue. Signed-off-by: Kalle Valo commit a9ab6ccf2db68c5d7ca93ff00e33644f66f35cdb Author: Kalle Valo Date: Mon Oct 24 12:16:44 2011 +0300 ath6kl: remove unused A_CACHE_LINE_PAD Signed-off-by: Kalle Valo commit 551959d84d22b891e93d54fe43a4c7181581e8c4 Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:26 2011 +0530 ath6kl: Use appropriate wdev from vif Remove the wdev reference in struct ath6kl. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 0ce5944552d87fe6e007a0338059a75525142dd3 Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:25 2011 +0530 ath6kl: Initialize target wlan values for every vif Wlan parameters need to be configured for every vif in target. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 3226f68af4fe74932677db271b4ac4f26556954d Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:24 2011 +0530 ath6kl: Add a modparam to enable multi normal interface support This option lets operate more than one vif in normal mode (AP/STA/IBSS) when support for multiple vif is enabled. This modparam needs to be used as modprobe ath6kl multi_norm_if_support=1 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 55055976fe15f450aded0a6f2ed2996411bd3e2e Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:23 2011 +0530 ath6kl: Implement add_virtual_intf() and del_virtual_intf() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 7b85832dfbfaf09e793755041302d9e6d67cd39e Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:22 2011 +0530 ath6kl: Configure inteface information at init time Virtual interface information need to be configured during init time to the target. With MAX_NUM_VIF is restricted to 1, currently only a single vif is being configured. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 2792972395356254252f12205915a32dce9f50e4 Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:21 2011 +0530 ath6kl: Use the other variant of netdev (un)register APIs Use replace (un)register_netdev() with (un)register_netdevice() so that the same ath6kl function can be used with add_virtual_intf()/del_virtual_intf(). Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 990bd9151927ad55c7e3da3b05cf13ecfe7a31bf Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:20 2011 +0530 ath6kl: Maintain virtual interface in a list This patch removes all references to ar->vif and takes vif from a list. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 478ac0272154023abb813db7ae12dc380caeb68e Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:19 2011 +0530 ath6kl: Introduce spinlock to protect vif specific information Use this spinlock to protect the vif's data instead of one from ath6kl. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit d66ea4f9d63732790ae260eccb6c991dfa7a3b32 Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:18 2011 +0530 ath6kl: Store hw mac address in struct ath6kl WMI ready event gives the mac address, cache this mac address in struct ath6kl so that it can be used to compute the mac address for other vif in case of multi vif. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 6765d0aa5ff5b92098f5e571f26904106eae6ff3 Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:17 2011 +0530 ath6kl: Use interface index from wmi data headr Interface index is passed in wmi data header as well, use it to get the corresponding vif structure. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 6db8fa53ad4fa6d4b390e9bdd68f1238a01070ee Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:16 2011 +0530 ath6kl: Refactor ath6kl_destroy() So that the deinitialization of ath6kl and vif are separated. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit e29f25f5cd23d705b3a186e53cfddd3663875c45 Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:15 2011 +0530 ath6kl: Cleanup parameters in ath6kl_init_control_info() and ath6kl_init_profile_info() Pass vif structure to those functions instead of ath6kl because these functions do vif specific information initialization. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 28ae58dd1f55f55dabf02fbc76a76f0809eee937 Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:14 2011 +0530 ath6kl: Remove net_device from ath6kl Use one which is available in vif structure instead. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 240d279940ef496e9456db2287b7989f6521e2e2 Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:13 2011 +0530 ath6kl: Take vif information from wmi event Interface index is passed in wmi command header from target. Use this index to get the appropriate vif. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 334234b51453fe5def250bd60ea63b1f04a8e0d2 Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:12 2011 +0530 ath6kl: Maintain firmware interface index in struct ath6kl_vif Pass this index to target in wmi commands to specify the interface for which the command needs to be handled. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit b95907a744fb2afe282cebd9b58371533818fbae Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:11 2011 +0530 ath6kl: Make net and target stats vif specific Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit cf5333d70f822d950f0c2f4bec7a8939871d9b6a Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:10 2011 +0530 ath6kl: Move few more vif specific information to struct ath6kl_vif Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 14ee6f6b7db968229edb7524588e71182c843080 Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:09 2011 +0530 ath6kl: Move scan_req info and sme_state to vif Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit de3ad7138c853fb3f5c239a40e0228bd94d583e7 Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:08 2011 +0530 ath6kl: Move disconnect timer to vif structure Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 2132c69cb9efaf2b7300f6da916ab5f96c9c95b7 Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:07 2011 +0530 ath6kl: Move aggregation information to vif structure Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 6f2a73f9e5c7013e14cf898fead81a363cdf0548 Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:06 2011 +0530 ath6kl: Move key information to vif structure Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit f74bac54a507a1b71be352d422b25cb5fd38db54 Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:05 2011 +0530 ath6kl: Move channel information to vif structure Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 8c8b65e3e3b81d28d185f0a8b6543e42b50a812d Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:04 2011 +0530 ath6kl: Move bssid information to vif structure Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit f5938f249a08a4e6c9046fa095be00db664158cc Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:03 2011 +0530 ath6kl: Move nw_type to vif structure Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 3450334f392bca1fccbf04a90020161ec4404a1e Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:02 2011 +0530 ath6kl: Move ssid and crypto information to vif structure Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 59c98449b8af405aa6245ea9f640c5847f42d26e Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:01 2011 +0530 ath6kl: Define interface specific states Currently ar->flag maintains interface stats. Move interface specific states from ar->flag to vif->flags. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 108438bc6ad16b3962aa5009123cd810d1c1f643 Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:34:00 2011 +0530 ath6kl: Define an initial vif structure and use it vif specific information need to be moved from struct ath6kl. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit dd3751f7b1036c24e0d44167482bbf4d60935d24 Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:33:59 2011 +0530 ath6kl: Cleanup fw interface type setting It is not necessary to use ath6kl_get_fw_iftype() to find out the firmware interface type during initialization because the type of the initial interface in INFRA_NETWORK. Hardcode the fw interface type corresponding to INFRA_BSS instead of using ath6kl_get_fw_iftype(). Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 8dafb70edc7151bdb319b6d22895d9886c7172eb Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:33:58 2011 +0530 ath6kl: Refactor wiphy dev and net dev init functions This refactoring is done in a manner that it can be used for multiple virtual interface. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit be98e3a48cb9b9e63da8537a378f656af2a9f2c6 Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:33:57 2011 +0530 ath6kl: Keep wiphy reference in ath6kl structure This is to avoid using ar->wdev to get wiphy pointer, this may need further cleanup for multi vif support. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 521dffcc8ae90ad08e9d9f12d9f9acc9db562194 Author: Vasanthakumar Thiagarajan Date: Tue Oct 25 19:33:56 2011 +0530 ath6kl: Pass ath6kl structure to ath6kl_init() instead of net_device ar is again taken from private area of net_device in ath6kl_init(), pass ar directly. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 116b3a2e0fb79fbc2367f69167a7a84a4c864a2d Author: Rishi Panjwani Date: Tue Oct 18 17:20:06 2011 -0700 ath6kl: Implement support for background scan control from userspace In order to allow user space based control of background scan interval, we use available debugfs infrastructure. The feature has been added for testing purposes. The user has to write the bgscan interval (in secs) to the bgscan_interval file in ath6kl debug directory. To disable bgscan, a '0' is to be written to the bgscan_interval file. Example: echo "2" > bgscan_interval This will make the background scan interval as 2 seconds kvalo: changed implementation so that there's only one call to ath6kl_wmi_scanparams_cmd() Signed-off-by: Rishi Panjwani Signed-off-by: Kalle Valo commit 83973e0357e2b3792480aa02b672902b2aa774b0 Author: Kalle Valo Date: Thu Oct 13 15:21:53 2011 +0300 ath6kl: add debug level for hif That way we htc level debug messages can be removed from hif files. Also add few new messages and remove useless debug message about using synchrous irq processing (we don't support anything else). Signed-off-by: Kalle Valo commit b1e03f8acf51aa5e911a25ded72141148ef2d41a Author: Kalle Valo Date: Thu Oct 13 15:21:45 2011 +0300 ath6kl: don't dump full htc packets It's currently possible to dump full sdio packets, so dumping htc packets is not strictly needed. So remove it, we can always add it back if there ever comes a need for that. Signed-off-by: Kalle Valo commit 471e92fdfb33dee27ad56ca0e0eec5c1b781af5d Author: Kalle Valo Date: Thu Oct 13 15:21:37 2011 +0300 ath6kl: cleanup htc debug messages Unify debug message format and other minor changes. Signed-off-by: Kalle Valo commit ebf29c95cfc6f7309ce999af4aa91ba22323f80d Author: Kalle Valo Date: Thu Oct 13 15:21:15 2011 +0300 ath6kl: merge htc debug levels It's not really necessary to have separate debug levels for htc tx and rx so combine them. Signed-off-by: Kalle Valo commit 8fffd9e5ec9ea046ff45c7974395ffbcb4bbef14 Author: Rishi Panjwani Date: Fri Oct 14 17:48:07 2011 -0700 ath6kl: Implement support for QOS-enable and QOS-disable from userspace In order to allow user space based QOS control we use the available debugfs infrastructure. With this feature, user can make changes to qos parameters, thereby allowing creation and deletion of user defined priority streams and features like uapsd. This feature has been added for testing purposes. All 21 parameters for the create_qos command are mandatory in the correct order. They have to be written to the create_qos file in the ath6kl debug directory. These parameters(in order) are: 1)user priority 2)direction 3)traffic class 4)traffic type 5)voice PS capability 6)min service intvl 7)max service intvl 8)inactivity intvl 9)suspension intvl 10)serv start time 11)tsid 12)nominal msdu 13)max msdu 14)min data rate 15)mean data rate 16)peak data rate 17)max burst size 18)delay bound 19)min phy rate 20)surplus bw allowance 21)medium time To create a qos stream: echo "6 2 3 1 1 9999999 9999999 9999999 7777777 0 6 45000 200 56789000 56789000 5678900 0 0 9999999 20000 0" > create_qos delete_qos requires 2 parameters: 1)traffic class 2)tsid To delete a qos stream: echo "3 1" > delete_qos kvalo: minor commit log cleanup Signed-off-by: Rishi Panjwani Signed-off-by: Kalle Valo commit 171693292ec733ecb96734370ddfe0d9f73e920f Author: Jouni Malinen Date: Tue Oct 11 22:08:21 2011 +0300 ath6kl: Fix endpoint_stats debugfs buffer length calculation The previous version did not really make much sense and the theoretical maximum length would be a bit longer. Calculate the length more accurately. In addition, there is no need to clear the buffer, so use kmalloc instead of kzalloc. For bonus points, add the forgotten cred_rpt_from_other value to the file. Reported-by: Joe Perches Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 17380859a8fae40f7420d8fcc4be7a041a370659 Author: Sam Leffler Date: Thu Oct 13 13:20:32 2011 +0300 ath6kl: unbreak suspend Add missing {}'s that caused ath6kl_sdio_suspend to always return -EINVAL causing suspend to be aborted. kvalo: I broke this in commit f7325b85e ("ath6kl: add sdio debug messages") Signed-off-by: Sam Leffler Signed-off-by: Kalle Valo commit bef26a7fcaa228c8bc591d975b4b0a2b76fcdecf Author: Kalle Valo Date: Wed Oct 12 09:58:28 2011 +0300 ath6kl: fix firmware start address for ar6003 hw2.0 Sangwook found out that commit 639d0b89 ("ath6kl: read firmware start address from hardware") broke firmware boot on ar6003 hw2.0 as it seems it's not posible to automatically query the address from hardware. So we need to hardcode the address for hw2.0. Reported-by: Sangwook Lee Tested-by: Sangwook Lee Signed-off-by: Kalle Valo commit 837cb97e5b72fb315e46d137d514720c62f371bf Author: Jouni Malinen Date: Tue Oct 11 17:31:57 2011 +0300 ath6kl: Allow CCKM AKM and KRK to be configured Use vendor-specific suite selectors to allow CCKM to be configured. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit ff0b007573c70be88c4efd3c1d8b41e9ba9710b3 Author: Jouni Malinen Date: Tue Oct 11 17:31:56 2011 +0300 ath6kl: Add debugfs control for keepalive and disconnection timeout The new debugfs files keepalive and disconnect_timeout can be used to fetch the current values and to change the values for keepalive and disconnect event timeout (both in seconds). Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 1261875f7a0a22d0d47bd400b9e9a5cf99909bbf Author: Jouni Malinen Date: Tue Oct 11 17:31:55 2011 +0300 ath6kl: Add debugfs files for roaming control Roaming mode can be changed by writing roam mode (default, bssbias, or lock) to roam_mode. Forced roam can be requested by writing the BSSID into force_roam. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 4b28a80dd6713c404f4f0084007456b769aba553 Author: Jouni Malinen Date: Tue Oct 11 17:31:54 2011 +0300 ath6kl: Add debugfs file for target roam table The new roam_table debugfs file can be used to display the current roam table from the target. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit e8091281f588812b128e102307e13acd9e917a5b Author: Jouni Malinen Date: Tue Oct 11 17:31:53 2011 +0300 ath6kl: Add endpoint_stats debugfs file This file can be used to fetch endpoint statistics counters and to clear them by writing 0 to it. Signed-off-by: Jouni Malinen Signed-off-by: Kalle Valo commit 6981ffdc2f5d59aac75c8446363c474e33f18b31 Author: Kevin Fang Date: Fri Oct 7 08:51:19 2011 +0800 ath6kl: Add WSC IE on the associate message For some WPS test items, such as item "5.1.14" STAUT must include the WSC IE in the 802.11 Association Request frame. Therefore, add the corresponding IE in association message. Signed-off-by: Kevin Fang Signed-off-by: Kalle Valo commit ad3f78b99e5cd74e9d9643ac8356206f57e796c9 Author: Kalle Valo Date: Thu Oct 6 14:32:32 2011 +0300 ath6kl: fix null skb dereference in ath6kl_rx() smatch found that skb might be null in some cases in ath6kl_rx(): ath6kl/txrx.c +1252 ath6kl_rx(222) error: potential null derefence 'skb'. This will happen when ath6kl is in AP mode and two clients send traffic to each other. Reported-by: Dan Carpenter Signed-off-by: Kalle Valo commit 2e1cb23c5e3c38b25a678a8a14d7464341e8207f Author: Kalle Valo Date: Wed Oct 5 12:23:49 2011 +0300 ath6kl: move remaining content from htc_hif.h to hif.h Now htc_hif.h can be removed. Signed-off-by: Kalle Valo commit 533cbbb686684dcf9915e5890df29f5cca05d173 Author: Kalle Valo Date: Wed Oct 5 12:23:42 2011 +0300 ath6kl: remove unused values from htc_hif.h Also remove some cache line optimisation. It was using hardcoded values which is wrong. Signed-off-by: Kalle Valo commit 8e8ddb2b8d19a952e1dff7a2a8a9d606e52fc3e3 Author: Kalle Valo Date: Wed Oct 5 12:23:33 2011 +0300 ath6kl: move htc_hif to hif.c Signed-off-by: Kalle Valo commit b4be8959c2cca0a0d3136f9d3bf06a52252911f4 Author: Kalle Valo Date: Wed Oct 5 12:23:25 2011 +0300 ath6kl: return error block size is not power of 2 Currently only a warning is emitted but no error is returned. Signed-off-by: Kalle Valo commit cbf49a6fff1d87510f36afe7e7cec188e452f1db Author: Kalle Valo Date: Wed Oct 5 12:23:17 2011 +0300 ath6kl: fix struct host_app_area endian handling It was missing endian annotation. Signed-off-by: Kalle Valo commit a7f0c58b893e29b377e7d453883fb4f3793105cf Author: Kalle Valo Date: Wed Oct 5 12:23:05 2011 +0300 ath6kl: remove unused parameters from struct wmi There's no use for these, at least right now, so better to remove them. If some of them are ever needed, we can always add them back. Signed-off-by: Kalle Valo commit aa6cffc1a275a9369ca83e13cebc4b09e4f23954 Author: Chilam Ng Date: Wed Oct 5 10:12:52 2011 +0300 ath6kl: make sure WLAN power save is enabled during suspend Power save is enabled during ath6kl init. But when user space disables power save, the system will go into suspend with power save disabled. The ath6kl driver will now explicitly enable power save prior to entering suspend and restore its previous setting upon resume Signed-off-by: Chilam Ng Signed-off-by: Kalle Valo commit 4533d901a4a78542544b91ad620fffd3307ade04 Author: Vasanthakumar Thiagarajan Date: Mon Oct 3 17:26:27 2011 +0530 ath6kl: Minor cleanup in msg_look_ahead parameter in ath6kl_htc_rxmsg_pending_handler() It is just a four byte information of the received message from ath6kl_htc_rxmsg_pending_handler(). Remove unnecessary array representaion. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 99f54299b973fd436dd9b4b1dd638c16f3d3deb4 Author: Vasanthakumar Thiagarajan Date: Mon Oct 3 17:26:26 2011 +0530 ath6kl: Avoid processing failed rx packets It is not necessary to process an htc_packet which is allocated for rx but failed in sdio rx. Though it does not fix any real issue, it does not make much sense to process the failed frame. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit b8d5d5ff0305f07061f672c91f63479433451af5 Author: Vasanthakumar Thiagarajan Date: Mon Oct 3 17:28:25 2011 +0530 ath6kl: Fix htc_packet leak in ath6kl_htc_rx_fetch() It is found during the code review. As the leak would happen only in failure case, the imapct is not easily visible. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 4159cc935a7ed119e5f824db06defaa34d992b56 Author: Vasanthakumar Thiagarajan Date: Mon Oct 3 17:28:07 2011 +0530 ath6kl: Fix htc_packet leak in ath6kl_htc_rx_process_packets() Packet is not reclaimed when ath6kl_htc_rx_process_hdr() fails. Fix this by deferring the packet deletion from comp_pktq till ath6kl_htc_rx_process_hdr() returns success. This bug is found in code review, impact is not easily visible as the leak happens only in failure cases. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 861dd058f495973c7ad2a44b8f68f3cc05733eab Author: Vasanthakumar Thiagarajan Date: Fri Sep 30 21:46:59 2011 +0530 ath6kl: Claim sdio function only at appropriate places There are places where tx_complete callbacks are called with claiming the sdio function. It is not necessary to hold the sdio func for longer. This may even affect the host side power save, if it is supported by the controller. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 151bd30bdf88551d68a743b7f7504ca0f3ff2796 Author: Vasanthakumar Thiagarajan Date: Fri Sep 30 19:18:43 2011 +0530 ath6kl: Replace spin_lock_irqsave with spin_lock_bh It is not necessary to use spinlock primitive to protect data which is accessed in hard irq context as nothing is running in hard irq with this driver. The spinlock primitive meant to protect data in softirq context is more appropriate. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 1555f7339db57987487e2bd849bca9a104109c18 Author: Vasanthakumar Thiagarajan Date: Fri Sep 30 19:18:42 2011 +0530 ath6kl: Fix sparse warning "symbol 'conn' shadows an earlier one" Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit f1f9217926b2180237fd38b3f7fc6e932bcb1827 Author: Vasanthakumar Thiagarajan Date: Sat Oct 1 16:12:36 2011 +0530 ath6kl: Enable force foreground scan in connected state This was disabled beacause there was a network stall issue when scan is issued. This issue does not happen with the new firmware (3.1.1.609), enable it back. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 4d611e4d3dc78efcba514d235b5f0a6df0828372 Author: Gustavo F. Padovan Date: Thu Jun 23 19:30:48 2011 -0300 Bluetooth: Only set ack_timer if we didn't send and ack Signed-off-by: Gustavo F. Padovan commit 0bee1d60cbad24288c75573511356d450c1fd45a Author: Gustavo F. Padovan Date: Sat Nov 5 19:58:31 2011 -0200 Bluetooth: Allow L2CAP to increase the security level Some incomming connections needs to increase the security level by requesting encryption for example (HID keyboard case). This change allows the userspace to change it through setsockopt with defer_setup enabled. Signed-off-by: Gustavo F. Padovan commit d45fc42323b7909829b8f27f26676c675f26551f Author: Gustavo F. Padovan Date: Sat Nov 5 19:54:24 2011 -0200 Bluetooth: Rename l2cap_check_security() rename to l2cap_chan_check_security() to make it consistent with other l2cap_exported functions. This function will be exported in a later commit. Signed-off-by: Gustavo F. Padovan commit 37d9ef76c26092098e8fbd3fd540b7ac2181e6bf Author: Johan Hedberg Date: Thu Nov 10 15:54:39 2011 +0200 Bluetooth: Add status parameter to mgmt_disconnect response Since disconnecting may fail the status needs to be communicated to user space. This also updates the implementation to match the latest mgmt API specification. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit a8a1d19e9d00e2ec6f28b89133137390b1d293bd Author: Johan Hedberg Date: Thu Nov 10 15:54:38 2011 +0200 Bluetooth: Add proper response to mgmt_remove_keys command Since the command can fail we need to have a proper response with the remote address and a failure status for it. This also updates it to conform to the latest mgmt API spec. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit c3f06755ca4279597cd58befd6c076ae2e3db480 Author: Johan Hedberg Date: Thu Nov 10 15:54:37 2011 +0200 Bluetooth: Fix deadlock with mgmt_pair_device The hci_conn callbacks are called with the hci_dev lock already held so no locking should be attempted in them. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 48264f06943e2db2c971b752949606f070d9d292 Author: Johan Hedberg Date: Wed Nov 9 13:58:58 2011 +0200 Bluetooth: Add public/random LE address information to mgmt messages It's necessary to know the distinction between public and random LE addresses so the mgmt interface also needs to distinguish between them. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 1eb54c8a0fa0061247f3bd327b320c3e20c97340 Author: Dan Carpenter Date: Mon Nov 7 19:31:47 2011 -0800 mwifiex: prevent corruption instead of just warning Probably we never hit this condition, but in case we do, we may as well put a return here instead of just printing a warning message and then corrupting memory. The caller doesn't check the return code. Signed-off-by: Dan Carpenter Acked-by: Bing Zhao Signed-off-by: John W. Linville commit 7d7ab02204ae2af26944ccd8a4c599756bdf0fc3 Author: Amitkumar Karwar Date: Mon Nov 7 19:31:46 2011 -0800 mwifiex: enable SDIO multiport aggregation By default SDIO multiport aggregation is disabled. It's useful to get good throughput results. This patch enables it. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit fa161cb7aa7da29018f7378ccbab6bb593be008c Author: Dan Carpenter Date: Mon Nov 7 19:31:45 2011 -0800 mwifiex: remove an unneeded NULL check We dereference adapter in the error handling code so this needed to be fixed. This function is always called like: adapter->if_ops.host_to_card(adapter, ...); so adapter can never be NULL and I've removed the NULL check. Signed-off-by: Dan Carpenter Acked-by: Bing Zhao Signed-off-by: John W. Linville commit fba6fe634787bb7ef95fb44682df71b4d4e8cb2d Author: Dan Carpenter Date: Mon Nov 7 19:31:44 2011 -0800 mwifiex: remove unneeded kfree(NULL); The previous if statement means this that pointer is NULL so there is no need to free it. Signed-off-by: Dan Carpenter Acked-by: Bing Zhao Signed-off-by: John W. Linville commit 1bac92cac1d8417bf023571b1608b9793c4ecf86 Author: Julia Lawall Date: Sun Nov 6 14:26:49 2011 +0100 net/rfkill/core.c: use kstrtoul, etc Use kstrtoul, etc instead of the now deprecated strict_strtoul, etc. A semantic patch rule for the kstrtoul case is as follows: (http://coccinelle.lip6.fr/) // @@ expression a,b; {int,long} *c; @@ -strict_strtoul +kstrtoul (a,b,c) // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit 61e3f32c11c35e5a54d37d98505cb29db639cfdb Author: Julia Lawall Date: Sun Nov 6 14:26:48 2011 +0100 net/mac80211/debugfs.c: use kstrtoul, etc Use kstrtoul, etc instead of the now deprecated strict_strtoul, etc. A semantic patch rule for the kstrtoul case is as follows: (http://coccinelle.lip6.fr/) // @@ expression a,b; {int,long} *c; @@ -strict_strtoul +kstrtoul (a,b,c) // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit a729cff8ad5120d0d5172ec28a3843d1cb458f79 Author: Johannes Berg Date: Sun Nov 6 14:13:34 2011 +0100 mac80211: implement wifi TX status Implement the socket wifi TX status error queue reflection in mac80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1f074bd8eb7a4a210a5119cd7220f89da6c7a2c3 Author: Johannes Berg Date: Sun Nov 6 14:13:33 2011 +0100 nl80211: advertise socket TX status capability The new wifi socket TX capability should be supported by wifi drivers, let them advertise whether they do or not. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e41215626607f2e9b2227504a8965389a1ba1a25 Author: Helmut Schaa Date: Sat Nov 5 14:15:24 2011 +0100 mac80211: Also report the STA's TDLS flag via nl80211 Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 99ba15cd75ed22e4ae86804ca2982a724e8102c2 Author: Franky Lin Date: Fri Nov 4 22:23:42 2011 +0100 brcm80211: fmac: optimize chip core info management Prepare for adding backplane interconnect type support Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 61213be4cc2201b58786464000113ecbfc9d2c99 Author: Franky Lin Date: Fri Nov 4 22:23:41 2011 +0100 brcm80211: fmac: replace private SB macros with ssb_regs version Use SSB macros in order to clean up brcmfmac code Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit e12afb6c5d13ebff64d4a2feb97cce0c2d7e1128 Author: Franky Lin Date: Fri Nov 4 22:23:40 2011 +0100 brcm80211: fmac: move chip drive strength related code to sdio_chip.c This patch is part of the abstracting chip backplane handle code series. Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit a8a6c04586233e12551552c292797cb56b31dade Author: Franky Lin Date: Fri Nov 4 22:23:39 2011 +0100 brcm80211: fmac: move chip detach function to sdio_chip.c This patch is part of the abstracting chip backplane handle code series. Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 2bc78e10d841f81ea7a2b25bc0481ea4af06437e Author: Franky Lin Date: Fri Nov 4 22:23:38 2011 +0100 brcm80211: fmac: move chip reset core function to sdio_chip.c This patch is part of the abstracting chip backplane handle code series. Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 454d2a8816d6bc6594d3d475392290623af63656 Author: Franky Lin Date: Fri Nov 4 22:23:37 2011 +0100 brcm80211: fmac: abstract chip core revision function Prepare for adding backplane interconnect type support Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit d8f64a425b3a79e7d276e438ad7246c916a4b195 Author: Franky Lin Date: Fri Nov 4 22:23:36 2011 +0100 brcm80211: fmac: abstract chip iscoreup function Prepare for adding backplane interconnect type support Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit a97e4fc5ae4b00187b25a8216a61b2105efa9c60 Author: Franky Lin Date: Fri Nov 4 22:23:35 2011 +0100 brcm80211: fmac: chip attach code flow clean up Merged brcmf_sdbrcm_chip_attach into brcmf_sdio_chip_attach for better readability. Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 98ce903519b4874673e75ba80657c4114b933bac Author: Franky Lin Date: Fri Nov 4 22:23:34 2011 +0100 brcm80211: fmac: remove duplicate regiter set in chip attach path Same register writes have been done in brcmf_sdbrcm_probe_init which is earlier in the same code path. Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 960908dceabf40d7335170d26dbf13f63b240c67 Author: Franky Lin Date: Fri Nov 4 22:23:33 2011 +0100 brcm80211: fmac: move dongle gpio reset code to chip attach function This patch is part of the abstracting chip backplane handle code series. Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 966414da2d5a0c957d331e3f06255ec2277acb65 Author: Franky Lin Date: Fri Nov 4 22:23:32 2011 +0100 brcm80211: fmac: disable dongle arm core in bus core setup function This will provide a better code flow that fits the logic Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 2d4a9af172814b76bf2ad5da2213ea42d111893b Author: Franky Lin Date: Fri Nov 4 22:23:31 2011 +0100 brcm80211: fmac: move core disable function to sdio_chip.c This patch is part of the abstracting chip backplane handle code series. Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 5b45e54e77cc29a760461ca64cf143ffa49493b6 Author: Franky Lin Date: Fri Nov 4 22:23:30 2011 +0100 brcm80211: fmac: abstract chip buscore setup function This patch is part of the abstracting chip backplane handle code series. Reviewed-by: Arend van Spriel Reviewed-by: Roland Vossen Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit e63ac6b888eed345f5b93751649515d6436abed2 Author: Franky Lin Date: Fri Nov 4 22:23:29 2011 +0100 brcm80211: fmac: move bus core prep code to sdio_chip.c This patch is part of abstracting chip backplane handle code series. Reviewed-by: Arend van Spriel Reviewed-by: Roland Vossen Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit a83369b6e1e7285edd5217601a0618b9a43bdc4b Author: Franky Lin Date: Fri Nov 4 22:23:28 2011 +0100 brcm80211: fmac: move chip recognition function to sdio_chip.c Currently backplane handle code is scatterd around dhd_sdio.c which is not good for maintenance and adding new backplane interconnect type support. This patch and the follow up patches are going to abstract all chip backplane control code specific for sdio bus into this new sdio_chip.c Reviewed-by: Arend van Spriel Reviewed-by: Roland Vossen Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 718897eb3f90a47a56acb504762d521388a3231c Author: Franky Lin Date: Fri Nov 4 22:23:27 2011 +0100 brcm80211: fmac: remove unnecessary 4329 chip specific code 4329 with chiprev 0 can not be found on any product. The code can be removed. Reviewed-by: Arend van Spriel Reviewed-by: Roland Vossen Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit e247bd9068e3e86c3571147c128883596ace9d05 Author: Johannes Berg Date: Fri Nov 4 11:18:21 2011 +0100 cfg80211/mac80211: allow management TX to not wait for ACK For probe responses it can be useful to not wait for ACK to avoid retransmissions if the station that sent the probe is already on the next channel, so allow userspace to request not caring about the ACK with a new nl80211 flag. Since mac80211 needs to be updated for the new function prototype anyway implement it right away -- it's just a few lines of code. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e7f4a940bb5eecd07cf0039e7d9201badc332ae0 Author: Johannes Berg Date: Fri Nov 4 11:18:20 2011 +0100 mac80211: send unexpected 4addr event Implement the cfg80211 notification but only send one event per associated station to avoid having tons of events if the station thinks it should be allowed to use 4addr frames but it isn't. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b92ab5d86dafc2b3733c5fdd5def40c8fe7ea7c9 Author: Johannes Berg Date: Fri Nov 4 11:18:19 2011 +0100 cfg80211: add event for unexpected 4addr frames The frames are used by AP/STA WDS mode, and hostapd needs to know when such a frame was received to set up the VLAN appropriately to allow using it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ee971924543fe82f279d3e97f6f6d02320b381b7 Author: Johannes Berg Date: Fri Nov 4 11:18:18 2011 +0100 mac80211: report OBSS beacons If there's an interface in AP mode, OBSS beacons are needed by hostapd/wpa_s to implement logic to enable/disable protection etc. Report the frames and set the capability flag. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5e760230e42cf759bd923457ca2753aacf2e656e Author: Johannes Berg Date: Fri Nov 4 11:18:17 2011 +0100 cfg80211: allow registering to beacons Add the ability to register to received beacon frames to allow implementing OLBC logic in userspace. The registration is per wiphy since there's no point in receiving the same frame multiple times. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 06500736c5d26bff93a4f358713689073e66d0f5 Author: Johannes Berg Date: Fri Nov 4 11:18:16 2011 +0100 mac80211: support client probe Support probing clients with null data frames in AP mode. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7f6cf311a594c1e7ca8120367dd1d4c685aabff1 Author: Johannes Berg Date: Fri Nov 4 11:18:15 2011 +0100 nl80211: add API to probe a client When the AP SME in hostapd is used it wants to probe the clients when they have been idle for some time. Add explicit API to support this. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 562a74803f4881772ba2375ec4e5aa0ad90f4caa Author: Johannes Berg Date: Mon Nov 7 12:39:33 2011 +0100 nl80211: advertise device AP SME Add the ability to advertise that the device contains the AP SME and what features it can support. There are currently no features in the bitmap -- probe response offload will be advertised by a few patches Arik is working on now (who took over from Guy Eilam) and a device with AP SME will typically implement and require response offload. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 21fc756087d7659d86c344c0b38229313afc6c7c Author: Johannes Berg Date: Fri Nov 4 11:18:13 2011 +0100 mac80211: support spurious class3 event Add support for the spurious class3 frame event to mac80211 to enable AP w/o monitor mode. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 28946da763e8b8d8ffd01ab861b684a4afb4bc3b Author: Johannes Berg Date: Fri Nov 4 11:18:12 2011 +0100 nl80211: allow subscribing to unexpected class3 frames To implement AP mode without monitor interfaces we need to be able to send a deauth to stations that send frames without being associated. Enable this by adding a new nl80211 event for such frames that an application can subscribe to. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 665c93a93e35cafcd8c84073824f1ef1b19f0a7d Author: Johannes Berg Date: Fri Nov 4 11:18:11 2011 +0100 mac80211: add support for control port protocol in AP mode This will allow us to support dynamic WEP with 802.1X properly in mac80211 by not encrypting outgoing and accepting unencrypted incoming frames. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6096de7fd4eeda305e114e7d74e6f47404590425 Author: Johannes Berg Date: Fri Nov 4 11:18:10 2011 +0100 mac80211: add helper to free TX skb Drivers that need to drop a frame before it can be transmitted will usually simply free that frame. This is currently fine, but in the future it'll be needed to tell mac80211 about this case, so add a new routine that frees a TX skb. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d0ce1855eab098c6257f1321b02b70f916064aaa Author: Javier Cardona Date: Thu Nov 3 21:11:13 2011 -0700 mac80211: simplify mesh frame queue mapping and QoS We only need to set the skb queue twice: 1. by the netdev, on local TX. 2. when forwarding a mesh frame. We only need to set the qos header twice: 1. by mac80211, on local TX. 2. when putting a frame on the mpath->frame_queue We also don't need the RA in order to set the proper queue mapping since all mesh STAs are QoS, indicate this and do it once when the frame is received. Also fixes an issue where the QoS header and queue mapping was not set for unicast forwarded frames. Signed-off-by: Javier Cardona Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit 660c6a449a714cf770641134124f2aae49ed8ab0 Author: Thomas Pedersen Date: Thu Nov 3 21:11:12 2011 -0700 mac80211: check if frame is really part of this BA There was an an implicit assumption that any QoS data frame received from a STA/TID with an active BA session was sent to this vif as part of a BA. This is not true if IFF_PROMISC is enabled and the frame was destined for a different peer, for example. Don't treat these frames as part of a BA from the sending STA. Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit 6cc00d545a21ed26696f3bda865ebf11eccbf2b5 Author: Thomas Pedersen Date: Thu Nov 3 21:11:11 2011 -0700 mac80211: QoS multicast frames have No Ack policy Previously QoS multicast frames had the Normal Acknowledgment QoS control bits set. This would cause broadcast frames to be discarded by peers with which we have a BA session, since their sequence number would fall outside the allowed range. Set No Ack QoS control bits on multicast QoS frames and filter these in de-aggregation code. Signed-off-by: Thomas Pedersen v2: Use proper QoS Ack Policy ctl field mask (Christian) v3: Clean up conditional (Johannes) Signed-off-by: John W. Linville commit f3011cf9deb689bd68279c728c501a4166983c19 Author: Javier Cardona Date: Thu Nov 3 21:11:10 2011 -0700 mac80211: Avoid filling up mesh preq queue with redundant requests Don't accept redundant PREQs for a given destination. This fixes a problem under high load: kernel: [20386.250913] mesh_queue_preq: 235 callbacks suppressed kernel: [20386.253335] Mesh HWMP (mesh0): PREQ node queue full kernel: [20386.253352] Mesh HWMP (mesh0): PREQ node queue full (...) The 802.11s protocol has a provision to limit the rate of path requests (PREQs) are transmitted (dot11MeshHWMPpreqMinInterval) but there was no limit on the rate at which PREQs were being queued up. There is a valid reason for queuing PREQs: this way we can even out PREQ bursts. But queueing multiple PREQs for the same destination is useless. Reported-by: Pedro Larbig Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 7e1e386421e2ec7804b77f2c1c8e2517e82ecb7e Author: Ben Greear Date: Thu Nov 3 11:33:13 2011 -0700 ath9k: Improve debugfs printout for stations. Add interface address so it can be mapped to a local interface. Add max-ampdu and mpdu-density. Print out the tid->baw_size Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 7b7eab6fc1bc8852d9649541b59283cd89cc526f Author: Johannes Berg Date: Thu Nov 3 14:41:13 2011 +0100 mac80211: verify virtual interfaces in driver API The driver is never informed about monitor or AP_VLAN interfaces, so whenever we pass those to it later this is a bug. Verify we don't as there are some cases where this could happen. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4fdbff0770bea059621bc4906fb7c7f5879f3ae1 Author: Stanislaw Gruszka Date: Thu Nov 3 10:40:47 2011 +0100 mac80211: simplify ieee80211_work_work Since local->tmp_channel is always NULL in one branch, some code paths will newer be taken in that branch, so remove them. Signed-off-by: Stanislaw Gruszka Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 0b62ffb53c9732e02ec77ae795f1e03cb2f2d406 Author: Stanislaw Gruszka Date: Thu Nov 3 10:40:46 2011 +0100 mac80211: remove useless brackets in ieee80211_cfg_on_oper_channel Signed-off-by: Stanislaw Gruszka Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 5e5202a406896fb6d656d0e7d3f2f1cbfdda6384 Author: Stanislaw Gruszka Date: Thu Nov 3 10:40:45 2011 +0100 mac80211: remove uneeded scan_chan variable Signed-off-by: Stanislaw Gruszka Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 68629c6133304f286a1f0c12d9aa8071a639f076 Author: Johannes Berg Date: Thu Nov 3 09:59:39 2011 +0100 mac80211: preserve EOSP in QoS header Janusz reported that the EOSP bit in mac80211 was getting cleared all the time. I had not found this since I tested uAPSD with a device that always set the bit itself. Preserve the bit when building the QoS header. Reported-by: Janusz Dziedzic Tested-by: Janusz Dziedzic Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 819622678ed7011b4d785ca174de5d4bf179bf83 Author: Jouni Malinen Date: Wed Nov 2 23:36:31 2011 +0200 nl80211: Increase maximum NL80211_ATTR_KEY_SEQ length to 16 WPI-SMS4 uses 16-octet PN field, so we need to allow longer key sequence values to be configured. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 55de47f65f661a229a982293a43739e57ec935a5 Author: Eliad Peller Date: Tue Nov 1 15:16:55 2011 +0200 mac80211: set BSS_CHANGED_IDLE on vif reconfig The vif might be busy while reconfiguring (e.g. associated), so indicate BSS_CHANGED_IDLE as well. Reported-by: Eyal Shapira Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit 6e6ae9ddf0bc19ce066ed2f66f7a52b827e4514e Author: Stanislav Yakovlev Date: Sun Oct 30 02:47:50 2011 -0400 ipw2x00: remove unused function libipw_ratelimit_debug. Looks like no one uses it. Signed-off-by: Stanislav Yakovlev Signed-off-by: John W. Linville commit fd6562344dea2b8b2a5d644cf971f4e56004500a Author: Jouni Malinen Date: Thu Oct 27 17:31:50 2011 +0300 ath9k: Advertise support for TDLS Based on a quick test, TDLS seemed to be working fine with ath9k, so let's start advertising support for this in the driver. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 9236b2a848cac9cac8d7df74baeb6c335081890a Author: David Kilroy Date: Fri Oct 28 12:47:56 2011 +0100 orinoco: release BSS structures returned by cfg80211_inform_bss() The pointer returned by cfg80211_inform_bss is a referenced struct. The orinoco driver does not need to keep the struct, so we just release it. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit a64e2e2354679ad1742b4c43ac665ffa075ef8a0 Author: Jussi Kivilinna Date: Fri Oct 28 08:05:58 2011 +0300 rndis_wlan: release BSS structures returned by cfg80211_inform_bss() Patch fixes rndis_wlan to release referenced BSS structure returned by cfg80211_inform_bss(). Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit ef100682814c429709f0904b757595e25019cb31 Author: Johannes Berg Date: Thu Oct 27 14:45:02 2011 +0200 cfg80211: annotate cfg80211_inform_bss This function returns a referenced BSS struct (or NULL), annotate with __must_check. It seems that a lot of drivers get this completely wrong and leak all BSS structs as a result. Reported-by: Adam Mikuta Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c74d084f914e16e42730bcf625ab3f37a4cae8d4 Author: Christian Lamparter Date: Sat Oct 15 00:14:49 2011 +0200 mac80211: handle HT PHY BSS membership selector value correctly 802.11n-2009 extends the supported rates element with a magic value which can be used to prevent legacy stations from joining the BSS. However, this magic value is not a rate like the others and the magic can simply be ignored/skipped at this late stage. Signed-off-by: Christian Lamparter --- Signed-off-by: John W. Linville commit fa5e91bc7715c772342b197269a85aa3ced16900 Author: John W. Linville Date: Wed Nov 9 15:25:18 2011 -0500 wireless: cleanup brcm80211 bits in drivers/net/wireless/Makefile Signed-off-by: John W. Linville commit 312fef7d18adda2be822d31916547f84ed6af28b Merge: 5e81905 2aeabcb Author: John W. Linville Date: Wed Nov 9 14:54:33 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next Conflicts: net/bluetooth/l2cap_sock.c net/bluetooth/mgmt.c commit 5e819059a20b0fc5a71875f28b4cae359e38d85a Merge: ae2772b cc438fc Author: John W. Linville Date: Wed Nov 9 14:49:23 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless commit 2aeabcbedd51aef94b61d05b57246d1db4984453 Author: Johan Hedberg Date: Wed Nov 9 13:58:57 2011 +0200 Bluetooth: Remove redundant hci_dev comparisons in mgmt lookups Now that pending commands are hci_dev specific there's no need to check whether a command matches hci_dev when iterating through them. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit fc2f4b13d8c91713efb972be42566f7f3625f5ed Author: Johan Hedberg Date: Wed Nov 9 13:58:56 2011 +0200 Bluetooth: Fix consistency with u16 integer type in mgmt pending_cmd For consistency the integer type should be u16 and not __u16. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit e0f9309f371096b82ad35aa2c27d7f848f37e696 Author: Johan Hedberg Date: Wed Nov 9 01:44:22 2011 +0200 Bluetooth: Fix cancel_delayed_work_sync usage with locks The cancel_delayed_work_sync function should not be used if we hold any locks. Luckily all places where this is the case it is also safe to use the non-sync version. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 56e5cb86eb377970825486a5861f5926d65e64c1 Author: Johan Hedberg Date: Tue Nov 8 20:40:16 2011 +0200 Bluetooth: Add missing hci_dev locking when calling mgmt functions Now that the pending commands are within struct hci_dev we can properly control access to them throught the hci_dev locking mechanism. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 2e58ef3e11d0775795345a20185b5a7c4bdae194 Author: Johan Hedberg Date: Tue Nov 8 20:40:15 2011 +0200 Bluetooth: Move pending management command list into struct hci_dev This patch moves the pending management command list (previously global to mgmt.c) into struct hci_dev. This makes it possible to do proper locking when accessing it (through the existing hci_dev locks) and thereby avoid race conditions. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 744cf19eadcf4de914394e0eb227f94f4318f5e4 Author: Johan Hedberg Date: Tue Nov 8 20:40:14 2011 +0200 Bluetooth: Pass full hci_dev struct to mgmt callbacks The current global pending command list in mgmt.c is racy. Possibly the simplest way to fix it is to have per-hci dev lists instead of a global one (all commands that need a pending struct are hci_dev specific). This way the list can be protected using the already existing per-hci dev lock. To enable this refactoring the first thing that needs to be done is to ensure that the mgmt functions have access to the hci_dev struct (instead of just the dev id). Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit ae2772b313b98a14f69b5bc67135c9fee48771be Author: Thomas Pedersen Date: Wed Oct 26 14:47:29 2011 -0700 mac80211: allow frame aggregation for mesh Signed-off-by: Thomas Pedersen Signed-off-by: Ashok Nagarajan Signed-off-by: John W. Linville commit 739522baa1d6804a3ff33e8c135db0e6b2165f75 Author: Thomas Pedersen Date: Wed Oct 26 14:47:28 2011 -0700 mac80211: set HT capabilities for mesh peer Set peer's HT capabilities, and disallow peering if we're on a different channel type. Signed-off-by: Thomas Pedersen Signed-off-by: Ashok Nagarajan Signed-off-by: John W. Linville commit 176f36086e8a00bdf701dc6e4c5a8784ef6529df Author: Thomas Pedersen Date: Wed Oct 26 14:47:27 2011 -0700 mac80211: add HT IEs to mesh frames Signed-off-by: Thomas Pedersen Signed-off-by: Ashok Nagarajan Signed-off-by: John W. Linville commit 42e7aa771196d8129d9deaee950b3177a443b8cf Author: Alexander Simon Date: Wed Oct 26 14:47:26 2011 -0700 mac80211: Add HT helper functions Some refactoring for IBSS HT. Move HT info and capability IEs building code into separate functions. Add function to get the channel type from an HT info IE. Signed-off-by: Alexander Simon Signed-off-by: John W. Linville commit 3b69a9c5f264d62a0cf46ea61ed3da732c1f88c2 Author: Thomas Pedersen Date: Wed Oct 26 14:47:25 2011 -0700 mac80211: comment allocation of mesh frames Remove most references to magic numbers, save a few bytes and hopefully improve readability. Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit c63749d347afcb5c4790d1cbe27d9b66e585b9ff Author: Rajkumar Manoharan Date: Tue Oct 25 12:40:38 2011 +0530 ath9k_hw: Updated AR9462 initval table to improve rx performance The initval tables are updated as per system team input to improve rx performance and power accuracy at 5GHz. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 7dc181c273861c4d96991f59a4fdcda3a3eaccae Author: Rajkumar Manoharan Date: Mon Oct 24 18:19:49 2011 +0530 ath9k: Add btcoex profile management support for AR9462 AR9462 chips have the capabilities to provoide bluetooth profile information. For non-AR9462 btcoex chips, the BT priority traffic was identified by periodically polling the respective registers and updated dutycycle, stomptype, etc. As AR9462 chip offers the BT profile informations, let us make use of that to update aggregation limit, dutycycle, stomptype and wieghtages. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 38df2f07b7bc5309ebb159438b435d1f25f31e35 Author: Rajkumar Manoharan Date: Mon Oct 24 18:14:39 2011 +0530 ath9k_hw: Update CCK spur mitigation for AR9462 To improve CCK sensitivity for AR9462 chips, performing spur mitigation at 2440, 2464 frequencies alone is sufficient. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 43bc3e89cf3d2ad2ec827212ef0e69a21c0421b9 Author: Jouni Malinen Date: Sun Oct 23 22:45:27 2011 +0300 mac80211_hwsim: Claim support for TDLS Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 077a9154898b374f20555adc3f620cccd02581d6 Author: Arik Nemtsov Date: Sun Oct 23 08:21:41 2011 +0200 mac80211: support adding IV-room in the skb for CCMP keys Some cards can generate CCMP IVs in HW, but require the space for the IV to be pre-allocated in the frame at the correct offset. Add a key flag that allows us to achieve this. Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit 3b7b72eed19684824806b3fbefef653a180ef2b0 Author: Johannes Berg Date: Sat Oct 22 19:05:51 2011 +0200 nl80211: clean up genlmsg_end uses genlmsg_end() cannot fail, it just returns the length of the message. Thus, error handling for it is useless. While removing it, I also noticed a useless variable and removed this it as well. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 028f78d43d80dcb8b1142ea38606067151dd3d51 Author: Arend van Spriel Date: Fri Oct 21 16:16:35 2011 +0200 brcm80211: smac: change buffer endianess convert function interface The buffer endianess conversion functions in srom.c had a size argument giving number of bytes but the function converts words. Providing the number of words to the function is more sensible so that is done in this patch. Reported-by: Pavel Roskin Reported-by: Larry Finger Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit d1a5b6fbecc52323acf05fa7881267071933c92e Author: Franky Lin Date: Fri Oct 21 16:16:34 2011 +0200 brcm80211: fmac: remove state from brcmf_if in fullmac The usage of state decrease readability. Optimize the code flow to get rid of it Reviewed-by: Roland Vossen Reviewed-by: Arend van Spriel Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit e1b835865c58e44ad16e5c85d1dc727991e2b0b3 Author: Franky Lin Date: Fri Oct 21 16:16:33 2011 +0200 brcm80211: fmac: store brcmf_if in net device private data Make a proper use of private data area of net device by storing interface related data structure instead of generic driver data Reported-by: Johannes Berg Reviewed-by: Roland Vossen Reviewed-by: Arend van Spriel Signed-off-by: Franky (Zhenhui) Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 15d45b6fbd01ecebc5a77b1e06ae7ebffad8018a Author: Franky Lin Date: Fri Oct 21 16:16:32 2011 +0200 brcm80211: fmac: use brcmf_add_if for all net devices Use brcmf_add_if for primary and virtual net device interfaces. This is part of the net device interface clean up for fullmac. Reviewed-by: Roland Vossen Reviewed-by: Arend van Spriel Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 3fd172d30b59d9b73cb35ab263a1f0173dae974c Author: Arend van Spriel Date: Fri Oct 21 16:16:31 2011 +0200 brcm80211: smac: use sk_buff list for handling frames in receive path In the receive path the frames are obtained from the dma using multiple sk_buff that were linked using the skb next pointer. This has been changed and it now used sk_buff lists and skb_queue functions instead. Reported-by: Johannes Berg Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 81d2e2d148c2263f29a971d027f04c6e2c87e0d2 Author: Arend van Spriel Date: Fri Oct 21 16:16:30 2011 +0200 brcm80211: smac: rename buffer endianess conversion functions The functions ltoh16_buf() and htol16_buf() have been renamed to le16_to_cpu_buf() and cpu_to_le16_buf() for more clarity what it does. Reported-by: Joe Perches Reported-by: Larry Finger Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 1525662ac280e61feb1af7778881241b542dc075 Author: Roland Vossen Date: Fri Oct 21 16:16:29 2011 +0200 brcm80211: smac: changed check to confirm STA only support The driver currently only supports STA operation. However, in brcms_ops_add_interface() also AP and SSID mode were accepted. Reviewed-by: Alwin Beukers Reviewed-by: Arend van Spriel Signed-off-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit dc460127898cab9014fb06281e0bad37b198bd83 Author: Roland Vossen Date: Fri Oct 21 16:16:28 2011 +0200 brcm80211: smac: mute transmit on ops_start Monitor mode functionality (not functional yet) requires transmit to be muted after ops_start() is called, transmit is unmuted when the first interface is added. Reviewed-by: Alwin Beukers Reviewed-by: Arend van Spriel Signed-off-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 2646c46d56792bdb370784d1cd6e696a7b3bbf67 Author: Roland Vossen Date: Fri Oct 21 16:16:27 2011 +0200 brcm80211: smac: modified Mac80211 callback interface Upon ops_start(), a Mac80211 driver should enable receive functionality to support monitor mode. Also, upon ops_stop(), it should disable rx. Driver did not follow this rule so code has been changed. Reported-by: Johannes Berg Reviewed-by: Alwin Beukers Reviewed-by: Arend van Spriel Signed-off-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit c6c44893c864429a7c6a4f7942dfb3ee182b4ad1 Author: Roland Vossen Date: Fri Oct 21 16:16:26 2011 +0200 brcm80211: smac: fixed inconsistency in transmit mute Transmit was muted in two ways: full mute and a partial mute called 'pre ism cac time' mute. But, this 'pre ism cac time' mute was done at one place in the code (when tx_mute == false), and overridden later on in another place in code. To fix this, the 'pre ism cac time' mute has been replaced by a non mute. Reviewed-by: Alwin Beukers Reviewed-by: Arend van Spriel Signed-off-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit a8bc4917ed6bd6101569630708baaac14504ab8c Author: Roland Vossen Date: Fri Oct 21 16:16:25 2011 +0200 brcm80211: smac: bugfix for tx mute in brcms_b_init() Transmit can only be muted if the mac core is enabled. When brcms_b_init() is called, the mac core is suspended. Brcms_b_init() calls a transmit mute function that requires an enabled mac core. This code path is never taken, but would have been taken in subsequent patches. Reviewed-by: Alwin Beukers Reviewed-by: Arend van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 43ac09722f8e8f69cb528877c4b853cf9b96d9d7 Author: Roland Vossen Date: Fri Oct 21 16:16:24 2011 +0200 brcm80211: smac: removed down-on-rf-kill functionality Softmac would bring its interface down on an RF kill switch condition, without Mac80211 intervention. Because Mac80211 should be the only party initiating interfaces going up and down, this functionality has been removed. Reviewed-by: Alwin Beukers Reviewed-by: Arend van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 28237002e726bfaeb3ab682ec5574d697a15e00d Author: Roland Vossen Date: Fri Oct 21 16:16:23 2011 +0200 brcm80211: smac: removed down-on-watchdog MPC functionality Softmac would bring its interface down on a certain Minimum Power Save related condition, without Mac80211 intervention. Because Mac80211 should be the only party initiating interfaces going up and down, this functionality has been removed. All notions of 'MPC' have been removed in the code as well. Reviewed-by: Alwin Beukers Reviewed-by: Arend van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 4412953061def953a6458f9f1b277e442f83c919 Author: Roland Vossen Date: Fri Oct 21 16:16:22 2011 +0200 brcm80211: smac: removed MPC related variables Several member variables were never read. Reviewed-by: Alwin Beukers Reviewed-by: Arend van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 0bf1f883fd0ad0b6f55974aad6682de43f7305dd Author: Roland Vossen Date: Fri Oct 21 16:16:21 2011 +0200 brcm80211: smac: removed MPC related code The chip init sequence enables MPC (Minimum Power Consumption), but the driver disables it after that. As there are no interfaces to enable this mode the related code is unused (member variable wlc->mpc is false). Reviewed-by: Alwin Beukers Reviewed-by: Arend van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit dfded557d8c0ff9f66c6d6c4959596148db05c8e Author: Franky Lin Date: Fri Oct 21 16:16:20 2011 +0200 brcm80211: fmac: use brcmf_del_if for all net devices Use brcmf_del_if for primary and virtual net device interfaces. This is part of the net device interface clean up for fullmac. Reviewed-by: Roland Vossen Reviewed-by: Arend van Spriel Signed-off-by: Franky (Zhenhui) Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit ece960eae81c604aa14a1bf431eda34f4fe71c0c Author: Franky Lin Date: Fri Oct 21 16:16:19 2011 +0200 brcm80211: fmac: allow wd timer to be disabled when bus down Watchdog timer should be able to be stopped even firmware is not loaded. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Signed-off-by: Franky (Zhenhui) Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 152c477aa3eb8046b35aa7cde2782230064041d8 Author: Johannes Berg Date: Fri Oct 21 10:22:22 2011 +0200 mac80211: exit cooked monitor RX early if there are none If there are no cooked monitor interfaces, there's no point in building the radiotap RX header for the frame and iterating the interface list. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b83db862ffb871e3131e5d2160c741b288eea9aa Author: Arend van Spriel Date: Wed Oct 19 12:51:09 2011 +0200 brcm80211: fmac: use sk_buff list for handling frames in receive path The functions in the receive patch of the fullmac now use sk_buff list and skb_queue_xx() functions instead of dealing with list pointers in the sk_buff directly. Reported-by: Johannes Berg Reviewed-by: Franky (Zhenhui) Lin Reviewed-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 6cddafab54e9a17b2efefe982547865955a5ff3a Author: Larry Finger Date: Tue Oct 18 17:52:01 2011 -0500 rtl8192cu: Add new device IDs The latest vendor (non-mac80211) driver of 9/22/2011 shows some new device IDs for rtl8192cu. In addition, some typos in the table are fixed and one duplicate is removed. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 09c7dfa0f01e906671f303061babb7e6ddce2c92 Author: Arend van Spriel Date: Tue Oct 18 14:03:10 2011 +0200 brcm80211: util: remove function brcmu_format_hex() from brcmutil The function brcmu_format_hex() filled a string buffer with byte values from a data buffer. The calling function used this string buffer in a printk. Now the calling function uses the kernel function print_hex_dump_bytes(). Reported-by: Johannes Berg Reviewed-by: Alwin Beukers Reviewed-by: Roland Vossen Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 20e5ca16397648811a9e1ad531360c843e005a57 Author: Arend van Spriel Date: Tue Oct 18 14:03:09 2011 +0200 brcm80211: util: move brcmu_pktfrombuf() function to brcmfmac The function brcmu_pktfrombuf was only used in the brcmfmac source and has been moved there. It has been refactored to match its use. Reported-by: Johannes Berg Reviewed-by: Roland Vossen Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Franky (Zhenhui) Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 1433c59bcc404cd4bd54333d23ce06242d8e32b7 Author: Arend van Spriel Date: Tue Oct 18 14:03:08 2011 +0200 brcm80211: smac: remove phy api bypass in rate.h Obviously the phy api should be used to interface with the phy. In rate.h a table within phy was accessed directly by declaring the table extern in rate.h itself. This patch fixes this using the provided api function to obtain the table reference. This bypass was found by a sparse warning on the table not being defined static. Reviewed-by: Alwin Beukers Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 094b199bf707a41bc6748f0c2f0a23ecf5d2ccd6 Author: Arend van Spriel Date: Tue Oct 18 14:03:07 2011 +0200 brcm80211: smac: some local function made static in main.c In main.c a couple of functions were not static although they were only locally used. Sparse gave warnings on them and these functions have been made static. Reviewed-by: Alwin Beukers Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 888153b3db3fb10a048768c0c262951e2bc19719 Author: Arend van Spriel Date: Tue Oct 18 14:03:06 2011 +0200 brcm80211: smac: avoid sprom endianess conversions for crc8 check The data from the sprom consists of u16 values stored in little endian notation over which a crc8 was determined. To validate this the buffer needed to be converted for big-endian systems. Reading the sprom data is now done per byte so conversion is only done after a successful crc8 check. Reviewed-by: Alwin Beukers Reviewed-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 32cb68bf57b726f4b9161cdc110ffe45134aab69 Author: Arend van Spriel Date: Tue Oct 18 14:03:05 2011 +0200 brcm80211: smac: remove obsolete srom variables from n-phy The n-phy requested some srom variables that are no longer needed and consequently not present in the srom revision 8 and higher that this driver support. This code has been removed from the n-phy. Reviewed-by: Alwin Beukers Reviewed-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit c261bdf8acad56717cae233709808d8d9291ce36 Author: Roland Vossen Date: Tue Oct 18 14:03:04 2011 +0200 brcm80211: smac: indicate severe problems to Mac80211 In case the hardware crashes, a reinitialization internal to the driver was performed. Since Mac80211 must be in the know of such an event as well, ieee80211_restart_hw() is now called. Reviewed-by: Alwin Beukers Reviewed-by: Arend van Spriel Signed-off-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 0527781eb00550226d638b9be23d246c7ba796f6 Author: Roland Vossen Date: Tue Oct 18 14:03:03 2011 +0200 brcm80211: fmac: changed two scan related structures struct brcmf_scan_results contained a 1 element array, but in reality the number of scan results can be 0 or more, as indicated by the count field in the same struct. Array has be redefined to be 0 elements length to indicate the array is purely for reference. Reported-by: Johannes Berg Reviewed-by: Arend van Spriel Reviewed-by: Franky (Zhenhui) Lin Signed-off-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 6f09be0ad534160a1931f0c0f92e18a48bd888f9 Author: Roland Vossen Date: Tue Oct 18 14:03:02 2011 +0200 brmc80211: fmac: reworked next_bss() Moved function to where it is called and made it more readable. Reviewed-by: Arend van Spriel Reviewed-by: Franky (Zhenhui) Lin Signed-off-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit d34bf64fd32abfe8141c7206ca6da92832b4fe94 Author: Roland Vossen Date: Tue Oct 18 14:03:01 2011 +0200 brcm80211: fmac: annotated little endian struct with _le Made code more readable. Reviewed-by: Arend van Spriel Reviewed-by: Franky (Zhenhui) Lin Signed-off-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 3b64bd3e4d0ae667062893a6ef30326f7103144e Author: Roland Vossen Date: Tue Oct 18 14:03:00 2011 +0200 brcm80211: smac: removed support for SROM rev < 8 Supported chips contain SROM rev 8 and upwards. Reported-by: Hauke Mehrtens Reviewed-by: Alwin Beukers Reviewed-by: Arend van Spriel Signed-off-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 6b1a89afbf97f40797255b9543d441ce361dbb52 Author: Arend van Spriel Date: Tue Oct 18 14:02:59 2011 +0200 brcm80211: smac: drop "40MHz intolerant" flag from HT capability info The brcmsmac driver registered with mac80211 with HT capability info set to 40MHz intolerant. This cause any other station on the channel to be forced to use 20MHz. This flag has been removed. Reported-by: Johannes Berg Reviewed-by: Alwin Beukers Reviewed-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 230382140e043903aa1138bb7ca095d7d23fd164 Author: Alwin Beukers Date: Tue Oct 18 14:02:58 2011 +0200 brcm80211: removed duplicate defines Removed defines from aiutils.h also present in soc.h. Reported-by: Hauke Mehrtens Reviewed-by: Arend van Spriel Signed-off-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 73ffc2fcd53a041fdee1bade5ae471ce704be26d Author: Alwin Beukers Date: Tue Oct 18 14:02:57 2011 +0200 brcm80211: cleanup defines in main.c Signed-off-by: Alwin Beukers Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit ef5af74707e1921f9462e2cfeb336a21af6ae902 Author: Johannes Berg Date: Tue Oct 18 13:39:14 2011 +0200 mac80211: fix confusing parentheses There's an extra pair of parentheses here that is simply confusing because it implies a nesting that doesn't actually exist. Just remove it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5a5ee76e09b1f5a3a550127aecc2ea4d59f17963 Author: Dan Carpenter Date: Tue Oct 18 09:50:43 2011 +0300 iwmc3200wifi: add some more range checks My previous patch added a check to get_key() but missed a couple other places which need range checks. The problem here is that wifi drivers have different numbers of keys. The lower levels assume that they can have up to 4 default keys and 2 management keys but this driver only has the default keys so we could go past the end of the ->keys[] array. Signed-off-by: Dan Carpenter Acked-by: Samuel Ortiz Signed-off-by: John W. Linville commit ec3cbb9ce241da90b9d43e49996fae5082c6b6f7 Author: Dan Carpenter Date: Tue Oct 18 09:47:29 2011 +0300 rndis_wlan: add range check in del_key() Wifi drivers can have up to 6 keys but the rndis_wlan only has 4 so it needs to have its own checks to make sure we don't go out of bounds. The add_key() function already checks but I added some checks to del_key() and set_default_key(). Signed-off-by: Dan Carpenter Acked-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 48ef5c427ac2cfd12c150b38263d3ebb0d989647 Author: Dan Carpenter Date: Mon Oct 17 10:28:23 2011 +0300 ath9k_hw: min_t() casts u32 to int The code here treats very large values of "limit" as less than MAX_POWER_RATE because of the cast to int. We should do the compare as u32 instead. Signed-off-by: Dan Carpenter Reviewed-by: Pavel Roskin Signed-off-by: John W. Linville commit 59034591029e9f3b691fe02ff60938556dba5683 Author: Eliad Peller Date: Sun Oct 16 10:57:31 2011 +0200 mac80211: call set_wmm_default only for valid vifs mac80211 calls ieee80211_set_wmm_default (which in turn calls drv_conf_tx()) for every new interface, including "internal" ones (e.g. monitor interface, which the low-level driver doesn't know about). Limit this call only to valid interfaces. Reported-by: Johannes Berg Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit 3a8aea098c8ebe3437d877542d138085be33346c Author: Johannes Berg Date: Fri Oct 14 12:54:48 2011 -0700 iwlagn: use 6 Mbps rate for no-CCK scans When userspace requested that a scan not be done with CCK rates, use 6 Mbps. This is used for example for P2P scanning. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit fa06ec7944897e0b9d10097e8d8b140357af1845 Author: Don Fry Date: Fri Oct 14 12:54:46 2011 -0700 iwlagn: simplify iwl_alloc_all The iwl_alloc_all routine is only called once. Delete the argument and print an error in the calling routine if needed. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 8c3d11617d61c0b69e029fd4087370bc8cb2218d Author: Wey-Yi Guy Date: Fri Oct 14 12:54:45 2011 -0700 iwlwifi: HW rev for 105 and 135 series Set the HW rev. for both 105 and 135 series Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 5510697515fad6fe53d1f845ce21a13900339d82 Author: Don Fry Date: Fri Oct 14 12:54:44 2011 -0700 iwlagn: remove unnecessary type for tracing operations The device tracing routines only use the priv pointer as an opaque value. Change from a typed iwl_priv pointer to a null pointer and eliminate the need to include iwl_priv.h. CMD_ASYNC is defined in iwl_shared.h which is the only reason it is included. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 560124095f467c9920c25fa215ab1397dc37d0d6 Author: Johannes Berg Date: Fri Oct 14 12:54:43 2011 -0700 iwlagn: update wowlan API The WoWLAN API changed due to netdetect and we now have a more generic "D3 configuration" command that enables the sysassert & rfkill wakeup triggers. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 68aad78c5023b8aa82da99b47f9d8cf40e8ca453 Author: Rick Jones Date: Mon Nov 7 13:29:27 2011 +0000 sweep the floors and convert some .get_drvinfo routines to strlcpy Per the mention made by Ben Hutchings that strlcpy is now the preferred string copy routine for a .get_drvinfo routine, do a bit of floor sweeping and convert some of the as-yet unconverted ethernet drivers to it. Signed-off-by: Rick Jones Signed-off-by: David S. Miller commit 4c659c3976e81f9def48993cd00988d53d7379f2 Author: Johan Hedberg Date: Mon Nov 7 23:13:39 2011 +0200 Bluetooth: Add address type fields to mgmt messages that need them This patch adds address type info (typically BR/EDR vs LE) to management messages that need this. This also ensures conformance to the latest management API specification. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 86742e1eca319069490f6f20c2892baafc2a6922 Author: Johan Hedberg Date: Mon Nov 7 23:13:38 2011 +0200 Bluetooth: Update link key mgmt APIs to match latest spec. BR/EDR link keys have their own commands and events (separate from SMP) and the remove_keys command (previously remove_key) removes keys of any kind for the specified remote address. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit bd2d1334e1dd64765b29f9e1b592777c410ed121 Author: Johan Hedberg Date: Mon Nov 7 23:13:37 2011 +0200 Bluetooth: Fix response for mgmt_start_discovery when powered off We should return a ENETDOWN status response if the adapter is powered off (i.e. the HCI_UP flag isn't set). Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 889d07ee57e950790cbec81df7b4f9d8691ee0b4 Author: Johan Hedberg Date: Tue Nov 8 12:25:52 2011 +0200 Bluetooth: Remove redundant code from mgmt_block & mgmt_unblock There's no need to deal with mgmt_pending_cmd when blocking and unblocking devices since these actions are synchronous. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 3243553fdc108a0ef49b9e25bdea9c87b341413e Author: Johan Hedberg Date: Mon Nov 7 22:16:04 2011 +0200 Bluetooth: Convert power off mechanism to use delayed_work The power off code doesn't need to use its own custom timer since the delayed_work API provides the exact same functionality. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 2d7cee5836d6d466829b255b1290c9386d4e884f Author: Johan Hedberg Date: Mon Nov 7 22:16:03 2011 +0200 Bluetooth: Fix mgmt response when HCI_Write_Scan_Enable fails A proper mgmt_command_status should be returned to user-space if either discoverable or connectable enabling fails. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 16ab91ab48287aa4fc757f3618820f728ee4412f Author: Johan Hedberg Date: Mon Nov 7 22:16:02 2011 +0200 Bluetooth: Add timeout field to mgmt_set_discoverable Based on the revised mgmt API set_discoverable has a timeout parameter to specify how long the adapter will remain discoverable. A value of 0 means "indefinitively". Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 89352e7d3ab372ffad8efe2aa070e0b63df42b85 Author: Andre Guedes Date: Fri Nov 4 14:16:53 2011 -0300 Bluetooth: Periodic Inquiry and Discovery By using periodic inquiry command we're not able to detect correctly when the controller has started inquiry. Today we have this workaround in inquiry result event handler to set the HCI_INQUIRY flag when it sees the first inquiry result event. This workaround isn't enough because the device may be performing an inquiry but the HCI_INQUIRY flag is not set. For instance, if there is no device in range, no inquiry result event is generated, consequently, the HCI_INQUIRY flags isn't set when it should so. We rely on HCI_INQUIRY flag to implement the discovery procedure properly. So, as we aren't able to clear/set the HCI_INQUIRY flag in a reliable manner, periodic inquiry events shouldn't change the HCI_INQUIRY flag. Thus, due to that issue and in order to keep compatibility with userspace, periodic inquiry events shouldn't send mgmt discovering events. In future, we might track if periodic inquiry is enabled or not. By tracking this state we'll be able to do some improvements in Discovery such as failing MGMT_OP_START_DISCOVERY command in case periodic inquiry is on. We can also send no mgmt_device_found event if periodic inquiry is on. Signed-off-by: Andre Guedes Signed-off-by: Gustavo F. Padovan commit 023d50498d04c77b73eed11d849e436ef5639ed2 Author: Andre Guedes Date: Fri Nov 4 14:16:52 2011 -0300 Bluetooth: Create hci_cancel_inquiry() This patch adds a function to hci_core to cancel an ongoing inquiry. According to the Bluetooth spec, the inquiry cancel command should only be issued after the inquiry command has been issued, a command status event has been received for the inquiry command, and before the inquiry complete event occurs. As HCI_INQUIRY flag is only set just after an inquiry command status event occurs and it is cleared just after an inquiry complete event occurs, the inquiry cancel command should be issued only if HCI_INQUIRY flag is set. Additionally, cancel inquiry related code from stop_discovery() were replaced by a hci_cancel_inquiry() call. Signed-off-by: Andre Guedes Signed-off-by: Gustavo F. Padovan commit 2519a1fc82490eb13d69610f81fe84930f3b0e3f Author: Andre Guedes Date: Mon Nov 7 11:45:24 2011 -0300 Bluetooth: Create hci_do_inquiry() This patch adds a function to hci_core to carry out inquiry. All inquiry code from start_discovery() were replaced by a hci_do_inquiry() call. Signed-off-by: Andre Guedes Signed-off-by: Gustavo F. Padovan commit 66af7aaf9edff55b7995bbe1ff508513666d0671 Author: Andrei Emeltchenko Date: Mon Nov 7 14:20:33 2011 +0200 Bluetooth: EFS: parse L2CAP config response Add parsing Extended Flow Specification in L2CAP Config Response. Based upon haijun.liu series of patches (sent Sun, 22 Aug 2010) Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 9f5a0d7bf079e9e26771ad13ff1c2cb3adf80963 Author: Andrei Emeltchenko Date: Mon Nov 7 14:20:25 2011 +0200 Bluetooth: Define HCI reasons instead of magic number Use HCI error reasons instead of magic numbers. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit b693289406f0b8ca70ab77e745be6196d5740eb0 Author: Eyal Shapira Date: Tue Nov 8 15:56:55 2011 +0200 wl12xx: fix SDIO suspend/resume wl1271_suspend/resume() accessed the wrong struct and not wl1271 which caused it to think that wow was enabled when it wasn't. Signed-off-by: Eyal Shapira Signed-off-by: Luciano Coelho commit c31e494689128203ef04fb946f05a72d33eee948 Author: Eliad Peller Date: Sun Oct 23 08:21:55 2011 +0200 wl12xx: handle idle changes per-interface Idle changes are currently handled per hardware. However, some operations should be done only per-interface. Signed-off-by: Eliad Peller Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 8a0f2ee37810aa4a4f46baf08b2ad587e138eb58 Author: Eliad Peller Date: Tue Nov 1 09:23:52 2011 +0200 wl12xx: use p2p rate index when the skb has the NO_CCK flag If the skb contains the NO_CCK flag, use the p2p rate index (which contains only the OFDM rates) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit bfafba8a4c61841ab850887d6dfe2741ad037ab6 Author: Guy Eilam Date: Tue Nov 1 09:23:51 2011 +0200 wl12xx: set scan probe requests rate according to the no_cck flag Set the TX rate of probe requests during scanning according to the no_cck flag in the scan request struct. Signed-off-by: Guy Eilam Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 3f3fd78e33213b1684ac1e4deacbcf7ed1828e3c Author: Luciano Coelho Date: Thu Nov 3 08:44:43 2011 +0200 wl12xx: increase firmware upload chunk size The chunk size used during firmware upload was set to 512, which is the size of a single SDIO block (or two). This is very inneficient because we send one or two blocks only per SDIO transaction and don't get the full benefits of sdio block transfers. This patch increases the chunk size to 16K. This more than doubles the transfer speed both in wl127x and wl128x chips, with greater impact on the latter: wl127x: 512 bytes chunk -> ~132ms 16384 bytes chunk -> ~57ms wl128x: 512 bytes chunk -> ~216ms 16384 bytes chunk -> ~37ms Signed-off-by: Luciano Coelho commit e62c9ce4a4c0e0ffd5718e962ba4606cd5d0d600 Author: Luciano Coelho Date: Thu Nov 3 08:44:42 2011 +0200 wl12xx: use the same SDIO block size for all different chips The sdio driver uses a block size of 512 bytes by default. With our card, this doesn't work correctly because it sets the block size FBR in the chip too early (ie. before the chip is powered on). Thus, if we don't set it explicitly, block mode remains disabled in the chip. If we try to send more data than fits in one block, the sdio driver will split it into separate blocks before sending to the chip. This causes problems because the chip is not expecting multiple blocks. At the moment this is not a problem, because we use chunks of 512 bytes for firmware upload and the data is always sent in byte mode. In the next patch, we will change the chunk size to a bigger value, so this patch is a preparation for that. Signed-off-by: Luciano Coelho commit ce39defb5c6312a89a0c7be48797d6fb8fe9abad Author: Luciano Coelho Date: Thu Nov 3 08:44:41 2011 +0200 wl12xx: change blocksize alignment quirk to negative SDIO blocksize alignment support is now the rule, not the exception. To simplify the code in patches to come, invert the meaning of the quirk to be negative (ie. the quirk is set if the device does _not_ support blocksize alignment). Signed-off-by: Luciano Coelho commit 2f8e81ad42cee6e1503462105f540214b1fb3e54 Author: Eliad Peller Date: Tue Nov 1 15:12:50 2011 +0200 wl12xx: clear wl->vif on remove_interface wl->vif should be cleared on remove_interface() (rather than on stop()) even when only a single vif is supported, because during vif mode change stop() might not get called (e.g. because of monitor interface existence) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit fa5e13756ad5112842bd5e765d66b6c6074b74b7 Author: Eliad Peller Date: Mon Oct 31 12:24:49 2011 +0200 wl12xx: add vifs_state debugfs key Add debugfs key to dump information regarding the active vifs (similar to the driver_state debugfs key) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit a693534b1a46ee934606cec52b12baeaebba0342 Author: Arik Nemtsov Date: Mon Oct 24 17:25:20 2011 +0200 wl12xx: keep beacon-filtering enabled during STA operation Enable beacon filtering on STA init, and don't disable it when entering active mode. Otherwise dynamic-PS supports means we receive beacons from the current AP during any Tx/Rx performed by the driver. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit d6fa37c9ffa2a613943dd1c32f220a3e6e9eb77c Author: Eliad Peller Date: Tue Oct 11 11:57:39 2011 +0200 wl12xx: reconfigure rate policies on set_bitrate_mask The rate policies are configured only after association, resulting in auth req being sent in wrong rates. Reconfigure rate policies on bitrate mask change. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 679a673414473239d189b5b41ea4014b088be7b9 Author: Eliad Peller Date: Tue Oct 11 11:55:44 2011 +0200 wl12xx: couple role_start_dev with roc Device role is always started along with ROC. Couple them together by introducing new wl12xx_start_dev and wl12xx_stop_dev functions. By using these functions, we solve a bug that occured during channel switch - we started the dev role on one channel, and ROCed on a different one. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 36f7fc7e9ac72507ab7bf6caf77ad252c12ab37e Author: Johan Hedberg Date: Fri Nov 4 00:17:45 2011 +0200 Bluetooth: Clean up logic in hci_cc_write_scan_enable This patch adds a new label to hci_cc_write_scan_enable to avoid unnecessary indentation. This will be convenient especially when new code for the discoverable timeout gets added. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit abc545b8efe3d50d649590df4b88cc652fd057f1 Author: Szymon Janc Date: Thu Nov 3 16:05:44 2011 +0100 Bluetooth: Add debug print to l2cap_chan_create Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit b24752fe655e9427240a5fe840914b94e5f9c2bc Author: Johan Hedberg Date: Thu Nov 3 14:40:33 2011 +0200 Bluetooth: Fix mgmt response when adapter goes down or is removed When an adapter gets powered off or is removed any pending commands should receive a ENETDOWN or ENODEV status response. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 08add513caa8930b8f7b9d5837a7dda624741745 Author: Mat Martineau Date: Wed Nov 2 16:18:36 2011 -0700 Bluetooth: Guarantee BR-EDR device will be registered as hci0 It's convenient to use the HCI device index the AMP controller id, but the spec requires that an AMP controller never has id 0. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Acked-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 8d5a04a130e3493c17eae7a881102ab1a4283736 Author: Mat Martineau Date: Wed Nov 2 16:18:35 2011 -0700 Bluetooth: Add signal handlers for channel moves AMP channels can be moved between BR/EDR and AMP controllers using a sequence of signals. Every attempted channel move involves a series of four signals: Move Initiator Move Responder | | | Move Channel Request | | ----------------------------> | | | | Move Channel Response | | <---------------------------- | | | | Move Channel Confirm | | ----------------------------> | | | | Move Channel Confirm Response | | <---------------------------- | All four signals are sent even if the move fails. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Acked-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 50a147cd9c7523d1b11d0284a0be7891631517dd Author: Mat Martineau Date: Wed Nov 2 16:18:34 2011 -0700 Bluetooth: Use symbolic values for the fixed channel map The A2MP fixed channel bit is only set when high-speed mode is enabled. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Acked-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit f94ff6fff7b8b5896a173d165e9ec579c83067f2 Author: Mat Martineau Date: Wed Nov 2 16:18:32 2011 -0700 Bluetooth: Add signal handlers for channel creation Handle both "create channel request" and "create channel response". Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Acked-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 2ea664822af6705574dfbbf8c77fc7d75a94e9b3 Author: Mat Martineau Date: Wed Nov 2 16:18:30 2011 -0700 Bluetooth: Add channel policy to getsockopt/setsockopt Each channel has a policy to require BR/EDR (the default), prefer BR/EDR, or prefer AMP. Check for valid policy value and L2CAP mode. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Acked-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 6b3c7104677a731cf6d3638e09d9d6c530b9bc25 Author: Andrei Emeltchenko Date: Wed Nov 2 09:57:10 2011 +0200 Bluetooth: Initialize tx_win_max for fixed channel tx_win_max is initialized during L2CAP configuration phase. For fixed channels (e.g. A2MP) we want to have it initialized when channel is created. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit b8aabfc92249b239c425da7e4ca85b7e4855e984 Author: Luiz Augusto von Dentz Date: Wed Nov 2 15:52:04 2011 +0200 Bluetooth: use buffer priority to mark URB_ISO_ASAP flag Signed-off-by: Luiz Augusto von Dentz Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 02b20f0bb661829cbd431e5deb2474e909e65cec Author: Luiz Augusto von Dentz Date: Wed Nov 2 15:52:03 2011 +0200 Bluetooth: recalculate priorities when channels are starving To avoid starvation the priority is recalculated so that the starving channels are promoted to HCI_PRIO_MAX - 1 (6). HCI_PRIO_MAX (7) is considered special, because it requires CAP_NET_ADMIN capability which can be used to provide more guaranties, so it is not used when promoting. Signed-off-by: Luiz Augusto von Dentz Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit ec1cce24d5950e797f10650abf7890ead67c6e64 Author: Luiz Augusto von Dentz Date: Wed Nov 2 15:52:02 2011 +0200 Bluetooth: handle priority change within quote The quote is calculated based on the first buffer in the queue so if the priority changes to something lower than the priority of the first skb the quote needs to be recalculated. Signed-off-by: Luiz Augusto von Dentz Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 73d80deb7bdf0171f22e76dc2429c1f99eff90e2 Author: Luiz Augusto von Dentz Date: Wed Nov 2 15:52:01 2011 +0200 Bluetooth: prioritizing data over HCI This implement priority based scheduler using skbuffer priority set via SO_PRIORITY socket option. It introduces hci_chan_hash (list of HCI Channel/hci_chan) per connection, each item in this list refer to a L2CAP connection and it is used to queue the data for transmission. Signed-off-by: Luiz Augusto von Dentz Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 3c32fa93e5a54cd54e52541892857b0c7164a61e Author: Gustavo F. Padovan Date: Thu Oct 20 17:21:34 2011 -0200 Bluetooth: Fix hidp_get_connection() This functions needs crtl_sock and intr_sock to be set first. Signed-off-by: Gustavo F. Padovan commit 25df0845e054f70a8735ee0184739472d8a573c9 Author: David Herrmann Date: Tue Nov 1 17:27:50 2011 +0100 Bluetooth: hidp: Fix module reference cleanup Calling module_put(THIS_MODULE) is *never* safe when we cannot go sure that we own at least two references. This is because the call may unload our module before it returns and then the "return" will jump into invalid memory. Gladly, module.h provides a wrapper for kthread-users: module_put_and_exit(). This puts our module and then exits the kthread without returning to the module. This patch fixes the hidp kthread to use this wrapper instead of manually freeing its own reference. See nfsd or lockd for other kthreads using this. Calling __module_get() inside the kthread is safe as the hidp module will always wait until the kthread sets "waiting_for_startup" to 0. Signed-off-by: David Herrmann Signed-off-by: Gustavo F. Padovan commit 7f103a0d23d2778b86cea407c1992522d41ead81 Author: David Herrmann Date: Wed Oct 26 11:22:46 2011 +0200 Bluetooth: bfusb: Fix error path on firmware load When loading the usb-configuration we do not signal the end of configuration on memory allocation error. This patch moves the memory allocation to the top so every error path uses "goto error" now to correctly send the usb-ctrl message when detecting some error. This also replaces GFP_ATOMIC with GFP_KERNEL as we are allowed to sleep here. Signed-off-by: David Herrmann Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit deceb024f1083d7eecaba7f2ee65d57f31f91bd5 Author: David Herrmann Date: Tue Oct 25 21:13:36 2011 +0200 Bluetooth: bcm203x: Use GFP_KERNEL in workqueue A workqueue is allowed to sleep so we can safely use GFP_KERNEL instead of GFP_ATOMIC. This is still legacy code when the driver used timer BHs and not a worqueue. Signed-off-by: David Herrmann Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 844e4b76cc4806827024cccf35a9beaf13d27f3d Author: David Herrmann Date: Wed Oct 26 11:13:13 2011 +0200 Bluetooth: bcm203x: Fix race condition on disconnect When disconnecting a bcm203x device we kill and destroy the usb-urb, however, there might still be a pending work-structure which resubmits the now invalid urb. To avoid this race condition, we simply set a shutdown-flag and synchronously kill the worker first. This also adds a comment to all schedule_work()s, as it is really not clear that they are used as replacement for short timers (which can be seen in the git history). Signed-off-by: David Herrmann Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 52a1020e80beece986002f673eca24dae6255b55 Author: David Herrmann Date: Tue Oct 25 12:09:52 2011 +0200 Bluetooth: ath3k: Use GFP_KERNEL instead of GFP_ATOMIC We are allowed to sleep here so no need to use GFP_ATOMIC. The caller (ath3k_probe) calls request_firmware() which definitely sleeps. Hence, we should avoid using GFP_ATOMIC. Signed-off-by: David Herrmann Signed-off-by: Gustavo F. Padovan commit df164df9a77979d1774ede353988c1a62584594b Author: Johan Hedberg Date: Mon Oct 24 22:36:26 2011 +0200 Bluetooth: Set HCI_MGMT flag only in read_controller_info The HCI_MGMT flag should only be set when user space requests the full controller information. This way we avoid potential issues with setting change events ariving before the actual read_controller_info command finishes. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 43611a7b16038753e0510dfb0c038c80a10c80c3 Author: Szymon Janc Date: Mon Oct 17 23:05:49 2011 +0200 Bluetooth: Increase HCI reset timeout in hci_dev_do_close I've noticed that my CSR usb dongle was not working if it was plugged in when PC was booting. It looks like I get two HCI reset command complete events (see hcidump logs below). The root cause is reset called from off_timer. Timeout for this reset to complete is set to 250ms and my bt dongle requires more time for replying with command complete event. After that, chip seems to reply with reset command complete event for next non-reset command. Attached patch increase mentioned timeout to HCI_INIT_TIMEOUT, this value is already used for timeouting hci_reset_req in hci_dev_reset(). This might also be related to BT not working after suspend that was reported here some time ago. Hcidump log: 2011-09-12 23:13:27.379465 < HCI Command: Reset (0x03|0x0003) plen 0 2011-09-12 23:13:27.380797 > HCI Event: Command Complete (0x0e) plen 4 Reset (0x03|0x0003) ncmd 1 status 0x00 2011-09-12 23:13:27.380859 < HCI Command: Read Local Supported Features (0x04|0x000 3) plen 0 2011-09-12 23:13:27.760789 > HCI Event: Command Complete (0x0e) plen 4 Reset (0x03|0x0003) ncmd 1 status 0x00 2011-09-12 23:13:27.760831 < HCI Command: Read Local Version Information (0x04|0x00 01) plen 0 2011-09-12 23:13:27.764780 > HCI Event: Command Complete (0x0e) plen 12 Read Local Version Information (0x04|0x0001) ncmd 1 status 0x00 HCI Version: 1.1 (0x1) HCI Revision: 0x36f LMP Version: 1.1 (0x1) LMP Subversion: 0x36f Manufacturer: Cambridge Silicon Radio (10) Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit db54467a89266c02f9ce6c6db1d193365cff62a4 Author: Szymon Janc Date: Mon Sep 26 14:19:47 2011 +0200 Bluetooth: rfcomm: Fix sleep in invalid context in rfcomm_security_cfm This was triggered by turning off encryption on ACL link when rfcomm was using high security. rfcomm_security_cfm (which is called from rx task) was closing DLC and this involves sending disconnect message (and locking socket). Move closing DLC to rfcomm_process_dlcs and only flag DLC for closure in rfcomm_security_cfm. BUG: sleeping function called from invalid context at net/core/sock.c:2032 in_atomic(): 1, irqs_disabled(): 0, pid: 1788, name: kworker/0:3 [] (unwind_backtrace+0x0/0x108) from [] (dump_stack+0x20/0x24) [] (dump_stack+0x20/0x24) from [] (__might_sleep+0x110/0x12c) [] (__might_sleep+0x110/0x12c) from [] (lock_sock_nested+0x2c/0x64) [] (lock_sock_nested+0x2c/0x64) from [] (l2cap_sock_sendmsg+0x58/0xcc) [] (l2cap_sock_sendmsg+0x58/0xcc) from [] (sock_sendmsg+0xb0/0xd0) [] (sock_sendmsg+0xb0/0xd0) from [] (kernel_sendmsg+0x3c/0x44) [] (kernel_sendmsg+0x3c/0x44) from [] (rfcomm_send_frame+0x50/0x58) [] (rfcomm_send_frame+0x50/0x58) from [] (rfcomm_send_disc+0x78/0x80) [] (rfcomm_send_disc+0x78/0x80) from [] (__rfcomm_dlc_close+0x2d0/0x2fc) [] (__rfcomm_dlc_close+0x2d0/0x2fc) from [] (rfcomm_security_cfm+0x140/0x1e0) [] (rfcomm_security_cfm+0x140/0x1e0) from [] (hci_event_packet+0x1ce8/0x4d84) [] (hci_event_packet+0x1ce8/0x4d84) from [] (hci_rx_task+0x1d0/0x2d0) [] (hci_rx_task+0x1d0/0x2d0) from [] (tasklet_action+0x138/0x1e4) [] (tasklet_action+0x138/0x1e4) from [] (__do_softirq+0xcc/0x274) [] (__do_softirq+0xcc/0x274) from [] (do_softirq+0x60/0x6c) [] (do_softirq+0x60/0x6c) from [] (local_bh_enable_ip+0xc8/0xd4) [] (local_bh_enable_ip+0xc8/0xd4) from [] (_raw_spin_unlock_bh+0x48/0x4c) [] (_raw_spin_unlock_bh+0x48/0x4c) from [] (data_from_chip+0xf4/0xaec) [] (data_from_chip+0xf4/0xaec) from [] (send_skb_to_core+0x40/0x178) [] (send_skb_to_core+0x40/0x178) from [] (cg2900_hu_receive+0x15c/0x2d0) [] (cg2900_hu_receive+0x15c/0x2d0) from [] (hci_uart_tty_receive+0x74/0xa0) [] (hci_uart_tty_receive+0x74/0xa0) from [] (flush_to_ldisc+0x188/0x198) [] (flush_to_ldisc+0x188/0x198) from [] (process_one_work+0x144/0x4b8) [] (process_one_work+0x144/0x4b8) from [] (worker_thread+0x198/0x468) [] (worker_thread+0x198/0x468) from [] (kthread+0x98/0xa0) [] (kthread+0x98/0xa0) from [] (kernel_thread_exit+0x0/0x8) Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 164a6e78990f6201dc3105ff88335ca91392a427 Author: Johan Hedberg Date: Tue Nov 1 17:06:44 2011 +0200 Bluetooth: Fix command complete/status for discovery commands This patch adds the necessary code to send proper command status or command complete events to the start/stop discovery management commands. Before this patch these events were completely missing. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 262038fcb2a50e9b5553243452918fda08cdf83d Author: Luiz Augusto von Dentz Date: Tue Nov 1 10:58:58 2011 +0200 Bluetooth: make use sk_priority to priritize RFCOMM packets Signed-off-by: Luiz Augusto von Dentz Signed-off-by: Gustavo F. Padovan commit 5e59b791c3561e2fbb4aee17df3505ad25c16b7a Author: Luiz Augusto von Dentz Date: Tue Nov 1 10:58:57 2011 +0200 Bluetooth: set skbuffer priority based on L2CAP socket priority This uses SO_PRIORITY to set the skbuffer priority field Signed-off-by: Luiz Augusto von Dentz Signed-off-by: Gustavo F. Padovan commit 8035ded466049ca2fe8c04564a0fa00f222abe3f Author: Luiz Augusto von Dentz Date: Tue Nov 1 10:58:56 2011 +0200 Bluetooth: replace list_for_each with list_for_each_entry whenever possible When all items in the list have the same type there is no much of a point to use list_for_each except if you want to use the list pointer itself. Signed-off-by: Luiz Augusto von Dentz Signed-off-by: Gustavo F. Padovan commit 457f48507deb0e8c8dd299c7d8dce7c2c0e291e8 Author: Andrei Emeltchenko Date: Mon Oct 31 16:17:21 2011 +0200 Bluetooth: correct debug output l2cap_set_timer function prints sk instead of chan pointer. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit c6337ea6e5771a3c51c1ac7295a16f390220abe1 Author: Andrei Emeltchenko Date: Thu Oct 20 17:02:44 2011 +0300 Bluetooth: remove magic offset and size make code readable by removing magic numbers Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 3e6b3b95f26e1253cd429cf949b9c41598ba3033 Author: Gustavo F. Padovan Date: Tue Nov 1 14:06:23 2011 -0200 Bluetooth: small styles clean ups to l2cap_core.c Signed-off-by: Gustavo F. Padovan commit 0e8b207e8a4442f1a662e1a3827e61e40279630a Author: Andrei Emeltchenko Date: Mon Oct 17 14:35:32 2011 +0300 Bluetooth: EFS: implement L2CAP config pending state Add L2CAP Config Pending state for EFS. Currently after receiving Config Response Pending respond with Config Response Success. ... > ACL data: handle 1 flags 0x02 dlen 16 L2CAP(s): Connect rsp: dcid 0x0040 scid 0x0040 result 0 status 0 Connection successful > ACL data: handle 1 flags 0x02 dlen 45 L2CAP(s): Config req: dcid 0x0040 flags 0x00 clen 33 RFC 0x03 (Enhanced Retransmission, TxWin 63, MaxTx 3, RTo 0, MTo 0, MPS 1009) EFS (Id 0x01, SerType Best Effort, MaxSDU 0xffff, SDUitime 0xffffffff, AccLat 0xffffffff, FlushTO 0x0000ffff) < ACL data: handle 1 flags 0x00 dlen 45 L2CAP(s): Config req: dcid 0x0040 flags 0x00 clen 33 RFC 0x03 (Enhanced Retransmission, TxWin 63, MaxTx 3, RTo 0, MTo 0, MPS 498) EFS (Id 0x01, SerType Best Effort, MaxSDU 0xffff, SDUitime 0xffffffff, AccLat 0xffffffff, FlushTO 0x0000ffff) < ACL data: handle 1 flags 0x00 dlen 47 L2CAP(s): Config rsp: scid 0x0040 flags 0x00 result 4 clen 33 Pending MTU 672 RFC 0x03 (Enhanced Retransmission, TxWin 63, MaxTx 3, RTo 2000, MTo 12000, MPS 498) EFS (Id 0x01, SerType Best Effort, MaxSDU 0xffff, SDUitime 0xffffffff, AccLat 0xffffffff, FlushTO 0x0000ffff) > ACL data: handle 1 flags 0x02 dlen 47 L2CAP(s): Config rsp: scid 0x0040 flags 0x00 result 4 clen 33 Pending MTU 672 RFC 0x03 (Enhanced Retransmission, TxWin 63, MaxTx 3, RTo 2000, MTo 12000, MPS 498) EFS (Id 0x01, SerType Best Effort, MaxSDU 0xffff, SDUitime 0xffffffff, AccLat 0xffffffff, FlushTO 0x0000ffff) > ACL data: handle 1 flags 0x02 dlen 14 L2CAP(s): Config rsp: scid 0x0040 flags 0x00 result 0 clen 0 Success < ACL data: handle 1 flags 0x00 dlen 14 L2CAP(s): Config rsp: scid 0x0040 flags 0x00 result 0 clen 0 Success < ACL data: handle 1 flags 0x00 dlen 510 L2CAP(d): cid 0x0040 len 506 ext_ctrl 0x00010000 fcs 0xebe0 [psm 4113] I-frame: Start (len 672) TxSeq 0 ReqSeq 0 ... Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit c3eae82a844bb33e8182c7ee81828516b51ad642 Author: Paul Fertser Date: Sat Oct 29 21:52:49 2011 +0400 Bluetooth: ath3k: output firmware filename when request_firmware failed This makes it much easier for the users to understand why the driver refuses to load when the firmware is unavailable. Signed-off-by: Paul Fertser Signed-off-by: Gustavo F. Padovan commit 59735631d24e3463f139a21255e0db94bc59081e Author: David Herrmann Date: Wed Oct 26 10:43:19 2011 +0200 Bluetooth: Make hci_unregister_dev return void hci_unregister_dev cannot fail and always returns 0. The drivers already ignore the return value so we can safely make it return void. Signed-off-by: David Herrmann Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 13ea4015d37d2dbe597580898b5fafbe6f593f72 Author: David Herrmann Date: Wed Oct 26 10:43:18 2011 +0200 Bluetooth: Ignore hci_unregister_dev return value Make all bluetooth drivers ignore the return value of hci_unregister_dev as it always returns 0. In the next step, hci_unregister_dev can be modified to return void. Some of the drivers already ignore the return value (including btusb), hence, this will increase consitency in the bluetooth drivers. Signed-off-by: David Herrmann Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 96af7391b752cf3d2de3aef8f03c45ba76d3ac5e Author: David Herrmann Date: Mon Oct 24 15:30:58 2011 +0200 Bluetooth: Replace rfcomm tty tasklet by workqueue Remove old tasklets and replace by workqueue. To avoid reentrancy (which tasklets always avoid) we use the system_nrt_wq. Signed-off-by: David Herrmann Signed-off-by: Gustavo F. Padovan commit 5ada9913630d48438f2e07551af43cbf297372d4 Author: David Herrmann Date: Mon Oct 24 15:30:57 2011 +0200 Bluetooth: Return proper error codes on rfcomm tty init Forward error codes from tty core to the rfcomm_init caller instead of using generic -1 errors. Signed-off-by: David Herrmann Signed-off-by: Gustavo F. Padovan commit 42dceae2819b5ac6fc9a0d414ae05a8960e2a1d9 Author: Andrei Emeltchenko Date: Mon Oct 17 14:35:30 2011 +0300 Bluetooth: EFS: parse L2CAP config request Add parsing Extended Flow Specification option in L2CAP Config Request Based upon haijun.liu series of patches (sent Sun, 22 Aug 2010) Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit c8f791626a8840fe60a05ab55468dfb3922cb35a Author: Andrei Emeltchenko Date: Mon Oct 17 12:19:59 2011 +0300 Bluetooth: EWS: fix max_pdu calculation Fix max_pdu_size calculationin for RFC. Change magic number to human readable defines. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 03a512137da58e18bec15b46c409a62e0250447e Author: Andrei Emeltchenko Date: Mon Oct 17 12:19:58 2011 +0300 Bluetooth: EWS: remove magic numbers in l2cap Remove magic numbers for FCS, SDU LEN and PSM LEN when calculating packet payload. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 836be934218eb80abc5515d584c329c26951086f Author: Andrei Emeltchenko Date: Mon Oct 17 12:19:57 2011 +0300 Bluetooth: EWS: support extended seq numbers Adds support for extended sequence numbers found in extended control fields. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 88843ab06b6f279bff1c32e4218541ac7efe2600 Author: Andrei Emeltchenko Date: Mon Oct 17 12:19:56 2011 +0300 Bluetooth: EWS: handling different Control fields There are three different Control Field formats: the Standard Control Field, the Enhanced Control Field, and the Extended Control Field. Patch adds function to handle all those fields seamlessly. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit e5b82e58922749e79b84b85cfc6845cbfd1908ed Author: Gustavo F. Padovan Date: Sat Oct 15 18:03:15 2011 -0300 Bluetooth: Fix missing cmd_status in mgmt set_service_cache() was missing a cmd_status for the error case. Signed-off-by: Gustavo F. Padovan commit 12dc0743015fee37f4090f0937c898294cd2d133 Author: Gustavo F. Padovan Date: Fri Oct 14 19:32:56 2011 -0300 Bluetooth: Use list_for_each_entry() in mgmt Signed-off-by: Gustavo F. Padovan commit b7059136d765603f2cff05d5e2d4850a4e505ec8 Author: Gustavo F. Padovan Date: Fri Oct 14 19:23:27 2011 -0300 Bluetooth: Add missing cmd_status() in mgmt Improve error handling in mgmt load_keys() Signed-off-by: Gustavo F. Padovan commit 56b7d137855eb02cba8aecbb67d49c24b43644b0 Author: Gustavo F. Padovan Date: Fri Oct 14 19:20:01 2011 -0300 Bluetooth: return proper error if sock_queue_rcv_skb() fails Improve error handling at cmd_status() and cmd_complete() Signed-off-by: Gustavo F. Padovan commit 33ca954daf1ac03c86237b73235d8b0856d84981 Author: David Herrmann Date: Sat Oct 8 14:58:49 2011 +0200 Bluetooth: Forward errors from hci_register_dev We need to catch errors when calling hci_add_sysfs() and return them to the caller to avoid kernel oopses on device_add() failure. Signed-off-by: David Herrmann Signed-off-by: Gustavo F. Padovan commit ce242970f0934869483221c410d09c00bc8967e7 Author: David Herrmann Date: Sat Oct 8 14:58:48 2011 +0200 Bluetooth: Rename sysfs un/register to add/del As we introduced hci_init_sysfs() we should also rename hci_register_sysfs() and hci_unregister_sysfs() to hci_add_sysfs() and hci_del_sysfs() like we do with hci_conn_add/del_sysfs(). It looks more consistent now. Signed-off-by: David Herrmann Signed-off-by: Gustavo F. Padovan commit 0ac7e7002c4d0841197e9ccb8cfecc5b8c58b200 Author: David Herrmann Date: Sat Oct 8 14:58:47 2011 +0200 Bluetooth: Fix hci core device initialization We must not call device_del() if we didn't use device_add(). See module.c for comments on that. Therefore, we need to call device_initialize() when allocating the hci device and later device_add() instead of device_register(). This also fixes a bug when hci_register_dev() failed and we call hci_free_dev() without a valid core device. hci_free_dev() segfaults while calling put_device() on invalid memory. We already do this with hci_conn connections (hci_conn_init_sysfs()) so they do not need to be fixed. Signed-off-by: David Herrmann Signed-off-by: Gustavo F. Padovan commit 928abaa777501ddab94b1b49aae485a2c730d303 Author: Andrei Emeltchenko Date: Wed Oct 12 10:53:57 2011 +0300 Bluetooth: AMP: read local amp info HCI command Implementation of Read Local AMP Info Command Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit f89cef09cee60a9715150a6e335dce4e64df7400 Author: Andrei Emeltchenko Date: Thu Oct 13 16:18:55 2011 +0300 Bluetooth: EFS: add efs option in L2CAP conf req Add Extended Flow Specification option when building L2CAP Configuration Request. EFS is added if both the local and remote L2CAP entities have indicated support for the Extended Flow Specification for BR/EDR. ... < ACL data: handle 1 flags 0x00 dlen 10 L2CAP(s): Info req: type 2 > ACL data: handle 1 flags 0x02 dlen 16 L2CAP(s): Info rsp: type 2 result 0 Extended feature mask 0x01f8 Enhanced Retransmission mode Streaming mode FCS Option Extended Flow Specification Fixed Channels Extended Window Size ... < ACL data: handle 1 flags 0x00 dlen 45 L2CAP(s): Config req: dcid 0x0040 flags 0x00 clen 33 RFC 0x03 (Enhanced Retransmission, TxWin 63, MaxTx 3, RTo 0, MTo 0, MPS 498) EFS (Id 0x01, SerType Best Effort, MaxSDU 0xffff, SDUitime 0xffffffff, AccLat 0xffffffff, FlushTO 0x0000ffff) ... Based upon haijun.liu series of patches (sent Sun, 22 Aug 2010) Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 8f7975b153faab4b78369458a892dd705e7c395b Author: Andrei Emeltchenko Date: Thu Oct 13 16:18:54 2011 +0300 Bluetooth: EFS: assign default values in chan add Assign default EFS values when creating L2CAP channel Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit e4ca6d9854dc252e294007fc91249ce34d9a82e8 Author: Andrei Emeltchenko Date: Tue Oct 11 13:37:52 2011 +0300 Bluetooth: EWS: recalculate L2CAP header size Recalculate length of L2CAP header based on Control field length. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit e37817353bf94a4e00faad78ffb8cc07f8556252 Author: Andrei Emeltchenko Date: Tue Oct 11 13:37:50 2011 +0300 Bluetooth: EWS: rewrite handling POLL (P) bit Handle POLL (P) bit in L2CAP ERTM using information about control field type. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 03f6715d463e6ee3e724ac64a9bedf1ad7d2b9b4 Author: Andrei Emeltchenko Date: Tue Oct 11 13:37:49 2011 +0300 Bluetooth: EWS: rewrite handling FINAL (F) bit Handle final (F) bit in L2CAP using information about control field type. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 793c2f1cb9d722231290daf1744e6c5b7269f445 Author: Andrei Emeltchenko Date: Tue Oct 11 13:37:48 2011 +0300 Bluetooth: EWS: rewrite check frame type function Check frame function uses now information about control field type. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit fb45de7dbaf2cf8eec43a88bdb98889f0d4d5d5f Author: Andrei Emeltchenko Date: Tue Oct 11 13:37:47 2011 +0300 Bluetooth: EWS: rewrite L2CAP ERTM txseq calculation L2CAP ERTM txseq calculation uses now information about control field type. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 0b209fae88c6e844f2ee9d4d791f0f31f7f42ae9 Author: Andrei Emeltchenko Date: Tue Oct 11 13:37:46 2011 +0300 Bluetooth: EWS: rewrite reqseq calculation reqseq calculation uses now information about control field type. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 7e0ef6ee13ecdf38c2c8b0b0c8ef729710b994eb Author: Andrei Emeltchenko Date: Tue Oct 11 13:37:45 2011 +0300 Bluetooth: EWS: rewrite handling SAR bits Segmentation and Reassembly (SAR) occupies different windows in standard and extended control fields. Convert hardcoded masks to relative ones and use shift to access SAR bits. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit ab784b7383735681660ccbdda4569fff196c2672 Author: Andrei Emeltchenko Date: Tue Oct 11 13:37:44 2011 +0300 Bluetooth: EWS: rewrite handling Supervisory (S) bits Supervisory bits occupy different windows in standard / extended control fields. Convert hardcoded masks to relative ones and use shift to access S-bit window. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 6327eb980d2ff0c96363b81cb0ce580165cb81b8 Author: Andrei Emeltchenko Date: Tue Oct 11 13:37:42 2011 +0300 Bluetooth: EWS: extended window size option support Adds support for extended window size (EWS) config option. We enable EWS feature in L2CAP Info RSP when hs enabled. EWS option is included in L2CAP Config Req if tx_win (which is set via socket) bigger then standard default value (63) && hs enabled && remote side supports EWS feature. Using EWS selects extended control field in L2CAP. Code partly based on Qualcomm and Atheros patches sent upstream a year ago. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 0f1680147ce2509383e053fa843020e0e9f3c6ce Author: Eliad Peller Date: Tue Oct 11 13:52:25 2011 +0200 wl12xx: handle injected packets Injected packets are sent with no vif, causing the wl12xx to NULL-dereference in multiple places. Furthermore, injected packets are currently not sent at all, as system_hlid doesn't belong to any specific role, so wl1271_skb_dequeue() never return its packets. Handle both these problems. Reported-by: Luciano Coelho Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 669bb3962bd7f781879222eeb7263d527551dd5e Author: Gustavo F. Padovan Date: Tue Oct 11 15:57:01 2011 -0300 Bluetooth: Fix permission of enable_le param With 0444 it is impossible to change the param, changing it to 0644. Signed-off-by: Gustavo F. Padovan commit ccb62000d5e92772b6d5c2acce2f56263886ed89 Author: Luciano Coelho Date: Fri Oct 7 15:54:15 2011 +0300 wl12xx: use the same plat dev name for both SPI and SDIO There's no need to have the bus name included in the platform device name that we create. The core driver doesn't need to know about the type of bus it uses. Any differences between the buses that need to be handled differently in the core, can be passed in the platform data (as the pwr_in_suspend boolean does). Use "wl12xx" for the device name in both bus drivers. Rename the platform driver name to "wl12xx_driver", just to differentiate from the platform device names. Signed-off-by: Luciano Coelho commit 48309fd477ef867babb6819f67fe082c133a5fa9 Author: Shahar Lev Date: Fri Oct 7 18:17:25 2011 +0200 wl12xx: remove warning message during IBSS Tx mac80211 sets the carrier on an IBSS interface even when no network is joined. Ignore garbage frames transmitted on a disconnected IBSS interface without printing warnings. Signed-off-by: Shahar Lev [merged with wlvif changes] Signed-off-by: Luciano Coelho commit 43bd0f32d5cf6593e420b26e2c1c41dc371a47d7 Author: Andrei Emeltchenko Date: Tue Oct 11 14:04:34 2011 +0300 Bluetooth: convert role_switch variable to flag in l2cap chan role_switch variable inside l2cap_chan is a logical one and can be easily converted to flag Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 15770b1ab9747de47604da3494e187056b120aff Author: Andrei Emeltchenko Date: Tue Oct 11 14:04:33 2011 +0300 Bluetooth: convert force_active variable to flag in l2cap chan force_active variable inside l2cap_chan is a logical one and can be easily converted to flag Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit ecf61bdba845b5e77cf1d5e8620ef54abcfa50ef Author: Andrei Emeltchenko Date: Tue Oct 11 14:04:32 2011 +0300 Bluetooth: convert force_reliable variable to flag in l2cap chan force_reliable variable inside l2cap_chan is a logical one and can be easily converted to flag Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit d57b0e8b8990419b7b7ae0dda5cc4452720b3c7c Author: Andrei Emeltchenko Date: Tue Oct 11 14:04:31 2011 +0300 Bluetooth: convert flushable variable to flag in l2cap chan flushable variable inside l2cap_chan is a logical one and can be easily converted to flag. Added flags in l2cap_chan structure. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit e5d3625e8741d204e8c3f0a959f92c9e901519aa Author: Luciano Coelho Date: Fri Oct 7 14:33:29 2011 +0300 wl12xx: spi: use dev_err instead of wl1271_error To prevent a useless dependency between the spi module and the wl12xx module, we need to replace the wl1271_error macros with dev_err. At the same time, remove the SPI data hexdump, since this produces way too much data and is not particularly useful. There's no print_hex_dump() equivalent for dynamic debug, so it's hard to control when the dumps are printed out. Signed-off-by: Luciano Coelho commit 3c4d386868dcbfb9fa51427e314fde39ee70b0ff Author: Luciano Coelho Date: Fri Oct 7 14:14:25 2011 +0300 wl12xx: sdio: use dev_dbg instead of wl1271_debug To prevent a useless dependency between the sdio module and the wl12xx module, we need to replace the wl1271_debug macros (and friends) for dev_dbg and other equivalents. At the same time, remove the SDIO data hexdump, since this produces way too much data and is not particularly useful. There's not print_hex_dump() equivalent for dynamic debug, so it's hard to control when the dumps are printed out. Signed-off-by: Luciano Coelho commit 0f4e31222a2c0b93f25a87effd2033cb78c7a79c Author: Luciano Coelho Date: Fri Oct 7 11:02:42 2011 +0300 wl12xx: move debugging definitions to a separate file Separate the debugging macros and other definitions to a new debug.h file. This is be needed because the sdio and spi modules don't need to depend on the wl12xx module anymore, but still need to include wl12xx.h. Currently they do depend on it, because of the debugging global that wl12xx exports. A future patch will remove this dependency. Signed-off-by: Luciano Coelho commit f79f890c9ccd8d10f7e5e2f7c590b0c2e854bfb6 Author: Felipe Balbi Date: Thu Oct 6 13:05:25 2011 +0300 wl12xx: drop unneeded plat_dev now that useless plat_dev is unnecessary, we can remove it. Signed-off-by: Felipe Balbi [forward ported and fixed sysfs file creation] Signed-off-by: Luciano Coelho commit 4b32a2c9a636eaab69c797d9ebc7e086a6bd2fb7 Author: Felipe Balbi Date: Thu Oct 6 10:46:20 2011 +0300 wl12xx: mark some symbols static after re-factoring a bunch of symbols are only used inside main.c which allows us to mark them as static. Signed-off-by: Felipe Balbi [forward-ported] Signed-off-by: Luciano Coelho commit a390e85cfe91c346ff4745bcd45ad0a7e7101aa2 Author: Felipe Balbi Date: Thu Oct 6 10:07:44 2011 +0300 wl12xx: move common init code from bus modules to main Move all common parts from sdio.c and spi.c to main.c, since they now can be handled as part of the platform driver. Signed-off-by: Felipe Balbi [forward-ported, cleaned-up and rephrased commit message] [added a bunch of fixes and a new pdata element] [moved some new code into main.c as well] Signed-off-by: Luciano Coelho commit ce2a217c8268906640ebf7291d7a06210a35dd2f Author: Felipe Balbi Date: Wed Oct 5 14:12:55 2011 +0300 wl12xx: add platform driver to the core module Nnow that we have a platform_device on both glue layers, add a platform_driver to the core driver. It's currently an empty platform_driver but more functionality will be added on later patches. Signed-off-by: Felipe Balbi [forward-ported, cleaned-up and rephrased commit message] [added platform_driver.driver initialization] Signed-off-by: Luciano Coelho commit 0969d6793f4899a4c5f56443d50f272068b97142 Author: Felipe Balbi Date: Wed Oct 5 09:29:13 2011 +0300 wl12xx: add a platform device to the spi module The platform device will be used to match the platform driver that will be implemented by the core module. Signed-off-by: Felipe Balbi [forward-ported, cleaned-up and rephrased commit message] [call platform_device_add() instead of platform_device_register()] [store alloc'ed device platform directly in glue->core] [fixed the length of memset(res...)] Signed-off-by: Luciano Coelho commit 025aef8fcfbdf680376c4f7aa31b9ac85cebc700 Author: Felipe Balbi Date: Wed Oct 5 09:00:12 2011 +0300 wl12xx: add a platform device to the sdio module The platform device will be used to match the platform driver that will be implemented by the core module. Signed-off-by: Felipe Balbi [forward-ported, cleaned-up and rephrased commit message] [call platform_device_add() instead of platform_device_register()] [store alloc'ed device platform directly in glue->core] [fixed the length of memset(res...)] Signed-off-by: Luciano Coelho commit b65019f661733ece3be0680be307d238d4dec68e Author: Felipe Balbi Date: Tue Oct 4 23:36:47 2011 +0300 wl12xx: add an spi glue struct to keep wl and device side-by-side In order to fully abstract the bus, we need to save the device structure *beside* wl1271, instead of inside it. This will help re-structuring the driver so that we avoid the duplicated code in the bus modules. Signed-off-by: Felipe Balbi [forward-ported and cleaned up and rephrased commit message] Signed-off-by: Luciano Coelho commit fbe936bcb59d8e6e054c325a441082b55538bf8f Author: Felipe Balbi Date: Tue Oct 4 23:10:28 2011 +0300 wl12xx: add an sdio glue struct to keep wl and device side-by-side In order to fully abstract the bus, we need to save the device structure *beside* wl1271, instead of inside it. This will help re-structuring the driver so that we avoid the duplicated code in the bus modules. Signed-off-by: Felipe Balbi [forward-ported and cleaned up and rephrased commit message] Signed-off-by: Luciano Coelho commit c7e7c227b63836933ef736fa2d7cc526174b1563 Author: Luciano Coelho Date: Thu Oct 6 22:59:37 2011 +0300 wl12xx: remove sdio_test module This module has been causing more trouble than being useful. It only tests the SDIO speed by connecting to the wl12xx chip and does some throughput calculations. It is an ugly quick hack and, if we really want to have it as part of wl12xx we need to clean it up and implement it properly. A tarball of the code has been created and posted here, with some instructions: http://wireless.kernel.org/en/users/Drivers/wl12xx#SDIO_performance_test_module Signed-off-by: Luciano Coelho commit e4120df982c2051f3cfc02f6278798c5166a72f8 Author: Eliad Peller Date: Mon Oct 10 10:13:17 2011 +0200 wl12xx: use round-robin policy for tx Currently, a single vif might starve all the other vifs. Save the last vif we dequeued a packet from, and continue with the following one using a round-robin policy. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit f750c82045d8f5d0d6d59e517eb485ffbbe014b2 Author: Eliad Peller Date: Mon Oct 10 10:13:16 2011 +0200 wl12xx: add elp wakeup/sleep calls to add_interface add_interface might be called while the chip is in elp. add elp_wakeup/sleep calls to handle it. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit e5a359f873f50cc123d5ca97637caa30fa095bb9 Author: Eliad Peller Date: Mon Oct 10 10:13:15 2011 +0200 wl12xx: use dynamic rate policies allocate the rate policies dynamically, instead of using hardcoded indexes. this is needed for proper multi-role configuration. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit f02774343030c2794bb58b6150420dfefc31c39f Author: Eliad Peller Date: Mon Oct 10 10:13:14 2011 +0200 wl12xx: call stop() on recovery The recovery work should call stop() after it removed all the existing interfaces. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 6e8cd3310491b10db20d0f7eaf5713b05fa7b753 Author: Eliad Peller Date: Mon Oct 10 10:13:13 2011 +0200 wl12xx: replace all remaining wl->vif references wl->vif is appropriate only when a single vif is being used. Instead, pass wlvif as parameter or iterate through all the vifs (e.g. when a global configuration was changed) Leave wl->vif only to determine whether a vif was already added (this check will be removed as well after both the driver and fw will support multiple vifs) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 9f259c4e5e42d5f0c25675dc1088cd96dc81a9f1 Author: Eliad Peller Date: Mon Oct 10 10:13:12 2011 +0200 wl12xx: make op_config configure all vifs When mac80211 changes a global (hw) config, iterate through all the relevant vifs and update them. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 6bd650299046f00df6d7374c7f61c5afe6df6696 Author: Eliad Peller Date: Mon Oct 10 10:13:11 2011 +0200 wl12xx: add power_level field to wlvif move power_level into the per-interface data. mac80211 configures some values (e.g. band, channel) globally, while we configure them per-interface. In order to make it easier to keep track of the configured value for each value while keeping sync with mac80211, save these values both globally and per-vif. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 61f845f4f441a90e5328a78c6c4e0646d99fc2f0 Author: Eliad Peller Date: Mon Oct 10 10:13:10 2011 +0200 wl12xx: add channel field to wlvif add channel into the per-interface data. mac80211 configures some values (e.g. band, channel) globally, while we configure them per-interface. In order to make it easier to keep track of the configured value for each value while keeping sync with mac80211, save these values both globally and per-vif. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 1b92f15ee0e0f06222d4fd36dc36960d217243b3 Author: Eliad Peller Date: Mon Oct 10 10:13:09 2011 +0200 wl12xx: add band field to wlvif add band field into the per-interface data. mac80211 configures some values (e.g. band, channel) globally, while we configure them per-interface. In order to make it easier to keep track of the configured value for each value while keeping sync with mac80211, save these values both globally and per-vif. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 52630c5d89840bf09826fe89cc15f868e92223ef Author: Eliad Peller Date: Mon Oct 10 10:13:08 2011 +0200 wl12xx: make WL1271_FLAG_CS_PROGRESS flag per-vif This flag should be set per-vif, rather than globally. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 836d6600ea0e785fcf8159a3c4b7350276bcd49a Author: Eliad Peller Date: Mon Oct 10 10:13:07 2011 +0200 wl12xx: make WL1271_FLAG_PSPOLL_FAILURE flag per-vif This flag should be set per-vif, rather than globally. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 10c8cd01e329b2973eddddafe67ae499eef83b19 Author: Eliad Peller Date: Mon Oct 10 10:13:06 2011 +0200 wl12xx: make WL1271_FLAG_IF_INITIALIZED per-vif Make the initialization flag per-vif, and add some checks for it. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 0744bdb60b51dce54553d5af9a6133f1fe419032 Author: Eliad Peller Date: Mon Oct 10 10:13:05 2011 +0200 wl12xx: make WL1271_FLAG_RX_STREAMING_STARTED flag per-vif This flag should be set per-vif, rather than globally. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 8181aecce9ea3731ff5554c6f9cf16bf249a61fa Author: Eliad Peller Date: Mon Oct 10 10:13:04 2011 +0200 wl12xx: make WL1271_FLAG_STA_STATE_SENT flag per-vif This flag should be set per-vif, rather than globally. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit c29bb001e448ef57e077db9f1c5ae864e3f8abab Author: Eliad Peller Date: Mon Oct 10 10:13:03 2011 +0200 wl12xx: make WL1271_FLAG_PSM flag per-vif move WL1271_FLAG_PSM and WL1271_FLAG_PSM_REQUESTED into per-vif flags. These flags should be set per-vif, rather than globally. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 53d40d0b863e22b697f8d85e1f95cb6f9d2d95b1 Author: Eliad Peller Date: Mon Oct 10 10:13:02 2011 +0200 wl12xx: make WL1271_FLAG_AP_STARTED flag per-vif This flag should be set per-vif, rather than globally. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit eee514e3d6cecc7abdf1b27734169004fefb0941 Author: Eliad Peller Date: Mon Oct 10 10:13:01 2011 +0200 wl12xx: make WL1271_FLAG_IBSS_JOINED flag per-vif This flag should be set per-vif, rather than globally. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit ba8447f64159927baf673d827e404605471d8f68 Author: Eliad Peller Date: Mon Oct 10 10:13:00 2011 +0200 wl12xx: make WL1271_FLAG_STA_ASSOCIATED flag per-vif This flag should be set per-vif, rather than globally. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 9eb599e9c62dcfd4efece1936c385381b366b684 Author: Eliad Peller Date: Mon Oct 10 10:12:59 2011 +0200 wl12xx: rearm rx streaming per vif Currently, the rx streaming doesn't support multi-vif (the actual wlvif is taken from wl->vif, and the management is global). Make the rx streaming timers/works per-vif, and pass the the actual vif as param. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 48e93e402ad19f570bae323b07911bdf6562af8e Author: Eliad Peller Date: Mon Oct 10 10:12:58 2011 +0200 wl12xx: move tx_security_seq into wlvif The last security seq num has to be saved across reconfigs. Add a new "persistent" struct into wlvif, which won't get deleted on wl12xx_init_vif_data() Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 4b730b6a814fe52425d90ff3db3d8deefb22fb24 Author: Eliad Peller Date: Mon Oct 10 10:12:57 2011 +0200 wl12xx: make event handling support multirole Some events don't indicate the role they are intended for. In these cases, iterate through all the relevant vifs, and pass the event to each one of them. This is only a workaround. future fw releases should indicate the relevant role_id for such events. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit a4e4130dcea01f3e0dfcbfeaf0d815b971e6e515 Author: Eliad Peller Date: Tue Oct 11 11:49:15 2011 +0200 wl12xx: configure sleep_policy according to active roles If there is an active AP role, stay always on. Otherwise, allow chip to enter elp. (Note that this is a global configuration, so if the device is already configured according to our policy, we don't have to configure it again) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit a32d0cdfcb7e5d41f210e13cbc78dc86a5a85a08 Author: Eliad Peller Date: Mon Oct 10 10:12:55 2011 +0200 wl12xx: support multiple vifs in the tx path Pass the wlvif associated with each skb as param. Note that dummy packet doesn't belong to any particular vif, so we pass NULL in this case. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 87627214738fcfd44803e90193f9f2f4583ce68b Author: Eliad Peller Date: Mon Oct 10 10:12:54 2011 +0200 wl12xx: add vifs list keep a list of all the vifs associated with our hw. it will be later used in order to iterate through vifs. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 83587505a2b63bb434f76b26a22f48283b86a467 Author: Eliad Peller Date: Mon Oct 10 10:12:53 2011 +0200 wl12xx: move bitrate_masks into wlvif move bitrate_masks into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit baf6277ae964b1d3830aa74b13e87ff9ba29145c Author: Eliad Peller Date: Mon Oct 10 10:12:52 2011 +0200 wl12xx: move some functions from remove_interface() to stop() Leave only vif-specific deinit stuff in remove_interface(). Move the global deinit (including power_off) to stop(). Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit d6a3cc2ef962ad4392a2401cae513a18a6d35099 Author: Eliad Peller Date: Mon Oct 10 10:12:51 2011 +0200 wl12xx: unify STA and AP tx_queue mechanism Make sta use the global wl->links[hlid].tx_queue (by considering its links map) instead of wl->tx_queue, and then unify the tx and tx_reset flows for the various vifs. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 4438aca9e16901d8d32a025ca27ad8284a117e09 Author: Eliad Peller Date: Mon Oct 10 10:12:50 2011 +0200 wl12xx: move last_tx_hlid into wlvif move last_tx_hlid into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 1d095475f58680af17e4a0e8dd84269b3f08ce54 Author: Eliad Peller Date: Mon Oct 10 10:12:49 2011 +0200 wl12xx: refactor fw init into a new function The fw boot and initialization currently happens inside the add_interface() callback. This is wrong, as add_interface is called for each new vif. However, we due to some fw limitation (we have to know the actual mac address on boot), we can't completely move it into the start() callback. Until the fw will be fixed, refactor the fw init into a new function, and call it from add_interface() Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit d4b8d1c9c1564f4cbce86cbbee099fadf735b226 Author: Paul Bolle Date: Sun Oct 9 12:12:22 2011 +0200 Bluetooth: btusb: hide more usb_submit_urb errors There are still three calls of usb_submit_urb() that will print errors if those calls return -EPERM or -ENODEV. I have never triggered these, so I'm not sure when these return values might be seen. It still makes sense to be silent if these occur (since "urb is being killed" and "device got disconnected" aren't things to worry about). Signed-off-by: Paul Bolle Signed-off-by: Gustavo F. Padovan commit 5a9b80e2cd993f77d6d068470a4fd77fdfae44ab Author: Paul Bolle Date: Sun Oct 9 12:12:16 2011 +0200 Bluetooth: btusb: also be quiet when suspending usb_submit_urb() returns -ENODEV when a usb device is disconnected. In commit 4935f1c164ac528dff3538f97953b385ba500710 ("Bluetooth: btusb: be quiet on device disconnect") I stopped treating that return as an error in the three btusb_*_complete() functions. It turns out btusb_send_frame() generates a similar error if the system is suspended while the bluetooth usb device is enabled. The sensible thing to do here seems to be to treat -ENODEV (and -EPERM) just like the btusb_*_complete() functions now do. Signed-off-by: Paul Bolle Signed-off-by: Gustavo F. Padovan commit 170d0e6732c5fb1d4103ded3da95a5630c24e5dd Author: Eliad Peller Date: Wed Oct 5 11:56:06 2011 +0200 wl12xx: move recorded_ap_keys into wlvif move recorded_ap_keys into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit c7ffb902cca655e4d6bdda4156407008573bb214 Author: Eliad Peller Date: Wed Oct 5 11:56:05 2011 +0200 wl12xx: move ap_hlid_map into wlvif.ap Add wlvif->links_map bitmap to represent all the links allocated for this vif. AP vif also has a sta_hlid_map bitmap, which represents the links stations connected to it (sta_hlid_bitmap is a subset of wlvif->links_map, which itself is a subset of the global wl->links_map) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit d0802abdf9c60b1dadb097e806022f3449b0cc6b Author: Eliad Peller Date: Wed Oct 5 11:56:04 2011 +0200 wl12xx: move ba fields into wlvif move ba_fields into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 04324d99818d16da4f64e266b45cad2e5803b961 Author: Eliad Peller Date: Wed Oct 5 11:56:03 2011 +0200 wl12xx: move rssi_thold and last_rssi_event into wlvif move rssi_thold and last_rssi_event into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 74ec839557878007c3f97d1bc89e09fde5d0f3fa Author: Eliad Peller Date: Wed Oct 5 11:56:02 2011 +0200 wl12xx: move ps_poll_failures and psm_entry_retry into wlvif move ps_poll_failures and psm_entry_retries into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 6ec45dc282f6983d5685758c5e8993bc2c818d3c Author: Eliad Peller Date: Wed Oct 5 11:56:01 2011 +0200 wl12xx: move ps_compl into wlvif move ps_compl into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 252efa4f978a2901039fffc934060fb8ccf82ac7 Author: Eliad Peller Date: Wed Oct 5 11:56:00 2011 +0200 wl12xx: move pspoll_work into wlvif move pspoll_work into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit f75c753f3c77b758fa5ace90c15b2ea3b7a3d46d Author: Eliad Peller Date: Wed Oct 5 11:55:59 2011 +0200 wl12xx: move default_key into wlvif move default_key into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 6a8997964366f51c39d8efcfdc0e6319b2bd01fa Author: Eliad Peller Date: Wed Oct 5 11:55:58 2011 +0200 wl12xx: move beacon_int into wlvif move beacon_int into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit afaf8bdb2b08bbf493b03757243821df72b26c53 Author: Eliad Peller Date: Wed Oct 5 11:55:57 2011 +0200 wl12xx: move dev_hlid into wlvif move dev_hlid into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit e936bbe0dc235458408c060deaa43f5b8b0bd705 Author: Eliad Peller Date: Wed Oct 5 11:55:56 2011 +0200 wl12xx: move some logic into wl12xx_init_vif_data Initialize the vif data according to the vif type Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 98b8625301e55bd3e4340f704edc378e4707e577 Author: Eliad Peller Date: Wed Oct 5 11:55:55 2011 +0200 wl12xx: move session_counter into wlvif move session_counter into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit a8ab39a4b588e8523be2fa75671bdc9612d3467a Author: Eliad Peller Date: Wed Oct 5 11:55:54 2011 +0200 wl12xx: move ap_global_hlid and ap_bcast_hlid into wlvif move ap_global_hlid and ap_bcast_hlid into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 154da67c7da14ffd8da292394f8cbc81cc5ea4e3 Author: Eliad Peller Date: Wed Oct 5 11:55:53 2011 +0200 wl12xx: move sta_hlid into wlvif move sta_hlid into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 7edebf56ca424484b9e0e51a6188c93c7fdd3a41 Author: Eliad Peller Date: Wed Oct 5 11:55:52 2011 +0200 wl12xx: move dev_role_id into wlvif move dev_role_id into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 0603d891c5b5153f667a79357d4652824c22b54e Author: Eliad Peller Date: Wed Oct 5 11:55:51 2011 +0200 wl12xx: move role_id into wlvif move role_id into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 6840e37aec6fd9ffa5b4cf62674af55afdb565ed Author: Eliad Peller Date: Wed Oct 5 11:55:50 2011 +0200 wl12xx: move aid into wlvif move aid into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit bddb29b83a9874fda21c34abe7627cbf14fec10e Author: Eliad Peller Date: Wed Oct 5 11:55:49 2011 +0200 wl12xx: move probereq into wlvif move probereq into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 1fe9f1616ee0852e9422d1f676630e9a4531ace3 Author: Eliad Peller Date: Wed Oct 5 11:55:48 2011 +0200 wl12xx: move ssid and ssid_len into wlvif move ssid and ssid_len into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit fb0e707c838ac7d8aae7ab90ea448e5ac1e29697 Author: Eliad Peller Date: Wed Oct 5 11:55:47 2011 +0200 wl12xx: move p2p into wlvif move p2p field into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 10bcf745ae737cfbca1796386d76b0636b086770 Author: Eliad Peller Date: Wed Oct 5 11:55:46 2011 +0200 wl12xx: remove set_bss_type field set_bss_type is no longer evaluated, so delete it. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 536129c8ad35de87ff2f864f205a54ac32bfebcc Author: Eliad Peller Date: Wed Oct 5 11:55:45 2011 +0200 wl12xx: move bss_type into wlvif move bss_type into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit cdf09495588fda7e9c15c25bc20cb828e07be314 Author: Eliad Peller Date: Wed Oct 5 11:55:44 2011 +0200 wl12xx: replace wl->bssid with vif->bss_conf.bssid Use the per-interface vif->bss_conf instead of the global wl->bssid. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit d2d66c56cf6c8727662aa321991f791604c22094 Author: Eliad Peller Date: Wed Oct 5 11:55:43 2011 +0200 wl12xx: move basic_rate into wlvif move basic_rate into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 30d0c8fd5b87d1c5486705d6420545a21533e115 Author: Eliad Peller Date: Wed Oct 5 11:55:42 2011 +0200 wl12xx: move rate_set into wlvif move rate_set into the per-interface data, rather than being global. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 87fbcb0f8c5c8fd57a4e3e7e638977c04ce1e0ca Author: Eliad Peller Date: Wed Oct 5 11:55:41 2011 +0200 wl12xx: define wl12xx_vif Define a per-vif data struct. This struct holds all the vif-specifc data, which is currently being hold by the global wl struct. Start by moving the basic_rate_set field into it. NOTE: in order to make the patches a bit smaller, start by using wl->vif in some functions, instead of changing all the function prototypes at once. finally, wl->vif will be removed altogether. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 92c77c734f958474ac73af670834bc32cb833e54 Author: Eliad Peller Date: Wed Oct 5 11:55:40 2011 +0200 wl12xx: start reworking the init sequence Split the init sequence into common commands (non role-specific) and role-specific commands. We still need to call the common commands only on add_interface() (rather than on start()) as the fw must get the mac address when uploading the nvs. Future patches will refactor the init sequence further more. Signed-off-by: Eliad Peller [fixed a couple of sparse warnings] Signed-off-by: Luciano Coelho commit 784f694d0f3ca927361aa0c26de1aa340eb5b275 Author: Eliad Peller Date: Wed Oct 5 11:55:39 2011 +0200 wl12xx: replace wl->mac_addr with vif->addr The mac address of the interface already exists in vif->addr. Use it instead of wl->mac_addr. It seems that due to some fw bug, we still need to set nvs->mac to the actual mac addresss, otherwise the fw doesn't function well (e.g. can't get dhcp address). Thus, use wl->mac_addr for this purpose, and don't delete it yet. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 3e90dc86f4b840297bd1fafdb9ba1bf58f2e0e49 Author: Gustavo F. Padovan Date: Fri Oct 7 01:29:51 2011 -0300 Bluetooth: Rename hidp_find_connection() hidp_get_connection() makes more sense because we hold a reference to the connection inside this function. Signed-off-by: Gustavo F. Padovan commit 81b25cd04387fbceb76fe893db4863a380941413 Author: Gustavo F. Padovan Date: Thu Oct 6 23:32:29 2011 -0300 Bluetooth: Delay session allocation in hidp It gets allocated only when it is really needed. Signed-off-by: Gustavo F. Padovan commit 1785dbf9e30be62ab45e34900e574b8307bc98b5 Author: Peter Hurley Date: Tue Aug 30 11:53:35 2011 -0400 Bluetooth: hidp: safely acquire hci connection Claim device lock to safely enumerate hci connection list and bump hci connection proxy device ref count simultaneously. This patch incorporates David Herrmann's fix to prevent adding an HID device when the hci connection no longer exists. Signed-off-by: David Herrmann Signed-off-by: Peter Hurley Signed-off-by: Gustavo F. Padovan commit ab88f7149e0e3284623adcaa60460a9a69d9f131 Author: Gustavo F. Padovan Date: Thu Oct 6 22:05:37 2011 -0300 Bluetooth: Uses test_and_clear_bit() when possible Signed-off-by: Gustavo F. Padovan commit 192893c72197b3f49f76a315024bdcd5aa26fff3 Author: Gustavo F. Padovan Date: Thu Oct 6 21:27:56 2011 -0300 Bluetooth: Remove wrong error check d458a9dfc add this check, but now it proves to be wrong. Signed-off-by: Gustavo F. Padovan commit 3415a5fdde715062aa18bd6361f8e75cfbb31208 Author: Gustavo F. Padovan Date: Thu Oct 6 21:17:32 2011 -0300 Bluetooth: Fix input device registration This is a regression fix. It made impossible use input device when hid fails. Signed-off-by: Gustavo F. Padovan commit 679344e44e09c74848535a28948df7c3b3c1a071 Author: Gustavo F. Padovan Date: Thu Oct 6 20:51:37 2011 -0300 Bluetooth: Trasmit interrupt channel messages first interrupt channel is low latency. Signed-off-by: Gustavo F. Padovan commit dc0da5cdac44aea6a04b18acc5526931430e0c35 Author: Gustavo F. Padovan Date: Thu Oct 6 18:02:13 2011 -0300 Bluetooth: prioritize the interrupt channel in hidp Interrupt channel has low latency requiments, should be processed first. Signed-off-by: Gustavo F. Padovan commit cd11cdd28468d6222ce6489b2212fa7b0efaefdf Author: Gustavo F. Padovan Date: Thu Oct 6 17:35:31 2011 -0300 Bluetooth: use list_for_each_entry() in hidp list_for_each_entry is much more meaningful. Signed-off-by: Gustavo F. Padovan commit 794d175698f0e78be7f2e3f4bdbe0e7cd3f2d6ae Author: David Herrmann Date: Fri Aug 26 14:06:02 2011 +0200 Bluetooth: hidp: Stop I/O on shutdown Current hidp driver purges the in/out queue on HID shutdown, but does not prevent further I/O. If a driver uses hidp_output_raw_report or hidp_get_raw_report during shutdown, the driver hangs for 5 or 10 seconds per call until it gets a timeout. That is, if the output queue of an HID driver has 10 messages pending, it will take 50s until hid_destroy_device() will return. The hidp_session_sem semaphore is held during shutdown so no other HID device may be added/removed during this time. This patch makes hidp_output_raw_report and hidp_get_raw_report fail if session->terminate is true. Also hidp_session will wakeup all current calls to these functions to cancel the current operations. We already purge the current I/O queues on hidp_stop(), so this data loss does not change the behaviour of the HID drivers. Signed-off-by: David Herrmann Signed-off-by: Gustavo F. Padovan commit a5fd6f300433ef7458c6d934f81f47ebd7c7e805 Author: Andrei Emeltchenko Date: Fri Sep 16 16:26:32 2011 +0300 Bluetooth: EFS: add enable_hs kernel param Add enable_hs kernel parameter. L2CAP_FEAT_EXT_FLOW depends on it. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan