=============================================== ChangeLog for compat-wireless for linux-2.6.39 =============================================== This is the ChangeLog for the Linux kernel project compat-wireless. It provides a backport of a few Linux kernel subsystems down to older kernels: * 802.11 * Bluetooth * Ethernet For more details refer to the home page: http://wireless.kernel.org/en/users/Download/stable/ The compat-wireless project consists of code from three projects: * The Linux kernel: linux-2.6-allstable.git * Compat-wirelesS: compat-wireless.git * Compat: compat.git The compat-wireless stable releases incorporates code from from each of these git trees for the respective upstream Linux kernel stable release. A branch called linux-2.6.3x.y exists for each stable release. Below we provide the ChangeLog of changes from the previous branched release to the new branched release. Release: linux-2.6.39 Updates from the compat.git project: ==================================== git shortlog linux-2.6.38.y..linux-2.6.39.y Hauke Mehrtens (10): compat: backport alloc_ordered_workqueue compat: add support for kernel 2.6.38 compat: backport usb_pipe_endpoint() compat: backport tty_{lock,unlock,locked} compat: backport tty_set_termios compat: add tty_set_termios only for kernel >= 2.6.27 compat: backport netdev_refcnt_read. compat: add support for kernel 2.6.39 compat: fix build for kernel < 2.6.29 compat: semaphore.h mpoved from asm/ to linux/ Luis R. Rodriguez (1): compat: backport IRQ namespace cleanup Vasanthakumar Thiagarajan (1): compat: Define usleep_range(min, max) as msleep(max/1000) for <2.6.36 Updates from the compat-wireless.git project: ============================================= git shortlog linux-2.6.38.y..linux-2.6.39.y David Ward (1): compat-wireless: fix driver-select for iwl3945/iwlagn Greg Whiteley (1): compat-wireless: rt2800pci (and rt2x00pci) don't unload on 'make unload' Hauke Mehrtens (22): compat-wireless: adapt chamhes in brcm80211 compat-wireless: remove max_brightness compat-wireless: remove compat for threaded_irq in rt2x00 compat-wireless: backport of alloc_ordered_workqueue into compat.git compat-wireless: make patches apply again compat-wireless: brcm80211 adapt changes in mac80211 compat-wireless: build zd1211rw only for kernel >= 2.6.29 compat-wireless: activate BRCMFMAC compat-wireless: rename some config options compat-wireless: backport pm ops for atlx compat-wireless: some updates to bluetooth patch compat-wireless: brcm80211 fix is in upstream now compat-wireless: Add drivers/net/wireless/rtlwifi/rtl8192c compat-wireless: generate CONFIG_COMPAT_KERNEL_39 compat-wireless: build ath9k common when no pci is available compat-wireless: updates needed for iwlwifi split compat-wireless: add rtl8192cu compat-wireless: some minor updates for config.mk compat-wireless: change number of patch: compat-wireless: do not set blink_set for kernel <= 2.6.24 compat-wireless: backport threaded irq for wl12xx_spi compat-wireless: fix compile warning for wl12xx Johannes Berg (1): fix Intel driver-select, make it iwlagn only for now Luis R. Rodriguez (28): compat-wireless: refresh patches compat-wireless: fix stable pending tag mismatch output compat-wireless: skip directory if patches directory is empty compat-wireless: fix disable_bt compat-wireless: fix intel drivers on driver-select compat-wireless: fix gen-stable-release.sh for git tree updates compat-wireless: refresh patches compat-wireless: remove crap/0001-ath9k-Add-debugfs-interface-to-dump-registers.patch compat-wireless: fix packet log patch to apply compat-wireless: refresh crap patches compat-wireless: remove ath3k bt workaround compat-wireless: refresh patches for 2.6.39-rc1 compat-wireless: refresh patches for v2.6.39-rc1 compat-wireless: suck out pending-stable patches from linux-next compat-wireless: fix compilation warning for wl12xx compat-wireless: fix usb makefile compat-wireless: refresh patches for 2.6.39-rc6 compat-wireless: remove some already applied pending-stable patches compat-wireless: update pending stable fixes compat-wireless: add long range pending fix when using RTS / CTS with ath9k compat-wireless: refresh patches for 2.6.39 final compat-wireless: backport pending-stable ath9k-Fix-drain-txq-failure-in-flush.patch compat-wireless: backport ath9k-avoid-enabling-interrupts-while-processing-rx.patch compat-wireless: backport rtlwifi-rtl8192c-common-rtl8192ce-Fix-for-HT40-regre.patch compat-wireless: remove a linux-next-pending ath9k patc compat-wireless: add cherry picked: ath9k-use-PS-wakeup-before-REG_READ.patch compat-wireless: clarify reason for cherry picked file compat-wireless: fix the cherry pick from applying Updates from the Linux kernel: ============================================= We only include very specific changes for the supported subsystems: * 802.11 * Bluetooth * Ethernet Generated by using: git log v2.6.38..HEAD \ net/wireless/ \ net/mac80211/ \ net/rfkill/ \ drivers/net/wireless/ \ net/bluetooth/ \ drivers/bluetooth/ \ drivers/net/atl1c/ \ drivers/net/atl1e/ \ drivers/net/atlx/ \ include/linux/nl80211.h \ include/linux/rfkill.h \ include/net/cfg80211.h \ include/net/regulatory.h \ include/net/cfg80211.h >> ChangeLog-2.6.39-wireless git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-allstable.git commit 298eaaad0edc004912513d7b9e18163bc053539b Merge: cf70cc5 cb68552 Author: Linus Torvalds Date: Fri May 13 15:20:51 2011 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: bridge: fix forwarding of IPv6 bonding,llc: Fix structure sizeof incompatibility for some PDUs ipv6: restore correct ECN handling on TCP xmit ne-h8300: Fix regression caused during net_device_ops conversion hydra: Fix regression caused during net_device_ops conversion zorro8390: Fix regression caused during net_device_ops conversion sfc: Always map MCDI shared memory as uncacheable ehea: Fix memory hotplug oops libertas: fix cmdpendingq locking iwlegacy: fix IBSS mode crashes ath9k: Fix a warning due to a queued work during S3 state mac80211: don't start the dynamic ps timer if not associated commit ce8453776d68982cfe93bcb28191af8ccad01f45 Author: Linus Torvalds Date: Wed May 11 18:58:16 2011 -0700 Revert "Bluetooth: fix shutdown on SCO sockets" This reverts commit f21ca5fff6e548833fa5ee8867239a8378623150. Quoth Gustavo F. Padovan: "Commit f21ca5fff6e548833fa5ee8867239a8378623150 can cause a NULL dereference if we call shutdown in a bluetooth SCO socket and doesn't wait the shutdown completion to call close(). Please revert it. I may have a fix for it soon, but we don't have time anymore, so revert is the way to go. ;)" Requested-by: Gustavo F. Padovan Signed-off-by: Linus Torvalds commit 78d41b35a9570b7a9a45686789df5dfaeb2b7f4c Merge: 9bbc052 2ae1b8b Author: David S. Miller Date: Wed May 11 19:13:08 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 2ae1b8b35faba31a59b153cbad07f9c15de99740 Author: Paul Fox Date: Mon May 9 10:40:42 2011 +0100 libertas: fix cmdpendingq locking We occasionally see list corruption using libertas. While we haven't been able to diagnose this precisely, we have spotted a possible cause: cmdpendingq is generally modified with driver_lock held. However, there are a couple of points where this is not the case. Fix up those operations to execute under the lock, it seems like the correct thing to do and will hopefully improve the situation. Signed-off-by: Paul Fox Signed-off-by: Daniel Drake Acked-by: Dan Williams Cc: stable@kernel.org Signed-off-by: John W. Linville commit eb85de3f84868ca85703a23617b4079ce79a801e Author: Stanislaw Gruszka Date: Sat May 7 17:46:21 2011 +0200 iwlegacy: fix IBSS mode crashes We should not switch to non-IBSS channels when working in IBSS mode, otherwise there are microcode errors, and after some time system crashes. This bug is only observable when software scan is used in IBSS mode, so should be considered as regression after: commit 0263aa45293838b514b8af674a03faf040991a90 Author: Stanislaw Gruszka Date: Tue Mar 29 11:24:21 2011 +0200 iwl3945: disable hw scan by default However IBSS mode check, which this patch add again, was removed by commit b2f30e8bdd8ef5f3b5a7ef9146509585a15347d3 Author: Johannes Berg Date: Thu Jan 21 07:32:20 2010 -0800 iwlwifi: remove IBSS channel sanity check That commit claim that mac80211 will not use non-IBSS channel in IBSS mode, what definitely is not true. Bug probably should be fixed in mac80211, but that will require more work, so better to apply that patch temporally, and provide proper mac80211 fix latter. Resolves: https://bugzilla.kernel.org/show_bug.cgi?id=34452 Reported-and-tested-by: Mikko Rapeli Cc: stable@kernel.org # 2.6.38.5+ Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 99aa55b66e3553e6f7212ec1104e0fac06cc558e Author: Mohammed Shafi Shajakhan Date: Fri May 6 20:43:11 2011 +0530 ath9k: Fix a warning due to a queued work during S3 state during suspend/S3 state drv_flush is called from mac80211 irrespective of interface count. In ath9k we queue a work in ath9k_flush which we expect to be cancelled in the drv_stop call back. during suspend process mac80211 calls drv_stop only when the interface count(local->count) is non-zero. unfortunately when the network manager is enabled, drv_flush is called while drv_stop is not called as local->count reaches '0'. So fix this by simply checking for the device presence in the drv_flush call back in the driver before queueing work or anything else. this patch fixes the following WARNING Call Trace: [] warn_slowpath_common+0x72/0xa0 [] ? ieee80211_can_queue_work+0x39/0x50 [mac80211] [] ? ieee80211_can_queue_work+0x39/0x50 [mac80211] [] warn_slowpath_fmt+0x2b/0x30 [] ieee80211_can_queue_work+0x39/0x50 [mac80211] [] ieee80211_queue_delayed_work+0x21/0x50 [mac80211] [] ath_tx_complete_poll_work+0xb2/0x100 [ath9k] [] run_workqueue+0x8e/0x150 [] ? ath_tx_complete_poll_work+0x0/0x100 [ath9k] [] worker_thread+0x84/0xe0 [] ? autoremove_wake_function+0x0/0x50 [] ? worker_thread+0x0/0xe0 [] kthread+0x74/0x80 [] ? kthread+0x0/0x80 [] kernel_thread_helper+0x7/0x10 ---[ end trace 2aff81010df9215b ]--- Signed-off-by: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 5db1c07ced19b2eec3a149a3c624d88e02e246ae Author: Luciano Coelho Date: Tue May 3 21:40:08 2011 +0300 mac80211: don't start the dynamic ps timer if not associated When we are disconnecting, we set PS off, but this happens before we send the deauth/disassoc request. When the deauth/disassoc frames are sent, we trigger the dynamic ps timer, which then times out and turns PS back on. Thus, PS remains on after disconnecting, causing problems when associating again. This can be fixed by preventing the timer to start when we're not associated anymore. Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit badb02953aac4af9993163e2a87be60f10700db9 Merge: 7cfd260 16b345d Author: David S. Miller Date: Mon May 2 12:21:47 2011 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 16b345d89686ca0482a9ca741a1167def1abdd7f Author: Stanislaw Gruszka Date: Fri Apr 29 17:51:56 2011 +0200 iwl4965: fix "Received BA when not expected" Need to use broadcast sta_id for management frames, otherwise we broke BA session in the firmware and get messages like that: "Received BA when not expected" or (on older kernels): "BA scd_flow 0 does not match txq_id 10" This fix regression introduced in 2.6.35 during station management code rewrite by: commit 2a87c26bbe9587baeb9e56d3ce0b4971bd777643 Author: Johannes Berg Date: Fri Apr 30 11:30:45 2010 -0700 iwlwifi: use iwl_find_station less Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit bfd36103ec26599557c2bd3225a1f1c9267f8fcb Author: Stanislaw Gruszka Date: Fri Apr 29 17:51:06 2011 +0200 iwlagn: fix "Received BA when not expected" Need to use broadcast sta_id for management frames, otherwise we broke BA session in the firmware and get messages like that: "Received BA when not expected" or (on older kernels): "BA scd_flow 0 does not match txq_id 10" This fix regression introduced in 2.6.35 during station management code rewrite by: commit 2a87c26bbe9587baeb9e56d3ce0b4971bd777643 Author: Johannes Berg Date: Fri Apr 30 11:30:45 2010 -0700 iwlwifi: use iwl_find_station less Patch partially resolve: https://bugzilla.kernel.org/show_bug.cgi?id=16691 However, there are still 11n performance problems on 4965 and 5xxx devices that need to be investigated. Cc: stable@kernel.org # 2.6.35+ Signed-off-by: Stanislaw Gruszka Acked-by: Johannes Berg Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit f325757ab2812b42da4d690cf8da73c0e678368c Author: Stanislaw Gruszka Date: Thu Apr 28 11:36:54 2011 +0200 iwl4965: fix "TX Power requested while scanning" Fix the following: WARNING: at drivers/net/wireless/iwlegacy/iwl-4965.c:1128 \ iwl4965_send_tx_power+0x61/0x102 [iwl4965]() Hardware name: [...] TX Power requested while scanning! Pid: 5723, comm: kworker/u:28 Not tainted 2.6.39-0.rc4.4.fc14.x86_64 #1 Call Trace: [] warn_slowpath_common+0x85/0x9d [] ? iwl4965_show_temperature+0x49/0x49 [iwl4965] [] warn_slowpath_fmt+0x46/0x48 [] iwl4965_send_tx_power+0x61/0x102 [iwl4965] [] ? mutex_lock+0x36/0x50 [] iwl4965_bg_txpower_work+0x57/0x73 [iwl4965] [] process_one_work+0x18d/0x286 [] worker_thread+0xfd/0x181 [] ? manage_workers.clone.16+0x172/0x172 [] kthread+0x82/0x8a [] kernel_thread_helper+0x4/0x10 [] ? kthread_worker_fn+0x14b/0x14b [] ? gs_change+0x13/0x13 Reported-and-tested-by: Paul Bolle Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 1501b6764f0c363a9f1d72f9d422841f81f1bd8c Author: Wey-Yi Guy Date: Mon Apr 25 11:12:57 2011 -0700 iwlegacy: led stay solid on when no traffic commit 5ed540aecc2aae92d5c97b9a9306a5bf88ad5574 change the led behavior for iwlwifi driver; the side effect cause led blink all the time. Modify the led blink table to fix this problem Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit f61583941667c96d61fc6991b9f23307f9bfa87e Author: Rafał Miłecki Date: Tue Apr 19 22:49:29 2011 +0200 b43: trivial: update module info about ucode16_mimo firmware Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 1ed3aad141fe595673c20225a9e004730088be52 Merge: f01cb5f 069f40f Author: David S. Miller Date: Fri Apr 22 13:21:38 2011 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit cb771838715b1c470bc5735bdae709b33b18e0ad Author: Tim Gardner Date: Wed Apr 20 09:00:49 2011 +0000 atl1c: Fix work event interrupt/task races The mechanism used to initiate work events from the interrupt handler has a classic read/modify/write race between the interrupt handler that sets the condition, and the worker task that reads and clears the condition. Close these races by using atomic bit fields. Cc: stable@kernel.org Cc: Jie Yang Signed-off-by: Tim Gardner Signed-off-by: David S. Miller commit 069f40fc07f6df3da325e7ea1698a0d6247983d5 Author: Stanislaw Gruszka Date: Wed Apr 20 16:01:46 2011 +0200 iwl4965: fix skb usage after free Since commit a120e912eb51e347f36c71b60a1d13af74d30e83 Author: Stanislaw Gruszka Date: Fri Feb 19 15:47:33 2010 -0800 iwlwifi: sanity check before counting number of tfds can be free we use skb->data after calling ieee80211_tx_status_irqsafe(), which could free skb instantly. On current kernels I do not observe practical problems related with bug, but on 2.6.35.y it cause random system hangs when stressing wireless link, making bisection of other problems impossible. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit b25026981aecde3685dd0e45ad980fff9f528daa Author: Stanislaw Gruszka Date: Wed Apr 20 15:57:14 2011 +0200 iwlwifi: fix skb usage after free Since commit a120e912eb51e347f36c71b60a1d13af74d30e83 Author: Stanislaw Gruszka Date: Fri Feb 19 15:47:33 2010 -0800 iwlwifi: sanity check before counting number of tfds can be free we use skb->data after calling ieee80211_tx_status_irqsafe(), which could free skb instantly. On current kernels I do not observe practical problems related with bug, but on 2.6.35.y it cause random system hangs when stressing wireless link. Cc: stable@kernel.org # 2.6.32+ Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 243e6df4ed919880d079d717641ad699c6530a03 Author: Johannes Berg Date: Tue Apr 19 20:44:04 2011 +0200 mac80211: fix SMPS debugfs locking The locking with SMPS requests means that the debugs file should lock the mgd mutex, not the iflist mutex. Calls to __ieee80211_request_smps() need to hold that mutex, so add an assertion. This has always been wrong, but for some reason never been noticed, probably because the locking error only happens while unassociated. Cc: stable@kernel.org [2.6.34+] Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 10e99777e926907e43fa57ec1208c3f7787fd290 Merge: 2232d31 a429b51 Author: John W. Linville Date: Wed Apr 20 15:56:44 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-2.6 commit 2232d31bf18ba02f5cd632bbfc3466aeca394c75 Author: Felix Fietkau Date: Fri Apr 15 00:41:43 2011 +0200 ath9k: fix the return value of ath_stoprecv The patch 'ath9k_hw: fix stopping rx DMA during resets' added code to detect a condition where rx DMA was stopped, but the MAC failed to enter the idle state. This condition requires a hardware reset, however the return value of ath_stoprecv was 'true' in that case, which allowed it to skip the reset when issuing a fast channel change. Signed-off-by: Felix Fietkau Reported-by: Paul Stewart Cc: stable@kernel.org Signed-off-by: John W. Linville commit a429b51930e64dd355840c37251a563000d7c10b Author: Ruiyi Zhang Date: Mon Apr 18 11:04:30 2011 +0800 Bluetooth: Only keeping SAR bits when retransmitting one frame. When retrasmitting one frame, only SAR bits in control field should be kept. Signed-off-by: Ruiyi Zhang Signed-off-by: Gustavo F. Padovan commit f21ca5fff6e548833fa5ee8867239a8378623150 Author: Luiz Augusto von Dentz Date: Fri Apr 8 17:10:41 2011 +0300 Bluetooth: fix shutdown on SCO sockets shutdown should wait for SCO link to be properly disconnected before detroying the socket, otherwise an application using the socket may assume link is properly disconnected before it really happens which can be a problem when e.g synchronizing profile switch. Signed-off-by: Luiz Augusto von Dentz Signed-off-by: Gustavo F. Padovan commit b79f44c16a4e2181b1d6423afe746745d5e949ff Author: Vinicius Costa Gomes Date: Mon Apr 11 18:46:55 2011 -0300 Bluetooth: Fix keeping the command timer running In the teardown path the reset command is sent to the controller, this event causes the command timer to be reactivated. So the timer is removed in two situations, when the adapter isn't marked as UP and when we know that some command has been sent. Reported-by: Keith Packard Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 7a74aeb022b34a8fa8ef00545e66cf0568b5ddf6 Author: Ville Tervo Date: Thu Apr 7 14:59:50 2011 +0300 Bluetooth: Fix refcount balance for hci connection hci_io_capa_reply_evt() holds reference for hciconnection. It's useless since hci_io_capa_request_evt()/hci_simple_pair_complete_evt() already protects the connection. In addition it leaves connection open after failed SSP pairing. Signed-off-by: Ville Tervo Signed-off-by: Gustavo F. Padovan commit 7caa2316bf0434f1150f58cb576542987a0466d7 Author: Daniel Halperin Date: Wed Apr 6 12:47:25 2011 -0700 iwlwifi: fix frame injection for HT channels For some reason, sending QoS configuration causes transmission to stop after a single frame on HT channels when not associated. Removing the extra QoS configuration has no effect on station mode, and fixes injection mode. Signed-off-by: Daniel Halperin Signed-off-by: Wey-Yi Guy commit dd5030404695d81792a21cba575e02b21a2f275a Merge: 38a2f37 332704a Author: David S. Miller Date: Thu Apr 14 13:16:51 2011 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 332704a51498a7e29aa92c19dc03f11f80b71bfe Author: Stanislaw Gruszka Date: Wed Apr 13 10:56:51 2011 +0200 iwlegacy: fix tx_power initialization priv->tx_power_next is not initialized to max supported power, but instead default value is used, what cause errors like [ 58.597834] iwl3945 0000:03:00.0: Requested user TXPOWER 15 above upper limit 14. [ 58.597839] iwl3945 0000:03:00.0: Error setting Tx power (-22). if maximum tx power read from the eeprom is smaller than default. In consequence card is unable to initialize properly. Fix the problem and cleanup tx power initialization. Reported-and-tested-by: Robin Dong Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 50f6871218802be528961e24487f00c203a5c3c7 Author: Sujith Manoharan Date: Mon Apr 11 22:56:55 2011 +0530 ath9k_htc: Fix ethtool reporting Pass the correct module name and device interface so that ethtool can display the proper values. The firmware version will be fixed later on when the FW can actually report a version. :) Reported-by: Richard Farina Signed-off-by: Sujith Manoharan Tested-by: Richard Farina Signed-off-by: John W. Linville commit 5882da02e9d9089b7e8c739f3e774aaeeff8b7ba Author: Felix Fietkau Date: Fri Apr 8 20:13:18 2011 +0200 ath9k_hw: fix stopping rx DMA during resets During PHY errors, the MAC can sometimes fail to enter an idle state on older hardware (before AR9380) after an rx stop has been requested. This typically shows up in the kernel log with messages like these: ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ------------[ cut here ]------------ WARNING: at drivers/net/wireless/ath/ath9k/recv.c:504 ath_stoprecv+0xcc/0xf0 [ath9k]() Call Trace: [<8023f0e8>] dump_stack+0x8/0x34 [<80075050>] warn_slowpath_common+0x78/0xa4 [<80075094>] warn_slowpath_null+0x18/0x24 [<80d66d60>] ath_stoprecv+0xcc/0xf0 [ath9k] [<80d642cc>] ath_set_channel+0xbc/0x270 [ath9k] [<80d65254>] ath_radio_disable+0x4a4/0x7fc [ath9k] When this happens, the state that the MAC enters is easy to identify and does not result in bogus DMA traffic, however to ensure a working state after a channel change, the hardware should still be reset. This patch adds detection for this specific MAC state, after which the above warnings completely disappear in my tests. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Cc: Kyungwan Nam Signed-off-by: John W. Linville commit 0e10b33a05fd57a8aaf9672e05e83937fb243a08 Merge: b42282e 4a39e78 Author: David S. Miller Date: Mon Apr 11 12:53:51 2011 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 4a39e781682828c1b81a839e7d343fd91945a8d5 Author: John W. Linville Date: Mon Apr 11 13:02:06 2011 -0400 iwlegacy: make iwl3945 and iwl4965 select IWLWIFI_LEGACY Otherwise, IWLWIFI_LEGACY has to be selected independently before the drivers are made available. Reported-by: Dave Airlie Signed-off-by: John W. Linville Cc: Stanislaw Gruszka Cc: Wey-Yi Guy commit c44eaf41a5a423993932c9a9ad279ee132779b48 Merge: 4263a2f 88edaa4 Author: Linus Torvalds Date: Mon Apr 11 07:27:24 2011 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (34 commits) net: Add support for SMSC LAN9530, LAN9730 and LAN89530 mlx4_en: Restoring RX buffer pointer in case of failure mlx4: Sensing link type at device initialization ipv4: Fix "Set rt->rt_iif more sanely on output routes." MAINTAINERS: add entry for Xen network backend be2net: Fix suspend/resume operation be2net: Rename some struct members for clarity pppoe: drop PPPOX_ZOMBIEs in pppoe_flush_dev dsa/mv88e6131: add support for mv88e6085 switch ipv6: Enable RFS sk_rxhash tracking for ipv6 sockets (v2) be2net: Fix a potential crash during shutdown. bna: Fix for handling firmware heartbeat failure can: mcp251x: Allow pass IRQ flags through platform data. smsc911x: fix mac_lock acquision before calling smsc911x_mac_read iwlwifi: accept EEPROM version 0x423 for iwl6000 rt2x00: fix cancelling uninitialized work rtlwifi: Fix some warnings/bugs p54usb: IDs for two new devices wl12xx: fix potential buffer overflow in testmode nvs push zd1211rw: reset rx idle timer from tasklet ... commit a6756da9eace8b4af73e9dea43f1fc2889224c94 Author: Jason Conti Date: Thu Apr 7 21:09:57 2011 +0200 p54: Initialize extra_len in p54_tx_80211 This patch fixes a very serious off-by-one bug in the driver, which could leave the device in an unresponsive state. The problem was that the extra_len variable [used to reserve extra scratch buffer space for the firmware] was left uninitialized. Because p54_assign_address later needs the value to reserve additional space, the resulting frame could be to big for the small device's memory window and everything would immediately come to a grinding halt. Reference: https://bugs.launchpad.net/bugs/722185 Cc: Acked-by: Christian Lamparter Signed-off-by: Jason Conti Signed-off-by: John W. Linville commit 96f372c95d32f76fa2b0e035e0a6269234bfda09 Author: Felix Fietkau Date: Thu Apr 7 19:07:17 2011 +0200 ath9k: fix missing ath9k_ps_wakeup/ath9k_ps_restore calls These missing chip wakeups mainly cause crashes on AR5416 cards in MIPS boards, but have also been reported to cause radio stability issues on AR9285. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit bd39a274fb7b43374c797bafdb7f506598f36f77 Author: Christian Lamparter Date: Wed Apr 6 20:40:31 2011 +0200 ath: add missing regdomain pair 0x5c mapping Joe Culler reported a problem with his AR9170 device: > ath: EEPROM regdomain: 0x5c > ath: EEPROM indicates we should expect a direct regpair map > ath: invalid regulatory domain/country code 0x5c > ath: Invalid EEPROM contents It turned out that the regdomain 'APL7_FCCA' was not mapped yet. According to Luis R. Rodriguez [Atheros' engineer] APL7 maps to FCC_CTL and FCCA maps to FCC_CTL as well, so the attached patch should be correct. Cc: Reported-by: Joe Culler Acked-by: Luis R. Rodriguez Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit bf3ca7f752d8f5009c9a83db56035566f3e313de Author: Brian Cavagnolo Date: Wed Apr 6 14:18:46 2011 +0530 mwl8k: do not free unrequested irq When the mwl8k driver attempts and fails to switch from sta to ap firmware (or vice-versa) in the mwl8k_add_interface routine, the mwl8k_stop routine will be called. This routine must not attempt to free the irq if it was not requested. Signed-off-by: Brian Cavagnolo Signed-off-by: Nishant Sarmukadam Signed-off-by: John W. Linville commit 2845fd858c55c8a05674a071384a12a19cc17dbf Author: Johannes Berg Date: Tue Apr 5 08:55:05 2011 -0700 iwlagn: override 5300 EEPROM # of chains At least EEPROM version 0x11A has the wrong number of chains programmed into it for some reason, so we need to override in the driver. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 42933bac11e811f02200c944d8562a15f8ec4ff0 Merge: 2b9accb 25985ed Author: Linus Torvalds Date: Thu Apr 7 11:14:49 2011 -0700 Merge branch 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6 * 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6: Fix common misspellings commit 3d7dc7e8c1566acb0fc55df228b2ed91f5638e9d Author: John W. Linville Date: Mon Apr 4 13:18:44 2011 -0400 iwlwifi: accept EEPROM version 0x423 for iwl6000 A number of these devices have appeared "in the wild", and apparently the Windows driver is perfectly happy to support this EEPROM version. Signed-off-by: John W. Linville Cc: stable@kernel.org Acked-by: Wey-Yi Guy commit 37f4ee0b6b39640828dac5937a482c20e8ac794f Author: Stanislaw Gruszka Date: Mon Apr 4 13:50:32 2011 +0200 rt2x00: fix cancelling uninitialized work {rx,tx}done_work's are only initialized for usb devices. Signed-off-by: Stanislaw Gruszka Cc: stable@kernel.org Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2e3e66e3bbcd5f999dc66d843a3efc2314e40e7b Author: Larry Finger Date: Sat Apr 2 18:10:22 2011 -0500 rtlwifi: Fix some warnings/bugs Some compiler/architecture combinations generate some warnings that are not seen on my main system. Two of the "warnings" about unitialized variables are really bugs. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 220107610c7c2c9703e09eb363e8ab31025b9315 Author: Christian Lamparter Date: Sat Apr 2 11:31:29 2011 +0200 p54usb: IDs for two new devices Cc: Reported-by: Mark Davis [via p54/devices wiki] Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 09b661b33268698d3b453dceb78cda129ad899b4 Author: Luciano Coelho Date: Fri Apr 1 19:42:02 2011 +0300 wl12xx: fix potential buffer overflow in testmode nvs push We were allocating the size of the NVS file struct and not checking whether the length of the buffer passed was correct before copying it into the allocated memory. This is a security hole because buffer overflows can occur if the userspace passes a bigger file than what is expected. With this patch, we check if the size of the data passed from userspace matches the size required. This bug was introduced in 2.6.36. Cc: stable@kernel.org Reported-by: Ido Yariv Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 023535732f4db01af4921f20f058bc4561d9add7 Author: Jussi Kivilinna Date: Fri Apr 1 19:34:16 2011 +0300 zd1211rw: reset rx idle timer from tasklet 2.6.38 added WARN_ON(in_irq) in del_timer_sync that triggers on zd1211rw when reseting rx idle timer in urb completion handler. Move timer reseting to tasklet. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 2fc713b20469b2779fa89f582d2a9696b10031e7 Author: Jussi Kivilinna Date: Fri Apr 1 19:34:08 2011 +0300 zd1211rw: remove URB_SHORT_NOT_OK flag in zd_usb_iowrite16v_async() Patch removes the bogus flag introduced by upstream commit eefdbec1ea8b7093d2c09d1825f68438701723cf. Old code had buffer length check that new code tried to handle with URB_SHORT_NOT_OK flag. With USB debugging enabled bogus flag caused usb_submit_urb fail. Remove URB_SHORT_NOT_OK flag and add buffer length check to urb completion handler. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=32092 Reported-by: Jonathan Callen Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit fcf8bd3ba5362682f945a3f838070ac5e10ff871 Author: Helmut Schaa Date: Fri Apr 1 15:46:05 2011 +0200 mac80211: Fix duplicate frames on cooked monitor Cleaning the ieee80211_rx_data.flags field here is wrong, instead the flags should be valid accross processing the frame on different interfaces. Fix this by removing the incorrect flags=0 assignment. Introduced in commit 554891e63a29af35cc6bb403ef34e319518114d0 (mac80211: move packet flags into packet). Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 8f06ca2c83689f4d352a34ef1c484f40c25b41ed Author: Senthil Balasubramanian Date: Fri Apr 1 17:16:33 2011 +0530 ath9k: Fix phy info print message with AR9485 chipset. The phy information print during driver init time doesn't show the numeric part of the chip name properly for AR9485. This patch addresses this issue by adding the string to the respective array. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 5245e3a9f77a8dd4ea92d7bdab2e96629f1feda4 Author: Luciano Coelho Date: Wed Mar 30 21:31:39 2011 +0300 wl12xx: fix module author's email address in the spi and sdio modules The MODULE_AUTHOR() macro in the main module (wl12xx) has been updated to reflect one of the author's new email address, but the wl12xx_spi and wl12xx_sdio modules haven't been updated. This patches updates them. Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit c85ce65ecac078ab1a1835c87c4a6319cf74660a Author: John W. Linville Date: Wed Mar 30 14:02:46 2011 -0400 b43: allocate receive buffers big enough for max frame len + offset Otherwise, skb_put inside of dma_rx can fail... https://bugzilla.kernel.org/show_bug.cgi?id=32042 Signed-off-by: John W. Linville Acked-by: Larry Finger Cc: stable@kernel.org commit 5e58e5283a0a0a99ee970e7e5c80c6541693376e Merge: c100c8f ffd8c74 Author: David S. Miller Date: Fri Apr 1 17:15:25 2011 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 25985edcedea6396277003854657b5f3cb31a628 Author: Lucas De Marchi Date: Wed Mar 30 22:57:33 2011 -0300 Fix common misspellings Fixes generated by 'codespell' and manually reviewed. Signed-off-by: Lucas De Marchi commit ad19031b5f6ede5b2df057e3e1b4f82a2ef7f75f Author: Jesper Juhl Date: Sun Mar 27 09:16:12 2011 +0000 Atheros, atl2: Fix mem leaks in error paths of atl2_set_eeprom We leak in some error paths of drivers/net/atlx/atl2.c:atl2_set_eeprom(). The memory allocated to 'eeprom_buff' is not freed when we return -EIO. This patch fixes that up and also removes a pointless explicit cast. Signed-off-by: Jesper Juhl Signed-off-by: David S. Miller commit ffd8c746fbef50cf12df239f9d23c2afe1a2c3cb Author: Johannes Berg Date: Tue Mar 29 15:28:11 2011 +0200 iwlegacy: fix bugs in change_interface If change_interface gets invoked during a firmware restart, it may crash; prevent that from happening by checking if ctx->vif is assigned. Additionally, in my initial commit I forgot to set the vif->p2p variable correctly, so fix that too. Cc: stable@kernel.org [2.6.38+] Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 24047e2c4feb8c126e92cc5bb7a863115c89bd72 Author: Christian Lamparter Date: Tue Mar 29 13:43:14 2011 +0200 carl9170: Fix tx aggregation problems with some clients Some clients seem to rely upon the reception of BlockAckReqs to flush their rx reorder buffer. In order to fix aggregation for these clients carl9170 should set IEEE80211_TX_STAT_AMPDU_NO_BACK to generate a BlockAckReq if the transmission of an AMPDU subframe fails. This fixes aggregation problems with Intel 5100 Windows STAs (and maybe others as well). Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 0263aa45293838b514b8af674a03faf040991a90 Author: Stanislaw Gruszka Date: Tue Mar 29 11:24:21 2011 +0200 iwl3945: disable hw scan by default After new NetworkManager 0.8.996 changes, hardware scanning is causing microcode errors as reported here: https://bugzilla.redhat.com/show_bug.cgi?id=683571 and sometimes kernel crashes: https://bugzilla.redhat.com/show_bug.cgi?id=688252 Also with hw scan there are very bad performance on some systems as reported here: https://bugzilla.redhat.com/show_bug.cgi?id=671366 Since Intel no longer supports 3945, there is no chance to get proper firmware fixes, we need workaround problems by disable hardware scanning by default. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 8d4ca61a10feea9583dc62ec1514722e99bdcd3d Author: Xose Vazquez Perez Date: Sun Mar 27 20:33:06 2011 +0200 wireless: rt2x00: rt2800usb.c add and identify ids taken from staging/rt2860 0x0411,0x016f de37cd49b5a54facef174cf34496919857436e8f MelCo(Buffalo) WLI-UC-G301N 0x050d,0x825b 12840c63b0679f7fab88ea1cc26b52db8b574ce7 Belkin F5D8055 0x050d,0x935a 705059a670f3af2b37695e82de0ee58e75e656ed Belkin F6D4050 v1 0x050d,0x935b 5d92fe3387d086fc2f10426fbdb6b86d6cce5a47 Belkin F6D4050 v2 identifed from ralink driverss 0x0930,0x0a07 RT35xx TOSHIBA 2010_1215_RT3572_Linux_STA_v2.5.0.0.DPO 0x1d4d,0x0011 3072 Pegatron 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO Signed-off-by: Xose Vazquez Perez Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3bda50e3eaf58a4b9c4ce34204e5faa15c8b1b97 Author: Stanislaw Gruszka Date: Mon Mar 14 14:15:06 2011 +0100 iwl3945: do not deprecate software scan Software scanning can be used for workaround some performance problems, so do not deprecate it. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit dced35aeb0367dda2636ee9ee914bda14510dcc9 Author: Thomas Gleixner Date: Mon Mar 28 17:49:12 2011 +0200 drivers: Final irq namespace conversion Scripted with coccinelle. Signed-off-by: Thomas Gleixner commit 499fe9a419d43410be576bcc825658997b6ce822 Author: Daniel Halperin Date: Thu Mar 24 16:01:48 2011 -0700 mac80211: fix aggregation frame release during timeout Suppose the aggregation reorder buffer looks like this: x-T-R1-y-R2, where x and y are frames that have not been received, T is a received frame that has timed out, and R1,R2 are received frames that have not yet timed out. The proper behavior in this scenario is to move the window past x (skipping it), release T and R1, and leave the window at y until y is received or R2 times out. As written, this code will instead leave the window at R1, because it has not yet timed out. Fix this by exiting the reorder loop only when the frame that has not timed out AND there are skipped frames earlier in the current valid window. Signed-off-by: Daniel Halperin Signed-off-by: John W. Linville commit 2b78ac9bfc7483ba4bda9ad3d10dd4afcf88337c Author: Juuso Oikarinen Date: Mon Mar 28 14:32:32 2011 +0300 cfg80211: fix BSS double-unlinking (continued) This patch adds to the fix "fix BSS double-unlinking" (commit 3207390a8b58bfc1335750f91cf6783c48ca19ca) by Johannes Berg. It turns out, that the double-unlinking scenario can also occur if expired BSS elements are removed whilst an interface is performing association. To work around that, replace list_del with list_del_init also in the "cfg80211_bss_expire" function, so that the check for whether the BSS still is in the list works correctly in cfg80211_unlink_bss. Signed-off-by: Juuso Oikarinen Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit bef9bacc4ec7ea6a02876164cd6ccaa4759edce4 Author: Mariusz Kozlowski Date: Sat Mar 26 19:26:55 2011 +0100 cfg80211:: fix possible NULL pointer dereference In cfg80211_inform_bss_frame() wiphy is first dereferenced on privsz initialisation and then it is checked for NULL. This patch fixes that. Signed-off-by: Mariusz Kozlowski Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 67aa030c0dff6095128bcb4e8043b48360f32331 Author: Mariusz Kozlowski Date: Sat Mar 26 18:58:51 2011 +0100 mac80211: fix possible NULL pointer dereference This patch moves 'key' dereference after BUG_ON(!key) so that when key is NULL we will see proper trace instead of oops. Signed-off-by: Mariusz Kozlowski Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 1f951a7f8ba05192291f781ef99a892697e47d62 Author: Petr Štetiar Date: Sun Mar 27 13:31:26 2011 +0200 mac80211: fix NULL pointer dereference in ieee80211_key_alloc() The ieee80211_key struct can be kfree()d several times in the function, for example if some of the key setup functions fails beforehand, but there's no check if the struct is still valid before we call memcpy() and INIT_LIST_HEAD() on it. In some cases (like it was in my case), if there's missing aes-generic module it could lead to the following kernel OOPS: Unable to handle kernel NULL pointer dereference at virtual address 0000018c .... PC is at memcpy+0x80/0x29c ... Backtrace: [] (ieee80211_key_alloc+0x0/0x234 [mac80211]) from [] (ieee80211_add_key+0x70/0x12c [mac80211]) [] (ieee80211_add_key+0x0/0x12c [mac80211]) from [] (__cfg80211_set_encryption+0x2a8/0x464 [cfg80211]) Signed-off-by: Petr Štetiar Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit f62d816fc4324afbb7cf90110c70b6a14139b225 Author: Felix Fietkau Date: Fri Mar 25 17:43:41 2011 +0100 ath9k: fix a chip wakeup related crash in ath9k_start When the chip is still asleep when ath9k_start is called, ath9k_hw_configpcipowersave can trigger a data bus error. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 4dc217df68a17a57f8464c74c1b4785e40bddf77 Author: Felix Fietkau Date: Fri Mar 25 15:30:38 2011 +0100 mac80211: fix a crash in minstrel_ht in HT mode with no supported MCS rates When a client connects in HT mode but does not provide any valid MCS rates, the function that finds the next sample rate gets stuck in an infinite loop. Fix this by falling back to legacy rates if no usable MCS rates are found. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 00a2470546dd8427325636a711a42c934135dbf5 Merge: 5aafdea 6df59a8 Author: Linus Torvalds Date: Fri Mar 25 21:02:22 2011 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (56 commits) route: Take the right src and dst addresses in ip_route_newports ipv4: Fix nexthop caching wrt. scoping. ipv4: Invalidate nexthop cache nh_saddr more correctly. net: fix pch_gbe section mismatch warning ipv4: fix fib metrics mlx4_en: Removing HW info from ethtool -i report. net_sched: fix THROTTLED/RUNNING race drivers/net/a2065.c: Convert release_resource to release_region/release_mem_region drivers/net/ariadne.c: Convert release_resource to release_region/release_mem_region bonding: fix rx_handler locking myri10ge: fix rmmod crash mlx4_en: updated driver version to 1.5.4.1 mlx4_en: Using blue flame support mlx4_core: reserve UARs for userspace consumers mlx4_core: maintain available field in bitmap allocator mlx4: Add blue flame support for kernel consumers mlx4_en: Enabling new steering mlx4: Add support for promiscuous mode in the new steering model. mlx4: generalization of multicast steering. mlx4_en: Reporting HW revision in ethtool -i ... commit b77dcf8460ae57d4eb9fd3633eb4f97b8fb20716 Author: Thomas Gleixner Date: Thu Mar 24 20:16:42 2011 +0100 Bluetooth: Fix warning with hci_cmd_timer After we made debugobjects working again, we got the following: WARNING: at lib/debugobjects.c:262 debug_print_object+0x8e/0xb0() Hardware name: System Product Name ODEBUG: free active (active state 0) object type: timer_list hint: hci_cmd_timer+0x0/0x60 Pid: 2125, comm: dmsetup Tainted: G W 2.6.38-06707-gc62b389 #110375 Call Trace: [] warn_slowpath_common+0x7a/0xb0 [] warn_slowpath_fmt+0x46/0x50 [] debug_print_object+0x8e/0xb0 [] ? hci_cmd_timer+0x0/0x60 [] debug_check_no_obj_freed+0x125/0x230 [] ? check_object+0xb3/0x2b0 [] kfree+0x150/0x190 [] ? bt_host_release+0x16/0x20 [] bt_host_release+0x16/0x20 [] device_release+0x27/0xa0 [] kobject_release+0x4c/0xa0 [] ? kobject_release+0x0/0xa0 [] kref_put+0x36/0x70 [] kobject_put+0x27/0x60 [] put_device+0x17/0x20 [] hci_free_dev+0x29/0x30 [] vhci_release+0x36/0x70 [] fput+0xd6/0x1f0 [] filp_close+0x66/0x90 [] sys_close+0x99/0xf0 [] system_call_fastpath+0x16/0x1b That timer was introduced with commit 6bd32326cda(Bluetooth: Use proper timer for hci command timout) Timer seems to be running when the thing is closed. Removing the timer unconditionally fixes the problem. And yes, it needs to be fixed before the HCI_UP check. Signed-off-by: Thomas Gleixner Tested-by: Ingo Molnar Signed-off-by: Gustavo F. Padovan commit a0cc9a1b5712ea52aaa4e7abfa0ec2dbe0d820ff Author: Andrei Emeltchenko Date: Thu Mar 24 17:16:08 2011 +0200 Bluetooth: delete hanging L2CAP channel Sometimes L2CAP connection remains hanging. Make sure that L2CAP channel is deleted. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 6994ca5e8ade57d18b7d1e05aad040c441a2ad37 Author: Johan Hedberg Date: Wed Mar 16 14:29:34 2011 +0200 Bluetooth: Fix missing hci_dev_lock_bh in user_confirm_reply The code was correctly calling _unlock at the end of the function but there was no actual _lock call anywhere. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 8763b4da41132e2d5a896cd5e629c3c0a652205e Author: Vinicius Costa Gomes Date: Mon Mar 14 18:20:33 2011 -0300 Bluetooth: Fix sending LE data over USB Now that we have support for LE connections, before discarding a frame we must check if there's a LE connection over that transport. Signed-off-by: Vinicius Costa Gomes Acked-by: Ville Tervo Signed-off-by: Gustavo F. Padovan commit f630cf0d5434e3923e1b8226ffa2753ead6b0ce5 Author: Gustavo F. Padovan Date: Wed Mar 16 15:36:29 2011 -0300 Bluetooth: Fix HCI_RESET command synchronization We can't send new commands before a cmd_complete for the HCI_RESET command shows up. Reported-by: Mikko Vinni Reported-by: Justin P. Mattock Reported-by: Ed Tomlinson Signed-off-by: Gustavo F. Padovan Tested-by: Justin P. Mattock Tested-by: Mikko Vinni Tested-by: Ed Tomlinson commit 52cb1c0d208565d8f06b743cdc6596d744f92e3b Author: Suraj Sumangala Date: Wed Mar 9 14:44:05 2011 +0530 Bluetooth: Increment unacked_frames count only the first transmit This patch lets 'l2cap_pinfo.unacked_frames' be incremented only the first time a frame is transmitted. Previously it was being incremented for retransmitted packets too resulting the value to cross the transmit window size. Signed-off-by: Suraj Sumangala Signed-off-by: Gustavo F. Padovan commit 63a8588debd4dc72becb9e27add9343c76301c7d Author: Marc-Antoine Perennou Date: Thu Mar 24 14:51:21 2011 -0300 Bluetooth: add support for Apple MacBook Pro 8,2 Just adding the vendor details makes it work fine. Signed-off-by: Marc-Antoine Perennou Signed-off-by: Gustavo F. Padovan commit d78f4b3e2c4dfb9487624f7157af04ab4260e189 Author: Senthil Balasubramanian Date: Wed Mar 23 23:07:22 2011 +0530 ath9k: Fix TX queue stuck issue. commit 86271e460a66003dc1f4cbfd845adafb790b7587 introduced a regression that caused mac80211 queues in stopped state. ath_drain_all_txq is called in driver flush which would reset the stopped flag and the mac80211 queues were never started after that. iperf traffic is completely stalled due to this issue. Restart the mac80211 queues in driver flush only if the txqs were drained. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 19b9675069cb06ae17d1595ac517d475d75e6bb9 Author: Senthil Balasubramanian Date: Wed Mar 23 23:07:21 2011 +0530 ath9k: Fix kernel panic caused by invalid rate index access. With the recent tx status optimization in mac80211, we bail out as and and when invalid rate index is found. So the behavior of resetting rate idx to -1 and count to 0 has changed for the rate indexes that were not part of the driver's retry series. This has resulted in ath9k using incorrect rate table index which caused the system to panic. Ideally ath9k need to loop only for the indexes that were part of the retry series and so simply use hw->max_rates as the loop counter. Pasted the stack trace of the panic issue for reference. [ 754.093192] BUG: unable to handle kernel paging request at ffff88046a9025b0 [ 754.093256] IP: [] ath_tx_status+0x209/0x2f0 [ath9k] [ 754.094888] Call Trace: [ 754.094903] [ 754.094928] [] ieee80211_tx_status+0x203/0x9e0 [mac80211] [ 754.094975] [] ? __ieee80211_wake_queue+0x125/0x140 [mac80211] [ 754.095017] [] ath_tx_complete_buf+0x1b9/0x370 [ath9k] [ 754.095054] [] ath_tx_complete_aggr+0x51f/0xb50 [ath9k] [ 754.095098] [] ? ieee80211_prepare_and_rx_handle+0x173/0xab0 [mac80211] [ 754.095148] [] ? _raw_spin_unlock_irqrestore+0x32/0x40 [ 754.095186] [] ath_tx_tasklet+0x365/0x4b0 [ath9k] [ 754.095224] [] ? clockevents_program_event+0x62/0xa0 [ 754.095261] [] ath9k_tasklet+0x168/0x1c0 [ath9k] [ 754.095298] [] tasklet_action+0x6b/0xe0 [ 754.095331] [] __do_softirq+0x98/0x120 [ 754.095361] [] call_softirq+0x1c/0x30 [ 754.095393] [] do_softirq+0x65/0xa0 [ 754.095423] [] irq_exit+0x8d/0x90 [ 754.095453] [] do_IRQ+0x61/0xe0 [ 754.095482] [] ret_from_intr+0x0/0x15 [ 754.095513] [ 754.095531] [] ? native_sched_clock+0x15/0x70 [ 754.096475] [] ? acpi_idle_enter_bm+0x24d/0x285 [processor] [ 754.096475] [] ? acpi_idle_enter_bm+0x246/0x285 [processor] [ 754.096475] [] cpuidle_idle_call+0x82/0x100 [ 754.096475] [] cpu_idle+0xa6/0xf0 [ 754.096475] [] rest_init+0x91/0xa0 [ 754.096475] [] start_kernel+0x3fd/0x408 [ 754.096475] [] x86_64_start_reservations+0x132/0x136 [ 754.096475] [] x86_64_start_kernel+0x106/0x115 [ 754.096475] RIP [] ath_tx_status+0x209/0x2f0 [ath9k] Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit a3ad38e87eead6ce748c6e4eec0571ce53b5a0c2 Author: armadefuego@gmail.com Date: Tue Mar 22 09:49:15 2011 -0700 orinoco: Clear dangling pointer on hardware busy On hardware busy the scan request pointer should be cleared, as higher levels will release. This avoids a crash when that pointer is erroneously used later. Signed-off-by: Joseph J. Gunn Signed-off-by: John W. Linville commit be36cacdddcc119ef7b33ae0b91631c3535a75ca Author: Johannes Berg Date: Tue Mar 22 11:00:37 2011 +0100 iwlagn: fix error in command waiting Clearly a mistake, since pointers won't suddenly change their value... Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8bc8aecdc5e26cfda12dbd6867af4aa67836da6a Author: Felix Fietkau Date: Mon Mar 21 20:01:00 2011 +0100 mac80211: initialize sta->last_rx in sta_info_alloc This field is used to determine the inactivity time. When in AP mode, hostapd uses it for kicking out inactive clients after a while. Without this patch, hostapd immediately deauthenticates a new client if it checks the inactivity time before the client sends its first data frame. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 61e1b0b00c793ad5a32fe2181c9f77115fed5dc4 Author: Mohammed Shafi Shajakhan Date: Mon Mar 21 18:27:21 2011 +0530 ath9k: Fix kernel panic in AR2427 Kernel panic occurs just after AR2427 establishes connection with AP. Unless aggregation is enabled we don't initialize the TID structure. Thus accesing the elements of the TID structure when aggregation is disabled, leads to NULL pointer dereferencing. [ 191.320358] Call Trace: [ 191.320364] [] ? ath9k_tx+0xa7/0x200 [ath9k] [ 191.320376] [] ? __ieee80211_tx+0x5c/0x1e0 [mac80211] [ 191.320386] [] ? ieee80211_tx+0x7b/0x90 [mac80211] [ 191.320395] [] ? ieee80211_xmit+0x9d/0x1d0 [mac80211] [ 191.320401] [] ? wake_up_state+0xf/0x20 [ 191.320405] [] ? signal_wake_up+0x28/0x40 [ 191.320410] [] ? default_spin_lock_flags+0x8/0x10 [ 191.320420] [] ? ieee80211_subif_start_xmit+0x2e8/0x7c0 [mac80211] [ 191.320425] [] ? do_page_fault+0x295/0x3a0 [ 191.320431] [] ? dev_hard_start_xmit+0x1ad/0x210 [ 191.320436] [] ? sch_direct_xmit+0x105/0x170 [ 191.320445] [] ? get_sta_flags+0x2a/0x40 [mac80211] [ 191.320449] [] ? dev_queue_xmit+0x37f/0x4b0 [ 191.320452] [] ? eth_header+0x0/0xb0 [ 191.320456] [] ? neigh_resolve_output+0xe9/0x310 [ 191.320461] [] ? ip6_output_finish+0xa5/0x110 [ 191.320464] [] ? ip6_output2+0x134/0x250 [ 191.320468] [] ? ip6_output+0x6d/0x100 [ 191.320471] [] ? mld_sendpack+0x395/0x3e0 [ 191.320475] [] ? add_grhead+0x31/0xa0 [ 191.320478] [] ? mld_send_cr+0x1bc/0x2b0 [ 191.320482] [] ? irq_exit+0x39/0x70 [ 191.320485] [] ? mld_ifc_timer_expire+0x10/0x40 [ 191.320489] [] ? run_timer_softirq+0x13e/0x2c0 [ 191.320493] [] ? common_interrupt+0x30/0x40 [ 191.320498] [] ? mld_ifc_timer_expire+0x0/0x40 [ 191.320502] [] ? __do_softirq+0x98/0x1b0 [ 191.320506] [] ? do_softirq+0x45/0x50 [ 191.320509] [] ? irq_exit+0x65/0x70 [ 191.320513] [] ? smp_apic_timer_interrupt+0x5c/0x8b [ 191.320516] [] ? apic_timer_interrupt+0x31/0x40 [ 191.320521] [] ? k_getrusage+0x12b/0x2f0 [ 191.320525] [] ? acpi_idle_enter_simple+0x117/0x148 [ 191.320529] [] ? cpuidle_idle_call+0x7a/0x100 [ 191.320532] [] ? cpu_idle+0x94/0xd0 [ 191.320536] [] ? rest_init+0x58/0x60 [ 191.320541] [] ? start_kernel+0x351/0x357 [ 191.320544] [] ? unknown_bootoption+0x0/0x19e [ 191.320548] [] ? i386_start_kernel+0xaa/0xb1 [ 191.320550] Code: 03 66 3d 00 03 0f 84 7c 02 00 00 83 c3 18 0f b6 03 8b 4d e0 89 c3 83 e3 0f 6b c3 48 89 5d d8 8d 04 06 8d 50 0c 89 55 d0 8b 40 20 <8b> 00 3b 01 0f 85 8e 02 00 00 f6 47 20 40 0f 84 29 ff ff ff 8b [ 191.320634] EIP: [] ath_tx_start+0x474/0x770 [ath9k] SS:ESP 0068:c0761a90 [ 191.320642] CR2: 0000000000000000 [ 191.320647] ---[ end trace 9296ef23b9076ece ]--- [ 191.320650] Kernel panic - not syncing: Fatal exception in interrupt Cc: stable@kernel.org Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 858022aa6fad90ec86c567cbf54682a61dd39a01 Author: Randy Dunlap Date: Fri Mar 18 09:33:02 2011 -0700 wireless: fix 80211 kernel-doc warnings Fix many of each of these warnings: Warning(include/net/cfg80211.h:519): No description found for parameter 'rxrate' Warning(include/net/mac80211.h:1163): bad line: Signed-off-by: Randy Dunlap Cc: Johannes Berg Signed-off-by: John W. Linville commit 6e9d592f02f657361168c94e22d9602cad71a09c Author: Ilia Mirkin Date: Thu Mar 17 14:08:57 2011 -0400 rtlwifi: Fix memset argument order These were found using the following semantic match: // @@expression E1; type T;@@ * memset(E1, ... * sizeof(T) * ..., ...); // Also take this opportunity to remove the unnecessary void* casts. Signed-off-by: Ilia Mirkin Tested-by: Larry Finger Acked-by: Larry Finger Signed-off-by: John W. Linville commit 5da201a4c86aac6c46a071c5c8255601090b65b2 Author: Peter Lemenkov Date: Wed Mar 16 17:12:18 2011 +0300 rt2x00: Add unknown Toshiba device Add unknown Toshiba device, mentioned in rt3572sta sources, under CONFIG_RT2800USB_UNKNOWN Signed-off-by: Peter Lemenkov Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9a74597235e54c16c31da62835e2e9285c631044 Author: Peter Lemenkov Date: Wed Mar 16 17:12:17 2011 +0300 rt2x00: Add 2L Central Europe BV 8070 Add 2L Central Europe BV 8070 under CONFIG_RT2800USB_UNKNOWN Signed-off-by: Peter Lemenkov Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 7a2a75bcc2a54c9b87c8b3831c5369717fcf513d Author: Peter Lemenkov Date: Wed Mar 16 17:12:16 2011 +0300 rt2x00: Add Planex Communications, Inc. RT8070 Add Planex Communications, Inc. RT8070 under CONFIG_RT2800USB_UNKNOWN Signed-off-by: Peter Lemenkov Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2cea5b3c0ce976eae78bdaa192223f952185045c Author: Peter Lemenkov Date: Wed Mar 16 17:12:15 2011 +0300 rt2x00: Add rt2870 device id Add ID for Asus USB-N11 Wi-FI adapter. Tested by me. Signed-off-by: Peter Lemenkov Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3bf184a7e96ff21965fa524260f60af8ab4d9133 Author: Joe Gunn Date: Tue Mar 15 08:41:19 2011 -0700 orinoco: Maintain lock until entry removed from list Removing an entry from the scan_list should be performed while holding the lock. Signed-off-by: Joseph J. Gunn Signed-off-by: John W. Linville commit f8a22a2b165c79a46e275097fcadab7fd151c504 Author: Dan Carpenter Date: Tue Mar 15 10:01:58 2011 +0300 iwlwifi: missing unlock on error path We should unlock here instead of returning -EINVAL directly. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 9011cd250e26d9159943895adf29453af1b93298 Author: Tõnu Samuel Date: Sat Mar 12 11:29:25 2011 +0200 zd1211rw: TrendNet TEW-509UB id added Signed-off-by: Tõnu Samuel Signed-off-by: John W. Linville commit a44f99c7efdb88fa41128065c9a9445c19894e34 Merge: b87a2d3 22942c0 Author: Linus Torvalds Date: Sun Mar 20 18:14:55 2011 -0700 Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 * 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: (25 commits) video: change to new flag variable scsi: change to new flag variable rtc: change to new flag variable rapidio: change to new flag variable pps: change to new flag variable net: change to new flag variable misc: change to new flag variable message: change to new flag variable memstick: change to new flag variable isdn: change to new flag variable ieee802154: change to new flag variable ide: change to new flag variable hwmon: change to new flag variable dma: change to new flag variable char: change to new flag variable fs: change to new flag variable xtensa: change to new flag variable um: change to new flag variables s390: change to new flag variable mips: change to new flag variable ... Fix up trivial conflict in drivers/hwmon/Makefile commit e16b396ce314b2bcdfe6c173fe075bf8e3432368 Merge: 7fd23a2 e6e8dd5 Author: Linus Torvalds Date: Fri Mar 18 10:37:40 2011 -0700 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: (47 commits) doc: CONFIG_UNEVICTABLE_LRU doesn't exist anymore Update cpuset info & webiste for cgroups dcdbas: force SMI to happen when expected arch/arm/Kconfig: remove one to many l's in the word. asm-generic/user.h: Fix spelling in comment drm: fix printk typo 'sracth' Remove one to many n's in a word Documentation/filesystems/romfs.txt: fixing link to genromfs drivers:scsi Change printk typo initate -> initiate serial, pch uart: Remove duplicate inclusion of linux/pci.h header fs/eventpoll.c: fix spelling mm: Fix out-of-date comments which refers non-existent functions drm: Fix printk typo 'failled' coh901318.c: Change initate to initiate. mbox-db5500.c Change initate to initiate. edac: correct i82975x error-info reported edac: correct i82975x mci initialisation edac: correct commented info fs: update comments to point correct document target: remove duplicate include of target/target_core_device.h from drivers/target/target_core_hba.c ... Trivial conflict in fs/eventpoll.c (spelling vs addition) commit 7fd23a24717a327a66f3c32d11a20a2f169c824f Merge: 0a95d92 65b0619 Author: Linus Torvalds Date: Fri Mar 18 10:35:30 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (48 commits) HID: add support for Logitech Driving Force Pro wheel HID: hid-ortek: remove spurious reference HID: add support for Ortek PKB-1700 HID: roccat-koneplus: vorrect mode of sysfs attr 'sensor' HID: hid-ntrig: init settle and mode check HID: merge hid-egalax into hid-multitouch HID: hid-multitouch: Send events per slot if CONTACTCOUNT is missing HID: ntrig remove if and drop an indent HID: ACRUX - activate the device immediately after binding HID: ntrig: apply NO_INIT_REPORTS quirk HID: hid-magicmouse: Correct touch orientation direction HID: ntrig don't dereference unclaimed hidinput HID: Do not create input devices for feature reports HID: bt hidp: send Output reports using SET_REPORT on the Control channel HID: hid-sony.c: Fix sending Output reports to the Sixaxis HID: add support for Keytouch IEC 60945 HID: Add HID Report Descriptor to sysfs HID: add IRTOUCH infrared USB to hid_have_special_driver HID: kernel oops in out_cleanup in function hidinput_connect HID: Add teletext/color keys - gyration remote - EU version (GYAR3101CKDE) ... commit 65b06194c9c9f41bc07ac6a6d42edb4b9e43fea4 Merge: b4a65f4 0ff1731 4875ac1 7b2a64c 61c29f5 0ae4381 5623a24 Author: Jiri Kosina Date: Thu Mar 17 14:31:46 2011 +0100 Merge branches 'dragonrise', 'hidraw-feature', 'multitouch', 'ntrig', 'roccat', 'upstream' and 'upstream-fixes' into for-linus commit 5a8b7cdc7424d63467cff1d20461acf48ffcb72f Author: matt mooney Date: Fri Jan 14 06:12:45 2011 -0800 net: change to new flag variable Replace EXTRA_CFLAGS with ccflags-y. Signed-off-by: matt mooney Acked-by: WANG Cong Acked-by: Sjur Braendeland Acked-by: David S. Miller Acked-by: John W. Linville Signed-off-by: Michal Marek commit 7a6362800cb7d1d618a697a650c7aaed3eb39320 Merge: 6445ced8 ceda86a Author: Linus Torvalds Date: Wed Mar 16 16:29:25 2011 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1480 commits) bonding: enable netpoll without checking link status xfrm: Refcount destination entry on xfrm_lookup net: introduce rx_handler results and logic around that bonding: get rid of IFF_SLAVE_INACTIVE netdev->priv_flag bonding: wrap slave state work net: get rid of multiple bond-related netdevice->priv_flags bonding: register slave pointer for rx_handler be2net: Bump up the version number be2net: Copyright notice change. Update to Emulex instead of ServerEngines e1000e: fix kconfig for crc32 dependency netfilter ebtables: fix xt_AUDIT to work with ebtables xen network backend driver bonding: Improve syslog message at device creation time bonding: Call netif_carrier_off after register_netdevice bonding: Incorrect TX queue offset net_sched: fix ip_tos2prio xfrm: fix __xfrm_route_forward() be2net: Fix UDP packet detected status in RX compl Phonet: fix aligned-mode pipe socket buffer header reserve netxen: support for GbE port settings ... Fix up conflicts in drivers/staging/brcm80211/brcmsmac/wl_mac80211.c with the staging updates. commit 6445ced8670f37cfc2c5e24a9de9b413dbfc788d Merge: e6bee32 12bb12f Author: Linus Torvalds Date: Wed Mar 16 15:19:35 2011 -0700 Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 * 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (961 commits) staging: hv: fix memory leaks staging: hv: Remove NULL check before kfree Staging: hv: Get rid of vmbus_child_dev_add() Staging: hv: Change the signature for vmbus_child_device_register() Staging: hv: Get rid of vmbus_cleanup() function Staging: hv: Get rid of vmbus_dev_rm() function Staging: hv: Change the signature for vmbus_on_isr() Staging: hv: Eliminate vmbus_event_dpc() Staging: hv: Get rid of the function vmbus_msg_dpc() Staging: hv: Change the signature for vmbus_cleanup() Staging: hv: Simplify root device management staging: rtl8192e: Don't copy dev pointer to skb staging: rtl8192e: Pass priv to cmdpkt functions staging: rtl8192e: Pass priv to firmware download functions staging: rtl8192e: Pass priv to rtl8192_interrupt staging: rtl8192e: Pass rtl8192_priv to dm functions staging: rtl8192e: Pass ieee80211_device to callbacks staging: rtl8192e: Pass ieee80211_device to callbacks staging: rtl8192e: Pass ieee80211_device to callbacks staging: rtl8192e: Pass ieee80211_device to callbacks ... commit e6bee325e49f17c65c1fd66e9e8b348c85788341 Merge: a5e6b13 6ae705b Author: Linus Torvalds Date: Wed Mar 16 15:11:04 2011 -0700 Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 * 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (76 commits) pch_uart: reference clock on CM-iTC pch_phub: add new device ML7213 n_gsm: fix UIH control byte : P bit should be 0 n_gsm: add a documentation serial: msm_serial_hs: Add MSM high speed UART driver tty_audit: fix tty_audit_add_data live lock on audit disabled tty: move cd1865.h to drivers/staging/tty/ Staging: tty: fix build with epca.c driver pcmcia: synclink_cs: fix prototype for mgslpc_ioctl() Staging: generic_serial: fix double locking bug nozomi: don't use flush_scheduled_work() tty/serial: Relax the device_type restriction from of_serial MAINTAINERS: Update HVC file patterns tty: phase out of ioctl file pointer for tty3270 as well tty: forgot to remove ipwireless from drivers/char/pcmcia/Makefile pch_uart: Fix DMA channel miss-setting issue. pch_uart: fix exclusive access issue pch_uart: fix auto flow control miss-setting issue pch_uart: fix uart clock setting issue pch_uart : Use dev_xxx not pr_xxx ... Fix up trivial conflicts in drivers/misc/pch_phub.c (same patch applied twice, then changes to the same area in one branch) commit bd2895eeade5f11f3e5906283c630bbdb4b57454 Merge: 016aa2e 24d51ad Author: Linus Torvalds Date: Wed Mar 16 08:20:19 2011 -0700 Merge branch 'for-2.6.39' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq * 'for-2.6.39' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: workqueue: fix build failure introduced by s/freezeable/freezable/ workqueue: add system_freezeable_wq rds/ib: use system_wq instead of rds_ib_fmr_wq net/9p: replace p9_poll_task with a work net/9p: use system_wq instead of p9_mux_wq xfs: convert to alloc_workqueue() reiserfs: make commit_wq use the default concurrency level ocfs2: use system_wq instead of ocfs2_quota_wq ext4: convert to alloc_workqueue() scsi/scsi_tgt_lib: scsi_tgtd isn't used in memory reclaim path scsi/be2iscsi,qla2xxx: convert to alloc_workqueue() misc/iwmc3200top: use system_wq instead of dedicated workqueues i2o: use alloc_workqueue() instead of create_workqueue() acpi: kacpi*_wq don't need WQ_MEM_RECLAIM fs/aio: aio_wq isn't used in memory reclaim path input/tps6507x-ts: use system_wq instead of dedicated workqueue cpufreq: use system_wq instead of dedicated workqueues wireless/ipw2x00: use system_wq instead of dedicated workqueues arm/omap: use system_wq in mailbox workqueue: use WQ_MEM_RECLAIM instead of WQ_RESCUER commit 4a37390de98547e42ad0cb617bd2f2d452f2d4c7 Merge: 4a2b9c3 fea41cc Author: David S. Miller Date: Tue Mar 15 18:55:20 2011 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 106af2c99a5249b809aaed45b8353ac087821f4a Merge: 0c0217b 7d2c16b Author: John W. Linville Date: Tue Mar 15 14:16:48 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem commit 7d2c16befae67b901e6750b845661c1fdffd19f1 Author: Felix Fietkau Date: Sat Mar 12 01:11:28 2011 +0100 ath9k: fix aggregation related interoperability issues Some clients seems to keep track of their reorder window even after an aggregation session has been disabled. This causes issues if there are still retried but not completed frames pending for the TID. To ensure that rx does not stall in such situations, set sendbar to 1 for any frame purged from the TID queue on teardown. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 9db372fdd5de9e0464c77a9d3db2a3b356db8668 Author: Felix Fietkau Date: Fri Mar 11 21:45:51 2011 +0100 mac80211: fix channel type recalculation with HT and non-HT interfaces When running an AP interface along with the cooked monitor interface created by hostapd, adding an interface and deleting it again triggers a channel type recalculation during which the (non-HT) monitor interface takes precedence over the HT AP interface, thus causing the channel type to be set to non-HT. Fix this by ensuring that a more wide channel type will not be overwritten by a less wide channel type. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit efff395e97fffd55c60c77c09a18deba8d84e2c0 Author: Felix Fietkau Date: Fri Mar 11 21:38:20 2011 +0100 ath9k: improve reliability of beacon transmission and stuck beacon handling ath9k calls ath9k_hw_stoptxdma every time it sends a beacon, however there is not much point in doing that if the previous beacon and mcast traffic went out properly. On AR9380, calling that function too often can result in an increase of stuck beacons due to differences in the handling of the queue enable/disable functionality. With this patch, the queue will only be explicitly stopped if the previous data frames were not sent successfully. With the beacon code being the only remaining user of ath9k_hw_stoptxdma, this function can be simplified in order to remove the now pointless attempts at waiting for transmission completion, which would never happen at this point due to the different method of tx scheduling of the beacon queue. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 86271e460a66003dc1f4cbfd845adafb790b7587 Author: Felix Fietkau Date: Fri Mar 11 21:38:19 2011 +0100 ath9k: fix the .flush driver op implementation This patch simplifies the flush op and reuses ath_drain_all_txq for flushing out pending frames if necessary. It also uses a global timeout of 200ms instead of the per-queue 60ms timeout. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 0d51cccc2436fa4d978efc3764552779e163d840 Author: Felix Fietkau Date: Fri Mar 11 21:38:18 2011 +0100 ath9k: fix stopping tx dma on reset In some situations, stopping Tx DMA frequently fails, leading to messages like this: ath: Failed to stop TX DMA in 100 msec after killing last frame ath: Failed to stop TX DMA! This patch uses a few MAC features to abort DMA globally instead of iterating over all hardware queues and attempting to stop them individually. Not only is that faster and works with a shorter timeout, it also makes the process much more reliable. With this change, I can no longer trigger these messages on AR9380, and on AR9280 they become much more rare. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 997941d7efe4d165a558ed5b6029a8b3c2c85cf7 Author: Felix Fietkau Date: Fri Mar 11 21:38:17 2011 +0100 ath9k_hw: fix REG_SET_BIT and REG_CLR_BIT for multiple bits Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit cf28d7934c57168d530b606c26ab955a56eb13f9 Author: Helmut Schaa Date: Wed Mar 9 10:02:38 2011 +0100 mac80211: Shortcut minstrel_ht rate setup for non-MRR capable devices Devices without multi rate retry support won't be able to use all rates as specified by mintrel_ht. Hence, we can simply skip setting up further rates as the devices will only use the first one. Also add a special case for devices with only two possible tx rates. We use sample_rate -> max_prob_rate for sampling and max_tp_rate -> max_prob_rate by default. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 81266baf04ce80b088a7fa0dcf3b9f5e79023dd2 Author: John W. Linville Date: Mon Mar 7 16:32:59 2011 -0500 ath5k: implement ieee80211_ops->{get,set}_ringparam set_ringparam only allows changes to tx ring at this time. Signed-off-by: John W. Linville commit 38c091590f6ed78fcaf114c14ce133e5b3f717e6 Author: John W. Linville Date: Mon Mar 7 16:19:18 2011 -0500 mac80211: implement support for cfg80211_ops->{get,set}_ringparam Signed-off-by: John W. Linville commit 3677713b799155c96637cdef3fa025e42f3fcf48 Author: John W. Linville Date: Mon Mar 7 16:17:59 2011 -0500 wireless: add support for ethtool_ops->{get,set}_ringparam Signed-off-by: John W. Linville commit 266af4c745952e9bebf687dd68af58df553cb59d Author: Johannes Berg Date: Thu Mar 10 20:13:26 2011 -0800 iwlagn: support off-channel TX Add support to iwlagn for off-channel TX. The microcode API for this is a bit strange in that it uses a hacked-up scan command, so the scan code needs to change quite a bit to accomodate that and be able to send it out. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 808118cb41dfe12a1ac0e35515ac4d91b170bdf9 Author: Jason Young Date: Thu Mar 10 16:43:19 2011 -0800 mac80211: do not enable ps if 802.1x controlled port is unblocked If dynamic_ps is disabled, enabling power save before the 4-way handshake completes may delay the station from being authorized to send/receive traffic, i.e. increase roaming times. It also may result in a failed 4-way handshake depending on the AP's timing requirements and beacon interval, and the station's listen interval. To fix this, prevent power save from being enabled while the station isn't authorized and recalculate power save whenever the station's authorized state changes. Signed-off-by: Jason Young Acked-by: Johannes Berg Signed-off-by: John W. Linville commit d89dba7a275f40757d27ba16c8bc6aa424656bbe Author: Dan Carpenter Date: Thu Mar 10 18:23:26 2011 +0300 libertas: fix write past end of array in mesh_id_get() defs.meshie.val.mesh_id is 32 chars long. It's not supposed to be NUL terminated. This code puts a terminator on the end to make it easier to print to sysfs. The problem is that if the mesh_id fills the entire buffer the original code puts the terminator one spot past the end. The way the original code was written, there was a check to make sure that maxlen was less than PAGE_SIZE. Since we know that maxlen is at most 34 chars, I just removed the check. Signed-off-by: Dan Carpenter Acked-by: Dan Williams Signed-off-by: John W. Linville commit 23952ec92850bcdc91b8167fa95ec05dd59a80ea Author: Vivek Natarajan Date: Thu Mar 10 11:05:43 2011 +0530 ath9k_hw: Increase the wait count for nf load. Increasing the wait count makes the nf load pass in most of the cases. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 75e03512455827eb2c09e057578ae23178a93cf8 Author: Vivek Natarajan Date: Thu Mar 10 11:05:42 2011 +0530 ath9k_hw: Fix PLL initialization for AR9485. Increase the delay to make sure the initialization of pll passes. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 7ea1362c5d49c5761ce9fc3a4bbb090813134d03 Author: Vivek Natarajan Date: Thu Mar 10 11:05:41 2011 +0530 ath9k_hw: Improve idle power consumption for AR9485. Set some GPIO pins to Pull-down mode to save power. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 2e286947f1294239527c11f9f466ddce6466455b Author: Felix Fietkau Date: Wed Mar 9 01:48:12 2011 +0100 ath9k: remove support for the FIF_PROMISC_IN_BSS filter flag The hardware rx filter flag triggered by FIF_PROMISC_IN_BSS is overly broad and covers even frames with PHY errors. When this flag is enabled, this message shows up frequently during scanning or hardware resets: ath: Could not stop RX, we could be confusing the DMA engine when we start RX up Since promiscuous mode is usually not particularly useful, yet enabled by default by bridging (either used normally in 4-addr mode, or with hacks for various virtualization software), we should sacrifice it for better reliability during normal operation. This patch leaves it enabled if there are active monitor mode interfaces, since it's very useful for debugging. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 5f6722ee63a45d4ad3412743d161ec54d6c32ccc Author: Grazvydas Ignotas Date: Sun Mar 6 19:23:37 2011 +0200 wl1251: fix elp_work race condition While working on PS I've noticed elp_work is kicking rather often, and sometimes the chip is put to sleep before 5ms delay expires. This seems to happen because by the time wl1251_ps_elp_wakeup is called elp_work might still be pending. After wakeup is done, the processing may take some time, during which 5ms might expire and elp_work might get scheduled. In this case, ss soon as 1st thread finishes work and releases the mutex, elp_work will then put the device to sleep without 5ms delay. In addition 1st thread will queue additional elp_work needlessly. Fix this by cancelling work in wl1251_ps_elp_wakeup instead. Signed-off-by: Grazvydas Ignotas Acked-by: Kalle Valo Signed-off-by: John W. Linville commit d0c331aff99ca75f9aa0f794cf68b572d8ec7c5a Author: Grazvydas Ignotas Date: Sun Mar 6 19:23:36 2011 +0200 wl1251: remove wl1251_ps_set_elp function wl1251_ps_set_elp() only does acx_sleep_auth call and takes the chip from/to ELP, however all callers of wl1251_ps_set_mode() have already taken the chip out of ELP and puts it back to ELP when they finish. This makes ELP calls (and register writes they result in) superfluous. So remove wl1251_ps_set_elp function and call acx_sleep_auth directly. Signed-off-by: Grazvydas Ignotas Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 409ec36c320d580a036045e603f96286c362c609 Merge: 1b7fe59 8d5eab5 Author: John W. Linville Date: Fri Mar 11 14:11:11 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem commit 8d5eab5aa676378b4c9daa62d10d08a0bca04677 Author: Daniel Halperin Date: Wed Mar 9 03:10:18 2011 -0800 mac80211: update minstrel_ht sample rate when probe is set Waiting until the status is received can cause the same rate to be probed multiple times consecutively. Cc: Felix Fietkau Signed-off-by: Daniel Halperin Signed-off-by: John W. Linville commit 23ffaa89df16e55578318cfd852f23dcb37bf37b Author: John W. Linville Date: Tue Mar 8 16:36:00 2011 -0500 ath5k: restrict AR5K_TX_QUEUE_ID_DATA_MAX to reflect the [0,3] range This just matches reality... Signed-off-by: John W. Linville Acked-by: Bob Copeland commit 4d9d88d121fdd01dd859717909ea3c90173f143a Author: Scott James Remnant Date: Tue Mar 8 10:45:30 2011 -0800 net/wireless: add COUNTRY to to regulatory device uevent Regulatory devices issue change uevents to inform userspace of a need to call the crda tool; however these can often be sent before udevd is running, and were not previously included in the results of udevadm trigger (which requests a new change event using the /uevent attribute of the sysfs object). Add a uevent function to the device type which includes the COUNTRY information from the last request if it has yet to be processed, the case of multiple requests is already handled in the code by checking whether an unprocessed one is queued in the same manner and refusing to queue a new one. The existing udev rule continues to work as before. Signed-off-by: Scott James Remnant Acked-By: Kay Sievers Acked-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 80751e2b8ffcbbe065e850d943301aa1ab219599 Author: Bing Zhao Date: Mon Mar 7 11:14:23 2011 -0800 ieee80211: add IEEE80211_COUNTRY_STRING_LEN definition and make use of it in wireless drivers Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit b9ede5f1dc03f96949dcaa8f8b3483766c047260 Author: Shan Wei Date: Tue Mar 8 11:02:03 2011 +0800 mwl8k: use kcalloc instead of kmalloc & memset Use kcalloc or kzalloc rather than the combination of kmalloc and memset. Thanks coccicheck for detecting this. (http://coccinelle.lip6.fr/) Signed-off-by: Shan Wei Signed-off-by: John W. Linville commit d07bfd8b6f20a81d7ec65c50f35b053d9e3aa740 Author: Johannes Berg Date: Mon Mar 7 15:48:41 2011 +0100 mac80211: fix scan race, simplify code The scan code has a race that Michael reported he ran into, but it's easy to fix while at the same time simplifying the code. The race resulted in the following warning: ------------[ cut here ]------------ WARNING: at net/mac80211/scan.c:310 ieee80211_rx_bss_free+0x20c/0x4b8 [mac80211]() Modules linked in: [...] [] (unwind_backtrace+0x0/0xe0) from [] (warn_slowpath_common+0x4c/0x64) [... backtrace wasn't useful ...] Reported-by: Michael Buesch Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2a6672f2c425e6d1da2ef7f3169e417cd1f5a6cd Author: Rafał Miłecki Date: Mon Mar 7 15:09:19 2011 +0100 b43: trivial: update B43_PHY_N description (PHY support) Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit ea29cae9d701d3f57d401e6c295244bcc26fab8e Author: Michael Buesch Date: Mon Mar 7 13:31:24 2011 +0100 p54spi: Update kconfig help text This updates the p54spi Kconfig help text. The driver works well on n8x0, so remove the words "experimental" and "untested". Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit b196d031f2bb29c253050d554130e41c7e3cbfb0 Author: Michael Buesch Date: Mon Mar 7 13:09:12 2011 +0100 mac80211: Add log message to ieee80211_restart_hw() Add a log message to ieee80211_restart_hw() to highlight that special codepath in the logs. This helps debugging bugs in the rarely tested restart code. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 118253ca46262342b87909927fec6214fa4a06a4 Author: Stanislaw Gruszka Date: Mon Mar 7 09:22:24 2011 +0100 iwlwifi: fix iwl-rx.c compilation My commit 466a19a003f3b45a755bc85f967c21da947f9a00 "iwlwifi: move rx handlers code to iwl-rx.c" breaks compilation on 32 bits. Fix that. Reported-by: Guy, Wey-Yi Reported-by: Daniel Halperin Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 9ac4793359f374e4e9ec6a71b65677096c024acd Author: Shan Wei Date: Mon Mar 7 15:18:11 2011 +0800 wireless:ath: use resource_size() help function Signed-off-by: Shan Wei Signed-off-by: John W. Linville commit 2d0123a5d635e336dbab21eba62e8dd4eb3e39a0 Author: Shan Wei Date: Fri Mar 4 15:14:16 2011 +0800 mac80211: remove unused macros Compile test only. Signed-off-by: Shan Wei Signed-off-by: John W. Linville commit e4b0b32aa1c0dd7ae6340833dd6b19de46409a88 Author: Ben Greear Date: Thu Mar 3 14:39:05 2011 -0800 ath5k: Put hardware in PROMISC mode if there is more than 1 stations. It seems ath5k has issues receiving broadcast packets (ARPs) when using multiple STA interfaces associated with multiple APs. This patch ensures the NIC is always in PROMISC mode if there are more than 1 stations associated. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit d72751ede1b9bf993d7bd3377305c8e9e36a3cc4 Merge: 0a0e9ae 85a7045 Author: David S. Miller Date: Fri Mar 4 12:48:25 2011 -0800 Merge branch 'for-davem' of ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 85a7045a90052749885e166f40af5e9140032287 Merge: 29546a6 e46395a Author: John W. Linville Date: Fri Mar 4 14:10:40 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem commit 410f2bb30d27252cc55a5f41668de60de62e5dc8 Author: Stanislaw Gruszka Date: Fri Mar 4 17:51:51 2011 +0100 iwlwifi: avoid too frequent recover from statistics Usually H/W generate statistics notify once per about 100ms, but sometimes we can receive notify in shorter time, even 2 ms. This can be problem for plcp health and ack health checking. I.e. with 2 plcp errors happens randomly in 2 ms duration, we exceed plcp delta threshold equal to 100 (2*100/2). Also checking ack's in short time, can results not necessary false positive and firmware reset, for example when channel is noised and we do not receive ACKs frames or when remote device does not send ACKs at the moment. Patch change code to do statistic check and possible recovery only if 99ms elapsed from last check. Forced delay should assure we have good statistic data to estimate hardware state. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 6198c387b25b528fd89a48bf67f0402d828ffa18 Author: Stanislaw Gruszka Date: Fri Mar 4 17:51:50 2011 +0100 iwlwifi: cleanup iwl_good_plcp_health Make iwl_good_plcp_health code easiest to read. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 466a19a003f3b45a755bc85f967c21da947f9a00 Author: Stanislaw Gruszka Date: Fri Mar 4 17:51:49 2011 +0100 iwlwifi: move rx handlers code to iwl-rx.c Put generic rx_handlers (except iwlagn_rx_reply_compressed_ba) to iwl-rx.c . Make functions static and change prefix from iwlagn_ to iwl_ . Beautify iwl_setup_rx_handlers and do some other minor coding style changes. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 9d468d2269b64222a706f52b965998ee64d0b4bf Author: Helmut Schaa Date: Fri Mar 4 13:31:31 2011 +0100 mac80211: Remove redundant preamble and RTS flag setup in minstrel_ht mac80211 does the same afterwards anyway. Hence, just drop this redundant code. Signed-off-by: Helmut Schaa Acked-by: Felix Fietkau Signed-off-by: John W. Linville commit db7889cda3571bfd0d3a3fc79ca0cd16bb321ff2 Author: Ben Greear Date: Thu Mar 3 16:25:59 2011 -0800 ath9k: Fix txq memory address printing in debugfs. No use printing addresses of pointers, just print the pointers themselves. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 557d99a26945e21992f693787334143d0355f60a Author: Gertjan van Wingerde Date: Thu Mar 3 19:47:21 2011 +0100 rt2x00: Remove unused rt2x00queue_get_queue function. Now that all accesses to the data_queue structures is done via the specialized rt2x00queue_get_tx_queue function or via direct accesses, there is no need for the rt2x00queue_get_queue function anymore, so remove it. Signed-off-by: Gertjan van Wingerde Acked-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a24408307e930e21912e82c125648400041d66fb Author: Gertjan van Wingerde Date: Thu Mar 3 19:46:55 2011 +0100 rt2x00: Optimize getting the beacon queue structure. In the spirit of optimizing the code to get the queue structure of TX queues, also optimize the code to get beacon queues. We can simply use the bcn queue field of the rt2x00_dev structure instead of using the rt2x00queue_get_queue function. Signed-off-by: Gertjan van Wingerde Acked-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 61c6e4893f3070b6473ca4ec3176c7471d44278b Author: Gertjan van Wingerde Date: Thu Mar 3 19:46:29 2011 +0100 rt2x00: Include ATIM queue support in rt2x00queue_get_tx_queue. The ATIM queue is considered to be a TX queue by the drivers that support the queue. Therefore include support for the ATIM queue to the rt2x00queue_get_tx_queue function so that the drivers that support the ATIM queue can also use that function. Add the support in such a way that drivers that do not support the ATIM queue are not penalized in their efficiency. Signed-off-by: Gertjan van Wingerde Acked-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e74df4a7562da56a7e4dbf41ff167b2f44e84a50 Author: Gertjan van Wingerde Date: Thu Mar 3 19:46:09 2011 +0100 rt2x00: Don't treat ATIM queue as second beacon queue. Current code for the atim queue is strange, as it is considered in the rt2x00_dev structure as a second beacon queue. Normalize this by letting the atim queue have its own struct data_queue pointer in the rt2x00_dev structure. Signed-off-by: Gertjan van Wingerde Acked-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3736fe5808577f9d3a31a565ef4e78ceae250c98 Author: Helmut Schaa Date: Thu Mar 3 19:45:39 2011 +0100 rt2x00: Fix comment in rt2800pci We don't use interrupt threads anymore. Fix the comment. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0aa13b2e06fbb8327c7acb4ccf684b2b65c302ce Author: Helmut Schaa Date: Thu Mar 3 19:45:16 2011 +0100 rt2x00: Revise irqmask locking for PCI devices The PCI device irqmask is locked by a spin_lock. Currently spin_lock_irqsave is used everywhere. To reduce the locking overhead replace spin_lock_irqsave in hard irq context with spin_lock and in soft irq context with spin_lock_irq. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 567108ebd352f21640c536ea3b39584f9e7c28f8 Author: Helmut Schaa Date: Thu Mar 3 19:44:53 2011 +0100 rt2x00: Remove now unused crypto.aid field Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1ed3811c33d525be1c657261db1713f294c40c60 Author: Helmut Schaa Date: Thu Mar 3 19:44:33 2011 +0100 rt2x00: Fix rt2800 key assignment in multi bssid setups When setting up multiple BSSIDs in AP mode on an rt2800pci device we previously used the STAs AID to select an appropriate key slot. But since the AID is per VIF we can end up with two STAs having the same AID and thus using the same key index. This resulted in one STA overwriting the key information of another STA. Fix this by simply searching for the next unused entry in the pairwise key table. Also bring the key table init in sync with deleting keys by initializing the key table entries to 0 instead of 1. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4df10c8c1353e5db781a9a781cc585698b24f30d Author: Helmut Schaa Date: Thu Mar 3 19:44:10 2011 +0100 rt2x00: Use an enum instead of u16 for the rate_mode TX descriptor field This makes the code less error-prone. Acked-by: Gertjan van Wingerde Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 55b585e29095ce64900b6192aadf399fa007161e Author: Helmut Schaa Date: Thu Mar 3 19:43:49 2011 +0100 rt2x00: Don't call ieee80211_get_tx_rate for MCS rates ieee80211_get_tx_rate is not valid for HT rates. Hence, restructure the TX desciptor creation to be aware of MCS rates. The generic TX desciptor creation now cares about the rate_mode (CCK, OFDM, MCS, GF). As a result, ieee80211_get_tx_rate gets only called for legacy rates. Acked-by: Gertjan van Wingerde Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2517794b702cf62bb049e57c0825fc4573f8a6a3 Author: Helmut Schaa Date: Thu Mar 3 19:43:25 2011 +0100 rt2x00: Move TX descriptor field "ifs" into plcp substruct "ifs" is only used by no-HT devices. Move it into the plcp substruct and fill in the value only for no-HT devices. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fe107a5234de1f1576df466b2ea8d01868f6ee77 Author: Ivo van Doorn Date: Thu Mar 3 19:42:58 2011 +0100 rt2x00: Optimize TX descriptor memory layout Some fields only need to be u8 and for ifs and txop we can use the already available enums. Acked-by: Gertjan van Wingerde Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 26a1d07f4176099a7b6f45009dad054e6ad5b7e4 Author: Helmut Schaa Date: Thu Mar 3 19:42:35 2011 +0100 rt2x00: Optimize TX descriptor handling HT and no-HT rt2x00 devices use a partly different TX descriptor. Optimize the tx desciptor memory layout by putting the PLCP and HT substructs into a union and introduce a new driver flag to decide which TX desciptor format is used by the device. This saves us the expensive PLCP calculation fOr HT devices and the HT descriptor setup on no-HT devices. Acked-by: Gertjan van Wingerde Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 7fe7ee77765161217f60ec9facabd9d2b38d98fe Author: Helmut Schaa Date: Thu Mar 3 19:42:01 2011 +0100 rt2x00: Generate sw sequence numbers only for devices that need it Newer devices like rt2800* own a hardware sequence counter and thus don't need to use a software sequence counter at all. Add a new driver flag to shortcut the software sequence number generation on devices that don't need it. rt61pci, rt73usb and rt2800* seem to make use of a hw sequence counter while rt2400pci and rt2500* need to do it in software. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 208f19dceeeebcae2f9fb8f88953e2f66949b0f0 Author: Helmut Schaa Date: Thu Mar 3 19:41:03 2011 +0100 rt2x00: Use unlikely for unexpected error condition in rt2x00_mac_tx rt2x00queue_write_tx_frame is unlikely to fail. Tell the compiler. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5356d963304638735b4b53dfbded7a1c4ae0818d Author: Helmut Schaa Date: Thu Mar 3 19:40:33 2011 +0100 rt2x00: Add unlikely macro to special case tx status handling This special case shouldn't happen very often. Only if a frame that is not intended to be aggregated ends up in an AMPDU _and_ was intended to be sent at a different MCS rate as the aggregate. Hence, using unlikely is justified. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c262e08b79204f57aba1f180d6ebdb5ea9db01dd Author: Helmut Schaa Date: Thu Mar 3 19:39:56 2011 +0100 rt2x00: Remove useless NULL check Since tx_info->control.vif was already accessed before it cant't be NULL here. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 87443e875c8ad1f0c25b1255bdeb88de934e151e Author: Helmut Schaa Date: Thu Mar 3 19:39:27 2011 +0100 rt2x00: Make use of unlikely during tx status processing These conditions are unlikely to happen, tell the compiler. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 11f818e0eb50864c7e6f8af38d8f8822f992906a Author: Helmut Schaa Date: Thu Mar 3 19:38:55 2011 +0100 rt2x00: Optimize calls to rt2x00queue_get_queue In some cases (tx path for example) we don't need to check for non-tx queues in rt2x00queue_get_queue. Hence, introduce a new method rt2x00queue_get_tx_queue that is only valid for tx queues and use it in places where only tx queues are valid. Furthermore, this new method is quite short and as such can be inlined to avoid the function call overhead. This only converts the txdone functions of drivers that don't use an ATIM queue and the generic tx path. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit adde5882bc6c21de7ee80ee15dfd58c7e9a472ac Author: Gabor Juhos Date: Thu Mar 3 11:46:45 2011 +0100 rt2x00: fix whitespace damage in the rt2800 specific code The rt2800 specific code contains a lots of whitespace damage caused by the commit 'rt2x00: Add support for RT5390 chip'. This patch fixes those whitespace errors. Signed-off-by: Gabor Juhos Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit ba9a6214539df3e647d8259b101dbc60216ecc31 Author: Rafał Miłecki Date: Tue Mar 1 21:40:41 2011 +0100 b43: N-PHY: rev3+: implement gain ctl workarounds Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 9838985162935a9db12962403808d43f3d225952 Author: Rafał Miłecki Date: Tue Mar 1 21:40:40 2011 +0100 b43: N-PHY: rev3+: add tables with gain ctl workarounds Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 0f4091b9af7151cf510bcf9160e970982c883101 Author: Rafał Miłecki Date: Tue Mar 1 21:40:39 2011 +0100 b43: N-PHY: rev3+: correct switching analog core Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit b06af7a57de42707fee6eec784ee507960cc9131 Author: Vasanthakumar Thiagarajan Date: Tue Mar 1 08:59:36 2011 -0800 ath9k_hw: Read noise floor only for available chains for AR9003 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 582d00641b03efa892b3d2cfe6b45c1fe6d422a1 Author: Vasanthakumar Thiagarajan Date: Tue Mar 1 05:30:55 2011 -0800 ath9k: Add a debugfs interface to dump chip registers //ieee80211/phyX/ath9k/regdump is the interface to dump the registers. Signed-off-by: Felix Fietkau Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 6410db593e8c1b2b79a2f18554310d6da9415584 Author: Larry Finger Date: Mon Feb 28 23:36:09 2011 -0600 rtl8187: Change rate-control feedback The driver for the RTL8187L chips returns IEEE80211_TX_STAT_ACK for all packets, even if the maximum number of retries was exhausted. In addition it fails to setup max_rates in the ieee80211_hw struct, This behavior may be responsible for the problems noted in Bug 14168. As the bug is very old, testers have not been found, and I do not have the case where the indicated signal is less than -70 dBm. Signed-off-by: Larry Finger Acked-by: Hin-Tak Leung Cc: Stable Signed-off-by: John W. Linville commit 1ffe4dd126bcad84f0701ca271a7f10494d0c2c8 Author: John W. Linville Date: Tue Mar 1 13:53:02 2011 -0500 rtlwifi: usb parts should depend on CONFIG_USB ERROR: "usb_unanchor_urb" [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined! ERROR: "usb_control_msg" [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined! ERROR: "usb_submit_urb" [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined! ERROR: "usb_get_dev" [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined! ERROR: "usb_kill_anchored_urbs" [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined! ERROR: "usb_put_dev" [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined! ERROR: "usb_free_urb" [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined! ERROR: "usb_anchor_urb" [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined! ERROR: "usb_alloc_urb" [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined! make[2]: *** [__modpost] Error 1 make[1]: *** [modules] Error 2 make: *** [sub-make] Error 2 The USB-part of rtlwifi should depend on CONFIG_USB. This also corrects the existing check for CONFIG_PCI to build pci.o. Reported-by: Geert Uytterhoeven Signed-off-by: John W. Linville commit e2ab758d1649684df5270898ca848e6824ecf38e Merge: 95f84f2 f8f79a5 Author: John W. Linville Date: Fri Mar 4 14:01:20 2011 -0500 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 95f84f2959482ee25b5cfe28a048a331ded8667c Merge: a177584 95a7761 Author: John W. Linville Date: Fri Mar 4 14:00:29 2011 -0500 Merge branch 'for-linville' of git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx commit a177584609f7eb2ab1f1c0211bee4ec20d98d892 Merge: e46395a b8534e0 Author: John W. Linville Date: Fri Mar 4 13:59:44 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6 commit 0a0e9ae1bd788bc19adc4d4ae08c98b233697402 Merge: 01a16b2 b65a0e0 Author: David S. Miller Date: Thu Mar 3 21:27:42 2011 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/bnx2x/bnx2x.h commit f8f79a5dbeb59a13a3f8101b24cbe19ec6e92d07 Author: Fry, Donald H Date: Fri Feb 25 09:44:48 2011 -0800 iwlagn: report correct temperature for WiFi/BT devices. The temperature reported by 'cat /sys/class/net/wlan?/device/temperature' is incorrect for devices with BT capability. Report the value from the correct statistics structure. Tested with 130, 100, 6205 and 5300. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy commit fea41cc9b1af5f65fecf4013ad62284e6ae3a78c Author: Fry, Donald H Date: Fri Feb 25 09:43:20 2011 -0800 iwlagn: Support new 1000 microcode. iwlagn: Support new 1000 microcode. New iwlwifi-1000 microcode requires driver support for API version 5. (There is no version 4) Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy commit 95a776107a131823c87147dff083696d8814c1b3 Author: Helmut Schaa Date: Wed Mar 2 10:46:46 2011 +0100 wl12xx: Correctly set up protection if non-GF STAs are present Set the gf_protection bit when calling ACX_HT_BSS_OPERATION according to the GF bit passed by mac80211 in ht_operation_mode. [Added a proper commit message -- Luca] Signed-off-by: Helmut Schaa Signed-off-by: Luciano Coelho commit 24225b37bd78d3e2edaa1a39316c54786adaa465 Author: Arik Nemtsov Date: Tue Mar 1 12:27:26 2011 +0200 wl12xx: wakeup chip from ELP during scan Commands are sometimes sent to FW on scan completion. Make sure the chip is awake to receive them. Sending commands while the chip is in ELP can cause SDIO read errors and/or crash the FW. Signed-off-by: Arik Nemtsov Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit b16d4b6864e5bd7e5a6e5987f896003175235bca Author: Ido Yariv Date: Tue Mar 1 15:14:44 2011 +0200 wl12xx: Modify requested number of memory blocks Tests have shown that the requested number of memory blocks is sub-optimal. Slightly modify the requested number of memory blocks for TX. Signed-off-by: Ido Yariv Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit b07d4037051318d47c055384ef887535a0ed2d1e Author: Ido Yariv Date: Tue Mar 1 15:14:43 2011 +0200 wl12xx: Avoid redundant TX work TX might be handled in the threaded IRQ handler, in which case, TX work might be scheduled just to discover it has nothing to do. Save a few context switches by cancelling redundant TX work in case TX is about to be handled in the threaded IRQ handler. Also, avoid scheduling TX work from wl1271_op_tx if not needed. Signed-off-by: Ido Yariv Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 2da69b890f47852dc368136375f49a5d24e2d9a1 Author: Ido Yariv Date: Tue Mar 1 15:14:42 2011 +0200 wl12xx: Switch to level trigger interrupts The interrupt of the wl12xx is a level interrupt in nature, since the interrupt line is not auto-reset. However, since resetting the interrupt requires bus transactions, this cannot be done from an interrupt context. Thus, requesting a level interrupt would require to disable the irq and re-enable it after the HW is acknowledged. Since we now request a threaded irq, this can also be done by specifying the IRQF_ONESHOT flag. Triggering on an edge can be problematic in some platforms, if the sampling frequency is not sufficient for detecting very frequent interrupts. In case an interrupt is missed, the driver will hang as the interrupt line will stay high until it is acknowledged by the driver, which will never happen. Fix this by requesting a level triggered interrupt, with the IRQF_ONESHOT flag. Signed-off-by: Ido Yariv Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit a620865edf62ea2d024bbfe62162244473badfcb Author: Ido Yariv Date: Tue Mar 1 15:14:41 2011 +0200 wl12xx: Switch to a threaded interrupt handler To achieve maximal throughput, it is very important to react to interrupts as soon as possible. Currently the interrupt handler wakes up a worker for handling interrupts in process context. A cleaner and more efficient design would be to request a threaded interrupt handler. This handler's priority is very high, and can do blocking operations such as SDIO/SPI transactions. Some work can be deferred, mostly calls to mac80211 APIs (ieee80211_rx_ni and ieee80211_tx_status). By deferring such work to a different worker, we can keep the irq handler thread more I/O responsive. In addition, on multi-core systems the two threads can be scheduled on different cores, which will improve overall performance. The use of WL1271_FLAG_IRQ_PENDING & WL1271_FLAG_IRQ_RUNNING was changed. For simplicity, always query the FW for more pending interrupts. Since there are relatively long bursts of interrupts, the extra FW status read overhead is negligible. In addition, this enables registering the IRQ handler with the ONESHOT option. Signed-off-by: Ido Yariv Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 393fb560d328cc06e6a5c7b7473901ad724f82e7 Author: Ido Yariv Date: Tue Mar 1 15:14:40 2011 +0200 wl12xx: Change claiming of the SDIO bus The SDIO bus is claimed and released for each SDIO transaction. In addition to the few CPU cycles it takes to claim and release the bus, it may also cause undesired side effects such as the MMC host stopping its internal clocks. Since only the wl12xx_sdio driver drives this SDIO card, it is safe to claim the SDIO host once (on power on), and release it only when turning the power off. This patch was inspired by Juuso Oikarinen's (juuso.oikarinen@nokia.com) patch "wl12xx: Change claiming of the (SDIO) bus". Signed-off-by: Ido Yariv Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 606ea9fa0b2c01ffafb6beae92ea8e2b1473520b Author: Ido Yariv Date: Tue Mar 1 15:14:39 2011 +0200 wl12xx: Do end-of-transactions transfers only if needed On newer hardware revisions, there is no need to write the host's counter at the end of a RX transaction. The same applies to writing the number of packets at the end of a TX transaction. It is generally a good idea to avoid unnecessary SDIO/SPI transfers. Throughput and CPU usage are improved when avoiding these. Send the host's RX counter and the TX packet count only if needed, based on the hardware revision. [Changed WL12XX_QUIRK_END_OF_TRANSACTION to use BIT(0) -- Luca] Signed-off-by: Ido Yariv Signed-off-by: Ohad Ben-Cohen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 8aad24642a7c06832a75f1d20e8e3112b4fbd815 Author: Ido Yariv Date: Tue Mar 1 15:14:38 2011 +0200 wl12xx: Reorder data handling in irq_work The FW has a limited amount of memory for holding frames. In case it runs out of memory reserved for RX frames, it'll have no other choice but to drop packets received from the AP. Thus, it is important to handle RX data interrupts as soon as possible, before handling anything else. In addition, since there are enough TX descriptors to go around, it is better to first send TX frames, and only then handle TX completions. Fix this by changing the order of function calls in wl1271_irq_work. Signed-off-by: Ido Yariv Signed-off-by: Ohad Ben-Cohen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 50e9f746f63c9b881f2ca4a35dbdfd34b1a8a215 Author: Ido Yariv Date: Mon Feb 28 00:16:13 2011 +0200 wl12xx: Remove private headers in wl1271_tx_reset Frames in the tx_frames array include extra private headers, which must be removed before passing the skbs to ieee80211_tx_status. Fix this by removing any private headers in wl1271_tx_reset, similar to how this is done in wl1271_tx_complete_packet. Signed-off-by: Ido Yariv Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 11251e7e5c7c5411d1f77dbc7f9bfa2c23626749 Author: Ido Yariv Date: Mon Feb 28 00:13:58 2011 +0200 wl12xx: Don't rely on runtime PM for toggling power Runtime PM might not always be enabled. Even if it is enabled in the running kernel, it can still be temporarily disabled, for instance during suspend. Runtime PM is opportunistic in nature, and should not be relied on for toggling power. In case the interface is removed and re-added while runtime PM is disabled, the FW will fail to boot, as it is mandatory to toggle power between boots. For instance, this can happen during suspend in case one of the devices fails to suspend before the MMC host suspends, but after mac80211 was suspended. The interface will be removed and reactivated without toggling the power. Fix this by calling mmc_power_save_host/mmc_power_restore_host in wl1271_sdio_power_on/off functions. It will toggle the power to the chip even if runtime PM is disabled. The runtime PM functions should still be called to make sure runtime PM does not opportunistically power the chip off (e.g. after resuming from system suspend). Signed-off-by: Ido Yariv Signed-off-by: Ohad Ben-Cohen Signed-off-by: Luciano Coelho commit f62c317c1f7f67c249ee9254e55a02fad0d0f86b Author: Sebastien Jan Date: Wed Feb 23 14:25:16 2011 +0100 wl12xx: fix the path to the wl12xx firmwares In the linux-firmware git tree, the firmwares and the NVS are inside the ti-connectivity directory. Fix the filenames that the driver looks for accordingly. [Fixed commit message and merged with the latest changes. -- Luca] Signed-off-by: Sebastien Jan Signed-off-by: Luciano Coelho commit b8534e0f2b09e47790c261af0aee86fc88c6eb3c Author: Szymon Janc Date: Tue Mar 1 16:55:34 2011 +0100 Bluetooth: Fix some small code style issues in mgmt.c Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 3cf2a4f6ca4e088ba79d05d6e7f4635c535e6ae4 Author: Szymon Janc Date: Tue Mar 1 16:55:33 2011 +0100 Bluetooth: Use variable name instead of type in sizeof() As written in the CodingStyle doc. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 8ce6284ea350a5249d09c958bdd088ec0eb4f57f Author: Szymon Janc Date: Tue Mar 1 16:55:32 2011 +0100 Bluetooth: Remove unused code from get_connections Command pointer was a leftover after moving controller index to mgmt_hdr. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 34eb525c1fda689507118a1f2c77fef51832ec8a Author: Szymon Janc Date: Mon Feb 28 14:10:08 2011 +0100 Bluetooth: Log all parameters in cmd_status for easier debugging Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 8020c16a6c9fc8d6a5217be8d005f2fc558f6ab5 Author: Szymon Janc Date: Mon Feb 28 14:09:50 2011 +0100 Bluetooth: Fix possible NULL pointer dereference in cmd_complete It is now possible to create command complete event without specific reply data by passing NULL as reply with len 0. Check pointer before calling memcpy to avoid undefined behaviour. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit e46395a4b3d32d161d8b6d8e4a002972b1faae3e Author: Johannes Berg Date: Tue Mar 1 17:18:26 2011 +0100 mac80211: make rate control Kconfig warning depend on mac80211 ... Otherwise it is displayed when mac80211 isn't even turned on, which is completely pointless. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 27b4eb26cd06df0192781b0615719b324e30d1cd Author: Rafał Miłecki Date: Tue Mar 1 13:28:36 2011 +0100 b43: N-PHY: rev3+: add static tables This finally makes TX on OFDM rates possible on my dev with PHY rev 4. We still have lower performance than wl, but at least speeds around 15M become possible. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 375ff4c7780e88bc4e0de4145099a7ed9aa57995 Author: Chaoming Li Date: Mon Feb 28 16:40:28 2011 -0600 rtlwifi: Fix error registering rate-control When a second module such as rtl8192ce or rtl8192cu links to rtlwifi, the attempt to register a rate-control mechanism fails with the warning shown below. The fix is to select the RC mechanism when rtlwifi is initialized. WARNING: at net/mac80211/rate.c:42 ieee80211_rate_control_register+0xc9/0x100 [mac80211]() Hardware name: HP Pavilion dv2700 Notebook PC Modules linked in: arc4 ecb rtl8192ce rtl8192cu(+) rtl8192c_common rtlwifi snd_hda_codec_conexant amd74xx(+) ide_core sg mac80211 snd_hda_intel snd_hda_codec i2c_nforce2 snd_pcm snd_timer cfg80211 snd k8temp hwmon serio_raw joydev i2c_core soundcore snd_page_alloc rfkill forcedeth video ac battery button ext3 jbd mbcache sd_mod ohci_hcd ahci libahci libata scsi_mod ehci_hcd usbcore fan processor thermal Pid: 2227, comm: modprobe Not tainted 2.6.38-rc6-wl+ #468 Call Trace: [] ? warn_slowpath_common+0x7a/0xb0 [] ? warn_slowpath_null+0x15/0x20 [] ? ieee80211_rate_control_register+0xc9/0x100 [mac80211] [] ? rtl_rate_control_register+0x10/0x20 [rtlwifi] [] ? rtl_init_core+0x189/0x620 [rtlwifi] [] ? __raw_spin_lock_init+0x38/0x70 [] ? rtl_usb_probe+0x709/0x82e [rtlwifi] [] ? usb_match_one_id+0x3d/0xc0 [usbcore] [] ? usb_probe_interface+0xb9/0x160 [usbcore] [] ? driver_probe_device+0x89/0x1a0 [] ? __driver_attach+0xa3/0xb0 [] ? __driver_attach+0x0/0xb0 [] ? bus_for_each_dev+0x5e/0x90 [] ? driver_attach+0x19/0x20 [] ? bus_add_driver+0x158/0x290 [] ? driver_register+0x71/0x140 [] ? __raw_spin_lock_init+0x38/0x70 [] ? usb_register_driver+0xdc/0x190 [usbcore] [] ? rtl8192cu_init+0x0/0x20 [rtl8192cu] [] ? rtl8192cu_init+0x1e/0x20 [rtl8192cu] [] ? do_one_initcall+0x3f/0x180 [] ? sys_init_module+0xbb/0x200 [] ? system_call_fastpath+0x16/0x1b ---[ end trace 726271c07a47439e ]--- rtlwifi:rtl_init_core():<0-0> rtl: Unable to register rtl_rc,use default RC !! ieee80211 phy0: Selected rate control algorithm 'minstrel_ht' Signed-off-by: Chaoming Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3af6334c9e4fbf41ef0ebd3b4d5762f26b675c40 Author: Felix Fietkau Date: Sun Feb 27 22:08:01 2011 +0100 mac80211: add support for showing the last rx bitrate Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit c8dcfd8a046c1f49af0c15726761af17b957962d Author: Felix Fietkau Date: Sun Feb 27 22:08:00 2011 +0100 cfg80211: add a field for the bitrate of the last rx data packet from a station Also fix a typo in the STATION_INFO_TX_BITRATE description Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit e7a2a4f5e61ccfae03185384e06b852dbb1e3630 Author: Sujith Manoharan Date: Sun Feb 27 09:20:40 2011 +0530 ath9k_htc: Handle BSSID/AID for multiple interfaces The AID and BSSID should be set in the HW only for the first station interface or adhoc interface. Also, cancel the ANI timer in stop() for multi-STA scenario. And finally configure the HW beacon timers only for the first station interface. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit ff938e43d39e926de74b32a3656c190f979ab642 Author: Sergei Shtylyov Date: Mon Feb 28 11:57:33 2011 -0800 net: use pci_dev->revision, again Several more network drivers that read the device's revision ID from the PCI configuration register were merged after the commit 44c10138fd4bbc4b6d6bff0873c24902f2a9da65 (PCI: Change all drivers to use pci_device->revision), so it's time to do another pass of conversion to using the 'revision' field of 'struct pci_dev'... Signed-off-by: Sergei Shtylyov Acked-by: "John W. Linville" Signed-off-by: David S. Miller commit 67289941d80f18fd8239e350e015a4b84878412b Author: Stanislaw Gruszka Date: Mon Feb 28 14:33:17 2011 +0100 iwlwifi: move remaining iwl-agn-rx.c code into iwl-rx.c There is no need to have separate iwl-agn-rx.c file after iwlegacy split. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit ad6e82a5348e494c0023d77fa55933f23b55711c Author: Stanislaw Gruszka Date: Mon Feb 28 14:33:16 2011 +0100 iwlwifi: move check health code into iwl-rx.c Remove check_plcp_health and check_ack_health ops methods, they are unneeded after iwlegacy driver split. Merge check health code into to iwl-rx.c and make functions static. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit b7977ffaab5187ad75edaf04ac854615cea93828 Author: Stanislaw Gruszka Date: Mon Feb 28 14:33:15 2011 +0100 iwlwifi: add {ack,plpc}_check module parameters Add module ack_check, and plcp_check parameters. Ack_check is disabled by default since is proved that check ack health can cause troubles. Plcp_check is enabled by default. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 8a032c132b7ca011813df7c441b4a6fc89e5baee Author: Stanislaw Gruszka Date: Mon Feb 28 14:33:14 2011 +0100 iwlegacy: fix dma mappings and skbs leak Fix possible dma mappings and skbs introduced by commit 470058e0ad82fcfaaffd57307d8bf8c094e8e9d7 "iwlwifi: avoid Tx queue memory allocation in interface down". Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 387f3381f732d8fa1b62213ae3276f2ae712dbe2 Author: Stanislaw Gruszka Date: Mon Feb 28 14:33:13 2011 +0100 iwlwifi: fix dma mappings and skbs leak Since commit commit 470058e0ad82fcfaaffd57307d8bf8c094e8e9d7 "iwlwifi: avoid Tx queue memory allocation in interface down" we do not unmap dma and free skbs when down device and there is pending transfer. What in consequence may cause that system hung (waiting for free skb's) when performing shutdown at iptables module unload. DMA leak manifest itself following warning: WARNING: at lib/dma-debug.c:689 dma_debug_device_change+0x15a/0x1b0() Hardware name: HP xw8600 Workstation pci 0000:80:00.0: DMA-API: device driver has pending DMA allocations while released from device [count=240] Modules linked in: iwlagn(-) aes_x86_64 aes_generic fuse cpufreq_ondemand acpi_cpufreq freq_table mperf xt_physdev ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables ipv6 ext3 jbd dm_mirror dm_region_hash dm_log dm_mod uinput hp_wmi sparse_keymap sg wmi microcode serio_raw tg3 arc4 ecb shpchp mac80211 cfg80211 rfkill ext4 mbcache jbd2 sr_mod cdrom sd_mod crc_t10dif firewire_ohci firewire_core crc_itu_t mptsas mptscsih mptbase scsi_transport_sas pata_acpi ata_generic ata_piix ahci libahci floppy nouveau ttm drm_kms_helper drm i2c_algo_bit i2c_core video [last unloaded: iwlagn] Pid: 9131, comm: rmmod Tainted: G W 2.6.38-rc6-wl+ #33 Call Trace: [] ? warn_slowpath_common+0x7f/0xc0 [] ? warn_slowpath_fmt+0x46/0x50 [] ? dma_debug_device_change+0xdb/0x1b0 [] ? dma_debug_device_change+0x15a/0x1b0 [] ? notifier_call_chain+0x58/0xb0 [] ? __blocking_notifier_call_chain+0x60/0x90 [] ? blocking_notifier_call_chain+0x16/0x20 [] ? __device_release_driver+0xbc/0xe0 [] ? driver_detach+0xd8/0xe0 [] ? bus_remove_driver+0x91/0x100 [] ? driver_unregister+0x62/0xa0 [] ? pci_unregister_driver+0x44/0xa0 [] ? iwl_exit+0x15/0x1c [iwlagn] [] ? sys_delete_module+0x1a2/0x270 [] ? trace_hardirqs_on_thunk+0x3a/0x3f [] ? system_call_fastpath+0x16/0x1b I still can observe above warning after apply patch, but it is very hard to reproduce it, and have count=1. Whereas that one is easy to reproduce using debugfs force_reset while transmitting data, and have very big counts eg. 240, like quoted here. So count=1 WARNING seems to be different issue that need to be resolved separately. v1 -> v2: fix infinity loop bug I made during "for" to "while" loop transition. v2 -> v3: remove unneeded EXPORT_SYMBOL Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 15178535ad2f8fd8f7e803791f25395aa69f80ac Author: Senthil Balasubramanian Date: Mon Feb 28 15:16:47 2011 +0530 ath9k: Fix incorrect GPIO LED pin for AR9485 AR9485 doesn't use the default GPIO pin for LED and GPIO 6 is actually used for this. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 0cf55c21ec401632043db2b8acb7cd3bef64c9e6 Author: Felix Fietkau Date: Sun Feb 27 22:26:40 2011 +0100 ath9k: use generic mac80211 LED blinking code Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit a5a7103fe18eb4312bd89c9f136fb850af58faf4 Author: Felix Fietkau Date: Sun Feb 27 22:19:22 2011 +0100 p54: fix a NULL pointer dereference bug If the RSSI calibration table was not found or not parsed properly, priv->rssi_db will be NULL, p54_rssi_find needs to be able to deal with that. Signed-off-by: Felix Fietkau Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit c2a7dca0ce0e6ceb13f9030ff8e9731eaa14cc02 Author: Alessio Igor Bogani Date: Mon Feb 28 09:11:55 2011 +0100 rtlwifi: fix places where uninitialized data is used drivers/net/wireless/rtlwifi/rtl8192ce/trx.c: In function ‘rtl92ce_rx_query_desc’: drivers/net/wireless/rtlwifi/rtl8192ce/trx.c:255:5: warning: ‘rf_rx_num’ may be used uninitialized in this function drivers/net/wireless/rtlwifi/rtl8192ce/trx.c:257:12: warning: ‘total_rssi’ may be used uninitialized in this function drivers/net/wireless/rtlwifi/rtl8192ce/trx.c:466:6: warning: ‘weighting’ may be used uninitialized in this function This work was supported by a hardware donation from the CE Linux Forum. Signed-off-by: Alessio Igor Bogani Signed-off-by: John W. Linville commit 701c2be03aac62a54decaa685c70d2b734afde67 Author: Alessio Igor Bogani Date: Mon Feb 28 18:46:44 2011 +0100 rtlwifi: Add the missing rcu_read_lock/unlock =================================================== [ INFO: suspicious rcu_dereference_check() usage. ] --------------------------------------------------- net/mac80211/sta_info.c:125 invoked rcu_dereference_check() without protection! other info that might help us debug this: rcu_scheduler_active = 1, debug_locks = 0 5 locks held by wpa_supplicant/468: #0: (rtnl_mutex){+.+.+.}, at: [] rtnl_lock+0x14/0x20 #1: (&rdev->mtx){+.+.+.}, at: [] cfg80211_mgd_wext_siwfreq+0x6b/0x170 [cfg80211] #2: (&rdev->devlist_mtx){+.+.+.}, at: [] cfg80211_mgd_wext_siwfreq+0x77/0x170 [cfg80211] #3: (&wdev->mtx){+.+.+.}, at: [] cfg80211_mgd_wext_siwfreq+0x84/0x170 [cfg80211] #4: (&rtlpriv->locks.conf_mutex){+.+.+.}, at: [] rtl_op_bss_info_changed+0x26/0xc10 [rtlwifi] stack backtrace: Pid: 468, comm: wpa_supplicant Not tainted 2.6.38-rc6+ #79 Call Trace: [] ? lockdep_rcu_dereference+0xaa/0xb0 [] ? sta_info_get_bss+0x19c/0x1b0 [mac80211] [] ? ieee80211_find_sta+0x22/0x40 [mac80211] [] ? rtl_op_bss_info_changed+0x1cc/0xc10 [rtlwifi] [] ? __mutex_unlock_slowpath+0x14c/0x160 [] ? mutex_unlock+0xd/0x10 [] ? rtl_op_config+0x120/0x310 [rtlwifi] [] ? trace_hardirqs_on+0xb/0x10 [] ? ieee80211_bss_info_change_notify+0xf9/0x1f0 [mac80211] [] ? rtl_op_bss_info_changed+0x0/0xc10 [rtlwifi] [] ? ieee80211_set_channel+0xbf/0xd0 [mac80211] [] ? cfg80211_set_freq+0x121/0x180 [cfg80211] [] ? ieee80211_set_channel+0x0/0xd0 [mac80211] [] ? cfg80211_mgd_wext_siwfreq+0x12b/0x170 [cfg80211] [] ? cfg80211_wext_siwfreq+0x9b/0x100 [cfg80211] [] ? sub_preempt_count+0x7b/0xb0 [] ? ioctl_standard_call+0x74/0x3b0 [] ? rtnl_lock+0x14/0x20 [] ? cfg80211_wext_siwfreq+0x0/0x100 [cfg80211] [] ? __dev_get_by_name+0x8d/0xb0 [] ? wext_handle_ioctl+0x16b/0x180 [] ? cfg80211_wext_siwfreq+0x0/0x100 [cfg80211] [] ? dev_ioctl+0x5ba/0x720 [] ? __lock_acquire+0x3e7/0x19b0 [] ? sock_ioctl+0x1eb/0x290 [] ? lock_release_non_nested+0x95/0x2f0 [] ? sock_ioctl+0x0/0x290 [] ? do_vfs_ioctl+0x7d/0x5c0 [] ? might_fault+0x62/0xb0 [] ? fget_light+0x226/0x390 [] ? might_fault+0xa8/0xb0 [] ? sys_ioctl+0x87/0x90 [] ? sysenter_do_call+0x12/0x38 This work was supported by a hardware donation from the CE Linux Forum. Signed-off-by: Alessio Igor Bogani Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c3371d64d2b2fd029033976046cb4ca641485506 Author: Dan Carpenter Date: Sat Feb 26 04:56:53 2011 +0300 iwlwifi: remove duplicate initialization rate_mask is initialized again later so this can be removed. Btw, if rate_control_send_low(sta, priv_sta, txrc) returns false, that means that "sta" is non-NULL. That's why the second initialization of rate_mask is a little simpler than the first. Signed-off-by: Dan Carpenter Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit d45dcef77019012fc6769e657fc2f1a5d681bbbb Author: Gustavo F. Padovan Date: Fri Feb 25 22:41:25 2011 -0300 Bluetooth: Fix BT_L2CAP and BT_SCO in Kconfig If we want something "bool" built-in in something "tristate" it can't "depend on" the tristate config option. Report by DaveM: I give it 'y' just to make it happen, for both, and afterways no matter how many times I rerun "make oldconfig" I keep seeing things like this in my build: scripts/kconfig/conf --silentoldconfig Kconfig include/config/auto.conf:986:warning: symbol value 'm' invalid for BT_SCO include/config/auto.conf:3156:warning: symbol value 'm' invalid for BT_L2CAP Reported-by: David S. Miller Signed-off-by: Gustavo F. Padovan Signed-off-by: John W. Linville commit f54b92b9272cde9720b1371937928e92c5b29fb4 Merge: 10889f1 6013270 Author: John W. Linville Date: Mon Feb 28 14:05:38 2011 -0500 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 10889f1330660fd73dc38aadbff7c930fbc4fe20 Author: John W. Linville Date: Fri Feb 25 15:38:09 2011 -0500 at76c50x-usb: fix warning caused by at76_mac80211_tx now returning void CC [M] drivers/net/wireless/at76c50x-usb.o drivers/net/wireless/at76c50x-usb.c: In function ‘at76_mac80211_tx’: drivers/net/wireless/at76c50x-usb.c:1759:4: warning: ‘return’ with a value, in function returning void This is fallout from commit 7bb4568372856688bc070917265bce0b88bb7d4d ("mac80211: make tx() operation return void"). Signed-off-by: John W. Linville commit 30e7627219f985cd17a1ac24e0163ebcfb1277bf Author: Ville Tervo Date: Tue Feb 22 16:10:53 2011 -0300 Bluetooth: Use ERR_PTR as return error from hci_connect Use ERR_PTR mechanism to return error from hci_connect. Signed-off-by: Ville Tervo Signed-off-by: Anderson Briglia Signed-off-by: Gustavo F. Padovan commit bdce7bafb786701004b2055e15d6ff4b3be678f3 Author: Szymon Janc Date: Fri Feb 25 19:05:49 2011 +0100 Bluetooth: Validate data size before accessing mgmt commands Crafted (too small) data buffer could result in reading data outside of buffer. Validate buffer size and return EINVAL if size is wrong. Signed-off-by: Szymon Janc Acked-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 4e51eae9cdda4bf096e73a4ebe23f8f96a17596a Author: Szymon Janc Date: Fri Feb 25 19:05:48 2011 +0100 Bluetooth: Move index to common header in management interface Most mgmt commands and event are related to hci adapter. Moving index to common header allow to easily use it in command status while reporting errors. For those not related to adapter use MGMT_INDEX_NONE (0xFFFF) as index. Signed-off-by: Szymon Janc Acked-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 779cb85016587d9ffaea681c38691d5301a3fedc Author: Szymon Janc Date: Fri Feb 25 19:05:47 2011 +0100 Bluetooth: Use proper command structure in remove_uuid The structure used for command was wrong (probably copy-paste mistake). Signed-off-by: Szymon Janc Acked-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 6013270a030e370400e459922176c467a6c19293 Author: Wey-Yi Guy Date: Fri Feb 18 17:23:54 2011 -0800 iwlagn: enable BT session 2 type UART for 2000 series For 2000 series device, use session 2 type of BT UART message Signed-off-by: Wey-Yi Guy commit 399f66fda08675e3e231ac6df9c59ea831441f4b Author: Wey-Yi Guy Date: Tue Feb 22 08:24:22 2011 -0800 iwlagn: split BT page and inquiry UART msg Both inquiry and page was combine in frame7 of UART message, separate it Signed-off-by: Wey-Yi Guy commit d7220f0d4f7a7e84470916a3da8113a51f480514 Author: Wey-Yi Guy Date: Fri Feb 18 17:23:52 2011 -0800 iwlagn: add BT Session Activity 2 UART message (BT -> WiFi) additional UART message defines Signed-off-by: Wey-Yi Guy commit d6f626553d13e66b36a1ea2dbf23a5c21277a004 Author: Wey-Yi Guy Date: Fri Feb 18 17:23:51 2011 -0800 iwlagn: add bt config structure support for 2000 series 2000 series has different bt config command structure, add support for it Signed-off-by: Wey-Yi Guy commit 5596026081198f8012b52e0f589530f2bb6f9b40 Author: Wey-Yi Guy Date: Fri Feb 18 17:23:50 2011 -0800 iwlagn: name change for BT config command No functional changes, name changes to reflect the structure used by 6000 series. Signed-off-by: Wey-Yi Guy commit 50899e8d3a1b0655087838374a51ee5b865961b6 Author: Gustavo F. Padovan Date: Tue Feb 22 12:30:53 2011 -0300 Bluetooth: Remove duplicated BT_INFO() from L2CAP The message for the initialization of the L2CAP layer was being printed twice. Signed-off-by: Gustavo F. Padovan commit 0ed54dad52e8056f4440da723a4c117f2aef1f68 Author: Anand Gadiyar Date: Tue Feb 22 12:43:26 2011 +0530 Bluetooth: remove unnecessary call to hci_sock_cleanup hci_sock_cleanup is already called after the sock_err label. It appears that we can drop this call. Signed-off-by: Anand Gadiyar Signed-off-by: Gustavo F. Padovan commit ef33417dc9be8d8daca3c715fb5d1226b250725c Author: John W. Linville Date: Fri Feb 25 15:51:01 2011 -0500 iwlegacy: change some symbols duplicated from iwlwifi directory drivers/net/wireless/iwlegacy/built-in.o:(.rodata+0x29f0): multiple definition of `iwl_rates' drivers/net/wireless/iwlwifi/built-in.o:(.rodata+0xa68): first defined here powerpc64-linux-ld: Warning: size of symbol `iwl_rates' changed from 143 in drivers/net/wireless/iwlwifi/built-in.o to 130 in drivers/net/wireless/iwlegacy/built-in.o drivers/net/wireless/iwlegacy/built-in.o:(.data+0x0): multiple definition of `bt_coex_active' drivers/net/wireless/iwlwifi/built-in.o:(.data+0x668): first defined here drivers/net/wireless/iwlegacy/built-in.o:(.rodata+0x750): multiple definition of `iwl_eeprom_band_1' drivers/net/wireless/iwlwifi/built-in.o:(.rodata+0x27d0): first defined here drivers/net/wireless/iwlegacy/built-in.o:(.rodata+0x3f0): multiple definition of `iwl_bcast_addr' drivers/net/wireless/iwlwifi/built-in.o:(.rodata+0x24f8): first defined here drivers/net/wireless/iwlegacy/built-in.o:(.bss+0x3d48): multiple definition of `iwl_debug_level' drivers/net/wireless/iwlwifi/built-in.o:(.bss+0x21950): first defined here Reported-by: Stephen Rothwell Signed-off-by: John W. Linville commit 5f16a43617d46cf255a66f4dc193a7f5b2540aaf Author: Johannes Berg Date: Fri Feb 25 15:36:57 2011 +0100 mac80211: support direct offchannel TX offload For devices supported by iwlwifi sometimes off-channel transmissions need to be handled by the device completely. To support this mac80211 needs to pass the frame directly to the driver and not through the TX path as the driver needs the frame and channel information at the same time. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8628172f45c839376bf2b70bbd326d56e68dadc3 Author: Stanislaw Gruszka Date: Fri Feb 25 14:46:02 2011 +0100 mac80211: better fix for conn_mon_timer running after disassociate Is still possible to schedule conn_mon_timer after disassociate from ieee80211_sta_tx_notify() and ieee80211_offchannel_ps_disable(). Move disassociate check to ieee80211_sta_reset_conn_monitor() to cover all these cases, and add unlikely since in most the time we call ieee80211_sta_reset_conn_monitor() when associated. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 08f6c85223b71ba7bf2a5ebbdf735881475a8e3c Author: Vivek Natarajan Date: Fri Feb 25 17:31:03 2011 +0530 ath9k: Fix compilation warning. Initialize txq to avoid this warning: drivers/net/wireless/ath/ath9k/main.c: In function ‘ath9k_flush’: drivers/net/wireless/ath/ath9k/main.c:2138: warning: ‘txq’ may be used uninitialized in this function Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 7e3514fdc0f2c1c007f46f0ca584808edbfaee8f Author: Vivek Natarajan Date: Fri Feb 25 17:31:02 2011 +0530 ath9k: Cancel pll_work while disabling radio. pll_work should be cancelled on full_sleep or it may cause redundant chip reset. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 06fed5737932585775f0f70bc06eb0fac76c7a27 Author: Vivek Natarajan Date: Fri Feb 25 17:31:01 2011 +0530 ath9k_hw: Fix pcie_serdes setting for AR9485 1.1 version. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 3311abbbbff1719bbbc8208761e4a75f095f383c Author: Rafał Miłecki Date: Fri Feb 25 12:34:11 2011 +0100 b43: fill PHY ctl word1 in TX header for N-PHY This patch fixes tramissing on OFDM rates for PHYs 1 and 2. There is still something wrong with PHYs 3+. Tests has shown decreasing of performance on CCK rates by 1-2%, we have to live with that. Additionaly this noticeably reduces amount of PHY errors. They were mostly produced by auto-switching to higher rate for better performanced, which resulted in no transmit at all and PHY errors. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 850bedcc10377629ea88c96c07f8e1d0a99cf4ca Author: Johannes Berg Date: Fri Feb 25 12:24:11 2011 +0100 iwlagn: fix iwlagn_check_needed_chains This function was intended to calculate the number of RX chains needed, but could only work where the AP's streams were asymmetric, i.e. 2 TX and 3 RX or similar. In the case where IEEE80211_HT_MCS_TX_RX_DIFF was not set, this function would calculate the wrong information. Additionally, mac80211 didn't pass through the required values at all, so it couldn't work anyway. Rewrite the logic in this function and add appropriate comments to make it readable. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 90b4ca9dba87bef9a3352c3d5bcab998be70fc4f Author: Johannes Berg Date: Fri Feb 25 12:24:10 2011 +0100 mac80211: copy peer MCS TX parameters We need to copy this to allow drivers to look at the information where needed. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 46c2cb8cae87c903caba67eb8afc0f8985832956 Author: Joe Gunn Date: Fri Feb 25 02:08:49 2011 -0800 orinoco: Drop scan results with unknown channels If the frequency can not be mapped to a channel structure log it and drop it. Signed-off-by: Joseph J. Gunn Signed-off-by: John W. Linville commit 2973773775ec05d18e4b942a28604120cb15bbf2 Author: Johannes Berg Date: Thu Feb 24 14:46:13 2011 +0100 mac80211: remove IBSS merge delay This reverts 4a332a38 ("mac80211: Give it some time to do the TSF sync"). There's no point in waiting with a new IBSS merge just because the hardware hasn't merged up with the old IBSS yet, and since 34e8f082 we no longer attempt to merge with the IBSS we're already in. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7bb4568372856688bc070917265bce0b88bb7d4d Author: Johannes Berg Date: Thu Feb 24 14:42:06 2011 +0100 mac80211: make tx() operation return void The return value of the tx operation is commonly misused by drivers, leading to errors. All drivers will drop frames if they fail to TX the frame, and they must also properly manage the queues (if they didn't, mac80211 would already warn). Removing the ability for drivers to return a BUSY value also allows significant cleanups of the TX TX handling code in mac80211. Note that this also fixes a bug in ath9k_htc, the old "return -1" there was wrong. Signed-off-by: Johannes Berg Tested-by: Sedat Dilek [ath5k] Acked-by: Gertjan van Wingerde [rt2x00] Acked-by: Larry Finger [b43, rtl8187, rtlwifi] Acked-by: Luciano Coelho [wl12xx] Signed-off-by: John W. Linville commit 43f12d47f0580e04e26c14c03cb19cea9687854e Author: Stanislaw Gruszka Date: Thu Feb 24 14:23:55 2011 +0100 iwlegacy: do not set tx power when channel is changing Same fix as f844a709a7d8f8be61a571afc31dfaca9e779621 "iwlwifi: do not set tx power when channel is changing". Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 3083e83c86e604ac7005c100b7d7242389407ba5 Author: Christian Lamparter Date: Thu Feb 24 14:12:20 2011 +0100 p54: implement set_coverage_class The callback sets slot time as specified in IEEE 802.11-2007 section 17.3.8.6 and raises round trip delay accordingly. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit b08cd667c4b6641c4d16a3f87f4550f81a6d69ac Author: David S. Miller Date: Thu Feb 24 22:50:30 2011 -0800 rtlwifi: Need to include vmalloc.h Signed-off-by: David S. Miller commit 1b0db64fb7693c1a131b7bcc38f7bc63fb396850 Merge: 26f70e1 5db5e44 Author: David S. Miller Date: Thu Feb 24 22:35:12 2011 -0800 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 41cae2d01385af4199666db57274c0df3283b065 Author: Johannes Berg Date: Thu Feb 24 20:39:05 2011 +0100 rtl8192c: fix compilation errors On my G5 this fails to compile with drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c:701: error: __ksymtab__rtl92c_phy_txpwr_idx_to_dbm causes a section type conflict drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c:701: error: __ksymtab__rtl92c_phy_txpwr_idx_to_dbm causes a section type conflict drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c:677: error: __ksymtab__rtl92c_phy_dbm_to_txpwr_Idx causes a section type conflict drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c:677: error: __ksymtab__rtl92c_phy_dbm_to_txpwr_Idx causes a section type conflict since you can't export static functions. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f227e08b71b9c273eaa29a57370a3a5b833aa382 Merge: fec38d1 f5412be Author: Greg Kroah-Hartman Date: Thu Feb 24 11:36:31 2011 -0800 Merge 2.6.38-rc6 into tty-next This was to resolve a merge issue with drivers/char/Makefile and drivers/tty/serial/68328serial.c Signed-off-by: Greg Kroah-Hartman commit 363907af85816adac5e60d48d3d84bba8f7201df Author: Pavan Savoy Date: Sun Feb 20 22:41:16 2011 -0600 Bluetooth: btwilink driver This is the bluetooth protocol driver for the TI WiLink7 chipsets. Texas Instrument's WiLink chipsets combine wireless technologies like BT, FM, GPS and WLAN onto a single chip. This Bluetooth driver works on top of the TI_ST shared transport line discipline driver which also allows other drivers like FM V4L2 and GPS character driver to make use of the same UART interface. Kconfig and Makefile modifications to enable the Bluetooth driver for Texas Instrument's WiLink 7 chipset. Signed-off-by: Pavan Savoy Acked-by: Gustavo F. Padovan Signed-off-by: Greg Kroah-Hartman commit 81b504b81437457614ce44ce0dac48038d35f859 Author: stephen hemminger Date: Wed Feb 23 09:06:49 2011 +0000 atl1[ce]: fix sparse warnings The dmaw_block is an enum and max_pay_load is u32. Therefore sparse gives warning about comparison of unsigned and signed value. Resolve by using min_t to force cast. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1472d3a87586eb7529d1d85f7c888055650b7208 Author: Larry Finger Date: Wed Feb 23 10:24:58 2011 -0600 rtlwifi: rtl8192ce: rtl8192cu: Fix multiple def errors for allyesconfig build As noted by Stephan Rothwell, an allyesconfig build fails since rtl8192cu was merged with failures such as: drivers/net/wireless/rtlwifi/rtl8192cu/built-in.o: In function `rtl92c_phy_sw_chnl': (.opd+0xf30): multiple definition of `rtl92c_phy_sw_chnl' drivers/net/wireless/rtlwifi/rtl8192ce/built-in.o:(.opd+0xb70): first defined here drivers/net/wireless/rtlwifi/rtl8192cu/built-in.o: In function `rtl92c_fill_h2c_cmd': (.opd+0x288): multiple definition of `rtl92c_fill_h2c_cmd' drivers/net/wireless/rtlwifi/rtl8192ce/built-in.o:(.opd+0x288): first defined here These are caused because the code shared between rtl8192ce and rtl8192cu is included in both drivers. This has been fixed by creating a new modue that contains the shared code. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 8c6113cd03c7e927f5ee5f6ad98e155ef2d27177 Author: Willy Tarreau Date: Sun Feb 20 11:43:36 2011 +0100 rtlwifi: Eliminate udelay calls with too large values On ARM, compilation of rtlwifi/efuse.c fails with the message: ERROR: "__bad_udelay" [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined! On inspection, the faulty calls are in routine efuse_reset_loader(), a routine that is never used, and the faulty routine is deleted. Signed-off-by: Willy Tarreau Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 892c05c093858086d808aeb366b2e11106dd96c6 Author: Willy Tarreau Date: Sun Feb 20 11:43:07 2011 +0100 rtlwifi: Let rtlwifi build when PCI is not enabled On systems where PCI does not exist, a build of rtlwifi will fail. Apply the same fix in case there are systems with PCI but not USB. Signed-off-by: Willy Tarreau Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 4c0f13f3e7b8c6cbdaddc04579d05ea2bf1145a8 Author: Willy Tarreau Date: Sun Feb 20 11:35:48 2011 +0100 rtl8192cu: fix build error (vmalloc/vfree undefined) On the ARM system, a build fails due to missing include. Signed-off-by: Willy Tarreau Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 9d17e80de8b86be9a51ed5abe93e51fe22d0beb3 Author: Willy Tarreau Date: Sun Feb 20 11:35:26 2011 +0100 rtlwifi: Fix build when RTL8192CU is selected, but RTL8192CE is not The wireless Makefile does not build rtlwifi for rtl8192cu unless rtl8192ce is selected. Signed-off-by: Willy Tarreau Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 6ebacbb79d2d05978ba50a24d8cbe2a76ff2014c Author: Johannes Berg Date: Wed Feb 23 15:06:08 2011 +0100 mac80211: rename RX_FLAG_TSFT The flag isn't very descriptive -- the intention is that the driver provides a TSF timestamp at the beginning of the MPDU -- make that clearer by renaming the flag to RX_FLAG_MACTIME_MPDU. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f3e85b9edeaf8ad0446a37a40c873f3f8898c57d Author: Vivek Natarajan Date: Wed Feb 23 13:04:32 2011 +0530 mac80211: Fix a race on enabling power save. There is a race on sending a data frame before the tx completion of nullfunc frame for enabling power save. As the data quickly follows the nullfunc frame, the AP thinks that the station is out of power save and continues to send the frames. Whereas in the station, the nullfunc ack will be processed after the tx completion of data frame and mac80211 goes to powersave. Thus the power save state mismatch between the station and the AP causes some data loss and some applications fail because of that. This patch fixes this issue. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 05db8c5729fac2788f45bf327d168f2ea397f6a1 Author: Rafał Miłecki Date: Mon Feb 21 19:45:35 2011 +0100 b43: N-PHY: rev1: restore PHY state after RSSI operations Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 8e60b04479ba94ce82e88804b45438533bef4ef9 Author: Rafał Miłecki Date: Mon Feb 21 19:45:34 2011 +0100 b43: N-PHY: rev1: enable some gain ctl workarounds Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 9c1f992c777d350b8c3b3e5c524decc131bcda28 Author: Rafał Miłecki Date: Mon Feb 21 19:38:58 2011 +0100 b43: N-PHY: fix 0x2055 radio workaround condition Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 512c044a299f133c8dc86dd5fa6378d745489286 Author: Sujith Manoharan Date: Mon Feb 21 07:50:38 2011 +0530 ath9k_htc: Fix error path in URB allocation ath9k_hif_usb_alloc_urbs() takes care of freeing all the allocated URBs for the various endpoints when an error occurs. Calling ath9k_hif_usb_dealloc_urbs() would cause a panic since the URBs have already been freed. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 3e3f1d197f5a432b961fadb35604dba92583945e Author: Sujith Manoharan Date: Mon Feb 21 07:50:30 2011 +0530 ath9k_htc: Add debug code to print endpoint mapping Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 4825f54a44fc7280bf02c6d48c83d7a3df864e17 Author: Sujith Manoharan Date: Mon Feb 21 07:50:23 2011 +0530 ath9k_htc: Fix RX filters Add ATH9K_RX_FILTER_UNCOMP_BA_BAR and ATH9K_RX_FILTER_PSPOLL when mac80211 requires it. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 88427c65f0f1c98729fd35b458ca402c36ff619d Author: Sujith Manoharan Date: Mon Feb 21 07:50:15 2011 +0530 ath9k_htc: Fix host RX initialization There is no need to set the BSSID mask or opmode when initializing RX, they would be set correctly in the HW reset routine. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 200be651f77f8407086873520436bf55a4468e26 Author: Sujith Manoharan Date: Mon Feb 21 07:50:01 2011 +0530 ath9k_htc: Fix TBTT calculation for IBSS mode The target beacon transmission time has to be synced with the HW TSF when configuring beacon timers in Adhoc mode. Failing to do this would cause erroneous beacon transmission, for example, on completion of a scan run to check for IBSS merges. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit a5fae37d118bb633708b2787e53871e38bf3b15e Author: Sujith Manoharan Date: Mon Feb 21 07:49:53 2011 +0530 ath9k_htc: Configure beacon timers in AP mode Handle multi-interface situations by checking if AP interfaces are already present. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit a236254c35f04a4d47c701ed3ec4a0b5dcb097b0 Author: Sujith Manoharan Date: Mon Feb 21 07:49:38 2011 +0530 ath9k_htc: Add ANI for AP mode The time granularity for the ANI task is different for AP and station mode. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit ffbe7c83cb4a9d05ff49cdc8e2b02b88ccbae826 Author: Sujith Manoharan Date: Mon Feb 21 07:49:31 2011 +0530 ath9k_htc: Calculate and set the HW opmode Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit da8d9d937b34cf5d82e01420d015d8ee14f76467 Author: Sujith Manoharan Date: Mon Feb 21 07:49:23 2011 +0530 ath9k_htc: Allow AP interface to be created Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 0df8359a88f40ab3b0d38156a5f41ee856178aa3 Author: Sujith Manoharan Date: Mon Feb 21 07:49:15 2011 +0530 ath9k_htc: Maintain individual counters for interfaces This is required for allowing only one IBSS interface to be configured. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 87df89579a4a3e6c767603acb762115159655745 Author: Sujith Manoharan Date: Mon Feb 21 07:49:08 2011 +0530 ath9k_htc: Protect ampdu_action with a mutex This is required when issuing commands to the firmware. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 2299423bd0e32ccef78bbf1d4075617e3fd6cfd3 Author: Sujith Manoharan Date: Mon Feb 21 07:49:00 2011 +0530 ath9k_htc: Use VIF from the packet's control data There is no need to use a locally stored reference. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 9a3d025be11a1da625f8a71636b55a3bd3718574 Author: Sujith Manoharan Date: Mon Feb 21 07:48:53 2011 +0530 ath9k_htc: Make sequence number calculation per-VIF Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 585895cdfc683a067d803fead83267cee309ffd0 Author: Sujith Manoharan Date: Mon Feb 21 07:48:46 2011 +0530 ath9k_htc: Set the BSSID mask for multiple interfaces Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 7c277349ecbd66e19fad3d949fa6ef6c131a3b62 Author: Sujith Manoharan Date: Mon Feb 21 07:48:39 2011 +0530 ath9k_htc: Remove OP_ASSOCIATED variable mac80211 stores the association state in ieee80211_bss_conf. Use this and remove the local state, which is incorrect anyway since it is stored globally and not on a per-VIF basis. Restarting ANI and reconfiguration of HW beacon timers when a scan run ends requires more work. This is handled by iterating over the active interfaces. Finally, remove the useless check for associated status in RX processing. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 9304c82d8f3b40eb31c2d04f5849fbd9802c06ef Author: Sujith Manoharan Date: Mon Feb 21 07:48:31 2011 +0530 ath9k_htc: Remove OP_PROTECT_ENABLE CTS protection can be obtained from mac80211 directly. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit cf04e77286da4e6625f66133fcab5ecda9e24159 Author: Sujith Manoharan Date: Mon Feb 21 07:48:24 2011 +0530 ath9k_htc: Remove OP_PREAMBLE_SHORT mac80211's BSS info can be used for this. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit ab77c70a15cdff106704a34254341c9a3a11dbc4 Author: Sujith Manoharan Date: Mon Feb 21 07:48:16 2011 +0530 ath9k_htc: Fix error handling in add_interface Addition of a station might fail - handle this error properly by removing the VAP on the target. Also, bail out immediately if the max. no of interfaces has been reached. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 1057b7503908e351b399caeeca38f9ef5fcc766c Author: Sujith Manoharan Date: Mon Feb 21 07:48:09 2011 +0530 ath9k_htc: Unify target capability updating Update capabilites on the target once, when start() is called, there is no need for redundant updating on adding an interface. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit a97b478c92c14255d375ed9ceb7a882083523593 Author: Sujith Manoharan Date: Mon Feb 21 07:48:00 2011 +0530 ath9k_htc: Allow upto two simultaneous interfaces Multiple interfaces can be configured if a slot is free on the target. Monitor mode also requires a slot. The maximum number of stations that can be handled in the firmware is 8, manage the station slots accordingly. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 36bcce430657e6fece0e8dd91557f35dbb69ec67 Author: Sujith Manoharan Date: Mon Feb 21 07:47:52 2011 +0530 ath9k_htc: Handle storage devices Some AR7010 based devices are recognized as storage media. Sending a CD-EJECT command to the device will 'convert' it into a WLAN device. Do this within the driver itself, removing the dependancy on an external program (usb_modeswitch). Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 85c9205c79c794a6eea0c7217db93b4c637f136e Author: Nishant Sarmukadam Date: Thu Feb 17 14:45:18 2011 -0800 mwl8k: Invert tx queues for set_hw_spec and set_edca_params mac80211 and mwl8k FW tx queue priorities map inversely to each other. Fix this. Signed-off-by: Pradeep Nemavat Signed-off-by: Lennert Buytenhek Tested-by: Pradeep Nemavat Signed-off-by: John W. Linville commit 0bf22c3751d19f9be20205c0e7112723618a4858 Author: Nishant Sarmukadam Date: Thu Feb 17 14:45:17 2011 -0800 mwl8k: Tell mac80211 we have rate adaptation in FW All mwl8k parts perform rate control in firmware. Make this known to mac80211 so that it does not launch minstrel. Also, because actual tx rate information is not available from the firmware, invalidate the rate status before returning the skb to mac80211. Signed-off-by: Nishant Sarmukadam Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit da62b761769f60e5d476ad882c5ba40fb5d61664 Author: Nishant Sarmukadam Date: Thu Feb 17 14:45:16 2011 -0800 mwl8k: fix rf_antenna rx argument for AP When configuring rx antennas using CMD_RF_ANTENNA, the argument input is the number of antennas to be enabled. For AP, we support 3 rx antennas and hence set the field to 3. For tx antennas, value is a bitmap, so 0x7 enables all three. Signed-off-by: Nishant Sarmukadam Signed-off-by: Pradeep Nemavat Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit 427749861d74bc1a6f9e5dc523cf0ea2e42e8eed Merge: 9077f218 b622d99 Author: John W. Linville Date: Wed Feb 23 16:23:00 2011 -0500 Merge branch 'for-linville' of git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx commit 9077f2189e54215a690048ab14ad6f7d8b5a5af7 Merge: 320d6c1 be663ab Author: John W. Linville Date: Wed Feb 23 16:22:36 2011 -0500 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit b622d992c21a85ce590afe2c18977ed28b457e0e Author: Arik Nemtsov Date: Wed Feb 23 00:22:31 2011 +0200 wl12xx: AP-mode - management of links in PS-mode Update the PS mode of each link according to a bitmap polled from fw_status. Manually notify mac80211 about PS mode changes in connected stations. mac80211 will only be notified about PS start when the station is in PS and there is a small number of TX blocks from this link ready in HW. This is required for waking up the remote station since the TIM is updated entirely by FW. When a station enters mac80211-PS-mode, we drop all the skbs in the low-level TX queues belonging to this sta with STAT_TX_FILTERED to keep our queues clean. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 09039f42a24084c10e7761ab28ef22932c62a46f Author: Arik Nemtsov Date: Wed Feb 23 00:22:30 2011 +0200 wl12xx: AP-mode - count free FW TX blocks per link Count the number of FW TX blocks allocated per link. We add blocks to a link counter when allocated for a TX descriptor. We remove blocks according to counters in fw_status indicating the number of freed blocks in FW. These counters are polled after each IRQ. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 409622ecc2a3b618b31b1894ed6360fbdca95d62 Author: Arik Nemtsov Date: Wed Feb 23 00:22:29 2011 +0200 wl12xx: AP mode - fix bug in cleanup of wl1271_op_sta_add() Remove an active hlid when chip wakeup fails. In addition rename the involved functions. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit ba7c082a139178da239a65e6e6cc6bd1c8515d97 Author: Arik Nemtsov Date: Wed Feb 23 00:22:28 2011 +0200 wl12xx: AP-mode - support HW based link PS monitoring When operating in AP mode the wl1271 hardware filters out null-data packets as well as management packets. This makes it impossible for mac80211 to monitor the PS mode by using the PM bit of incoming frames. Disable mac80211 automatic link PS-mode handling by supporting IEEE80211_HW_AP_LINK_PS in HW flags. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 1d36cd892c130a5a781acb282e083b94127f1c50 Author: Arik Nemtsov Date: Wed Feb 23 00:22:27 2011 +0200 wl12xx: report invalid TX rate when returning non-TX-ed skbs Report a TX rate idx of -1 and count 0 when returning untransmitted skbs to mac80211 using ieee80211_tx_status(). Otherwise mac80211 tries to use the returned (essentially garbage) status. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit a8c0ddb5ba2889e1e11a033ccbadfc600f236a91 Author: Arik Nemtsov Date: Wed Feb 23 00:22:26 2011 +0200 wl12xx: AP-mode - TX queue per link in AC When operating in AP-mode we require a per link tx-queue. This allows us to implement HW assisted PS mode for links, as well as regulate per-link FW TX blocks consumption. Split each link into ACs to support future QoS for AP-mode. AC queues are emptied in priority and per-link queues are scheduled in a simple round-robin fashion. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 99a2775d02a7accf4cc661a65c76fd7b379d1c7a Author: Arik Nemtsov Date: Wed Feb 23 00:22:25 2011 +0200 wl12xx: AP-mode - fix race condition on sta connection If a sta starts transmitting immediately after authentication, sometimes the FW deauthenticates it. Fix this by marking the sta "in-connection" in FW before sending the autentication response. The "in-connection" entry is automatically removed when connection succeeds or after a timeout. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit f4d08ddd3e60c79a141be36a5f3a7294c619291d Author: Arik Nemtsov Date: Wed Feb 23 00:22:24 2011 +0200 wl12xx: fix potential race condition with TX queue watermark Check the conditions for the high/low TX queue watermarks when the spin-lock is taken. This prevents race conditions as tx_queue_count and the flag checked are only modified when the spin-lock is taken. The following race was in mind: - Queues are almost full and wl1271_op_tx() will stop the queues, but it doesn't get the spin-lock yet. - (on another CPU) tx_work_locked() dequeues 15 skbs from this queue and tx_queue_count is updated to reflect this - wl1271_op_tx() does not check tx_queue_count after taking the spin-lock and incorrectly stops the queue. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 6dc9fb3c78a78982f6418b6cf457140f7afa658d Author: Eliad Peller Date: Wed Feb 23 00:27:07 2011 +0200 wl12xx: always set mac_address when configuring ht caps The mac_address should be set also when ht caps are disabled. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 02ad2d9080266e6d999c00b78610ef6a45be45ea Author: Eliad Peller Date: Wed Feb 23 00:27:06 2011 +0200 wl12xx: use standard ALIGN() macro Use the standard ALIGN() macro instead of redefining similar macros. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 5db5e44cdcdc5ee9cc821bd4d63445af0bb34bce Merge: db62983 320d6c1 Author: John W. Linville Date: Tue Feb 22 15:10:22 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem commit 62c0740c4ff2a4a8850619e0f5ac56a3b6e83cec Author: Eliad Peller Date: Wed Feb 2 11:20:05 2011 +0200 wl12xx: declare support for IEEE80211_HW_REPORTS_TX_ACK_STATUS The wl12xx fw supports ack status reporting for tx frames, so add the IEEE80211_HW_REPORTS_TX_ACK_STATUS flag to our supported features. Since we do the rate control in the fw, we'll probably want to adjust the STA_LOST_PKT_THRESHOLD heuristics in the future, to account for retransmissions as well. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit b1a48cab6f47de18a989927e24025aab7ea106ff Author: Luciano Coelho Date: Tue Feb 22 14:19:28 2011 +0200 wl12xx: fix MODULE_AUTHOR email address Change my old email address to the new one in MODULE_AUTHOR. Signed-off-by: Luciano Coelho commit a100885d9dfd8685e0b4e442afc9041ee4c90586 Author: Arik Nemtsov Date: Sat Feb 12 23:24:20 2011 +0200 wl12xx: avoid blocking while holding rcu lock on bss info change Some blocking functions were called while holding the rcu lock for accessing STA information. This can lead to a deadlock. Save the required info beforehand and release the rcu without blocking. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 92fe9b5f112c77dbb63f42f7bed885d709586106 Author: Eliad Peller Date: Wed Feb 9 12:25:14 2011 +0200 wl12xx: fix identification of beacon packets (debug) for debugging purposes, wl12xx determines whether a rx packet is a beacon packet. however, it checks only the frame_control subtype without checking the actual packet type, which leads to false identification in some cases. use ieee80211_is_beacon instead. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 1ec610ebd6390c2b028434144af204c312a68791 Author: Gery Kahn Date: Tue Feb 1 03:03:08 2011 -0600 wl12xx: update PLT initialization for new firmware In revision > 6.1.3.0.0 the firmware expects memory configuration command as part of boot. This was missing if driver boots in PLT mode. The patch adds the memory configuration command, which fixes PLT commands tx continuous and rx statistics. Signed-off-by: Gery Kahn Signed-off-by: Luciano Coelho commit 03c5a9cf49999ca3431eb9199c9bb831b0020be2 Author: Dan Carpenter Date: Mon Feb 7 19:47:42 2011 +0300 wl12xx: change type from u8 to int ret is used to store int types. Using an u8 will break the error handling. Signed-off-by: Dan Carpenter Signed-off-by: Luciano Coelho commit b7440a14f28492bac30d7d43fd982fd210c6e971 Author: Anand Gadiyar Date: Tue Feb 22 12:43:09 2011 +0530 Bluetooth: fix build break on hci_sock.c Linux-next as of 20110217 complains when building for OMAP1. LD vmlinux `hci_sock_cleanup' referenced in section `.init.text' of net/built-in.o: defined in discarded section `.exit.text' of net/built-in.o `hci_sock_cleanup' referenced in section `.init.text' of net/built-in.o: defined in discarded section `.exit.text' of net/built-in.o make: *** [vmlinux] Error 1 A recent patch by Gustavo (Bluetooth: Merge L2CAP and SCO modules into bluetooth.ko) introduced this by calling the hci_sock_cleanup function in the error path of bt_init. Fix this by dropping the __exit marking for hci_sock_cleanup. Signed-off-by: Anand Gadiyar Signed-off-by: Gustavo F. Padovan commit 97e1efbbe1c8492ea4f804618e26b19325c879fe Author: Antonio Ospite Date: Sun Feb 20 18:26:46 2011 +0100 HID: bt hidp: send Output reports using SET_REPORT on the Control channel The current implementation of hidp_output_raw_report() relies only on the Control channel even for Output reports, and the BT HID specification [1] does not mention using the DATA message for Output reports on the Control channel (see section 7.9.1 and also Figure 11: SET_ Flow Chart), so let us just use SET_REPORT. This also fixes sending Output reports to some devices (like Sony Sixaxis) which are not able to handle DATA messages on the Control channel. Ideally hidp_output_raw_report() could be improved to use this scheme: Feature Report -- SET_REPORT on the Control channel Output Report -- DATA on the Interrupt channel for more efficiency, but as said above, right now only the Control channel is used. [1] http://www.bluetooth.com/Specification%20Documents/HID_SPEC_V10.pdf Signed-off-by: Antonio Ospite Acked-by: Gustavo F. Padovan Signed-off-by: Jiri Kosina commit 15c4794fe247d85ce38eb5f5e2a5855d996f56cd Author: Anderson Briglia Date: Mon Feb 21 15:09:23 2011 -0300 Bluetooth: Fix LE conn creation This patch prevents a crash when remote host tries to create a LE link which already exists. i.e.: call l2test twice passing the same parameters. Signed-off-by: Anderson Briglia Signed-off-by: Ville Tervo Signed-off-by: Gustavo F. Padovan commit 320d6c1b56de5f461c6062625b9664095f90ee95 Author: Sujith Manoharan Date: Mon Feb 21 17:07:12 2011 +0530 ath9k_hw: Fix power on reset Commit "ath9k_hw: add an extra delay when reseting AR_RTC_RESET" added an extra udelay to the reset routine. As the required delay is already present, remove this. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 60687ba710359f32343b7630dc05d3811ef5bf4c Author: RA-Shiang Tu Date: Sun Feb 20 13:57:46 2011 +0100 rt2x00: Add support for RT5390 chip Add new RT5390 chip support Signed-off-by: Shiang Tu Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fe59147c4f42a491a77b788571c37f0a0be6f41d Author: Shiang Tu Date: Sun Feb 20 13:57:22 2011 +0100 rt2x00: Add/Modify the GPIO register definition Revise/Add GPIO register related definitions Signed-off-by: Shiang Tu Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6f492b6d38e18f8d023137231c5d717068deb28d Author: Shiang Tu Date: Sun Feb 20 13:56:54 2011 +0100 rt2x00: Add/Modify protection related register definitions Make the definition of protection related registers more precisely Signed-off-by: Shiang Tu Acked-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 47715e6473d12f265c02cebc587de51af80ed6dc Author: Helmut Schaa Date: Sun Feb 20 13:56:26 2011 +0100 rt2x00: Remove superfluos empty line Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1bce85cf9cea85f6b9a27326effef1e05f7cbc23 Author: Helmut Schaa Date: Sun Feb 20 13:56:07 2011 +0100 Revert "rt2x00 : avoid timestamp for monitor injected frame." This reverts commit e81e0aef32bfa7f593b14479b9c7eaa7196798ac "rt2x00 : avoid timestamp for monitor injected frame." as it breaks proper timestamp insertion into probe responses injected by hostapd for example. Signed-off-by: Helmut Schaa Cc: Benoit PAPILLAULT Cc: Alban Browaeys Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 430df7980ef1a522ad2fd1d06e1b6655f2d9320f Author: Helmut Schaa Date: Sun Feb 20 13:55:46 2011 +0100 rt2x00: Minor optimization for devices with RTS/CTS offload Only devices that don't have RTS/CTS offload need to check for IEEE80211_TX_RC_USE_RTS_CTS and IEEE80211_TX_RC_USE_CTS_PROTECT. By swapping both conditions we keep the same number of needed conditionals for devices without RTS/CTS offload but save one conditional on devices with RTS/CTS offload. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e90c54b2358559bd305ff08096e077d2a7f02bf3 Author: RA-Jay Hung Date: Sun Feb 20 13:55:25 2011 +0100 rt2x00: Fix rt2800 txpower setting to correct value TX_PWR_CFG_* setting need to consider below cases -compesate 20M/40M tx power delta for 2.4/5GHZ band -limit maximum EIRP tx power to power_level of regulatory requirement Signed-off-by: RA-Jay Hung Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit d96aa640967ab10641a0a389a4a1569efa54ac72 Author: RA-Jay Hung Date: Sun Feb 20 13:54:52 2011 +0100 rt2x00: Add antenna setting for RT3070/RT3090/RT3390 with RX antenna diversity support For RT3070/RT3090/RT3390 with RX antenna diversity support, we must select default antenna using gpio control way even if we do not turn on antenna diversity feature. Seperate the meaning of TX/RX chain and antenna. Some chips use 2x2 TX/RX chain but may have 3 RX antennas or 1x1 TX/RX chain but may have 2 RX antennas to do antenna diversity. Signed-off-by: RA-Jay Hung Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9e0bc671873c96104b8f793b03661f443e1c4b5a Author: Larry Finger Date: Sat Feb 19 16:30:02 2011 -0600 rtlwifi: Remove obsolete/unused macros The original code has many macros that are no longer needed. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 17c9ac62812b58aacefc7336215aecbb522f6547 Author: Larry Finger Date: Sat Feb 19 16:29:57 2011 -0600 rtlwifi: rtl8192ce: Fix endian warnings Drivers rtlwifi, and rtl8192ce generate a large number of sparse warnings. This patch fixes most of them. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 663dcc73675bd70ee11195ce832b1d1691f967d0 Author: Larry Finger Date: Sat Feb 19 16:29:52 2011 -0600 rtlwifi: Modify build system for rtl8192cu Modify Kconfig and Makefile to build rtl8192cu. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 29d00a3e46bb6b0743e79f4abc249d8c318e0a56 Author: George Date: Sat Feb 19 16:29:47 2011 -0600 rtlwifi: rtl8192cu: Add routine trx Add routine rtlwifi/rtl8192cu/trx.c. This routine differs from the rtl8192ce file of the same name. Signed-off-by: George Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 59187c5b12526a5f53d1a8b91922ce992bc98eef Author: George Date: Sat Feb 19 16:29:42 2011 -0600 rtlwifi: rtl8192cu: Add routine table Add rtlwifi/rtl8192cu/table.c. These tables are different than the ones used in rtl8192ce. Signed-off-by: George Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3ac23f8106051aa8a922d9ad8415232bb5c1af70 Author: George Date: Sat Feb 19 16:29:37 2011 -0600 rtlwifi: rtl8192cu: Add routine rf Add rtlwifi/rtl8192cu/rf.c. This routine is distinct from the one in rtl8192ce with the same name. Signed-off-by: George Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit f0a39ae738d660cb69e486abd20c0dec1cdcb898 Author: George Date: Sat Feb 19 16:29:32 2011 -0600 rtlwifi: rtl8192cu: Add routine phy Add the routine rtlwifi/rtl8192cu/phy.c. Most of the code is included from rtlwifi/rtl8192c/phy_common.c. Signed-off-by: George Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 666e8457fae432ec292e0abc344f8684046fa605 Author: George Date: Sat Feb 19 16:29:27 2011 -0600 rtlwifi: rtl8192cu: Add routine mac Add the routine rtlwifi/rtl8192cu/hw.c. Signed-off-by: George Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit dc0313f46664192c3cbd60e94abb28ab6f00979d Author: George Date: Sat Feb 19 16:29:22 2011 -0600 rtlwifi: rtl8192cu: Add routine hw Add the routine rtlwifi/rtl8192cu/hw.c. This one is distinct from the routine of the same name in rtl8192ce. Signed-off-by: George Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 442888c706e90634c4cc3441751b43115a7d8506 Author: George Date: Sat Feb 19 16:29:17 2011 -0600 rtlwifi: rtl8192cu: Add routines dm, fw, led and sw Add the rtlwifi/rtl8192cu routines for dm.c, fw.c, led.c and sw.c. Where possible, these routines use the corresponding code in rtl8192ce. Signed-off-by: George Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 4295cd254af3181873c7ad15969421d3cb852cf9 Author: Larry Finger Date: Sat Feb 19 16:29:12 2011 -0600 rtlwifi: Move common parts of rtl8192ce/phy.c Move common routines from rtlwifi/rtl8192ce/phy.c and .../rtl8192cu/phy.c into rtlwifi/rtl8192c/phy_common.c. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit e97b775d9bce1d7b51df5bf470ba9c529d93dc66 Author: Larry Finger Date: Sat Feb 19 16:29:07 2011 -0600 rtlwifi: Modify wifi.h for rtl8192cu Further merge of parameters needed for rtl8192cu. In addition, some changes needed for rtl8192se and rtl8192de are included and additional Hungarian notation is removed. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 18d30067d3b0c7e1362b7a866a9873e03a6d7d62 Author: George Date: Sat Feb 19 16:29:02 2011 -0600 rtlwifi: Add headers for rtl8187cu Signed-off-by: Larry Finger Signed-off-by: George Signed-off-by: John W. Linville commit 7ea4724036ed17ec811cb8082af7760f04484ef7 Author: Larry Finger Date: Sat Feb 19 16:28:57 2011 -0600 rtlwifi: Modify some rtl8192ce routines for merging rtl8192cu Modify some rtl8192ce routines for merging with rtl8192cu. In addition, remove some usage of Hungarian notation. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 0e80b9d1c51883e01603e2ff0caae608eda09fa5 Author: Larry Finger Date: Sat Feb 19 16:28:52 2011 -0600 rtlwifi: Make changes in rtlwifi/rtl8192ce/def.h to support rtl8192cu This change modifies rtlwifi/rtl8192ce/def.h to handle rtl8192cu. In addition, a couple of routines needed for both drivers are converted to be inline. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit a9dd591919788b38c9177a41dcb40a7a0620cdd0 Author: Larry Finger Date: Sat Feb 19 16:28:47 2011 -0600 rtlwifi: Make changes in rtlwifi/rtl8192ce/reg.h to support rtl8192cu This change modifies rtlwifi/rtl8192ce/reg.h to support rtl8192cu. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 69081624c7b2138b137738e307cb67e2dafd6e9b Author: Vasanthakumar Thiagarajan Date: Sat Feb 19 01:13:42 2011 -0800 ath9k: Implement op_flush() When op_flush() is called with no drop (drop=false), the driver tries to tx as many frames as possible in about 100ms on every hw queue. During this time period frames from sw queue are also scheduled on to respective hw queue. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 0aec516ce4cfd44f48b3ae0c54bc2f1eab007173 Author: Randy Dunlap Date: Fri Feb 18 17:25:36 2011 -0800 wl12xx: fix sdio_test kconfig/build errors The wl12xx sdio_test code uses wl12xx_get_platform_data, which is only present when WL12*_SDIO is enabled, so make WL12XX_SDIO_TEST depend on WL12XX_SDIO so that the needed interface will be present. sdio_test.c:(.devinit.text+0x13178): undefined reference to `wl12xx_get_platform_data' Signed-off-by: Randy Dunlap Cc: Luciano Coelho Cc: Roger Quadros Signed-off-by: John W. Linville commit d985255e00e8a6a0d87b1dc674113bc76bed04a0 Author: Wojciech Dubowik Date: Fri Feb 18 13:06:42 2011 +0100 ath5k: Enable AR2315 chipset recognition Enable recognition of AR2315 chipsets in ath5k driver. Reported-by: Simon Morgenthaler Signed-off-by: Wojciech Dubowik Signed-off-by: John W. Linville commit f456228365bf3615bc6837c363653f31df66abff Author: Christian Lamparter Date: Wed Feb 9 22:13:11 2011 +0100 ar9170usb: mark the old driver as obsolete AR9170USB will be replaced by carl9170 in the foreseeable future [2.6.40]. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit a664b5bc77fbc80c163de5606114659d3cbeb043 Author: Johan Hedberg Date: Sat Feb 19 12:06:02 2011 -0300 Bluetooth: Fix unnecessary list traversal in mgmt_pending_remove All of the places that need to call mgmt_pending_remove already have a pointer to the pending command, so searching for the command in the list doesn't make sense. The added benefit is that many places that previously had to call list_del + mgmt_pending_free can just call mgmt_pending_remove now. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit a958355699dd90ba69951bdf55dda00e3e97222c Author: Johan Hedberg Date: Sat Feb 19 12:06:01 2011 -0300 Bluetooth: Fix inititial value for remote authentication requirements The remote authentication requirements for conections need to be initialized to 0xff (unknown) since it is possible that we receive a IO Capability Request before we have received information about the remote requirements. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 2a61169209c72317d4933f8d22f749a6a61a3d36 Author: Johan Hedberg Date: Sat Feb 19 12:06:00 2011 -0300 Bluetooth: Add mgmt_auth_failed event To properly track bonding completion an event to indicate authentication failure is needed. This event will be sent whenever an authentication complete HCI event with a non-zero status comes. It will also be sent when we're acting in acceptor role for SSP authentication in which case the controller will send a Simple Pairing Complete event. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit ac56fb13c0508181b4227b8ada6d47aaaf72794c Author: Johan Hedberg Date: Sat Feb 19 12:05:59 2011 -0300 Bluetooth: Fix mgmt_pin_code_reply return parameters The command complete event for mgmt_pin_code_reply & mgmt_pin_code_neg_reply should have the adapter index, Bluetooth address as well as the status. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 59a24b5d0d4befc2498f51c57905cb02963ff275 Author: Johan Hedberg Date: Sat Feb 19 12:05:58 2011 -0300 Bluetooth: Fix mgmt_pin_code_reply command status opcode The opcode for the ENODEV case was wrong (probably copy-paste mistake). Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit a5c296832b4fde7d32c01cff9cdd27d9c7c1c4f5 Author: Johan Hedberg Date: Sat Feb 19 12:05:57 2011 -0300 Bluetooth: Add management support for user confirmation request This patch adds support for the user confirmation (numeric comparison) Secure Simple Pairing authentication method. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit e9a416b5ce0c0f93819f55d34cf6882196e9c3b2 Author: Johan Hedberg Date: Sat Feb 19 12:05:56 2011 -0300 Bluetooth: Add mgmt_pair_device command This patch adds a new mgmt_pair_device which can be used to initiate a dedicated bonding procedure. Some extra callbacks are added to the hci_conn struct so that the pairing code can get notified of the completion of the procedure. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 366a033698266c304abd6365ea3bcaec36860328 Author: Johan Hedberg Date: Sat Feb 19 12:05:55 2011 -0300 Bluetooth: Make pending_add return a pointer to the added entry This makes it more convenient to do manipulations on the entry (needed by later commits). Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit be663ab67077fac8e23eb8e231a8c1c94cb32e54 Author: Wey-Yi Guy Date: Mon Feb 21 11:27:26 2011 -0800 iwlwifi: split the drivers for agn and legacy devices 3945/4965 Intel WiFi devices 3945 and 4965 now have their own driver in the folder drivers/net/wireless/iwlegacy Add support to build these drivers independently of the driver for AGN devices. Selecting the 3945 builds iwl3945.ko and iwl_legacy.ko, and selecting the 4965 builds iwl4965.ko and iwl_legacy.ko. iwl-legacy.ko contains code shared between both devices. The 3945 is an ABG/BG device, with no support for 802.11n. The 4965 is a 2x3 ABGN device. Signed-off-by: Meenakshi Venkataraman Acked-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 4bc85c1324aaa4a8bb0171e332ff762b6230bdfe Author: Wey-Yi Guy Date: Mon Feb 21 11:11:05 2011 -0800 Revert "iwlwifi: split the drivers for agn and legacy devices 3945/4965" This reverts commit aa833c4b1a928b8d3c4fcc2faaa0d6b81ea02b56. commit aa833c4b1a928b8d3c4fcc2faaa0d6b81ea02b56 Author: Wey-Yi Guy Date: Mon Feb 21 10:57:10 2011 -0800 iwlwifi: split the drivers for agn and legacy devices 3945/4965 Intel WiFi devices 3945 and 4965 now have their own driver in the folder drivers/net/wireless/iwlegacy Add support to build these drivers independently of the driver for AGN devices. Selecting the 3945 builds iwl3945.ko and iwl_legacy.ko, and selecting the 4965 builds iwl4965.ko and iwl_legacy.ko. iwl-legacy.ko contains code shared between both devices. The 3945 is an ABG/BG device, with no support for 802.11n. The 4965 is a 2x3 ABGN device. Signed-off-by: Meenakshi Venkataraman Acked-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 73b78a22720087d2d384bdd49e9c25500ba73edd Author: Wey-Yi Guy Date: Fri Feb 11 08:13:14 2011 -0800 iwlwifi: enable 2-wire bt coex support for non-combo device For non-combo devices, 2-wire BT coex is needed to make sure BT coex still function with external BT devices Signed-off-by: Wey-Yi Guy commit 46d0637a128f2f555c1f7be02cd65c45b92b2a60 Author: Wey-Yi Guy Date: Mon Feb 7 16:54:50 2011 -0800 iwlwifi: Loading correct uCode again when fail to load During uCode loading, if the reply_alive come back with "failure", try to load the same uCode again. Signed-off-by: Wey-Yi Guy commit 491bc292766330473eac4569be5d57f9aeb80112 Author: Wey-Yi Guy Date: Wed Feb 9 09:37:46 2011 -0800 iwlwifi: Limit number of firmware reload If device has serious problem and cause firmware can not recover itself. Keep reloading firmware will not help, it can only fill up the syslog and lock up the system because busy reloading. Introduce the limit reload counter, if the reload reach the maximum within the pre-defined duration;stop the reload operation. Signed-off-by: Wey-Yi Guy commit 43d133c18b44e7d82d82ef0dcc2bddd55d5dfe81 Merge: 4149efb 6f576d5 Author: Tejun Heo Date: Mon Feb 21 09:43:56 2011 +0100 Merge branch 'master' into for-2.6.39 commit da935c66bacb3ed9ada984b053297f87c2dff63a Merge: 9435eb1 2205a6e Author: David S. Miller Date: Sat Feb 19 19:17:35 2011 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: Documentation/feature-removal-schedule.txt drivers/net/e1000e/netdev.c net/xfrm/xfrm_policy.c commit b67afe7f43afd2f5cd98798993561920c1684c12 Merge: db28569 28bec7b Author: John W. Linville Date: Fri Feb 18 17:03:41 2011 -0500 Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: drivers/bluetooth/ath3k.c drivers/bluetooth/btusb.c commit db28569adc692d9fb8a2d2d8e7ebab7fd5481f10 Author: Vivek Natarajan Date: Fri Feb 18 17:18:03 2011 +0530 mac80211: Clear PS related flag on disabling power save. Clear IEEE80211_STA_NULLFUNC_ACKED flag on disabling power save. Without this fix, there is a chance of setting CONF_PS before sending nullfunc frame. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 1a63e2ce4e67f6df74f032ec302314141816e432 Author: Vivek Natarajan Date: Fri Feb 18 16:49:47 2011 +0530 ath9k_hw: Updates for AR9485 1.1 chipsets. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 8354dd3ebc7f0b82f52990af3e5f4f4488020263 Author: Vivek Natarajan Date: Fri Feb 18 16:09:51 2011 +0530 ath9k_htc: Fix a compilation warning. Initialize caldata to avoid compilation warning. CC [M] drivers/net/wireless/ath/ath9k/htc_drv_main.o drivers/net/wireless/ath/ath9k/htc_drv_main.c: In function ‘ath9k_htc_config’: drivers/net/wireless/ath/ath9k/htc_drv_main.c:172: warning: ‘caldata’ may be used uninitialized in this function drivers/net/wireless/ath/ath9k/htc_drv_main.c:172: note: ‘caldata’ was declared here Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 540005c7fc787c211967148f7229f43db1eead38 Author: Jan Beulich Date: Thu Feb 17 13:36:19 2011 +0000 small adjustment to net/mac80211/Kconfig "def_bool n" without prompt is pointless, this should be just "bool". Signed-off-by: Jan Beulich Signed-off-by: John W. Linville commit 0d4171e2153b70957fe67867420a1a24d5e4cd82 Author: Christian Lamparter Date: Wed Feb 16 19:43:06 2011 +0100 p54: implement flush callback Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 8ba0537c620ad9f37b0e810ce0a9ff367a021f5e Author: Johannes Berg Date: Wed Feb 16 08:46:58 2011 +0100 mac80211: fix 2.4 GHz 40 MHz disabling The module parameter ieee80211_disable_40mhz_24ghz was meant to allow disabling 40 MHz operation in the 2.4 GHz band by default. However, it is buggy as implemented because while it advertises to the AP that the device doesn't support 40 MHz, it will itself still use 40 MHz configurations. To fix this, clear the 40 MHz bits from the sband completely instead of overriding where used. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 83bdf2a17279bd6ee3d0f5c0f086ebe06644109d Author: Ben Greear Date: Tue Feb 15 13:11:22 2011 -0800 mac80211: Add power to debugfs. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit fe0b7c616ebd7d25afbb4315d0e3220b112a7b2f Author: Larry Finger Date: Tue Feb 15 09:37:06 2011 -0600 p54: Fix compile warning If any of the p54-based drivers are built with CONFIG_P54_LEDS not defined, the following warning is generated: CC [M] drivers/net/wireless/p54/main.o drivers/net/wireless/p54/main.c: In function ‘p54_register_common’: drivers/net/wireless/p54/main.c:614:21: warning: unused variable ‘priv’ Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 12873372fe1f201813f1cc750a8af7d9193f445c Author: Bob Copeland Date: Tue Feb 15 09:19:28 2011 -0500 ath5k: move external function definitions to a header file Johannes pointed out the mess of external function prototypes in the mac80211-ops.c file. Woe to anyone who changes these functions... Signed-off-by: Bob Copeland Cc: Johannes Berg Signed-off-by: John W. Linville commit f4f314bf6fd39d85065c3fcda27bd594163abcf0 Merge: c269a20 8ffd878 Author: John W. Linville Date: Fri Feb 18 16:49:17 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6 commit 8ffd878419839638d1aea102455b575da39c1a62 Author: Gustavo F. Padovan Date: Thu Feb 17 19:24:05 2011 -0300 Bluetooth: fix checkpatch errors in af_bluetooth.c Signed-off-by: Gustavo F. Padovan commit 602f9887cdb14851631416d64ca27b48e2dd1f92 Author: Gustavo F. Padovan Date: Thu Feb 17 19:22:19 2011 -0300 Bluetooth: Fix errors reported by checkpatch.pl Signed-off-by: Gustavo F. Padovan commit e2174ca430ec52375a02ed20859aeceb0d455b72 Author: Gustavo F. Padovan Date: Thu Feb 17 19:16:55 2011 -0300 Bluetooth: fix errors reported by checkpatch.pl Signed-off-by: Gustavo F. Padovan commit afaae08442d86402f9e0b63475c02a651c6f1387 Author: Alan Cox Date: Mon Feb 14 16:28:18 2011 +0000 hci_ath: Fix the mess in this driver Was this exploitable - who knows, but it was certainly totally broken Signed-of-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6caa76b7786891b42b66a0e61e2c2fff2c884620 Author: Alan Cox Date: Mon Feb 14 16:27:22 2011 +0000 tty: now phase out the ioctl file pointer for good Only oddities here are a couple of drivers that bogusly called the ldisc helpers instead of returning -ENOIOCTLCMD. Fix the bug and the rest goes away. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 20b9d17715017ae4dd4ec87fabc36d33b9de708e Author: Alan Cox Date: Mon Feb 14 16:26:50 2011 +0000 tiocmset: kill the file pointer argument Doing tiocmget was such fun we should do tiocmset as well for the same reasons Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 60b33c133ca0b7c0b6072c87234b63fee6e80558 Author: Alan Cox Date: Mon Feb 14 16:26:14 2011 +0000 tiocmget: kill off the passing of the struct file We don't actually need this and it causes problems for internal use of this functionality. Currently there is a single use of the FILE * pointer. That is the serial core which uses it to check tty_hung_up_p. However if that is true then IO_ERROR is also already set so the check may be removed. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 138d22ef14bf00e44de7885cd03f0c3b6ac168f5 Author: Szymon Janc Date: Thu Feb 17 16:44:23 2011 +0100 Bluetooth: Fix some code style issues in hci_event.c Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 01df8c31d152493ddc58a0bd1719eac6759add87 Author: Szymon Janc Date: Thu Feb 17 16:46:47 2011 +0100 Bluetooth: Fix some code style issues in hci_core.c Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 0786f8b7777721c0d3d5dd691692eaee696e94e1 Author: Szymon Janc Date: Thu Feb 17 14:16:33 2011 +0100 Bluetooth: Clean up hci_sniff_subrate_evt function Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 7235975383785276bdcfc13dd73cc87739cd25d0 Author: Szymon Janc Date: Thu Feb 17 14:16:32 2011 +0100 Bluetooth: Use #include instead of As warned by checkpatch.pl, use #include instead of . Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 2ce603ebe1f1420c7c5b013638ec29b4fc975180 Author: Claudio Takahasi Date: Wed Feb 16 20:44:53 2011 -0200 Bluetooth: Send LE Connection Update Command If the new connection update parameter are accepted, the LE master host sends the LE Connection Update Command to its controller informing the new requested parameters. Signed-off-by: Claudio Takahasi Signed-off-by: Gustavo F. Padovan commit 6bd32326cdaa9b14794416150c88e4832fb7e592 Author: Ville Tervo Date: Wed Feb 16 16:32:41 2011 +0200 Bluetooth: Use proper timer for hci command timout Use proper timer instead of hci command flow control to timeout failed hci commands. Otherwise stack ends up sending commands when flow control is used to block new commands. 2010-09-01 18:29:41.592132 < HCI Command: Remote Name Request (0x01|0x0019) plen 10 bdaddr 00:16:CF:E1:C7:D7 mode 2 clkoffset 0x0000 2010-09-01 18:29:41.592681 > HCI Event: Command Status (0x0f) plen 4 Remote Name Request (0x01|0x0019) status 0x00 ncmd 0 2010-09-01 18:29:51.022033 < HCI Command: Remote Name Request Cancel (0x01|0x001a) plen 6 bdaddr 00:16:CF:E1:C7:D7 Signed-off-by: Ville Tervo Signed-off-by: Gustavo F. Padovan commit 7f4b2b04c88377af30c022f36c060190182850fb Author: Andrei Warkentin Date: Fri Feb 11 17:19:26 2011 -0600 Bluetooth: Make hci a child of the corresponding tty device. Make /sys/class/bluetooth/hciX a symlink to path under corresponding tty. Signed-off-by: Andrei Warkentin Signed-off-by: Gustavo F. Padovan commit c6f3c5f7f2938d2809bcc15889e9aa212038a554 Author: Gustavo F. Padovan Date: Tue Feb 15 20:22:03 2011 -0300 Bluetooth: Fix crash when ioctl(HCIUARTSETPROTO) fails If the fail happens the HCI del_timer may timeout after the the hci dev unregister. This lead to a kernel crash. Reported-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit de73115a7d67e1b81dbde2285a7657f3e3867703 Author: Claudio Takahasi Date: Fri Feb 11 19:28:55 2011 -0200 Bluetooth: Add connection parameter update response Implements L2CAP Connection Parameter Update Response defined in the Bluetooth Core Specification, Volume 3, Part A, section 4.21. Address the LE Connection Parameter Procedure initiated by the slave. Connection Interval Minimum and Maximum have the same range: 6 to 3200. Time = N * 1.25ms. Minimum shall be less or equal to Maximum. The Slave Latency field shall have a value in the range of 0 to ((connSupervisionTimeout / connIntervalMax) - 1). Latency field shall be less than 500. connSupervisionTimeout = Timeout Multiplier * 10 ms. Multiplier field shall have a value in the range of 10 to 3200. Signed-off-by: Claudio Takahasi Signed-off-by: Gustavo F. Padovan commit 3300d9a930a79508032e3e03ac2bde3a22dd048d Author: Claudio Takahasi Date: Fri Feb 11 19:28:54 2011 -0200 Bluetooth: Add LE signaling commands handling This patch splits the L2CAP command handling function in order to have a clear separation between the commands related to BR/EDR and LE. Commands and responses in the LE signaling channel are not being handled yet, command reject is sent to all received requests. Bluetooth Core Specification, Volume 3, Part A, section 4 defines the signaling packets formats and allowed commands/responses over the LE signaling channel. Signed-off-by: Claudio Takahasi Signed-off-by: Gustavo F. Padovan commit 03c2d0e89409b59c1ec9d9511533cedc0b7aaa69 Author: Gustavo F. Padovan Date: Mon Feb 14 18:53:43 2011 -0300 Bluetooth: Use usb_fill_int_urb() Instead set urb structure directly we call usb_fill_int_urb() to set the values to us. Signed-off-by: Gustavo F. Padovan commit bae1f5d9464d231148301fcbf4e425a096a5b96d Author: Ville Tervo Date: Thu Feb 10 22:38:53 2011 -0300 Bluetooth: Treat LE and ACL links separately on timeout Separate LE and ACL timeouts. Othervise ACL connections on non LE hw will time out after 45 secs. Signed-off-by: Ville Tervo Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit b92a62238ff2d3fb88cf0f6de454f3d1b4ae5d52 Author: Vinicius Costa Gomes Date: Thu Feb 10 22:38:52 2011 -0300 Bluetooth: Fix initiated LE connections Fix LE connections not being marked as master. Signed-off-by: Vinicius Costa Gomes Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 5589fa9c2d2b8c134f44db36892ccc500aac3147 Author: Ville Tervo Date: Thu Feb 10 22:38:51 2011 -0300 Bluetooth: Do not send disconn comand over LE links l2cap over LE links can be disconnected without sending disconnect command first. Signed-off-by: Ville Tervo Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit b62f328b8f20abe97cdbaaf44c6e4f5e7a610f18 Author: Ville Tervo Date: Thu Feb 10 22:38:50 2011 -0300 Bluetooth: Add server socket support for LE connection Add support for LE server sockets. Signed-off-by: Ville Tervo Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit acd7d3708555b3da7522e23c183cc21efc785f72 Author: Ville Tervo Date: Thu Feb 10 22:38:49 2011 -0300 Bluetooth: Add LE connection support to L2CAP Add basic LE connection support to L2CAP. LE connection can be created by specifying cid in struct sockaddr_l2 Signed-off-by: Ville Tervo Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 6ed58ec520ad2b2fe3f955c8a5fd0eecafccebdf Author: Ville Tervo Date: Thu Feb 10 22:38:48 2011 -0300 Bluetooth: Use LE buffers for LE traffic Bluetooth chips may have separate buffers for LE traffic. This patch add support to use LE buffers provided by the chip. Signed-off-by: Ville Tervo Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit fcd89c09a59a054fb986861e0862aa2fff7d7c40 Author: Ville Tervo Date: Thu Feb 10 22:38:47 2011 -0300 Bluetooth: Add LE connect support Bluetooth V4.0 adds support for Low Energy (LE) connections. Specification introduces new set of hci commands to control LE connection. This patch adds logic to create, cancel and disconnect LE connections. Signed-off-by: Ville Tervo Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 903d343e202e51059e7d20524010ef54a6087aed Author: Gustavo F. Padovan Date: Thu Feb 10 14:16:06 2011 -0200 Bluetooth: Add L2CAP mode to debugfs output Signed-off-by: Gustavo F. Padovan commit c531a12ae63b6438a7859994aca23859f5706010 Author: Gustavo F. Padovan Date: Mon Feb 7 20:19:30 2011 -0200 Bluetooth: remove l2cap_load() hack l2cap_load() was added to trigger l2cap.ko module loading from the RFCOMM and BNEP modules. Now that L2CAP module is gone, we don't need it anymore. Signed-off-by: Gustavo F. Padovan commit 0a9d59a2461477bd9ed143c01af9df3f8f00fa81 Merge: a23ce6d 795abaf Author: Jiri Kosina Date: Tue Feb 15 10:24:31 2011 +0100 Merge branch 'master' into for-next commit c269a20393500e84e8cbae23ca6d65e1107433c4 Author: Johannes Berg Date: Mon Feb 14 12:20:22 2011 +0100 mac80211: reply to directed probes in IBSS WFA certification and the WMM spec require that we always reply to unicast probe requests, so do that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 05e051d8ae3472302ec7c510ab6d4d85551bd1ea Author: Christian Lamparter Date: Sat Feb 12 22:53:00 2011 +0100 p54spi: update sample eeprom Commit: "p54: enhance rssi->dBm database import" changed the way how the driver deals with the rssical data. A new data format was necessary and hence this patch. NOTE: (for users with a custom eeprom binary) I spent some time updating p54tools to support the new format too: => (git available from) http://git.kernel.org/?p=linux/kernel/git/chr/p54tools.git It now comes with a simplistic script "n800_rssi2v2.sh" which can be used to automate the conversion. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 7a047f4f2f3a812f09f42aa784499a54dc4afcf2 Author: Christian Lamparter Date: Sat Feb 12 22:32:49 2011 +0100 p54: enhance rssi->dBm database import This patch fixes several shortcomings of the previous implementation. Features of the rewrite include: * handles undocumented "0x0000" word at the start of the frequency table. (Affected some early? DELL 1450 USB devices and my Symbol 5GHz miniPCI card.) * supports more than just one reference point per band. (Also needed for the Symbol card.) * ships with default values in case the eeprom data is damaged, absent or unsupported. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit a3162eed04ae76be710d895978478aa6d849de41 Author: Christian Lamparter Date: Sat Feb 12 22:14:38 2011 +0100 p54: p54_generate_band cleanup Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 192abece7565ab37048dfd5eced966cfb2fda6f5 Author: Christian Lamparter Date: Sat Feb 12 21:49:38 2011 +0100 p54: sort channel list by frequency instead of channel index Some channel indices of the low 5GHz band clash with those of the 2.4GHz band. Therefore we should go with the channel's center frequency. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 91f71fa5da00ff50398d8592f304cfec54eed550 Author: Jussi Kivilinna Date: Sat Feb 12 20:43:51 2011 +0200 zd1211rw: add unlikely to ZD_ASSERT Case assert is violated should be quite unlikely. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 8662b2518ff7995002378058488326ef7cb80de8 Author: Jussi Kivilinna Date: Sat Feb 12 20:43:42 2011 +0200 zd1211rw: move async iowrite16v up to callers Writing beacon to device happen through multiple write command calls. zd_usb_iowrite16v uses synchronous urb call and with multiple write commands in row causes high CPU usage. Make asynchronous zd_usb_iowrite16v_async available outside zd_usb.c and use where possible. This lower CPU usage from ~10% to ~2% on Intel Atom when running AP-mode with 100 TU beacon interval. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit eefdbec1ea8b7093d2c09d1825f68438701723cf Author: Jussi Kivilinna Date: Sat Feb 12 20:43:32 2011 +0200 zd1211rw: use async urb for write command Writing beacon to device happen through multiple write command calls. zd_usb_iowrite16v uses synchronous urb call and with multiple write commands in row causes high CPU usage. This patch makes zd_usb_iowrite16v use asynchronous urb submit within zd_usb.c. zd_usb_iowrite16v_async_start is used to initiate writing multiple commands to device using zd_usb_iowrite16v_async. Each URB is delayed and submitted to device by next zd_usb_iowrite16v_async call or by call to zd_usb_iowrite16v_async_end. URBs submitted by zd_usb_iowrite16v_async have URB_NO_INTERRUPT set and last URB send by zd_usb_iowrite16v_async_end does not. This lower CPU usage when doing writes that require multiple URBs. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 37939810b937aba830dd751291fcdc51cae1a6cb Author: Jussi Kivilinna Date: Sat Feb 12 20:43:23 2011 +0200 zd1211rw: correct use of usb_bulk_msg on interrupt endpoints zd1211rw is using usb_bulk_msg() with usb_sndbulkpipe() on interrupt endpoint. However usb_bulk_msg() internally corrects this and makes interrupt URB. It's better to change usb_bulk_msgs in zd1211rw to usb_interrupt_msg for less confusion. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 0c2530cec5672f38f8ab834ee53d17175d3bca95 Author: Helmut Schaa Date: Sat Feb 12 14:17:15 2011 +0100 mac80211: Remove superfluous if clause ieee80211_rx_h_check returned RX_DROP_MONITOR in case the if statement in question was true but the same return value is also used directly after the if clause. Hence, we can just drop the whole if clause and as such simplify the code. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 014cf3bb1e19a61c53666d7f990f584f1b7af364 Author: Rajkumar Manoharan Date: Wed Feb 9 17:46:39 2011 +0530 ath9k: disable beaconing before stopping beacon queue Beaconing should be disabled before stopping beacon queue. Not doing so could queue up beacons in hw that causes failure to stop Tx DMA, due to pending frames in hw and also unnecessary beacon tasklet schedule. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit d76dfc612b40b6a9de0a3fe57fe1fa3db7a1ae3b Author: Seth Forshee Date: Mon Feb 14 08:52:25 2011 -0600 rt2x00: Check for errors from skb_pad() calls Commit 739fd94 ("rt2x00: Pad beacon to multiple of 32 bits") added calls to skb_pad() without checking the return value, which could cause problems if any of those calls does happen to fail. Add checks to prevent this from happening. Signed-off-by: Seth Forshee Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 642745184f82688eb3ef0cdfaa4ba632055be9af Author: Gustavo F. Padovan Date: Mon Feb 7 20:08:52 2011 -0200 Bluetooth: Merge L2CAP and SCO modules into bluetooth.ko Actually doesn't make sense have these modules built separately. The L2CAP layer is needed by almost all Bluetooth protocols and profiles. There isn't any real use case without having L2CAP loaded. SCO is only essential for Audio transfers, but it is so small that we can have it loaded always in bluetooth.ko without problems. If you really doesn't want it you can disable SCO in the kernel config. Signed-off-by: Gustavo F. Padovan commit c4c896e1471aec3b004a693c689f60be3b17ac86 Author: Vasiliy Kulikov Date: Mon Feb 14 13:54:26 2011 +0300 Bluetooth: sco: fix information leak to userspace struct sco_conninfo has one padding byte in the end. Local variable cinfo of type sco_conninfo is copied to userspace with this uninizialized one byte, leading to old stack contents leak. Signed-off-by: Vasiliy Kulikov Signed-off-by: Gustavo F. Padovan commit 43629f8f5ea32a998d06d1bb41eefa0e821ff573 Author: Vasiliy Kulikov Date: Mon Feb 14 13:54:31 2011 +0300 Bluetooth: bnep: fix buffer overflow Struct ca is copied from userspace. It is not checked whether the "device" field is NULL terminated. This potentially leads to BUG() inside of alloc_netdev_mqs() and/or information leak by creating a device with a name made of contents of kernel stack. Signed-off-by: Vasiliy Kulikov Signed-off-by: Gustavo F. Padovan commit a3dc5e881a8a5199bf371fdd4530cfa18280ca83 Author: Larry Finger Date: Fri Feb 11 14:27:58 2011 -0600 rtlwifi: rtl8192ce: Rework rtl8192ce/phy.c Make the phy.c codes for rtl8192ce and rtl8192cu be as alike as possible. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 25b2bc30865e3ca1a9a2116788bb2e82be5b1a99 Author: Larry Finger Date: Fri Feb 11 14:34:03 2011 -0600 rtlwifi: rtl8192ce: Refactor rtl8192ce/fw Make rtlwifi/rtl8192ce/fw.{h,c} match what will be needed for rtlwifi/rtl8192cu.{h,c}. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 8c96fcf7212bd58f28cf7e96b13b1e2161637f3b Author: Larry Finger Date: Fri Feb 11 14:33:58 2011 -0600 rtlwifi: rtl8192ce: Refactor rtl8192ce/dm To reuse as much code as possible when adding additional drivers to the rtlwifi tree, the common parts of various routines are moved to drivers/net/wireless/rtlwifi. This patch does that for the version of dm.{h,c} used by rtl8192ce. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 2ca20f79e0d895489ae2f79fa321077e5ee2981d Author: George Date: Fri Feb 11 14:27:49 2011 -0600 rtlwifi: Add usb driver Signed-off-by: Larry Finger Signed-off-by: George Signed-off-by: John W. Linville commit 62e63975f47fcc0ebcaca04669098fe3ca7b20a2 Author: Larry Finger Date: Fri Feb 11 14:27:46 2011 -0600 rtlwifi: Modify core routines The rtlwifi core needs some changes before inclusion of a driver for the RTL8192CU USB device. Signed-off-by: Larry Finger Signed-off-by: Signed-off-by: Signed-off-by: John W. Linville commit caebbb7a4ac3e31b259954b757b15b8f0ac708d5 Author: Wey-Yi Guy Date: Sun Feb 6 11:29:42 2011 -0800 iwlagn: handle bt defer work in 2000 series For 2000 series, need to handle bt traffic changes when receive notification from uCode Signed-off-by: Wey-Yi Guy commit c4197c6298750d308fc819c0525902f49ab920fb Author: Wey-Yi Guy Date: Sun Feb 6 08:56:35 2011 -0800 iwlagn: donot process bt update when bt coex disable If bt coex is disabled, do not process any bt related information from uCode even received. Signed-off-by: Wey-Yi Guy commit dd68153def6b890a23288776cbd5bd2bad223a3f Author: Rafael J. Wysocki Date: Thu Feb 10 06:55:19 2011 +0000 atl1: Do not use legacy PCI power management The atl1 driver uses the legacy PCI power management, so it has to do some PCI-specific things in its ->suspend() and ->resume() callbacks, which isn't necessary and should better be done by the PCI subsystem-level power management code. Convert atl1 to the new PCI power management framework and make it let the PCI subsystem take care of all the PCI-specific aspects of device handling during system power transitions. Tested-by: Thomas Fjellstrom Signed-off-by: Rafael J. Wysocki Signed-off-by: David S. Miller commit 0303adeee3d6740cd78a71c0f40946b4886ceaa3 Author: Rafael J. Wysocki Date: Thu Feb 10 06:54:04 2011 +0000 atl1c: Do not call device_init_wakeup() in atl1c_probe() The atl1c driver shouldn't call device_init_wakeup() in its probe routine with the second argument equal to 1, because for PCI devices the wakeup capability setting is initialized as appropriate by the PCI subsystem. Remove the potentially harmful call. Signed-off-by: Rafael J. Wysocki Signed-off-by: David S. Miller commit d9f51b51db2064c9049bf7924318fd8c6ed852cb Author: Bala Shanmugam Date: Fri Feb 11 15:38:53 2011 +0530 Bluetooth: Add firmware support for Atheros 3012 Blacklisted AR3012 PID in btusb and added the same in ath3k to load patch and sysconfig files. Signed-off-by: Bala Shanmugam Signed-off-by: Gustavo F. Padovan commit e3fb592b15602196d38b225dc78aab8d631a5f89 Author: Vasiliy Kulikov Date: Thu Feb 10 20:59:42 2011 +0300 Bluetooth: l2cap: fix 1 byte infoleak to userspace Structure l2cap_options has one padding byte between max_tx and txwin_size fields. This byte in "opts" is copied to userspace uninitialized. Signed-off-by: Vasiliy Kulikov Signed-off-by: Gustavo F. Padovan commit 0ff1731a1ae51e8e48cd559d70db536281c47f8e Author: Alan Ott Date: Tue Jan 18 03:04:40 2011 -0500 HID: bt: Add support for hidraw HIDIOCGFEATURE and HIDIOCSFEATURE This patch adds support or getting and setting feature reports for bluetooth HID devices from HIDRAW. Signed-off-by: Alan Ott Acked-by: Gustavo F. Padovan Signed-off-by: Jiri Kosina commit 0825411ade21a39ac63b3e011d092b1f95b5f3f5 Author: Alan Ott Date: Tue Jan 18 03:04:38 2011 -0500 HID: bt: Wait for ACK on Sent Reports Wait for an ACK from the device before returning from hidp_output_raw_report(). This way, failures can be returned to the user application. Also, it prevents ACK/NAK packets from an output packet from being confused with ACK/NAK packets from an input request packet. Signed-off-by: Alan Ott Acked-by: Gustavo F. Padovan Signed-off-by: Jiri Kosina commit 0f69dca20f77dc374b67e17e10b30cec37e778c4 Author: Alan Ott Date: Tue Jan 18 03:04:37 2011 -0500 HID: bt: Move hid_add_device() call to after hidp_session() has started. Move the call to hid_add_device() (which calls a device's probe() function) to after the kernel_thread() call which starts the hidp_session() thread. This ensures the Bluetooth receive socket is fully running by the time a device's probe() function is called. This way, a device can communicate (send and receive) with the Bluetooth device from its probe() function. Signed-off-by: Alan Ott Acked-by: Gustavo F. Padovan Signed-off-by: Jiri Kosina commit 67acad5fe5df591e8f629050667912b0db2c72e7 Author: Stanislaw Gruszka Date: Tue Feb 8 09:31:58 2011 +0100 iwlwifi: fix ack health for WiFi/BT combo devices Combo devices have TX statistics on different place, because struct statistics_rx_bt and struct statistics_rx have different size. User proper values on combo devices instead of random data. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit f266526da4d78b7af639e98777d453888b039c00 Author: Stanislaw Gruszka Date: Tue Feb 8 09:31:57 2011 +0100 iwlwifi: cleanup iwl_good_ack_health Make ack health code easies to read. Compared to previous code, we do not print debug messages when expected_ack_cnt_delta == 0 and also do check against negative deltas. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit ca3d9389642946072ed448b2b7386f9e5d3f296b Author: Stanislaw Gruszka Date: Tue Feb 8 09:31:55 2011 +0100 iwlwifi: cleanup iwl_recover_from_statistics No functional change, make recover from statistics code easies to read. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 9814f6b34be5179849c0872e81eb99286ef4b051 Author: Steve Brown Date: Mon Feb 7 17:10:39 2011 -0700 ath9k: Remove redundant beacon_interval The variable appears in both ath_softc and ath_beacon_config. The struct ath_beacon_config is embedded in ath_softc. The redundant variable was added by commit id 57c4d7b4c4986037be51476b8e3025d5ba18d8b8. Signed-off-by: Steve Brown Reviewed-by: Mohammed Shafi Signed-off-by: John W. Linville commit 59bdf3b0fe7a183f18ce94696259c4c76abb4568 Author: Ben Greear Date: Mon Feb 7 13:44:38 2011 -0800 mac80211: Ensure power-level set properly for scanning. My previous patch to optimize scanning on operating channel accidentally removed the code that would ensure power was set to maximum for scanning. This patch re-adds that functionality. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 603b3eefb92e0886ed4dd5f73d4c07b304405b40 Author: Ben Greear Date: Mon Feb 7 13:44:37 2011 -0800 ath9k: Add debug info for configuring power level. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit da2fd1f0f7b78f21f6378f726d1f6de9d573b2d4 Author: Ben Greear Date: Mon Feb 7 13:44:36 2011 -0800 mac80211: Allow work items to use existing channel type. Narrow channel types can function within larger channel types. So, use existing channel type for work items when possible. This decreases hardware channel changes significantly when using non NO_HT channel types on the operating channel. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 4f2e9d91f84ce39698517203974ffc2bcc32a21d Author: Ben Greear Date: Mon Feb 7 13:44:35 2011 -0800 mac80211: Allow scanning on existing channel-type. Previous code set the channel type to NO_HT, but it appears that NO_HT packets can be sent on any channel type, so we do not need to change the channel type as long as the channel is correct. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 4d51e149a6231ea9cc210795cbc358a7c9a8e016 Author: Ben Greear Date: Mon Feb 7 13:44:34 2011 -0800 mac80211: Properly set work-item channel-type. Some were indirectly set to NO_HT (zero), but I think it's better to explicitly set it in case the enum ever changes. In cfg.c, it seems the channel-type was just ignored (and thus always set to NO_HT). Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 8c79a61095936f81cb05e99062185cb987d524ab Author: Ben Greear Date: Mon Feb 7 13:44:33 2011 -0800 ath9k: Print channel-type in chan-change dbg message. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 09db47b08a9b54f59ee1cfed80837fa2cae87bd1 Merge: a0019bc 72c2d9e Author: John W. Linville Date: Wed Feb 9 15:44:17 2011 -0500 Merge branch 'for-linville' of git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx commit 263fb5b1bf9265d0e4ce59ff6ea92f478b5b61ea Merge: 8d13a2a9 c69b909 Author: David S. Miller Date: Tue Feb 8 17:19:01 2011 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/e1000e/netdev.c commit 72c2d9e511846a4f2759389b38ed8a5553579eb3 Author: Eliad Peller Date: Wed Feb 2 09:59:37 2011 +0200 wl12xx: set supported_rates after association Instead of looking for supported_rates change on every tx packet, just extract the supported_rates after association completes (station only). Remove wl1271.sta_rate_set and WL1271_FLAG_STA_RATES_CHANGED which are not used anymore. Signed-off-by: Eliad Peller Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho commit fe5ef090660de340b52823de7cb65b899bb4f012 Author: Eliad Peller Date: Wed Feb 2 09:59:36 2011 +0200 wl12xx: use the conf struct instead of macros for memory configuration make the configuration management more flexible by using the conf struct, rather than predefined macros. Signed-off-by: Eliad Peller Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit c8bde243421d759844264cf11e4248e7862c2722 Author: Eliad Peller Date: Wed Feb 2 09:59:35 2011 +0200 wl12xx: move to new firmware (6.1.3.50.49) This patch adds support for the new wl12xx firmware (Rev 6.1.3.50.49) Since this fw is not backward compatible with previous fw versions, a new fw (with different name) is being fetched. (the patch is big because it contains all the required fw api changes. splitting it into multiple patches will result in corrupted intermediate commits) Signed-off-by: Eliad Peller Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit ee60833a4f887a09e87be52cdf1247a4963b0aef Author: Eliad Peller Date: Wed Feb 2 09:59:34 2011 +0200 wl12xx: mcp2.5 - add config_ps acx mcp2.5 uses this acx to configure the fw only once, rather than passing the params in every enter psm command. Signed-off-by: Eliad Peller Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit c0c84ef5c130f8871adbdaac2ba824b9195cb6d9 Merge: 2360d2e 3ad97fb Author: David S. Miller Date: Tue Feb 8 13:52:31 2011 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit a0019bca04029d25a8bbbaaaf28487e6ccd7878e Author: Gustavo F. Padovan Date: Mon Feb 7 19:15:43 2011 -0200 Bluetooth: update Bluetooth daemon name in Kconfig help Change hcid to bluetoothd. Signed-off-by: Gustavo F. Padovan commit 6de0702b5b93da0ef097aa092b4597fbc024ebba Author: Gustavo F. Padovan Date: Fri Feb 4 03:35:20 2011 -0200 Bluetooth: move __l2cap_sock_close() to l2cap_sock.c Signed-off-by: Gustavo F. Padovan commit 05fc1576dabb1defae3c8c0371fb9d21f7db997a Author: Gustavo F. Padovan Date: Fri Feb 4 03:26:01 2011 -0200 Bluetooth: move l2cap_sock_kill() to l2cap_sock.c Signed-off-by: Gustavo F. Padovan commit 6ddc0485e1a6ecd450140ea40ffa52786f99183c Author: Gustavo F. Padovan Date: Fri Feb 4 03:23:31 2011 -0200 Bluetooth: move L2CAP sock timers function to l2cap_sock.c Signed-off-by: Gustavo F. Padovan commit fd83ccdb393e3190633e0240dd73faac8998164b Author: Gustavo F. Padovan Date: Fri Feb 4 03:20:52 2011 -0200 Bluetooth: move l2cap_sock_sendmsg() to l2cap_sock.c Also moves some L2CAP sending functions declaration to l2cap.h Signed-off-by: Gustavo F. Padovan commit dcba0dba54b566a08376f93cab35cdabd6abda20 Author: Gustavo F. Padovan Date: Fri Feb 4 03:08:36 2011 -0200 Bluetooth: move l2cap_sock_shutdown() to l2cap_sock.c Declare __l2cap_wait_ack() and l2cap_sock_clear_timer() in l2cap.h Signed-off-by: Gustavo F. Padovan commit 6898325923f9571fbede3372dc490faa43b3258a Author: Gustavo F. Padovan Date: Fri Feb 4 03:02:31 2011 -0200 Bluetooth: move l2cap_sock_recvmsg() to l2cap_sock.c It causes the move of the declaration of 3 functions to l2cap.h: l2cap_get_ident(), l2cap_send_cmd(), l2cap_build_conf_req() Signed-off-by: Gustavo F. Padovan commit 4e34c50bfe5ba87da1622cc7c6ed10712da255ad Author: Gustavo F. Padovan Date: Fri Feb 4 02:56:13 2011 -0200 Bluetooth: move l2cap_sock_connect() to l2cap_sock.c Signed-off-by: Gustavo F. Padovan commit 99f4808db0c052f3c92a689ec2841618bf2ce14a Author: Gustavo F. Padovan Date: Fri Feb 4 02:52:55 2011 -0200 Bluetooth: move l2cap_sock_getsockopt() to l2cap_sock.c Signed-off-by: Gustavo F. Padovan commit 33575df7be6748292f88453f29319af6d639c5c8 Author: Gustavo F. Padovan Date: Fri Feb 4 02:48:48 2011 -0200 Bluetooth: move l2cap_sock_setsockopt() to l2cap_sock.c Signed-off-by: Gustavo F. Padovan commit d7175d55255cb0a576844bc6e986000e0d7f8e9d Author: Gustavo F. Padovan Date: Fri Feb 4 02:43:46 2011 -0200 Bluetooth: move l2cap_sock_getname() to l2cap_sock.c Signed-off-by: Gustavo F. Padovan commit c47b7c724bc7106acf602b2ce99922a2d14ea62b Author: Gustavo F. Padovan Date: Fri Feb 4 02:42:23 2011 -0200 Bluetooth: move l2cap_sock_accept() to l2cap_sock.c Signed-off-by: Gustavo F. Padovan commit af6bcd8205ac06fa1de98b2b28303157fb9c3dfc Author: Gustavo F. Padovan Date: Fri Feb 4 02:40:28 2011 -0200 Bluetooth: move l2cap_sock_bind()/listen() to l2cap_sock.c Signed-off-by: Gustavo F. Padovan commit 554f05bb8a0707dcc0ba4ea1dba1fb9970846ab5 Author: Gustavo F. Padovan Date: Fri Feb 4 02:36:42 2011 -0200 Bluetooth: move l2cap_sock_release() to l2cap_sock.c Signed-off-by: Gustavo F. Padovan commit 65390587c7bcf8bb60b48387db766d8d7dfea982 Author: Gustavo F. Padovan Date: Fri Feb 4 02:33:56 2011 -0200 Bluetooth: move l2cap_sock_ops to l2cap_sock.c First step to move all l2cap_sock_ops function to l2cap_sock.c Signed-off-by: Gustavo F. Padovan commit bb58f747e519aba07a6f05a78d58cf8a0788e2d5 Author: Gustavo F. Padovan Date: Thu Feb 3 20:50:35 2011 -0200 Bluetooth: Initial work for L2CAP split. This patch tries to do the minimal to move l2cap_sock_create() and its dependencies to l2cap_sock.c. It create a API to initialize and cleanup the L2CAP sockets from l2cap_core.c through l2cap_init_sockets() and l2cap_cleanup_sockets(). Signed-off-by: Gustavo F. Padovan commit 0a708f8fc46fde3be2116b8d79f7469a24097c90 Author: Gustavo F. Padovan Date: Thu Feb 3 18:58:10 2011 -0200 Bluetooth: Rename l2cap.c to l2cap_core.c In a preparation to the the L2CAP code split in many files. Signed-off-by: Gustavo F. Padovan commit 84f0e17f78471857104a20dfc57711409f68d7bf Author: Rogério Brito Date: Thu Feb 3 01:42:05 2011 -0200 Bluetooth: ath3k: Avoid duplication of code In commit 86e09287e4f8c81831b4d4118a48597565f0d21b, to reduce memory usage, the functions of the ath3k module were rewritten to release the firmware blob after it has been loaded (successfully or not). The resuting code has some redundancy and the compiler can potentially produce better code if we omit a function call that is unconditionally executed in ,---- | if (ath3k_load_firmware(udev, firmware)) { | release_firmware(firmware); | return -EIO; | } | release_firmware(firmware); | | return 0; | } `---- It may also be argued that the rewritten code becomes easier to read, and also to see the code coverage of the snippet in question. Signed-off-by: Rogério Brito Cc: Alexander Holler Cc: "Gustavo F. Padovan" Cc: Miguel Ojeda Signed-off-by: Gustavo F. Padovan commit d37f50e19094862a5d60d79637d6f4dbdc42f4f1 Author: Andrei Emeltchenko Date: Mon Jan 24 10:53:24 2011 +0200 Bluetooth: fix crash by disabling tasklet in sock accept Crash can happen when tasklet handling connect/disconnect requests preempts socket accept. Can be reproduced with "l2test -r" on one side and several "l2test -c -b 1000 -i hci0 -P 10 " on the other side. disable taskets in socket accept and change lock_sock and release_sock to bh_lock_sock and bh_unlock_sock since we have to use spinlocks and there is no need to mark sock as owned by user. ... [ 3555.897247] Unable to handle kernel NULL pointer dereference at virtual address 000000bc [ 3555.915039] pgd = cab9c000 [ 3555.917785] [000000bc] *pgd=8bf3d031, *pte=00000000, *ppte=00000000 [ 3555.928314] Internal error: Oops: 17 [#1] PREEMPT [ 3555.999786] CPU: 0 Not tainted (2.6.32.21-13874-g67918ef #65) ... [ 3556.005981] PC is at bt_accept_unlink+0x20/0x58 [bluetooth] [ 3556.011627] LR is at bt_accept_dequeue+0x3c/0xe8 [bluetooth] ... [ 3556.161285] [] (bt_accept_unlink+0x20/0x58 [bluetooth]) from [] (bt_accept_dequeue+0x3c/0xe8 [bluetooth]) [ 3556.172729] [] (bt_accept_dequeue+0x3c/0xe8 [bluetooth]) from [] (l2cap_sock_accept+0x100/0x15c [l2cap]) [ 3556.184082] [] (l2cap_sock_accept+0x100/0x15c [l2cap]) from [] (sys_accept4+0x120/0x1e0) [ 3556.193969] [] (sys_accept4+0x120/0x1e0) from [] (ret_fast_syscall+0x0/0x2c) [ 3556.202819] Code: e5813000 e5901164 e580c160 e580c15c (e1d13bbc) ... Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 5a08eccedaa1e12b74cf3afea9e11a9aefc29f73 Author: Andrei Emeltchenko Date: Tue Jan 11 17:20:20 2011 +0200 Bluetooth: Do not use assignments in IF conditions Fix checkpatch warnings concerning assignments in if conditions. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 17fa4b9dff72fb3a1a68cc80caf98fc941d2b8b3 Author: Johan Hedberg Date: Tue Jan 25 13:28:33 2011 +0200 Bluetooth: Add set_io_capability management command This patch adds a new set_io_capability management command which is used to set the IO capability for Secure Simple Pairing (SSP) as well as the Security Manager Protocol (SMP). The value is per hci_dev and each hci_conn object inherits it upon creation. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 980e1a537fed7dfa53e9a4b6e586b43341f8c2d5 Author: Johan Hedberg Date: Sat Jan 22 06:10:07 2011 +0200 Bluetooth: Add support for PIN code handling in the management interface This patch adds the necessary commands and events needed to communicate PIN code related actions between the kernel and userspace. This includes a pin_code_request event as well as pin_code_reply and pin_code_negative_reply commands. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit a38528f1117590169c0bf61cbf874e9fd2d5c5c9 Author: Johan Hedberg Date: Sat Jan 22 06:46:43 2011 +0200 Bluetooth: Create common cmd_complete function for mgmt.c A lot of management code needs to generate command complete events so it makes sense to have a helper function for this. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 2784eb41b1fbb3ff80f4921fe9dbb4c4acb6dc24 Author: Johan Hedberg Date: Fri Jan 21 13:56:35 2011 +0200 Bluetooth: Add get_connections managment interface command This patch adds a get_connections command to the management interface. With this command userspace can get the current list of connected devices. Typically this command would only be used once when enumerating existing adapters. After that the connected and disconnected events are used to track connections. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 17d5c04cb597418a177c3ca18dfde679636dd51c Author: Johan Hedberg Date: Sat Jan 22 06:09:08 2011 +0200 Bluetooth: Add support for connect failed management event This patch add a new connect failed management event to track failures in connecting to remote devices. It is particularly useful for security mode 3 scenarios when we don't have a connected state while pairing but still need to detect when the connect attempt failed. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 8962ee74be48df16027100f657b2b12e8ef3d34d Author: Johan Hedberg Date: Thu Jan 20 12:40:27 2011 +0200 Bluetooth: Add disconnect managment command This patch adds a disconnect command to the managment interface. Using this command user space is able to force the disconnection of connected devices. The command maps directly to the Disconnect HCI command. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit f7520543ab40341edbc2aeee7fef68218be19a0a Author: Johan Hedberg Date: Thu Jan 20 12:34:39 2011 +0200 Bluetooth: Add connected/disconnected management events This patch adds connected and disconnected managment events to track the connection status to remote devices. The events map directly to successful connection complete and disconnection complete HCI events for ACL links. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 55ed8ca10f3530de8edbbf138acb50992bf5005b Author: Johan Hedberg Date: Mon Jan 17 14:41:05 2011 +0200 Bluetooth: Implement link key handling for the management interface This patch adds a management commands to feed the kernel with all stored link keys as well as remove specific ones or all of them. Once the load_keys command has been called the kernel takes over link key replies. A new_key event is also added to inform userspace of newly created link keys that should be stored permanently. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 1aff6f09491f454d4cd9f405c783fa5e9d3168a0 Author: Johan Hedberg Date: Thu Jan 13 21:56:52 2011 +0200 Bluetooth: Add class of device control to the management interface This patch adds the possibility for user space to fully control the Class of Device value of local adapters. To control the service class bits each UUID that's added comes with a service class "hint" which acts as a mask of bits that the UUID needs to have enabled. The set_service_cache management command is used to make sure we queue up all UUID changes as user space initializes its drivers and then send a single HCI_Write_Class_of_Device command when initialization is complete. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit d5859e22cd40b73164b3e5d8d5d796f96edcc6af Author: Johan Hedberg Date: Tue Jan 25 01:19:58 2011 +0200 Bluetooth: Implement a more complete adapter initialization sequence Using the managment interface means that user space doesn't need to do any HCI command sending at all. This patch moves the remaining initialization commands from user space to the kernel side. The patch makes use of the new feature of __hci_request which allows the request to be dynamically modified while it is ongoing (something that is needed to react appropriately to the local features and the version of the adapter). Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit d83506003608910d24d5ace9ec06ad1bfd9ad110 Author: Johan Hedberg Date: Mon Jan 10 14:28:45 2011 +0200 Bluetooth: Remove page timeout setting from HCI init sequence User space should set the page timeout so there's no need to explicitly set it in the HCI init sequence. Even if user space fails to set it the controller default value will be used. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit b0916ea0d9e6ea3ed46bb7a61c13a2b357b0248b Author: Johan Hedberg Date: Mon Jan 10 13:44:55 2011 +0200 Bluetooth: Add controller side link key clearing to hci_init_req The controller may have link keys in its own memory and these keys could be used for secure connections. However, since the interface to access these keys doesn't provide information about the key types (which would be needed to infer the level of security each key provides) using these keys is rather useless. Therefore, simply clear the controller side list in the initialization procedure. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit a5040efa2017f3e4f1b4d5f40fd989567f3994c1 Author: Johan Hedberg Date: Mon Jan 10 13:28:59 2011 +0200 Bluetooth: Add special handling with __hci_request and HCI_INIT To support a more dynamic HCI initialization sequence the __hci_request behavior requires some more changes. Particularly, the init sequence should be able to have conditionals in it (sending some HCI commands depending on the outcome of a previous command) instead of being a fixed list as it is right now. The reasons for these additional requirements are the moving all previously user space driven initialization commands to the kernel side as well as the support the Low Energy controllers. To fulfull these requirements the init sequence is made the only special case for multi-command requests and req_last_cmd is renamed to init_last_cmd. The hci_send_cmd function is changed to update init_last_cmd as long as the HCI_INIT flag is set. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 03b555e119de8288a16e086e1fbd223d9b429d3d Author: Johan Hedberg Date: Tue Jan 4 15:40:05 2011 +0200 Bluetooth: Reject pairing requests when in non-pairable mode This patch adds the necessary logic to act accordingly when the HCI_PAIRABLE flag is not set. In that case PIN code replies as well as Secure Simple Pairing requests without a NoBonding requirement need to be rejected. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 930e13363fb0e94db6e8b59c54dfb5c59355113e Author: Johan Hedberg Date: Tue Jan 4 11:39:44 2011 +0200 Bluetooth: Implement debugfs support for listing UUIDs This patch adds a debugfs entry to list the UUIDs that have been registered through the management interface. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 2aeb9a1ae0e34fb46cb78b82f827a6a54ab65111 Author: Johan Hedberg Date: Tue Jan 4 12:08:51 2011 +0200 Bluetooth: Implement UUID handling through the management interface This patch adds methods to the management interface for userspace to notify the kernel of which services have been registered for specific adapters. This information is needed for setting the appropriate Class of Device value as well as the Extended Inquiry Response value. This patch doesn't actually implement setting of these values but just provides the storage of the UUIDs so the needed functionality can be built on top of it. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit c542a06c29acbf4ea0024884a198065a10613147 Author: Johan Hedberg Date: Wed Jan 26 13:11:03 2011 +0200 Bluetooth: Implement set_pairable managment command This patch implements a new set_pairable management command to control the pairable state of local adapters. The state is represented using a new HCI_PAIRABLE flag in the hci_dev struct. For backwards compatibility with older user space versions the HCI_PAIRABLE flag gets automatically set when the existence of an adapter is reported to user space through legacy methods and the HCI_MGMT flag is not set. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 053f0211d3b1a991f06a7b4aec5b762e42d7c6a4 Author: Johan Hedberg Date: Wed Jan 26 13:07:10 2011 +0200 Bluetooth: Add send_mode_rsp convenience function for mgmt.c Several management commands have similar responses but they are not always sent asynchronously. To enable synchronous sending (from the managment command handler function) a send_mode_rsp function is added. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit ebc99feba7378349e2bfae7018af062767382f6c Author: Johan Hedberg Date: Tue Jan 4 11:54:26 2011 +0200 Bluetooth: Add flag to track managment controlled adapters This patch adds a HCI_MGMT flag to track adapters which are under the control of the management interface. This is needed to make sure that new kernels will work with old user space versions. I.e. behaviour which could break old user space versions (but is needed by the management interface) should not be exhibited when the HCI_MGMT flag is not set. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 72a734ec1aca8cd2ef3fc85428c11bde662e149e Author: Johan Hedberg Date: Thu Dec 30 00:38:22 2010 +0200 Bluetooth: Unify mode related management messages to a single struct The powered, connectable and discoverable messages all have the same format. By using a single struct for all of them a lot of code can be simplified and reused. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 9fbcbb455dd01abfad4f314b618ac51d566114cb Author: Johan Hedberg Date: Thu Dec 30 00:18:33 2010 +0200 Bluetooth: Add set_connectable management command This patch adds a set_connectable command as well as a corresponding event to the management interface. It's mainly useful for setting an adapter as connectable from a non-initialized state as well as setting an already initialized adapter as non-connectable (mostly useful for qualification purposes). Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 73f22f62388795c0f6b4f3f97bda7a64f9681aac Author: Johan Hedberg Date: Wed Dec 29 16:00:25 2010 +0200 Bluetooth: Add support for set_discoverable management command This patch adds a set_discoverable command to the management interface as well as the corresponding event. The command is used to control the discoverable state of adapters. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit eec8d2bcc841ae44edcde9660ff21144a2016053 Author: Johan Hedberg Date: Thu Dec 16 10:17:38 2010 +0200 Bluetooth: Add support for set_powered management command This patch adds a set_powered command to the management interface through which the powered state of local adapters can be controlled. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 5add6af8fcbce269cac2457584c0ebfda055474a Author: Johan Hedberg Date: Thu Dec 16 10:00:37 2010 +0200 Bluetooth: Add support for management powered event This patch adds support for the powered event that's used to indicate to userspace when the powered state of a local adapter changes. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit ab81cbf99c881ca2b9a83682a8722fc84b2483d2 Author: Johan Hedberg Date: Wed Dec 15 13:53:18 2010 +0200 Bluetooth: Implement automatic setup procedure for local adapters This patch implements automatic initialization of basic information about newly registered Bluetooth adapters. E.g. the address and features are always needed so it makes sense for the kernel to automatically power on adapters and read this information. A new HCI_SETUP flag is added to track this state. In order to not consume unnecessary amounts of power if there isn't a user space available that could switch the adapter back off, a timer is added to do this automatically as long as no Bluetooth user space seems to be present. A new HCI_AUTO_OFF flag is added that user space needs to clear to avoid the automatic power off. Additionally, the management interface index_added event is moved to the end of the HCI_SETUP stage so a user space supporting the managment inteface has all the necessary information available for fetching when it gets notified of a new adapter. The HCI_DEV_REG event is kept in the same place as before since existing HCI raw socket based user space versions depend on seeing the kernels initialization sequence (hci_init_req) to determine when the adapter is ready for use. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 7990681c409e8a31eac122342e64da6c3b77a249 Author: Gustavo F. Padovan Date: Mon Jan 24 16:01:43 2011 -0200 Bluetooth: Fix setting of MTU for ERTM and Streaming Mode The desired MTU should be sent in an Config_Req for all modes. Signed-off-by: Gustavo F. Padovan commit e702112ff68a554bcac16bb03ddc2b8e5425bcbf Author: Andrei Emeltchenko Date: Mon Jan 3 11:14:36 2011 +0200 Bluetooth: Use non-flushable by default L2CAP data packets Modification of Nick Pelly patch. With Bluetooth 2.1 ACL packets can be flushable or non-flushable. This commit makes ACL data packets non-flushable by default on compatible chipsets, and adds the BT_FLUSHABLE socket option to explicitly request flushable ACL data packets for a given L2CAP socket. This is useful for A2DP data which can be safely discarded if it can not be delivered within a short time (while other ACL data should not be discarded). Note that making ACL data flushable has no effect unless the automatic flush timeout for that ACL link is changed from its default of 0 (infinite). Default packet types (for compatible chipsets): Frame 34: 13 bytes on wire (104 bits), 13 bytes captured (104 bits) Bluetooth HCI H4 Bluetooth HCI ACL Packet .... 0000 0000 0010 = Connection Handle: 0x0002 ..00 .... .... .... = PB Flag: First Non-automatically Flushable Packet (0) 00.. .... .... .... = BC Flag: Point-To-Point (0) Data Total Length: 8 Bluetooth L2CAP Packet After setting BT_FLUSHABLE (sock.setsockopt(274 /*SOL_BLUETOOTH*/, 8 /* BT_FLUSHABLE */, 1 /* flush */)) Frame 34: 13 bytes on wire (104 bits), 13 bytes captured (104 bits) Bluetooth HCI H4 Bluetooth HCI ACL Packet .... 0000 0000 0010 = Connection Handle: 0x0002 ..10 .... .... .... = PB Flag: First Automatically Flushable Packet (2) 00.. .... .... .... = BC Flag: Point-To-Point (0) Data Total Length: 8 Bluetooth L2CAP Packet Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit b2c60d42db0fea1e6c4345739601024863566a13 Author: Jesper Juhl Date: Fri Jan 14 00:18:49 2011 +0100 Bluetooth: Fix failure to release lock in read_index_list() If alloc_skb() fails in read_index_list() we'll return -ENOMEM without releasing 'hci_dev_list_lock'. Signed-off-by: Jesper Juhl Signed-off-by: Gustavo F. Padovan commit 80f5585a292d087856cbc1ddc64d4f7477244b46 Merge: 3ad97fb e733fb6 Author: Gustavo F. Padovan Date: Tue Feb 8 01:38:50 2011 -0200 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-2.6 into wireless commit 3ad97fbcc233a295f2ccc2c6bdeb32323e360a5e Author: Dan Carpenter Date: Mon Feb 7 22:03:35 2011 +0300 mac80211: remove unneeded check "ap" is the address of sdata->u.ap so it can never be NULL here. Also we dereferenced it on the previous line. I removed the check. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 3a2329f2680796b0c09ff207803ea880a481c3a4 Author: Mohammed Shafi Shajakhan Date: Mon Feb 7 21:08:28 2011 +0530 ath9k: Update comments for not parsing DTIM period Add few comments for not parsing DTIM period from mac80211 Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 38f37be20941a6f1931ca4c051e638f947415eab Author: Mohammed Shafi Shajakhan Date: Mon Feb 7 10:10:04 2011 +0530 mac80211: Update comments on radiotap MCS index mac80211 now supports passing MCS index to radiotap, so update the comments regarding this Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 4f3123366f78cf34ce7caab923e2b3c4fe9e16c2 Author: Felix Fietkau Date: Sat Feb 5 23:48:37 2011 +0100 mac80211: as a 4-addr station, do not receive packets for other stations Since 4-addr frames completely override the source address which will make it into the converted 802.3 frames, receiving frames for other 4-addr stations will confuse the bridging code. To be able to handle traffic for all connected devices, the bridge code will automatically turn on promiscuous mode, which triggers this problem. Signed-off-by: Felix Fietkau Reported-by: Steve Brown Signed-off-by: John W. Linville commit 180205bdb22b79cd7b2a07a5002dd747badc82f3 Author: Ben Greear Date: Fri Feb 4 15:30:24 2011 -0800 mac80211: Make some mlme timers module paramaters. This allows users to tune the connection-loss algorithms to be more or less lenient. In particular, larger null-func retries helps when using lots of virtual stations on a loaded network. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit c210de8f88215db31cf3529c9763fc3124d6e09d Author: Nick Kossifidis Date: Fri Feb 4 01:41:02 2011 +0200 ath5k: Fix fast channel switching Fast channel change fixes: a) Always set OFDM timings b) Don't re-activate PHY c) Enable only NF calibration, not AGC Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 80b38fffab9a2d86c252addce5a520dcf8f2fc66 Author: Wey-Yi Guy Date: Fri Feb 4 10:46:41 2011 -0800 iwlwifi: fix compiling error with different configuration When .config has different configuration, it might fail to compile iwlwifi. fix it Signed-off-by: Wey-Yi Guy commit 2f115cf24ea3f5010f7361d2098545edf7a07add Author: Johannes Berg Date: Fri Feb 4 06:57:45 2011 -0800 iwlwifi: remove unnecessary locking This code, and the places that set the variable is_internal_short_scan and the vif pointers are all protected by the mutex, there's no point in locking the spinlock here as well (any more). Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit bd4a6974cc9090ef3851e5b0a2071e5383565c7c Merge: 2b7bceb 1e6d93e Author: David S. Miller Date: Fri Feb 4 14:28:58 2011 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit b23b025fe246f3acc2988eb6d400df34c27cb8ae Author: Ben Greear Date: Fri Feb 4 11:54:17 2011 -0800 mac80211: Optimize scans on current operating channel. This should decrease un-necessary flushes, on/off channel work, and channel changes in cases where the only scanned channel is the current operating channel. * Removes SCAN_OFF_CHANNEL flag, uses SDATA_STATE_OFFCHANNEL and is-scanning flags instead. * Add helper method to determine if we are currently configured for the operating channel. * Do no blindly go off/on channel in work.c Instead, only call appropriate on/off code when we really need to change channels. Always enable offchannel-ps mode when starting work, and disable it when we are done. * Consolidate ieee80211_offchannel_stop_station and ieee80211_offchannel_stop_beaconing, call it ieee80211_offchannel_stop_vifs instead. * Accept non-beacon frames when scanning on operating channel. * Scan state machine optimized to minimize on/off channel transitions. Also, when going on-channel, go ahead and re-enable beaconing. We're going to be there for 200ms, so seems like some useful beaconing could happen. Always enable offchannel-ps mode when starting software scan, and disable it when we are done. * Grab local->mtx earlier in __ieee80211_scan_completed_finish so that we are protected when calling hw_config(), etc. * Pass probe-responses up the stack if scanning on local channel, so that mlme can take a look. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit cb8d61de2d7f074654057b2b924da1efbf625ad4 Author: Felix Fietkau Date: Fri Feb 4 20:09:25 2011 +0100 ath9k: add additional checks for the baseband hang detection Since even with the latest changes the false positive issue of the baseband hang check is not fully solved yet, additional checks are needed. If the baseband hang occurs, the rx_clear signal will be stuck to high, so we can use the cycle counters to confirm it. With this patch, a hardware reset is only triggered if the baseband hang check returned true three times in a row, with a beacon interval between each check and if the busy time was also 99% or more during the check intervals. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit b1f93314bfc4d5753391616735f6b8df96db901d Author: Felix Fietkau Date: Fri Feb 4 19:20:08 2011 +0100 mac80211: do not send duplicate data frames to the cooked monitor interface I can't think of a valid use case for this aside from debugging (which can also be done with a real monitor interface), and dropping these frames saves some precious CPU cycles. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 8e5461041f4498e3c8f4e0a51187f608f0a18b08 Author: Jouni Malinen Date: Fri Feb 4 13:51:28 2011 +0200 ath: Fix clearing of secondary key cache entry for TKIP All register writes to the key cache have to be done in pairs. However, the clearing of a separate MIC entry with hardware revisions that use combined MIC key layout did not do that with one of the registers. Add the matching register write to the following register to make the KEY4 register write actually complete. This is mostly a fix for a theoretical issue since the incorrect entry that could potentially be left behind in the key cache would not match with received frames. Anyway, better make this code clean the entry correctly using paired register writes. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 8c99f69182fb9550ceedf599b32af335e743367b Author: Rajkumar Manoharan Date: Wed Feb 2 22:57:53 2011 +0530 mac80211: do not restart ps timer during scan or offchannel While leaving oper channel, STA informs sleep state to AP to stop sending data. Till sending ack for the nullfunc, AP continues to send the data to STA which restarts ps_timer that is causing unnecessary nullfunc exchange on timer expiry when the STA was already moved to offchannel. So don't restart ps_timer on data reception during scan. This issue was identified by the following warning. WARNING: at net/mac80211/tx.c:661 invoke_tx_handlers+0xf07/0x1330 [mac80211] wlan0: Dropped data frame as no usable bitrate found while scanning and associated. Target station: 00:03:7f:0b:a6:1b on 5 GHz band Call Trace: [] invoke_tx_handlers+0xf07/0x1330 [mac80211] [] ieee80211_tx+0x86/0x2c0 [mac80211] [] ieee80211_xmit+0xb5/0x1d0 [mac80211] [] ieee80211_dynamic_ps_enable_work+0x0/0xb0 [mac80211] [] ieee80211_tx_skb+0x4f/0x60 [mac80211] [] ieee80211_send_nullfunc+0x46/0x60 [mac80211] [] ieee80211_dynamic_ps_enable_work+0xa5/0xb0 [mac80211] Reviewed-by: Johannes Berg Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 24d24c627cadcbff682fbf8448a775851bef833c Author: Jussi Kivilinna Date: Mon Jan 31 20:50:31 2011 +0200 zd1211rw: add useful debug output Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit ab419e9bda10efced0db980478c3e40a1ad18ba3 Author: Jussi Kivilinna Date: Mon Jan 31 20:50:21 2011 +0200 zd1211rw: enable NL80211_IFTYPE_AP It should be safe to enable AP-mode now. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 1f6cccccea3fe96464f7dbc39723d70165f1eef1 Author: Jussi Kivilinna Date: Mon Jan 31 20:50:12 2011 +0200 zd1211rw: reset rx urbs after idle period of 30 seconds RX appears to freeze while idle. Resetting rx-urbs appears to be enough to fix this. Do reset 30 seconds after last rx. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 3985a46543d47a50b94e839e0a16e67d959ab092 Author: Jussi Kivilinna Date: Mon Jan 31 20:50:02 2011 +0200 zd1211rw: reset device when CR_BCN_FIFO_SEMAPHORE freezes in beacon setup When driver fails to acquire device semaphore lock, device usually freezes soon afterwards. So failing to acquire lock indicates us that not everything is going right in device/fw. So reset device when this happens. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit a0fd751f0924e0eefa36592f1d358c4ab18b44c5 Author: Jussi Kivilinna Date: Mon Jan 31 20:49:52 2011 +0200 zd1211rw: add TX watchdog and device resetting When doing transfers at high speed for long time, tx queue can freeze. So add tx watchdog. TX-watchdog checks for locked tx-urbs and reset hardware when such is detected. Merely unlinking urb was not enough, device have to be reseted. Hw settings are restored so that any open link will stay on after reset. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 212e1a5b9df0a51d54d7841467f3f01baa1b82f1 Author: Jussi Kivilinna Date: Mon Jan 31 20:49:43 2011 +0200 zd1211rw: collect driver settings and add function to restore theim We need HW hard reset later in patchset to reset device after TX-stall. Collect all settings that we have set to driver for later reset and add restore function. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 8f2d8f869af5088d4e4866c8286f0599e83cc963 Author: Jussi Kivilinna Date: Mon Jan 31 20:49:33 2011 +0200 zd1211rw: lower hw command timeouts Device command timeouts are set up very high (1 sec) and this causes AP beacon to lock up for long for example. Checking timeouts on device it's easy to see that 1 sec timeout is not needed, when device fails to response longer timeout doesn't help: [ 473.074419] zd1211rw 1-1:1.0: print_times() Read times: [ 473.175163] zd1211rw 1-1:1.0: print_time() 0 - 10 msec: 1506 [ 473.176429] zd1211rw 1-1:1.0: print_time() 11 - 50 msec: 0 [ 473.177955] zd1211rw 1-1:1.0: print_time() 51 - 100 msec: 0 [ 473.180703] zd1211rw 1-1:1.0: print_time() 101 - 250 msec: 0 [ 473.182101] zd1211rw 1-1:1.0: print_time() 251 - 500 msec: 0 [ 473.183221] zd1211rw 1-1:1.0: print_time() 500 - 1000 msec: 20 [ 473.184381] zd1211rw 1-1:1.0: print_time() 1000 - ... msec: 18 Also vendor driver doesn't use this long timeout. Therefore change timeout to 50msec. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 4a3b0874a481573bfd95d54c883248b4c4622572 Author: Jussi Kivilinna Date: Mon Jan 31 20:49:24 2011 +0200 zd1211rw: change interrupt URB buffer to DMA buffer As might lower beacon update CPU usage. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 9bca0c3b540188e2beea9c2583fa16c46d209888 Author: Jussi Kivilinna Date: Mon Jan 31 20:49:14 2011 +0200 zd1211rw: use stack and preallocated memory for small cmd-buffers Use stack for allocing small < 64 byte arrays in zd_chip.c and preallocated buffer in zd_usb.c. This might lower CPU usage for beacon setup. v2: - Do not use stack buffers in zd_usb.c as they would be used for urb transfer_buffer. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 51272292926bc4fff61ba812d5816922b980655b Author: Jussi Kivilinna Date: Mon Jan 31 20:49:05 2011 +0200 zd1211rw: batch beacon config commands together Beacon config function writes beacon to hw one write per byte. This is very slow (usually taking more than 100ms to finish) and causes high CPU usage when in AP-mode (kworker at ~50% on Intel Atom N270). By batching commands together zd_mac_config_beacon() runtime can be lowered to 1/5th and lower CPU usage to saner levels (<10% on Atom). Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 9be232563666b7d1bd424780aef7ee2aa261ba04 Author: Jussi Kivilinna Date: Mon Jan 31 20:48:55 2011 +0200 zd1211rw: add beacon watchdog and setting HW beacon more failsafe When doing tx/rx at high packet rate (for example simply using ping -f), device starts to fail to respond to control messages. On non-AP modes this only causes problems for LED updating code but when we are running in AP-mode we are writing new beacon to HW usually every 100ms. Now if control message fails in HW beacon setup, device lock is kept locked and beacon data partially written. This can and usually does cause: 1. HW beacon setup fail now on, as driver cannot acquire device lock. 2. Beacon-done interrupt stop working as device has incomplete beacon. Therefore make zd_mac_config_beacon() always try to release device lock and add beacon watchdog to restart beaconing when stall is detected. Also fix zd_mac_config_beacon() try acquiring device lock for max 500ms, as what old code appeared to be trying to do using loop and msleep(1). Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 512119b36f7945a650877cbc7e9b5f4cc4d92e4c Author: Christian Lamparter Date: Mon Jan 31 20:48:44 2011 +0200 mac80211: fix race between next beacon dtim and ieee80211_get_buffered_bc On review of 'zd1211rw: implement beacon fetching and handling ieee80211_get_buffered_bc()', Christian Lamparter noted that [1]: Since zd_beacon_done also uploads the next beacon so long in advance, there could be an equally long race between the outdated state of the next beacon's DTIM broadcast traffic indicator (802.11-2007 7.3.2.6) which -in your case- was uploaded almost a beacon interval ago and the xmit of ieee80211_get_buffered_bc *now*. The dtim bc/mc bit might be not set, when a mc/bc arrived after the beacon was uploaded, but before the "beacon done event" from the hardware. So, dozing stations don't expect the broadcast traffic and of course, they might miss it completely. It's probably better to fix this in mac80211 (see the attached hack). [1] http://marc.info/?l=linux-wireless&m=129435041117256&w=2 CC: Christian Lamparter Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 4099e2f4404762add8ef2b0dadef3c5122117210 Author: Jussi Kivilinna Date: Mon Jan 31 20:48:35 2011 +0200 zd1211rw: implement beacon fetching and handling ieee80211_get_buffered_bc() Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit b91a515dbb4f824169755e071014230b57f0c1e1 Author: Jussi Kivilinna Date: Mon Jan 31 20:48:25 2011 +0200 zd1211rw: let zd_set_beacon_interval() set dtim_period and add AP-beacon flag Add support for AP-mode beacon. Also disable beacon when interface is set down as otherwise hw will keep flooding NEXT_BCN interrupts. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit f773e409b959677170b3cf1d573dafc4a0a3e34e Author: Jussi Kivilinna Date: Mon Jan 31 20:48:16 2011 +0200 zd1211rw: fix ack_pending in filter_ack causing tx-packet ordering problem on monitor For reasons not very clear yet to me, filter_ack leaves matching tx-packet pending with 'ack_pending'. This causes tx-packet to be passed back to upper layer after next packet has been transfered and tx-packets might end up coming come out of monitor interface in wrong order vs. rx. Because of this when enable AP-mode, hostapd monitor interface would get packets in wrong order causing problems in WPA association. So don't use mac->ack_pending when in AP-mode. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit c2fadcb3b16b294d7de509c42f1390f672510667 Author: Jussi Kivilinna Date: Mon Jan 31 20:48:06 2011 +0200 zd1211rw: support setting BSSID for AP mode Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 5cf6cf819bfffd89fc8c7c3a7406f54da4945a34 Author: Jussi Kivilinna Date: Mon Jan 31 20:47:56 2011 +0200 zd1211rw: move set_rts_cts_work to bss_info_changed As bss_info_changed may sleep, we can as well set RTS_CTS register right away. Keep mac->short_preamble for later use (hw reset). Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit a6fb071bbf420841481e1c1bcdb65b3ffb33fc8a Author: Jussi Kivilinna Date: Mon Jan 31 20:47:46 2011 +0200 zd1211rw: move set_multicast_hash and set_rx_filter from workers to configure_filter Workers not needed anymore since configure_filter may sleep. Keep mac->multicast_hash for later use (hw reset). Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 88a1159a376995e1f9ca6e9b1d4f2e4c44d79d13 Author: Jussi Kivilinna Date: Mon Jan 31 20:47:36 2011 +0200 zd1211rw: fix beacon interval setup Vendor driver uses CR_BNC_INTERVAL at various places, one is HW_EnableBeacon() that combinies beacon interval with BSS-type flag and DTIM value in upper 16bit of u32. The other one is HW_UpdateBcnInterval() that set_aw_pt_bi() appears to be based on. HW_UpdateBcnInterval() takes interval argument as u16 and uses that for calculations, set_aw_pt_bi() uses u32 value that has flags and dtim in upper part. This clearly seems wrong. Also HW_UpdateBcnInterval() updates only lower 16bit part of CR_BNC_INTERVAL. So make set_aw_pt_bi() do calculations on only lower u16 part of s->beacon_interval. Also set 32bit beacon interval register before reading values from device, as HW_EnableBeacon() on vendor driver does. This is required to make beacon work on AP-mode, simply reading and then writing updated values is not enough at least with zd1211b. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 8b17f75ced1d45af9faed767f4cfafb13c0fe05e Author: Jussi Kivilinna Date: Mon Jan 31 20:47:27 2011 +0200 zd1211rw: add locking for mac->process_intr Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit d741900d404b3a34bf478673f76ee9f16dad3f90 Author: Jussi Kivilinna Date: Mon Jan 31 20:47:17 2011 +0200 zd1211rw: cancel process_intr work on zd_chip_disable_int() OOPS if worker is running and disconnect() is called (triggered by unpluging device). Much harder to trigger at this stage but later when we have AP beacon work in process_intr it happens very easy. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 78fc800f06a72c25842e585fd747fa6a98f3f0e5 Author: Jussi Kivilinna Date: Mon Jan 31 20:47:08 2011 +0200 zd1211rw: use urb anchors for tx and fix tx-queue disabling When stress testing AP-mode I hit OOPS when unpluging or rmmodding driver. It appears that when tx-queue is disabled, tx-urbs might be left pending. These can cause ehci to call non-existing tx_urb_complete() (after rmmod) or uninitialized/reseted private structure (after disconnect()). Add skb queue for submitted packets and unlink pending urbs on zd_usb_disable_tx(). Part of the problem seems to be usb->free_urb_list that isn't always working as it should, causing machine freeze when trying to free the list in zd_usb_disable_tx(). Caching free urbs isn't what other drivers seem to be doing (usbnet for example) so strip free_usb_list. Patch makes tx-urb handling saner with use of urb anchors. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 681d119047761cc59a15c0bb86891f3a878997cf Author: Jouni Malinen Date: Thu Feb 3 18:35:19 2011 +0200 mac80211: Add testing functionality for TKIP TKIP countermeasures depend on devices being able to detect Michael MIC failures on received frames and for stations to report errors to the AP. In order to test that behavior, it is useful to be able to send out TKIP frames with incorrect Michael MIC. This testing behavior has minimal effect on the TX path, so it can be added to mac80211 for convenient use. The interface for using this functionality is a file in mac80211 netdev debugfs (tkip_mic_test). Writing a MAC address to the file makes mac80211 generate a dummy data frame that will be sent out using invalid Michael MIC value. In AP mode, the address needs to be for one of the associated stations or ff:ff:ff:ff:ff:ff to use a broadcast frame. In station mode, the address can be anything, e.g., the current BSSID. It should be noted that this functionality works correctly only when associated and using TKIP. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 747d753df7fea1d2d29c5c33623f6d2e5d0ed2d6 Author: Jouni Malinen Date: Thu Feb 3 18:34:28 2011 +0200 mac80211: Remove obsolete TKIP flexibility The TKIP implementation was originally prepared to be a bit more flexible in the way Michael MIC TX/RX keys are configured. However, we are now taking care of the TX/RX MIC key swapping in user space, so this code will not be needed. Similarly, there were some remaining WPA testing code that won't be used in their current form. Remove the unneeded extra complexity. Signed-off-by: Jouni Malinen Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 942a84901b71f8ac1edb80c4b9db08441536a440 Author: Justin P. Mattock Date: Tue Feb 1 21:06:21 2011 -0800 drivers:net:ipw2100.c change a typo comamnd to command The below patch fixes a typo comamnd to command. Signed-off-by: Justin P. Mattock Signed-off-by: John W. Linville commit 391bd1c443f70447616ce0e152f13daee5ca448f Author: Rajkumar Manoharan Date: Tue Feb 1 23:05:36 2011 +0530 ath9k: reserve a beacon slot on beaconing vif addition The beaconing vif addition is based on max beacon slot available. So it is better to reserve a beacon slot on interface addition and let it be configured properly on bss_info change. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit e9d7732eafe38a717212648b7615399e68abb551 Author: Johannes Berg Date: Tue Feb 1 15:35:36 2011 +0100 mac80211: allow GO to scan like AP There's no point in disallowing scanning for a GO interface when it's not beaconing yet. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 771bbd09f7febb854dd7c30f983aa57535f9e8c9 Author: Arik Nemtsov Date: Tue Feb 1 13:23:05 2011 +0200 mac80211: pass up beacons from external BSS when operating as AP Beacons from external BSSes are required for updating overlapping BSS info (i.e. ERP protection). Pass them up unconditionally. Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit d057e5a381cbaec5632117bf62ba49438ab16214 Author: Arik Nemtsov Date: Mon Jan 31 22:29:13 2011 +0200 mac80211: add HW flag for disabling auto link-PS in AP mode When operating in AP mode the wl1271 hardware filters out null-data packets as well as management packets. This makes it impossible for mac80211 to monitor the PS mode by using the PM bit of incoming frames. Implement a HW flag to indicate that mac80211 should ignore the PM bit. In addition, expose ieee80211_sta_ps_transition() to make low-level drivers capable of controlling PS-mode. Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit 8fd369eeaa81d05969787c9ddf9cf3f1a8c4e084 Author: Arik Nemtsov Date: Mon Jan 31 22:29:12 2011 +0200 mac80211: do not calc frame duration when using HW rate-control When rate-control is performed in HW, we cannot calculate frame duration as we do not have the skb transmission rate in SW. ieee80211_tx_h_calculate_duration() should only be called when ieee80211_tx_h_rate_ctrl() has been called before to initialize data in skb->cb. This doesn't happen for drivers with HW rate-control. Fixes the following warning when operating in AP-mode in a driver with HW rate-control. WARNING: at net/mac80211/tx.c:57 ieee80211_duration+0x54/0x1d8 [mac80211]() Modules linked in: wl1271_sdio wl1271 firmware_class crc7 mac80211 cfg80211 [] (unwind_backtrace+0x0/0x124) from [] (warn_slowpath_common+0x4c/0x64) [] (warn_slowpath_common+0x4c/0x64) from [] (warn_slowpath_null+0x18/0x1c) [] (warn_slowpath_null+0x18/0x1c) from [] (ieee80211_duration+0x54/0x1d8 [mac80211]) [] (ieee80211_duration+0x54/0x1d8 [mac80211]) from [] (invoke_tx_handlers+0xfa0/0x1088 [mac80211]) [] (invoke_tx_handlers+0xfa0/0x1088 [mac80211]) from [] (ieee80211_tx+0x84/0x248 [mac80211]) [] (ieee80211_tx+0x84/0x248 [mac80211]) from [] (ieee80211_tx_pending+0x12c/0x278 [mac80211]) [] (ieee80211_tx_pending+0x12c/0x278 [mac80211]) from [] (tasklet_action+0x68/0xbc) [] (tasklet_action+0x68/0xbc) from [] (__do_softirq+0x84/0x114) [] (__do_softirq+0x84/0x114) from [] (do_softirq+0x48/0x54) [] (do_softirq+0x48/0x54) from [] (local_bh_enable+0x98/0xcc) [] (local_bh_enable+0x98/0xcc) from [] (wl1271_rx+0x2e8/0x3a4 [wl1271]) [] (wl1271_rx+0x2e8/0x3a4 [wl1271]) from [] (wl1271_irq_work+0x230/0x310 [wl1271]) [] (wl1271_irq_work+0x230/0x310 [wl1271]) from [] (process_one_work+0x208/0x350) [] (process_one_work+0x208/0x350) from [] (worker_thread+0x1cc/0x300) [] (worker_thread+0x1cc/0x300) from [] (kthread+0x84/0x8c) [] (kthread+0x84/0x8c) from [] (kernel_thread_exit+0x0/0x8) Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit 2cf22b897c63df65e7360a1897e5312c58617fbd Author: Ben Greear Date: Mon Jan 31 11:30:09 2011 -0800 mac80211: Recalculate channel-type on iface removal. When a vif goes away, it could cause the super-chan to be recalculated differently, so do that calculation on iface removal. Signed-off-by: Ben Greear Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 4e6975f7b8ca31febaa94a1ee1acfb5322f8a82b Author: Ben Greear Date: Mon Jan 31 10:37:36 2011 -0800 ath9k: Show channel type and frequency in debugfs. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 4c89fe954d929781126af41691fba1bc670293a5 Author: Rajkumar Manoharan Date: Mon Jan 31 23:47:46 2011 +0530 ath9k: do not access hw registers in FULL SLEEP The opmode recalculation is accessing hw registers. When it is called from remove interface callback and if there are no vifs present then hw is moved to FULL SLEEP by radio disable. So use power save wrappers before accessing hw registers in calculating opmode state. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit b2a5c3dfecf3d0e1db08ac7cd94ee4c1cf9bc998 Author: Rajkumar Manoharan Date: Mon Jan 31 23:47:45 2011 +0530 ath9k_htc: make use common of function to update txpower Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 5048e8c378d095a548fe8a6ecd2f07d277ac5be2 Author: Rajkumar Manoharan Date: Mon Jan 31 23:47:44 2011 +0530 ath9k: move update tx power to common move ath_update_txpow to common to remove code duplication in both ath9k & ath9k_htc. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit c344c9cb01d1dc65f2d5c85f22790e7f01d7dcd8 Author: Rajkumar Manoharan Date: Mon Jan 31 23:47:43 2011 +0530 ath9k: use common get current channel function Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 45655baa42ce4116dd8a8d93832d75b4b264137a Author: Rajkumar Manoharan Date: Mon Jan 31 23:47:42 2011 +0530 ath9k_htc: cancel ani work in ath9k_htc_stop ani work is cancelled in dissaoctiation. But in some cases during suspend, deauthention never be called. So we failed to stop ani work which was identified by the following warning. Call Trace: [] ieee80211_can_queue_work.clone.17+0x2d/0x40 [mac80211] [] ieee80211_queue_delayed_work+0x30/0x60 [mac80211] [] ath9k_ani_work+0x142/0x250 [ath9k_htc] [] async_run_entry_fn+0x0/0x180 [] ath9k_ani_work+0x0/0x250 [ath9k_htc] Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit bf6a0579f60ae5225280c82cc52b51db1255e7fb Author: Juuso Oikarinen Date: Mon Jan 31 15:52:58 2011 +0200 cfg80211: Fix power save state after interface type change Currently cfg80211 only configures the PSM state to the driver upon creation of a new virtual interface, but not after interface type change. The mac80211 on the other hand reinitializes its sdata structure every time the interface type is changed, losing the PSM configuration. Hence, if the interface type is changed to, say, ad-hoc and then back to managed, "iw wlan0 get power_save" will claim that PSM is enabled, when in fact on mac80211 level it is not. Fix this in cfg80211 by configuring the PSM state to the driver each time the interface is brought up instead of just when the interface is created. Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 73b30dfe4f756315b8cc431fca3ff340090c0ae4 Author: David Gnedt Date: Sun Jan 30 20:11:10 2011 +0100 wl1251: set rate index and preamble flag on received packets Set the rate index rate_idx and preamble flag RX_FLAG_SHORTPRE on received packets. Signed-off-by: David Gnedt Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 43d136442a0af3b26df3f16c7b935b5ea12e493f Author: David Gnedt Date: Sun Jan 30 20:11:04 2011 +0100 wl1251: enable adhoc mode Enable adhoc support in wl1251 driver. Signed-off-by: David Gnedt Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 8964e492b5740dae0f4f68e08f4a9a45d4b57620 Author: David Gnedt Date: Sun Jan 30 20:11:00 2011 +0100 wl1251: implement connection quality monitoring Implement connection quality monitoring similar to the wl1271 driver. It triggers ieee80211_cqm_rssi_notify with the corresponding event when RSSI drops blow RSSI threshold or rises again above the RSSI threshold. It should be noted that wl1251 doesn't support RSSI hysteresis, instead it uses RSSI averageing and delays events until a certain count of frames proved RSSI change. Signed-off-by: David Gnedt Acked-by: Kalle Valo Signed-off-by: John W. Linville commit c3e334d29484423e78009790a3d3fa78da8b43a1 Author: David Gnedt Date: Sun Jan 30 20:10:57 2011 +0100 wl1251: enable beacon early termination while in power-saving mode Port the beacon early termination feature from wl1251 driver version included in the Maemo Fremantle kernel. It is enabled when going to power-saving mode and disabled when leaving power-saving mode. Signed-off-by: David Gnedt Acked-by: Kalle Valo Signed-off-by: John W. Linville commit bb4793b3c6370a1fed86978c6590241d770cb43e Author: David Gnedt Date: Sun Jan 30 20:10:48 2011 +0100 wl1251: fix 4-byte TX buffer alignment This implements TX buffer alignment for cloned or too small skb by copying and replacing the original skb. Recent changes in wireless-testing seems to make this really necessary. Signed-off-by: David Gnedt Acked-by: Kalle Valo Signed-off-by: John W. Linville commit e7332a41442bde1c14550998cadceca34c967dfc Author: David Gnedt Date: Sun Jan 30 20:10:46 2011 +0100 wl1251: fix queue stopping/waking for TX path The queue stopping/waking functionality was broken in a way that could cause the TX to stall if the right circumstances are met. The problem was caused by tx_work, which is scheduled on each TX operation. If the firmware buffer is full, tx_work does nothing. In combinition with stopped queues or non-continues transfers, tx_work is never scheduled again. Moreover the low watermark introduced by 9df86e2e702c6d5547aced7f241addd2d698bb11 never takes effect because of some old code. Solve this by scheduling tx_work every time tx_queue is non-empty and firmware buffer is freed on tx_complete. This also solves a possible but unlikely case: If less frames than the high watermark are queued, but more than firmware buffer can hold. This results in queues staying awake but the only scheduled tx_work doesn't transfer all frames, so the remaining frames are stuck in the queue until more frames get queued and tx_work is scheduled again. Signed-off-by: David Gnedt Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 172710bf8305c1b145796e34426c865480884024 Author: Ben Greear Date: Fri Jan 28 17:05:43 2011 -0800 mac80211: Warn users if HT fails because of freq mismatch. I have a netgear WNDR3700 that appears to have an off-by-four bug in how it fills out the hti->control_chan (I configure the AP to channel 11, it reports 15 as control_chan). Poke a message into the kernel logs to give users a clue as to why they are not getting the expected channel-type or rate. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 0fa025f0a29ec6848b67a3021db4248c9dcc78ed Author: Ben Greear Date: Fri Jan 28 17:05:42 2011 -0800 mac80211: Show configured channel-type in netdev debugfs. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit eeabee7e53f6fb5e63027519982b19616e8f166e Author: Ben Greear Date: Fri Jan 28 10:20:47 2011 -0800 mac80211: Be more careful when changing channels. If we cannot set the channel type, set the channel back to the original. Don't update the driver hardware if nothing actually changed. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 75abde4d193fe300a2c1d3ee7f632eb777aa48b2 Author: Vasily Khoruzhick Date: Fri Jan 21 22:44:49 2011 +0200 libertas: Prepare stuff for if_spi.c pm support To support suspend/resume in if_spi we need two things: - re-setup fw in lbs_resume(), because if_spi powercycles card; - don't touch hwaddr on second lbs_update_hw_spec() call for same reason; Signed-off-by: Vasily Khoruzhick Signed-off-by: John W. Linville commit 16f775befc1ccf67e6b223c4d9bb17ac3502ab2c Author: Vasily Khoruzhick Date: Fri Jan 21 22:44:48 2011 +0200 libertas_spi: Use workqueue in hw_host_to_card Use workqueue to perform SPI xfers, it's necessary to fix nasty "BUG: scheduling while atomic", because spu_write() calls spi_sync() and spi_sync() may sleep, but hw_host_to_card() callback can be called from atomic context. Remove kthread completely, workqueue now does its job. Restore intermediate buffers which were removed in commit 86c34fe89e9cad9e1ba4d1a8bbf98259035f4caf that introduced mentioned bug. Signed-off-by: Vasily Khoruzhick Signed-off-by: John W. Linville commit fd95240568977ebd1ebb15b071464e0e392cde1a Merge: cdfb74d fa9a741 Author: David S. Miller Date: Thu Feb 3 13:06:43 2011 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 8e572bab39c484cdf512715f98626337f25cfc32 Author: Justin P. Mattock Date: Wed Feb 2 11:31:21 2011 +0100 fix typos 'comamnd' -> 'command' in comments Signed-off-by: Justin P. Mattock commit fa9a741b841d0c2db04875310a06e8718c56fd4f Merge: 7c3ee9e 4796007 Author: John W. Linville Date: Tue Feb 1 12:01:27 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: drivers/net/wireless/wl12xx/spi.c commit c52bf9b73ad1086fbf7f8b5fdd0acdc66637e80b Author: Wey-Yi Guy Date: Sat Jan 29 08:13:27 2011 -0800 iiwlagn: remove unused parameter sco_cmd is not being used, remove it Signed-off-by: Wey-Yi Guy commit 187bc4f6b2f81e1c8f6b1e9d5dee3e8e9018ebbf Author: Wey-Yi Guy Date: Thu Jan 27 13:01:33 2011 -0800 iwlagn: remove unsupported BT SCO command During the period of BT coex changes, REPLY_BT_COEX_SCO host command is no longer needed to support SCO/eSCO type of traffic. delete it. Signed-off-by: Wey-Yi Guy commit 96234cc84e0cce55421e981a865a4817db24ba4a Author: Wey-Yi Guy Date: Mon Jan 24 11:44:42 2011 -0800 iwlagn: use 2030 macro for 2030 devices For 2030 series of devices, 2030 macro need to be used. Signed-off-by: Wey-Yi Guy commit 241887a2d3b725fd0f87113bb7c4a51b5c6a2d06 Author: Johannes Berg Date: Wed Jan 19 11:11:22 2011 -0800 iwlwifi: fix beacon notification parsing The beacon notification changed between 4965 and agn because the embedded TX response changed, but iwlwifi was never updated to know about this. Update it now so the IBSS manager status will be tracked correctly. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 7b09068721b1a1bbba9372d0293c21d2425b14de Author: Johannes Berg Date: Wed Jan 19 02:53:54 2011 -0800 iwlwifi: use maximum aggregation size Use the values from the peer to set up the ucode for the right maximum number of subframes in an aggregate. Since the ucode only tracks this per station, use the minimum across all aggregation sessions with this peer. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 9b7688328422b88a7a15dc0dc123ad9ab1a6e22d Author: Johannes Berg Date: Wed Jan 19 02:54:18 2011 -0800 iwlwifi: advertise max aggregate size Allow peers to size their reorder buffer more accurately by advertising that we'll never send aggregates longer than the default (31). Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 274102a8a2a4a0b67c401b75a96694db76cfc701 Author: Johannes Berg Date: Tue Jan 18 04:44:03 2011 -0800 iwlwifi: support RSN IBSS In order to support RSN IBSS, we need to (ok actually maybe it's just easiest to) disable group key programming so that any group-addressed frames will be decrypted in software which handles the per-station keys for this easily. We could keep the encryption in the device, but that takes more work and seems unnecessary. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 9dc2153315650eae220898668b6aa56a25c130be Author: Wey-Yi Guy Date: Mon Jan 17 11:05:52 2011 -0800 iwlwifi: always support idle mode for agn devices For agn devices, always support idle mode which help power consumption in idle unassociated state. Signed-off-by: Wey-Yi Guy commit 52e6b85fe07ed1d2b5c76fd42ce1d77f1a190c72 Author: Wey-Yi Guy Date: Tue Jan 18 08:58:48 2011 -0800 iwlagn: add IQ inversion support for 2000 series devices The I/Q swapping is extremely important and should be dealt with extra care. It will affects OFDM and CCK differently. For 6000/6005/6030 series devices, the I/Q were swapped, and for 2000 series devices, it is in non-swapped status (but its swapped with respected to 6000/6005/6030). so the CSR_GP_DRIVER_REG_BIT_RADIO_IQ_INVER register need to be set to support the correct behavior. Signed-off-by: Wey-Yi Guy commit 7fc11e9bbe3436e8110febf0da5c58bcb4342ede Author: Wey-Yi Guy Date: Sat Jan 15 09:16:59 2011 -0800 iwlagn: adjust rate table Minor adjustment for rate scale table Signed-off-by: Wey-Yi Guy commit 10480b056662dc9595850598f0bbc5a16a4884f4 Author: Wey-Yi Guy Date: Fri Jan 14 17:48:06 2011 -0800 iwlwifi: check ucode loading error and restart Driver check alive message from ucode, if it is not ok, then need to restart the loading process. instead of checking multiple places for failure, only need to check in once place when receive alive message from uCode. Signed-off-by: Wey-Yi Guy commit 78d12c237ca2e32ac6570b161d2137b5288c5511 Merge: 7c3ee9e b955fba Author: John W. Linville Date: Mon Jan 31 15:24:31 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: drivers/net/wireless/wl12xx/spi.c commit 7c3ee9e3fd065e878a2dbaec9d417441c59799be Author: Luciano Coelho Date: Mon Jan 31 09:41:52 2011 +0200 wl12xx: fix warning due to missing arg in ampdu_action Commit 0b01f030d38e00650e2db42da083d8647aad40a5 added a new argument to the ampdu_action operation. The ampdu_action operation in the wl12xx driver currently doesn't have that argument and this generates a warning. This happened during merging of the latest mac80211 patches with the wl12xx BA patches. CC [M] drivers/net/wireless/wl12xx/main.o drivers/net/wireless/wl12xx/main.c:3035: warning: initialization from incompatible pointer type The wl12xx driver doesn't need to do anything about the buf_size argument since the AMPDU TX is fully handled by the firmware. Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 8c7914dec29f39a6a8ca348a5eeace40a59be65d Author: Rajkumar Manoharan Date: Tue Feb 1 00:28:59 2011 +0530 mac80211: disable power save if an infra AP vif exists PS should not be enabled if an infra AP vif exists in the interface list. So while recalculating PS, AP vif type should be taken into account. Reviewed-by: Johannes Berg Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 5a3a0352f39c81dfa5c30a190ad04d115616c3e6 Author: Stanislaw Gruszka Date: Mon Jan 31 13:01:35 2011 +0100 iwlwifi: correct frequency settings After commit 59eb21a6504731fc16db4cf9463065dd61093e08 "cfg80211: Extend channel to frequency mapping for 802.11j" we use uninitialized sband->band when assign channel frequencies, what results that 5GHz channels have erroneous (zero) center_freq value. Patch fixes problem and simplifies code a bit. Signed-off-by: Stanislaw Gruszka Reviewed-by: Johannes Berg Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 0439f5367c8d8bb2ebaca8d7329f51f3148b2fb2 Author: Ivo van Doorn Date: Sun Jan 30 13:24:05 2011 +0100 rt2x00: Move TX/RX work into dedicated workqueue The TX/RX work structures must be able to run independently of other workqueues. This is because mac80211 might use the flush() callback function from various context, which depends on the TX/RX work to complete while the main thread is blocked (until the the TX queues are empty). This should reduce the number of 'Queue %d failed to flush' warnings. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit e1f4e808bb7a884d6563553c2c94cbdd901a16c7 Author: Ivo van Doorn Date: Sun Jan 30 13:23:42 2011 +0100 rt2x00: Kill all tasklets during device removal During device removal all pending work and tasklets must be guaranteed to be halted. So far only the txstatus_tasklet was killed. Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit a0aff623ca8bc8779e6c3a394772d70d8a65dee9 Author: Gertjan van Wingerde Date: Sun Jan 30 13:23:22 2011 +0100 rt2x00: Fix FIXME comments in rt61pci and rt73usb on Michael MIC. Both rt61pci and rt73usb check the Michael MIC in hardware and strip the Michael MIC from received frames. This is perfectly allowed by mac80211 as long as this is properly reported to mac80211. Both these drivers reported the Michael MIC handling properly to mac80211, but still contained a FIXME comment on this, which is not needed to be handled, since mac80211 doesn't really need the Michael MIC in this case. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 10026f77b3555af13e43b8de0a91ad94cd2119d7 Author: Gertjan van Wingerde Date: Sun Jan 30 13:23:03 2011 +0100 rt2x00: Copy the MAC address to the WCID entry properly. Use the specific mac field of the wcid_entry structure to copy the MAC address to, instead of just overwriting the structure. Previous code resulted in the same, but this form is cleaner. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a45f369d477c0e1b15b77c7b09ccfa043097e9ab Author: Gertjan van Wingerde Date: Sun Jan 30 13:22:41 2011 +0100 rt2x00: Fix WPA TKIP Michael MIC failures. As reported and found by Johannes Stezenbach: rt2800{pci,usb} do not report the Michael MIC in RXed frames, but do check the Michael MIC in hardware. Therefore we have to report to mac80211 that the received frame does not include the Michael MIC. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 21957c31f6b388c7feaac59e56f765b5cc41377d Author: Johannes Stezenbach Date: Sun Jan 30 13:22:22 2011 +0100 rt2x00: trivial: add \n to WARNING message Acked-by: Gertjan van Wingerde Signed-off-by: Johannes Stezenbach Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f5a9987dfbe219ffc361ebf126e1797db4abbcfe Author: Mark Einon Date: Sun Jan 30 13:22:03 2011 +0100 Trivial typo fix in comment Fixing a trivial comment typo. Signed-off-by: Mark Einon Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c6fcc0e5f72ef6ad61e1d58cf99e27661ee206e4 Author: RA-Jay Hung Date: Sun Jan 30 13:21:22 2011 +0100 rt2x00: Correct initial value of US_CYC_CNT register for pcie interface CLOCK CYCLE: Clock cycle count in 1us PCI:0x21, PCIE:0x7d, USB:0x1e Signed-off-by: RA-Jay Hung Acked-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit b550911abc0db069bb157f9769ffb7cf22c6c868 Author: Helmut Schaa Date: Sun Jan 30 13:20:52 2011 +0100 rt2x00: Remove STATE_RADIO_IRQ_OFF_ISR and STATE_RADIO_IRQ_ON_ISR Remove STATE_RADIO_IRQ_OFF_ISR and STATE_RADIO_IRQ_ON_ISR as they are not used anymore. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e88399bcdb71f2cdb195410151edf9c04980adbd Author: Helmut Schaa Date: Sun Jan 30 13:20:29 2011 +0100 rt2x00: Remove interrupt thread registration No driver uses interrupt threads anymore. Remove the remaining interrupt thread artifacts. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit bcf3cfd047d599cd0e6758c422bd7a4835c00d4a Author: Helmut Schaa Date: Sun Jan 30 13:20:05 2011 +0100 rt2x00: Convert rt2400pci interrupt handling to use tasklets Fix interrupt processing on slow machines by using individual tasklets for each different device interrupt. This ensures that while a RX or TX status tasklet is scheduled only the according device interrupt is masked and other interrupts such as TBTT can still be processed. Also, this allows us to use tasklet_hi_schedule for TBTT processing which is required to not send out beacons with a wrong DTIM count (due to delayed periodic beacon updates). Furthermore, this improves the latency between the TBTT and sending out buffered multi- and broadcast traffic. As a nice bonus, the interrupt handling overhead should be much lower. Compile-tested only. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 16222a0d06f5032d7e8bc7c65e8bf299e21f413a Author: Helmut Schaa Date: Sun Jan 30 13:19:37 2011 +0100 rt2x00: Convert rt2500pci interrupt handling to use tasklets Fix interrupt processing on slow machines by using individual tasklets for each different device interrupt. This ensures that while a RX or TX status tasklet is scheduled only the according device interrupt is masked and other interrupts such as TBTT can still be processed. Also, this allows us to use tasklet_hi_schedule for TBTT processing which is required to not send out beacons with a wrong DTIM count (due to delayed periodic beacon updates). Furthermore, this improves the latency between the TBTT and sending out buffered multi- and broadcast traffic. As a nice bonus, the interrupt handling overhead should be much lower. Compile-tested only. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5846a550b5838ea7fe8e280caff159a5ddb5c7e1 Author: Helmut Schaa Date: Sun Jan 30 13:19:08 2011 +0100 rt2x00: Convert rt61pci to use tasklets Fix interrupt processing on slow machines by using individual tasklets for each different device interrupt. This ensures that while a RX or TX status tasklet is scheduled only the according device interrupt is masked and other interrupts such as TBTT can still be processed. Also, this allows us to use tasklet_hi_schedule for TBTT processing which is required to not send out beacons with a wrong DTIM count (due to delayed periodic beacon updates). Furthermore, this improves the latency between the TBTT and sending out buffered multi- and broadcast traffic. As a nice bonus, the interrupt handling overhead should be much lower. Compile-tested only. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a9d61e9e779579c66c0d4c8af203d51dbca1473c Author: Helmut Schaa Date: Sun Jan 30 13:18:38 2011 +0100 rt2x00: Convert rt2800pci to use tasklets Fix interrupt processing on slow machines by using individual tasklets for each different device interrupt. This ensures that while a RX or TX status tasklet is scheduled only the according device interrupt is masked and other interrupts such as TBTT can still be processed. Also, this allows us to use tasklet_hi_schedule for TBTT and PRETBTT processing which is required to not send out beacons with a wrong DTIM count (due to delayed periodic beacon updates). Furthermore, this improves the latency between the TBTT and sending out buffered multi- and broadcast traffic. As a nice bonus, the interrupt handling overhead is reduced such that rt2800pci gains around 25% more throuhput on a rt3052 MIPS board. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c8e15a1e2c93880160f31ed2e6b02c1322f7f48d Author: Helmut Schaa Date: Sun Jan 30 13:18:13 2011 +0100 rt2x00: Disable txstatus tasklet by default Enable the txstatus tasklet when interrupts are enabled and disable it together with the interrupts. Also make the txstatus tasklet useful even without the tx status FIFO and make use of the generic rt2x00 tasklet initialization macro. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c5c65761839e3d85cc620cc1c85db8d4a7173f53 Author: Helmut Schaa Date: Sun Jan 30 13:17:52 2011 +0100 rt2x00: Introduce tasklets for interrupt handling No functional changes, just preparation for moving interrupt handling to tasklets. The tasklets are disabled by default. Drivers making use of them need to enable the tasklets when the device state is set to IRQ_ON. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8d59c4e993427df37fb8bfc3470c298194a68e7a Author: Helmut Schaa Date: Sun Jan 30 13:17:29 2011 +0100 rt2x00: Make periodic beacon updates for PCI devices atomic Allow the beacondone and pretbtt functions to update the beacon from atomic context by using the beacon update functions with caller locking. This is a preparation for moving the periodic beacon handling into tasklets that require atomic context. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1dae8d342e842cb9971f44d7b68580c7b9f26174 Author: Helmut Schaa Date: Sun Jan 30 13:16:52 2011 +0100 rt2x00: Limit beacon updates in bss_info_changed to USB devices Currently there are two places that trigger a beacon update on PCI devices. The bss_info_changed callback and the periodic update triggered by the TBTT or PRETBTT interrupt. Since the next TBTT or PRETBTT interrupt will periodically fetch an updated beacon remove the update_beacon call in the bss_info_changed callback for PCI devices. In the worst case it will take one beacon interval longer to fetch the new beacon then before. For devices that have a PRETBTT interrupt there should be no change at all. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8414ff07ac8802e282683812514ef5b0ea133cb8 Author: Helmut Schaa Date: Sun Jan 30 13:16:28 2011 +0100 rt2x00: Introduce beacon_update_locked that requires caller locking Introduce a beacon_update_locked function that does not acquire the according beacon mutex to allow beacon updates from atomic context. The caller has to take care of synchronization. No functional changes. Just preparation for beacon updates from tasklet context. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 69cf36a4523be026bc16743c5c989c5e82edb7d9 Author: Helmut Schaa Date: Sun Jan 30 13:16:03 2011 +0100 rt2x00: Refactor beacon code to make use of start- and stop_queue This patch allows to dynamically remove beaconing interfaces without shutting beaconing down on all interfaces. The only place to start and stop beaconing are now the start- and stop_queue callbacks. Hence, we can remove some register writes during interface bring up (config_intf) and only write the correct sync mode to the register there. When multiple beaconing interfaces are present we should enable beaconing as soon as mac80211 enables beaconing on at least one of them. The beacon queue gets stopped when the last beaconing interface was stopped by mac80211. Therefore, introduce another interface counter to keep track ot the number of enabled beaconing interfaces and start or stop the beacon queue accordingly. To allow single interfaces to stop beaconing, add a new driver callback clear_beacon to clear a single interface's beacon without affecting the other interfaces. Don't overload the clear_entry callback for clearing beacons as that would introduce additional overhead (check for each TX queue) into the clear_entry callback which is used on the drivers TX/RX hotpaths. Furthermore, the write beacon callback doesn't need to enable beaconing anymore but since beaconing should be disabled while a new beacon is written or cleared we still disable beacon generation and enable it afterwards again in the driver specific callbacks. However, beacon related interrupts should not be disabled/enabled here, that's solely done from the start- and stop queue callbacks. It would be nice to stop the beacon queue just before the beacon update and enable it afterwards in rt2x00queue itself instead of the current implementation that relies on the driver doing the right thing. However, since start- and stop_queue are mutex protected we cannot use them for atomic beacon updates. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit d828cd5a95e532636dbc495e4b94b625ab9abdad Author: Stanislaw Gruszka Date: Fri Jan 28 16:47:49 2011 +0100 iwl3945: do not use agn specific IWL_RATE_COUNT Only use IWL_RATE_COUNT_3945 in 3945 code. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit b955fba29b2082bba8cb94a959a8ec0a375aec8f Author: Mohammed Shafi Shajakhan Date: Mon Jan 31 13:25:29 2011 +0530 ath9k: Fix memory leak due to failed PAPRD frames free the skb's when the Tx of PAPRD frames fails and also add a debug message indicating that. Signed-off-by: Mohammed Shafi Shajakhan Cc: stable@kernel.org Signed-off-by: John W. Linville commit 3e11210d46a4f252f41db6e442b46026aeddbb59 Merge: 3bf63e5 c7c1806 Author: John W. Linville Date: Fri Jan 28 16:23:14 2011 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: drivers/net/wireless/ath/ath9k/init.c commit 3bf63e59e577cbecd41334c866f501c4cc5d54c5 Author: Felix Fietkau Date: Fri Jan 28 17:52:49 2011 +0100 ath9k: fix compile error in non-debug ath_debug_stat_tx() stub "ath9k: fix tx queue index confusion in debugfs code" changed the debug function but not the stub. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 9f60e7ee4206507c7f248d06e3b4a8a59ed33308 Author: Stanislaw Gruszka Date: Fri Jan 28 16:47:51 2011 +0100 iwlwifi: introduce iwl_bt_statistics We use priv->cfg->bt_params && priv->cfg->bt_params->bt_statistics conditional in few places, merge it into one function. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 8c9f514b38bb01f0af09f880fe8b3cd5342d2401 Author: Stanislaw Gruszka Date: Fri Jan 28 16:47:48 2011 +0100 iwlwifi: remove unneeded disable_hw_scan check We never set STATUS_SCANNING in softwre scanning mode, disable_hw_scan check is unneeded. Correct debug message while at it. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 88e58fc5d940c3463c7070a2a7a8a0ce65af3fdc Author: Stanislaw Gruszka Date: Fri Jan 28 16:47:47 2011 +0100 iwlwifi: introduce iwl_advanced_bt_coexist() We use priv->cfg->bt_params && priv->cfg->bt_params->advanced_bt_coexist conditional in few places, merge it into one function. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit a839cf6955fb6cb731235c310cb0c72c1a2fecbe Author: Stanislaw Gruszka Date: Fri Jan 28 16:47:46 2011 +0100 iwlwifi: remove unneeded __packed struct iwl_queue is not part of firmware interface, so __packed is not needed. Remove it since is may affect performance. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 5a5289dfa5f79168bd477bba2353da90786c83d6 Author: Stanislaw Gruszka Date: Fri Jan 28 16:47:45 2011 +0100 iwl3945: set STATUS_READY before commit_rxon Similar change as we already do for agn, need to avoid "Error setting Tx power (-5)" message when loading module. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit f844a709a7d8f8be61a571afc31dfaca9e779621 Author: Stanislaw Gruszka Date: Fri Jan 28 16:47:44 2011 +0100 iwlwifi: do not set tx power when channel is changing Mac80211 can request for tx power and channel change in one ->config call. If that happens, *_send_tx_power functions will try to setup tx power for old channel, what can be not correct because we already change the band. I.e error "Failed to get channel info for channel 140 [0]", can be printed frequently when operating in software scanning mode. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit efe1cf0c5743caf4daccb57b399ef63edad41c9d Author: Julia Lawall Date: Fri Jan 28 15:17:11 2011 +0100 net/wireless/nl80211.c: Avoid call to genlmsg_cancel genlmsg_cancel subtracts some constants from its second argument before calling nlmsg_cancel. nlmsg_cancel then calls nlmsg_trim on the same arguments. nlmsg_trim tests for NULL before doing any computation, but a NULL second argument to genlmsg_cancel is no longer NULL due to the initial subtraction. Nothing else happens in this execution, so the call to genlmsg_cancel is simply unnecessary in this case. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @@ expression data; @@ if (data == NULL) { ... * genlmsg_cancel(..., data); ... return ...; } // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit 76a9f6fd9adc5ce62b4ea36a099bb1458d4cb7a6 Author: Bruno Randolf Date: Fri Jan 28 16:52:11 2011 +0900 ath5k: Fix short and long retry configuration The register definition for retry configuration on AR5212 was wrong, and simply copied over from AR5210. Update the register definitions from the documentation. Let the short and long retries be configured from mac80211 and use the standard values of 7 and 4 by default. Also we need to make sure we don't export more retries than we are configured for to mac80211 (and the rate module) in hw->max_rate_tries. Also clean up the code by removing unused defines and variables and drop the different values for "station retries" - if these need to be different it can be handled tru ah_retry_long/short. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 4914b3bb7fa6badc25e77e22c47fde22b924b53f Author: Ben Greear Date: Thu Jan 27 22:09:34 2011 -0800 mac80211: Add sdata state and flags to debugfs. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit de87f736e3573ccf5e8c5b45966812b7d65c0b85 Author: Rajkumar Manoharan Date: Fri Jan 28 11:35:43 2011 +0530 ath9k: use common API to avoid code duplication Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 6d744bacee8195c915c514409a81d470ce7b1177 Author: Johannes Berg Date: Thu Jan 27 14:13:17 2011 +0100 mac80211: add MCS information to radiotap This adds the MCS information we currently get from the drivers into radiotap. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ebefce3d13f8b5a871337ff7c3821ee140c1ea8a Author: Vivek Natarajan Date: Thu Jan 27 14:45:11 2011 +0530 ath9k_hw: Update PMU setting to improve ripple issue for AR9485. Change from the systems team to update PMU setting for AR9485 version of chipsets. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit bdd62c067d596e2469b243af9887f46e5d47d971 Author: Vivek Natarajan Date: Thu Jan 27 14:45:10 2011 +0530 ath9k: Fix a locking related issue. Spin_lock has been tried to be acquired twice from ath9k_tasklet to ath_reset which resulted in a machine freeze. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 22983c301f01b297a6f85de4757108c6b0eac792 Author: Vivek Natarajan Date: Thu Jan 27 14:45:09 2011 +0530 ath9k_hw: DDR_PLL and BB_PLL need correct setting. Updates from the analog team for AR9485 chipsets to set DDR_PLL2 and DDR_PLL3. Also program the BB_PLL ki and kd value. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 181fb18daaf88a20175b0da70024563b0b7c0666 Author: Vivek Natarajan Date: Thu Jan 27 14:45:08 2011 +0530 ath9k: Fix a PLL hang issue observed with AR9485. When this PLL hang issue is seen, both Rx and Tx fail to work. The sqsum_dvc needs to be below 2000 for a good chip. During this issue the sqsum_dvc value is beyond 80000 and only a full reset can solve this problem. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit b141581923ab4904052174e3b4eb17cc3ce8632c Author: Vivek Natarajan Date: Thu Jan 27 14:45:07 2011 +0530 ath9k_hw: Add a function to read sqsum_dvc. Add a function to observe the delta VC of BB_PLL. For a good chip, the sqsum_dvc is below 2000. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 74f7635930bb157b2e83d38a68177a2b28138ead Author: Sujith Manoharan Date: Wed Jan 26 23:49:06 2011 +0530 ath9k_hw: Add RX filters The HW has separate filter masks for compressed/uncompressed BlockAcks and BlockAckRequests. Add them. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 0d95521ea74735826cb2e28bebf6a07392c75bfa Author: Felix Fietkau Date: Wed Jan 26 18:23:27 2011 +0100 ath9k: use split rx buffers to get rid of order-1 skb allocations With this change, less CPU time is spent trying to look for consecutive pages for rx skbs. This also reduces the socket memory required for IP/UDP reassembly. Only two buffers per frame are supported. Frames spanning more buffers will be dropped, but the buffer size is enough to handle the required AMSDU size. Signed-off-by: Jouni Malinen Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 4d9067405c21e8596087d929f3d858d0aa5002ff Author: Sujith Manoharan Date: Wed Jan 26 21:59:18 2011 +0530 ath9k_hw: Fix INI fixup Commit "ath9k_hw: move AR9280 PCI EEPROM fix to eeprom_def.c" changed the behavior of INI overriding which is needed only for PCI cards. Revert to the original check. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 00e0003e0969517c5a447ac3173442dfbdb0613b Author: Sujith Manoharan Date: Wed Jan 26 21:59:05 2011 +0530 ath9k_hw: Fix opmode initialization Commit "ath9k_hw: Relocate Opmode initialization" moved the opmode initialization before the STA_ID1 register was programmed with defaults. This changed the original behaviour because the re-programming code doesn't take into account the existing value in the register. Both ath9k and ath9k_htc were not affected by this change because the opmode is re-initialized after every reset, when RX is started. Revert to the original behavior, except keep it outside the REGWRITE block. This would help remove extraneous opmode calls in the driver core. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 45cbad6a1299842b5ae9a8a9c09630af063692f8 Author: Juuso Oikarinen Date: Tue Jan 25 12:21:22 2011 +0200 cfg80211: Allow non-zero indexes for device specific pair-wise ciphers Some vendor specific cipher suites require non-zero key indexes for pairwise keys, but as of currently, the cfg80211 does not allow it. As validating they cipher parameters for vendor specific cipher suites is the job of the driver or hardware/firmware, change the cfg80211 to allow also non-zero pairwise key indexes for vendor specific ciphers. Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 53e3b6e29eeda568fbe6c1e32d35cb56eea94415 Author: Bob Copeland Date: Mon Jan 24 23:32:56 2011 -0500 ath5k: remove debug_dump_skb() functions Now that rx and tx dumps go through the tracing infrastructure, we no longer need to keep these routines around. Signed-off-by: Bob Copeland Acked-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 0e4722524d5134dedd514d34991f02f2c1de23b4 Author: Bob Copeland Date: Mon Jan 24 23:32:55 2011 -0500 ath5k: use tracing for packet tx/rx dump This adds a few tracepoints to ath5k driver transmit and receive callbacks in order to record packet traffic. We record the entire packet in the trace buffer so that the data can be extracted with trace-cmd and external plugins. Compared to the previous debugging calls, this approach removes an out-of-line function call from the tx and rx paths in the compiled-in-but-disabled case, while improving the ability to process the logged data. A new option, CONFIG_ATH5K_TRACER, is added so that one may disable the tracepoints completely. Signed-off-by: Bob Copeland Acked-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit b453175d932c8ff42146992a1dac243104783902 Author: Bruno Randolf Date: Tue Jan 25 13:15:43 2011 +0900 ath9k: Remove unused IEEE80211_WEP_NKID IEEE80211_WEP_NKID is not used in ath9k any more since the key handling code has been moved to ath/. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit ead3dcff31111c3dc1205a383190614f045d94aa Author: Bruno Randolf Date: Tue Jan 25 13:15:38 2011 +0900 ath5k: Enable 802.11j 4.9GHz frequencies This enables 4.9GHz frequencies in ath5k if they are allowed as indicated by the regulatory domain code. Currently this is MKK9_MKKC (0xfe). Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 5719efdde1d0ae8670b96eb8748d1a0dc6a37be2 Author: Bruno Randolf Date: Tue Jan 25 13:15:33 2011 +0900 ath: Add function to check if 4.9GHz channels are allowed This adds a helper function to ath/regd.c which can be asked if 4.9GHz channels are allowed for a given regulatory domain code. This keeps the knowledge of regdomains and defines like MKK9_MKKC in one place. I'm passing the regdomain code instead of the ath_regulatory structure because this needs to be called quite early in the driver inititalization where ath_regulatory is not available yet in ath5k. I'm using MKK9_MKKC only because this is the regdomain in the 802.11j enabled sample cards we got from our vendor. I found some hints in HAL code that this is used by Atheros to indicate 4.9GHz channels support and that there might be other domain codes as well, but as I don't have any documentation I'm just putting in what I need right now. It can be extended later. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 20a904904dc69d4b4de26c146af33eb00f05ab92 Author: Bruno Randolf Date: Tue Jan 25 13:15:28 2011 +0900 ath5k: Use local variable for capabilities Shorten some lines and make code more readable. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 5bec3e5ade813ee4bdbab03af1bb6f85859272ea Author: Felix Fietkau Date: Mon Jan 24 21:29:25 2011 +0100 ath9k: fix tx queue index confusion in debugfs code Various places printing tx queue information used various different ways to get a tx queue index for printing statistics. Most of these ways were wrong. ATH_TXQ_AC_* cannot be used as an index for sc->tx.txq, because it is only used internally for queue assignment. One place used WME_AC_* as a queue index for sc->debug.stats.txstats, however this array uses the ath9k_hw queue number as well. Fix all of this by always using the ath9k_hw queue number as an index, and always looking it up by going through sc->tx.txq_map. Signed-off-by: Felix Fietkau Cc: Ben Greear Signed-off-by: John W. Linville commit 9ac58615d93c8a28b1c649a90a5e2ede4dfd368a Author: Felix Fietkau Date: Mon Jan 24 19:23:18 2011 +0100 ath9k: fold struct ath_wiphy into struct ath_softc Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 0cdd5c60e4538d02414144e0682941a4eb20ffa8 Author: Felix Fietkau Date: Mon Jan 24 19:23:17 2011 +0100 ath9k: remove the bf->aphy field Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 7545daf498c43e548506212310e6c75382d2731d Author: Felix Fietkau Date: Mon Jan 24 19:23:16 2011 +0100 ath9k: remove support for virtual wiphys Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 34302397e5b980ce561366b63504e9d82948e8b8 Author: Felix Fietkau Date: Mon Jan 24 19:23:15 2011 +0100 ath9k: remove the virtual wiphy debugfs interface It does not make much sense to keep the current virtual wiphy implementation any longer - it adds significant complexity, has very few users and is still very experimental. At some point in time, it will be replaced by a proper implementation in mac80211. By making the code easier to read and maintain, removing virtual wiphy support helps with fixing the remaining driver issues and adding further improvements. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 92460412367c00e97f99babdb898d0930ce604fc Author: Felix Fietkau Date: Mon Jan 24 19:23:14 2011 +0100 ath9k: clean up the code that wakes the mac80211 queues Instead of spreading ath_wake_mac80211_queue() calls over multiple places in the tx path that process the tx queue for completion, call it only where the pending frames counter gets decremented, eliminating some redundant checks. To prevent queue draining from waking the queues prematurely (e.g. during a hardware reset), reset the queue stop state when draining all queues, as the caller in main.c will run ieee80211_wake_queues(hw) anyway. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit cbdbc5eb542da242bfa3cfe18e7828d21c670969 Merge: 8d8d3fd e5e2f24 Author: John W. Linville Date: Fri Jan 28 15:33:16 2011 -0500 Merge branch 'for-linville' of git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx commit 8571a19c4ac140f1a507f3e7eb716892afa27109 Merge: aae7c47 8d8d3fd Author: David S. Miller Date: Thu Jan 27 16:00:37 2011 -0800 Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 8d8d3fdc0d42be0ba75be227465773a54bb48a0b Author: Felix Fietkau Date: Mon Jan 24 19:11:54 2011 +0100 ath9k: fix misplaced debug code The commit 'ath9k: Add more information to debugfs xmit file.' added more debug counters to ath9k and also added some lines of code to ath9k_hw. Since ath9k_hw is also used by ath9k_htc, its code must not depend on ath9k data structures. In this case it was not fatal, but it's still wrong, so the code needs to be moved back to ath9k. Signed-off-by: Felix Fietkau Cc: Ben Greear Signed-off-by: John W. Linville commit aa32452dcff1f95976fb28b5a28ecc93f47d0472 Author: Christian Lamparter Date: Sun Jan 23 00:18:28 2011 +0100 carl9170: utilize fw seq counter for mgmt/non-QoS data frames "mac80211 will properly assign sequence numbers to QoS-data frames but cannot do so correctly for non-QoS-data and management frames because beacons need them from that counter as well and mac80211 cannot guarantee proper sequencing." Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit c42d6cf25d648d95387d8a881aa0cab657470726 Author: Christian Lamparter Date: Sun Jan 23 00:10:01 2011 +0100 carl9170: enable wake-on-lan feature testing Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 9e09b5c96caf3f201f1dcb31539d6a6b2c36d0f9 Author: Christian Lamparter Date: Sat Jan 22 22:46:49 2011 +0100 carl9170: update fw/hw headers This patch syncs up the header files with the project's main firmware carl9170fw.git. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit b4e69ac670d71b5748dc81e536b2cb103489badd Merge: 144ce87 7cc2edb Author: David S. Miller Date: Wed Jan 26 13:49:30 2011 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 436d0d985383a2ede326f8ec5117d185690dc3f3 Author: Mohammed Shafi Shajakhan Date: Fri Jan 21 14:03:24 2011 +0530 ath9k: clean up enums and unused macros Remove unused macros and cleanup buffer_type enumeration Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit ba99d93b3d7bb3a6406bc86f41ab863895968a0f Author: Johannes Berg Date: Wed Jan 26 09:22:15 2011 +0100 mac80211: use DECLARE_EVENT_CLASS For events that include only the local struct as their parameter, we can use DECLARE_EVENT_CLASS and save quite some binary size across segments as well lines of code. text data bss dec hex filename 375745 19296 916 395957 60ab5 mac80211.ko.before 367473 17888 916 386277 5e4e5 mac80211.ko.after -8272 -1408 0 -9680 -25d0 delta Some more tracepoints with identical arguments could be combined like this but for now this is the one that benefits most. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 62362dee83c2a50465cc64ba701ebd741996ec80 Merge: 97d9c3a f35c0c5 Author: John W. Linville Date: Wed Jan 26 16:12:47 2011 -0500 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit bcb6d9161d1720cf68c7f4de0630e91cb95ee60c Author: Tejun Heo Date: Wed Jan 26 12:12:50 2011 +0100 wireless/ipw2x00: use system_wq instead of dedicated workqueues With cmwq, there's no reason to use separate workqueues in ipw2x00 drivers. Drop them and use system_wq instead. All used work items are sync canceled on driver detach. Signed-off-by: Tejun Heo Acked-by: "John W. Linville" Cc: linux-wireless@vger.kernel.org commit 97d9c3a354f9eb6b8bfe4bf672bdbe9ff76956e6 Author: Bruno Randolf Date: Wed Jan 19 18:20:52 2011 +0900 ath5k: ath5k_setup_channels cleanup and whitespace Remove useless test_bit - it's not going to happen because of the way this function is called only when that bit is set. And fix some whitespace. Signed-off-by: Bruno Randolf Acked-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 0a8d7cb0c8182df7a28ad719780071178c386f0f Author: Senthil Balasubramanian Date: Wed Dec 22 19:17:18 2010 +0530 ath9k_hw: read and backup AR_WA register value even before chip reset on. We need to read and backup AR_WA register value permanently and reading this after the chip is awakened results in this register being zeroed out. This seems to fix the ASPM with L1 enabled issue that we have observed. The laptop becomes very slow and hangs mostly with ASPM L1 enabled without this fix. Cc: Stable Kernel Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit ac45c12dfb3f727a5a7a3332ed9c11b4a5ab287e Author: Senthil Balasubramanian Date: Wed Dec 22 21:14:20 2010 +0530 ath9k_hw: Fix incorrect macversion and macrev checks There are few places where we are checking for macversion and revsions before RTC is powered ON. However we are reading the macversion and revisions only after RTC is powered ON and so both macversion and revisions are actully zero and this leads to incorrect srev checks Incorrect srev checks can cause registers to be configured wrongly and can cause unexpected behavior. Fixing this seems to address the ASPM issue that we have observed. The laptop becomes very slow and hangs mostly with ASPM L1 enabled without this fix. fix this by reading the macversion and revisisons even before we start using them. There is no reason why should we delay reading this info until RTC is powered on as this is just a register information. Cc: Stable Kernel Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 5bdc22a56549e7983c6b443298672641952ea035 Merge: b6f4098 e92427b Author: David S. Miller Date: Mon Jan 24 14:09:35 2011 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/sched/sch_hfsc.c net/sched/sch_htb.c net/sched/sch_tbf.c commit e5e2f24b3eec67a7a35d43654a997f98ca21aff2 Author: Eliad Peller Date: Mon Jan 24 19:19:03 2011 +0100 wl12xx: disable auto-arp The auto-arp feature sometimes has unexpected side effects (e.g. firmware crashes, no ARP replies, etc.) disable it until it will be solved. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit ea45b2cbf56a4e93e9c5a68b85794e6d79f69fce Author: Juuso Oikarinen Date: Mon Jan 24 07:01:54 2011 +0100 wl12xx: Increase scan channel dwell time for passive scans The passive scan channel dwell time currently used is 30-60TU. A typical beacon interval for AP's is 100TU. This leads to a ~30% worst-case probability of finding an AP via passive scanning. For 5GHz bands for DFS frequencies passive scanning is the only scanning option. Hence for these, the probability of finding an AP is very low. To fix this, increase the passive channel scan dwell times (also the early leave value, as 5GHz channels are still typically very silent.) Use a value of 100TU, because that covers most typical AP configurations. Based on testing the probability of finding an AP (100TU beacon interval) on a single scan round are as follows (based on 100 iterations): dwell min/max (TU) | probability ---------------------+------------ 30/60 | 35% 60/60 | 56% 80/80 | 77% 100/100 | 100% Total scan times now and after the change: Region | Before (s) | After (s) -------+------------+---------- 00 | 0.77 | 1.48 FI | 0.95 | 2.01 US | 0.91 | 1.76 Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 8e2de74e781e696636e8b4cd08084d2b310d44d9 Author: Eliad Peller Date: Sun Jan 23 11:25:27 2011 +0100 wl12xx: wrong values are returned in gpio_power_write() Return values were assigned to incorrect var / weren't assigned. fix it, and defer mutex_lock after the sanity checks. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit bbba3e6832ad3e974fb593a98abe03f8b60fc7f3 Author: Levi, Shahar Date: Sun Jan 23 07:27:23 2011 +0100 wl12xx: BA receiver support Add new ampdu_action ops to support receiver BA. The BA initiator session management in FW independently. Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 4b7fac77b4c1badac84df3dcbdf07199d94cb1c3 Author: Levi, Shahar Date: Sun Jan 23 07:27:22 2011 +0100 wl12xx: BA initiator support Add 80211n BA initiator session support wl1271 driver. Include BA supported FW version auto detection mechanism. BA initiator session management included in FW independently. Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 6c89b7b2f856a2b67f53313ddfa3af4ab52bae28 Author: Arik Nemtsov Date: Tue Jan 18 20:39:52 2011 +0100 wl12xx: Add channel 14 to list of supported 2ghz channels Channel 14 is only supported in Japan (JP country code in regdb). The FW limits tranmissions to CCK only on this channel. Tested in both STA and AP modes to work correctly. Signed-off-by: Arik Nemtsov Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit d75387ca62b92d837c2a1e626d0d3705a9011228 Author: Arik Nemtsov Date: Mon Jan 17 10:16:00 2011 +0100 wl12xx: add missing MODULE_FIRMWARE statment for AP-mode FW In wl12xx cards AP-mode requires a separate FW file. Add this file to the module info. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 4ae3fa87854862d1724bf8f2f1e1b9b088fa53d7 Author: Juuso Oikarinen Date: Fri Jan 14 12:48:46 2011 +0100 wl12xx: Cleanup PLT mode when module is removed PLT mode start/stop is controlled from userspace. When removing module, the PLT mode state is however not checked, and not cleared. There is the possibility of some unwanted state to left linger and there is even the possiblity of a kernel crash if for instance IRQ work is running when the module is removed. Fix this by stopping PLT mode on module removal, if still running. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 1d4801f2689dc2618fdb5e83d4cb7743747491ed Author: Eliad Peller Date: Sun Jan 16 10:07:10 2011 +0100 wl12xx: fix some endianess bugs pointed out by sparse warnings: CHECK drivers/net/wireless/wl12xx/cmd.c drivers/net/wireless/wl12xx/cmd.c:987:20: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/cmd.c:987:20: expected restricted __le16 [usertype] aging_period drivers/net/wireless/wl12xx/cmd.c:987:20: got int CHECK drivers/net/wireless/wl12xx/tx.c drivers/net/wireless/wl12xx/tx.c:197:2: warning: cast from restricted __le16 drivers/net/wireless/wl12xx/tx.c:197:2: warning: cast from restricted __le16 drivers/net/wireless/wl12xx/tx.c:197:2: warning: cast from restricted __le16 CHECK drivers/net/wireless/wl12xx/acx.c drivers/net/wireless/wl12xx/acx.c:816:23: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/acx.c:816:23: expected restricted __le32 [usertype] rate_policy_idx drivers/net/wireless/wl12xx/acx.c:816:23: got unsigned char [unsigned] [usertype] idx Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 4c9cfa780643dc3f609366b85fec2444a67cad64 Author: Luciano Coelho Date: Wed Jan 12 14:27:03 2011 +0100 wl12xx: add hw configuration for max supported AMDPU size The wl12xx chips do the AMDPU aggregation work in the firmware, but it supports a maximum of 8 frames per block. Configure the mac80211 hw structure accordingly. Signed-off-by: Luciano Coelho Tested-by: Juuso Oikarinen commit 491bbd6bdddafb49d0d6a9258d53441aee4bb622 Author: Guy Eilam Date: Wed Jan 12 10:33:29 2011 +0100 wl12xx: change debug_level module param sysfs permissions changed the visibility of the debug_level module parameter in the filesystem to be readable and writable to the root user. It is now accessible under /sys/module/wl12xx/parameters removed the debug_level debugfs file that was created under /sys/kernel/debug/... Signed-off-by: Guy Eilam Signed-off-by: Luciano Coelho commit 2d6e4e76d1e73886cb087142e70e2beaabb94b79 Author: Luciano Coelho Date: Tue Jan 11 19:07:21 2011 +0100 wl12xx: lock the RCU when accessing sta via ieee80211_find_sta() We were calling ieee80211_find_sta() and the sta returned by it without locking the RCU, which is required by mac80211. Fix this and reorganize slightly the area of the code where the sta is used. Reported-by: Jonathan DE CESCO Signed-off-by: Luciano Coelho commit a8aaaf53d5f22f7f60ca5af26fc85c2940575c37 Author: Luciano Coelho Date: Tue Jan 11 18:25:18 2011 +0100 wl12xx: don't modify the global supported band structures When 11a is not supported, we were modifying the global structure that contains the bands supported by the driver. This causes problems when having more one wl12xx device in the same system because they all use the same global. This also causes problems when the wl12xx_sdio module is removed and the wl12xx module remains. Fix this problem by copying the band structure into the wl12xx instance. Reported-by: Arik Nemtsov Reported-by: Johannes Berg Signed-off-by: Luciano Coelho commit fa287b8f291d79f080182eb353d1c1f4f374ae87 Author: Eliad Peller Date: Sun Dec 26 09:27:50 2010 +0100 wl12xx: don't join upon disassociation wl12xx "rejoins" upon every BSS_CHANGED_BSSID notification. However, there is no need to rejoin after disassociation, so just filter out the case when the new bssid is 00:00:00:00:00:00. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 038d925bcfed8df4d16bab57c2b5a4de6ede7847 Author: Arik Nemtsov Date: Sat Oct 16 21:53:24 2010 +0200 wl12xx: Enable AP-mode Indicate support for the NL80211_IFTYPE_AP interface mode to enable AP mode operation. Disable 11a when operating in AP-mode (unsupported for now). Signed-off-by: Arik Nemtsov Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 31d26ec6992cc05cfd5e50a59b00b0d64c7bb4aa Author: Arik Nemtsov Date: Sat Oct 16 21:49:52 2010 +0200 wl12xx: Read MAC address from NVS file on HW startup Try to read the MAC address from the on-disk NVS file. A non-zero MAC address is required to add an AP interface. Signed-off-by: Arik Nemtsov Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 166d504ebaed391f1a411c69a5659632249ba711 Author: Arik Nemtsov Date: Sat Oct 16 21:44:57 2010 +0200 wl12xx: AP mode - fetch appropriate firmware for AP AP and STA modes use different firmwares. Differentiate the firmware files by name and fetch the appropriate one when add_interface is called by mac80211. The STA firmware is chosen for PLT mode. Signed-off-by: Arik Nemtsov Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 7f179b468963564aa3faa5729fb3153c08b3d7c1 Author: Arik Nemtsov Date: Sat Oct 16 21:39:06 2010 +0200 wl12xx: AP mode - encryption support Encryption key configuration is different for AP/STA modes. AP encryption keys are recorded when the BSS is not started. On BSS start they are propagated to the AP (in wl1271_ap_init_hwenc). Signed-off-by: Arik Nemtsov Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 488fc540472dee7b8c9fc592e4f024aafe8b605f Author: Arik Nemtsov Date: Sat Oct 16 20:33:45 2010 +0200 wl12xx: AP mode - record TX configuration settings Record TX configuration settings in the "conf" member of our global structure (struct wl1271) if conf_tx is called when the firmware is not loaded. Later on when the firmware is loaded, we apply the tx conf as part of the init sequence. Important for AP mode since conf_tx is called before add_interface (where the firmware is initialized). Signed-off-by: Arik Nemtsov Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit c6c8a65de6d3aa8daa93beeac390f49a21d0be36 Author: Arik Nemtsov Date: Sat Oct 16 20:27:53 2010 +0200 wl12xx: AP mode - changes in TX path When in AP mode set appropriate HLID and rate policy for each skb. Respond to supported-rates related changes in op_tx only when acting as STA. Signed-off-by: Arik Nemtsov Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit f84f7d78bbfbbb17faa64bcca5799865074e1e7b Author: Arik Nemtsov Date: Sat Oct 16 20:21:23 2010 +0200 wl12xx: AP mode - add STA add/remove ops Allocate and free host link IDs (HLIDs) for each link. A per-STA data structure keeps the HLID of each STA. Signed-off-by: Arik Nemtsov Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 7d0578693107887d52d50b89723be7fa0a41cd36 Author: Arik Nemtsov Date: Sat Oct 16 19:25:35 2010 +0200 wl12xx: AP mode - change filter config Do not configure a group address table in AP mode Signed-off-by: Arik Nemtsov Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit bee0ffec7766eae8c574cc1b07b739b05ba295c3 Author: Arik Nemtsov Date: Sat Oct 16 19:17:02 2010 +0200 wl12xx: AP mode config in ieee80211_ops.config Separate configuration according to mode. AP has different rate set configuration and no handling of idle-state. Signed-off-by: Arik Nemtsov Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit e78a287ab7eb73d7003b1c54bec4ca94655f62e9 Author: Arik Nemtsov Date: Sat Oct 16 19:07:21 2010 +0200 wl12xx: Configure AP on BSS info change Configure AP-specific beacon and probe response templates. Start the AP when beaconing is enabled. The wl1271_bss_info_changed() function has been split into AP/STA specific handlers. Signed-off-by: Arik Nemtsov Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit beb6c880720073c233633c45792a4bb5d5fedbd5 Author: Arik Nemtsov Date: Sat Oct 16 18:53:48 2010 +0200 wl12xx: Add AP related definitions to HOST-FW interface Change structures in a non-destructive manner. This means no changes in size or location of existing members used by STA. Signed-off-by: Arik Nemtsov Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit ae113b57826b40f1962a6e2417efd757b638e6a9 Author: Arik Nemtsov Date: Sat Oct 16 18:45:07 2010 +0200 wl12xx: AP specific RX filter configuration Set filters according to the mode of operation. Signed-off-by: Arik Nemtsov Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit e0fe371b74326a85029fe8720506e021fe73905a Author: Arik Nemtsov Date: Sat Oct 16 18:19:53 2010 +0200 wl12xx: AP mode - init sequence Split HW init sequence into AP/STA specific parts The AP specific init sequence includes configuration of templates, rate classes, power mode, etc. Also unmask AP specific events in the event mbox. Separate the differences between AP and STA init into mode specific functions called from wl1271_hw_init. The first is called after radio configuration and the second after memory configuration. Signed-off-by: Arik Nemtsov Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 05285cf9b581af05813cfaa60e23227b009b7754 Author: Arik Nemtsov Date: Fri Nov 12 17:15:03 2010 +0200 wl12xx: AP mode - workaround for FW bug on station remove Sometimes an event indicating station removal is not sent up by firmware. We work around this by always indicating success in when a wait for the event timeouts. Temporary workaround until a FW fix is introduced. Signed-off-by: Arik Nemtsov Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 98bdaabbbced007c7eb89cd373f9cb1640635b46 Author: Arik Nemtsov Date: Sat Oct 16 18:08:58 2010 +0200 wl12xx: AP-mode high level commands Add commands to start/stop BSS, add/remove STA and configure encryption keys. Split the encryption commands "set key" and "set default key" into AP and STA specific versions. Signed-off-by: Arik Nemtsov Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 203c903cbfbdf23bbb3020b9344dd1ffabcfcb53 Author: Arik Nemtsov Date: Mon Oct 25 11:17:44 2010 +0200 wl12xx: AP mode - add AP specific event Add STA-remove completion event. Unmask it during boot if operating in AP-mode. Ignore unrelated events in AP-mode. Signed-off-by: Arik Nemtsov Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 79b223f4c7ce35fba145c504de12be030cc0007e Author: Arik Nemtsov Date: Sat Oct 16 17:52:59 2010 +0200 wl12xx: AP mode - AP specific CMD_CONFIGURE sub-commands Add AP max retries and rate policy configuration. Rename STA rate policy configuration function. Signed-off-by: Arik Nemtsov Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 1e05a81888318752e9a6d2158a95ddd6442ae117 Author: Arik Nemtsov Date: Sat Oct 16 17:44:51 2010 +0200 wl12xx: Add AP related configuration to conf_drv_settings Rate class configuration has been split up for AP and STA modes. Template related configuration likewise separated. Signed-off-by: Arik Nemtsov Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 6177eaea277527e48753d050723cd138494c98a8 Author: Eliad Peller Date: Wed Dec 22 12:38:52 2010 +0100 wl12xx: fix some sparse warnings Note that wl1271_write32() calls cpu_to_le32() by itself, so calling wl1271_write32(addr, cpu_to_le32(val)) is in fact a bug on BE systems. Fix the following sparse warnings: drivers/net/wireless/wl12xx/cmd.c:662:16: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/cmd.c:662:16: expected unsigned short [unsigned] [addressable] [usertype] llc_type drivers/net/wireless/wl12xx/cmd.c:662:16: got restricted __be16 [usertype] drivers/net/wireless/wl12xx/cmd.c:674:17: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/cmd.c:674:17: expected unsigned int [unsigned] [addressable] [usertype] sender_ip drivers/net/wireless/wl12xx/cmd.c:674:17: got restricted __be32 [usertype] ip_addr drivers/net/wireless/wl12xx/rx.c:202:4: warning: incorrect type in argument 3 (different base types) drivers/net/wireless/wl12xx/rx.c:202:4: expected unsigned int [unsigned] [usertype] val drivers/net/wireless/wl12xx/rx.c:202:4: got restricted __le32 [usertype] drivers/net/wireless/wl12xx/acx.c:1247:23: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/acx.c:1247:23: expected restricted __le32 [usertype] ht_capabilites drivers/net/wireless/wl12xx/acx.c:1247:23: got unsigned long drivers/net/wireless/wl12xx/acx.c:1250:24: warning: invalid assignment: |= drivers/net/wireless/wl12xx/acx.c:1250:24: left side has type restricted __le32 drivers/net/wireless/wl12xx/acx.c:1250:24: right side has type unsigned long drivers/net/wireless/wl12xx/acx.c:1253:24: warning: invalid assignment: |= drivers/net/wireless/wl12xx/acx.c:1253:24: left side has type restricted __le32 drivers/net/wireless/wl12xx/acx.c:1253:24: right side has type unsigned long drivers/net/wireless/wl12xx/acx.c:1256:24: warning: invalid assignment: |= drivers/net/wireless/wl12xx/acx.c:1256:24: left side has type restricted __le32 drivers/net/wireless/wl12xx/acx.c:1256:24: right side has type unsigned long Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 0dd386676497fb3097e6fbb3de6090c948c0df30 Author: Dan Carpenter Date: Tue Dec 21 07:00:13 2010 +0300 wl12xx: use after free in debug code If debugging is turned on, then wl1271_dump() dereferences a freed variable. Signed-off-by: Dan Carpenter Signed-off-by: Luciano Coelho commit 3c2c04a15f5fe5d169fe343c9eb7c1856d3033d3 Author: Eliad Peller Date: Wed Dec 15 11:47:54 2010 +0200 wl12xx: remove redundant debugfs_remove_recursive() call Upon rmmod, the /ieee80211/phyX dir is being removed. later, we try to remove /ieee80211/phyX/wl12xx, which might result in NULL dereference. Remove the excessive debugfs_remove_recursive() call. (consequently, there is no more need to save wl->rootdir) Reported-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit f35c0c560994226847fa33f0021046a44ab1460f Author: Wey-Yi Guy Date: Thu Jan 13 17:09:29 2011 -0800 iwlwifi: initial P2P support If PAN functionality is present, advertise P2P interface type support and thus support for P2P. However, the support is currently somewhat incomplete -- NoA schedule isn't added to probe responses, and 11b bitrates may be used still, etc. Therefore, make it all optional with a Kconfig option. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 940739196c78576590dd155c1b9d8a705cea2af1 Author: Johannes Berg Date: Thu Jan 6 08:07:11 2011 -0800 iwlwifi: replace minimum slot time constant There are a number of places where the minimum slot time is hardcoded to 20 TU, add a new constant for that and use it everywhere. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 9b9190d9688ccf531a3a5dac84d7b9654a08bfc5 Author: Johannes Berg Date: Thu Jan 6 08:07:10 2011 -0800 iwlwifi: implement remain-on-channel For device supporting PAN/P2P, use the PAN context to implement the remain-on-channel operation using device offloads so that the filters in the device will be programmed correctly -- otherwise we cannot receive any probe request frames during off-channel periods. Signed-off-by: Johannes Berg commit 9d4dea7259d2fccf447f20788300121cf1d014bb Author: Meenakshi Venkataraman Date: Thu Jan 13 11:35:26 2011 -0800 iwlagn: Enable idle powersave mode in 1000 series The iwlagn powersave algorithm uses the supports_idle parameter to tell the device to save power when it is not associated with an AP and is idle. Enable this feature for the 1000 series of devices. Reported-by: Johannes Berg Signed-off-by: Meenakshi Venkataraman Signed-off-by: Wey-Yi Guy commit 24834d2c8455a6eeee82e007d41d7e05986d134f Author: Jay Sternberg Date: Tue Jan 11 15:41:00 2011 -0800 iwlwifi: correct debugfs data dumped from sram the sram data dumped through the debugfs interface would only work properly when dumping data on even u32 boundaries and swap bytes based on endianness on that boundary making byte arrays impossible to read. now addresses are displayed at the start of every line and the data is displayed consistently if dumping 1 byte or 20 and regardless of what is the starting address. if no lenght given, address displayed is u32 in device format Signed-off-by: Jay Sternberg Signed-off-by: Wey-Yi Guy commit fcdf1f73fe913c5f16b7f0547cc3df1b0796689f Author: Wey-Yi Guy Date: Mon Jan 10 14:34:38 2011 -0800 iwlwifi: add hw rev for 2000 series devices 2000 series device has different HW rev, add it Signed-off-by: Wey-Yi Guy commit 14a75766f38d44ca715d9e9ccb0a69e065e4a24e Author: Wey-Yi Guy Date: Mon Jan 10 14:24:28 2011 -0800 iwlwifi: remove g2 from csr hw rev Remove refernce of g2 and use offical number for hw rev. Signed-off-by: Wey-Yi Guy commit 52d8a50c39e95bce686cb5c5da4dbb2f61ffb92b Author: Wey-Yi Guy Date: Tue Jan 11 15:59:49 2011 -0800 iwlagn: remove Gen2 from Kconfig Remove Gen 2 from Kconfig file since 6005/6030/6150 series of products are released. Signed-off-by: Wey-Yi Guy commit d380cbceea926795efe5ef434c60ed03859425eb Author: Wey-Yi Guy Date: Tue Jan 11 15:54:19 2011 -0800 iwlagn: add 2000 series to Kconfig Add 2000 series support to Kconfig Signed-off-by: Wey-Yi Guy commit 04b8e7510015944a6c8198434cee14fb3bbff67a Author: Wey-Yi Guy Date: Sat Jan 8 11:47:56 2011 -0800 iwlagn: add 2000 series pci id Add PCI ID supports for all 2000 series devices Signed-off-by: Wey-Yi Guy commit c5a5e1853a6d87eb9f58bf8930e267d619dd24f6 Author: Wey-Yi Guy Date: Fri Jan 21 15:47:21 2011 -0800 iwlagn: 2000 series devices support Adding 2000 series devices supports, the 2000 series devices has many different SKUs which includes 1x1 and 2x2 devices,also with and without BT combo. Signed-off-by: Wey-Yi Guy commit fa57980e402cfe2e3651f1104c23a4517849ec91 Author: Wey-Yi Guy Date: Sat Jan 8 11:47:54 2011 -0800 iwlagn: add 2000 series EEPROM version Adding EEPROM version for 2000 series devices Signed-off-by: Wey-Yi Guy commit 1956e1ad6292d257219d0f98a53f0a78ef282070 Author: Wey-Yi Guy Date: Sat Jan 8 10:25:14 2011 -0800 iwlagn: remove reference to gen2a and gen2b Since 6005, 6030 and 6150 series are offical released, remove the reference to gen2x and use the product number instead. Signed-off-by: Wey-Yi Guy commit 5ed540aecc2aae92d5c97b9a9306a5bf88ad5574 Author: Wey-Yi Guy Date: Fri Jan 21 15:26:39 2011 -0800 iwlwifi: use mac80211 throughput trigger Instead of keeping track of LED blink speed in the driver, use the new mac80211 trigger and link it up with an LED classdev that we now register. This also allows users more flexibility in how they want to have the LED blink or not. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 4a4fdf2e0b9e3534f6ec4f3e7077470bd66924ab Author: Felix Fietkau Date: Fri Jan 21 18:46:35 2011 +0100 ath9k_hw: replace magic values in register writes with proper defines Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 2b1351a30705925ed06b41ec98a6fbaad4ba4d6f Author: Bruno Randolf Date: Fri Jan 21 12:19:52 2011 +0900 ath5k: Simplify loop when setting up channels Simplify confusing code and get rid of an unnecessary variable. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit d7e86c3219a1287dd1350a590ee79c8753ff2420 Author: Felix Fietkau Date: Thu Jan 20 21:57:30 2011 +0100 ath9k: remove a bogus error message When beacons are being added or removed for an interface, ieee80211_beacon_get will sometimes not return a beacon. This is normal and should not result in useless logspam. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 930a7622d618cdf794787938d7cbda5461adb1cb Author: Bruno Randolf Date: Wed Jan 19 18:21:13 2011 +0900 ath5k: Remove redundant sc->curband Remove sc->curband because the band is already stored in the current channel. Signed-off-by: Bruno Randolf Acked-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 4b3721ceb3c1f9b032c6eeb108e44692efbcacef Author: Bruno Randolf Date: Wed Jan 19 18:21:08 2011 +0900 ath5k: Remove unused sc->curmode sc->curmode is set but never used. Remove it and the helper function. Also the ath5k_rate_update which is refered to in the comment does not exist (any more?) so we don't need to setup the band in that place. Signed-off-by: Bruno Randolf Acked-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 75f9569bfc4f3b138d196091b85c91678183520e Author: Bruno Randolf Date: Wed Jan 19 18:21:02 2011 +0900 ath5: Remove unused CTL definitions They are unused in ath5k and a more detailled definition is in ath/regd_common.h. Signed-off-by: Bruno Randolf Acked-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 410e6120a500edcf3fb8239301deabf20a4310db Author: Bruno Randolf Date: Wed Jan 19 18:20:57 2011 +0900 ath5k: Add 802.11j 4.9GHz channels to allowed channels Add the 802.11j (20MHz channel width) channels to the allowed channels. This still does not enable 802.11j in ath5k since these frequencies are out of the configured range. A later patch will deal with that. Signed-off-by: Bruno Randolf Acked-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 0810569076c1f3cf4a82da40211dd0b07b3ad07e Author: Bruno Randolf Date: Wed Jan 19 18:20:47 2011 +0900 ath5k: Rename ath5k_copy_channels Rename ath5k_copy_channels() to ath5k_setup_channels() - nothing is copied here. Signed-off-by: Bruno Randolf Acked-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 90c02d72ffbec3804f48c517ecfc72f9440a67b3 Author: Bruno Randolf Date: Wed Jan 19 18:20:36 2011 +0900 ath5k: Use mac80211 channel mapping function Use mac80211 channel mapping function instead of own homegrown version. Signed-off-by: Bruno Randolf Acked-by: Bob Copeland Signed-off-by: John W. Linville commit 7755bad9ffe56e0faacb13bc9484ccc0194aaa75 Author: Ben Greear Date: Tue Jan 18 17:30:00 2011 -0800 ath9k: Try more than one queue when scheduling new aggregate. Try all xmit queues until the hardware buffers are full. Signed-off-by: Ben Greear Acked-by: Felix Fietkau Signed-off-by: John W. Linville commit 55f6d0fff64dfee57812e821f846b068a8c2df01 Author: Ben Greear Date: Mon Jan 17 11:54:50 2011 -0800 ath9k: Add 'misc' file to debugfs, fix queue indexes. Add a misc file to show hardware op-mode, irq setup, number of various types of VIFs and more. Also, previous patches were using the wrong xmit queue indexes. Change to use the internal ath9k indexes instead of the mac80211 queue indexes. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 59eb21a6504731fc16db4cf9463065dd61093e08 Author: Bruno Randolf Date: Mon Jan 17 13:37:28 2011 +0900 cfg80211: Extend channel to frequency mapping for 802.11j Extend channel to frequency mapping for 802.11j Japan 4.9GHz band, according to IEEE802.11 section 17.3.8.3.2 and Annex J. Because there are now overlapping channel numbers in the 2GHz and 5GHz band we can't map from channel to frequency without knowing the band. This is no problem as in most contexts we know the band. In places where we don't know the band (and WEXT compatibility) we assume the 2GHz band for channels below 14. This patch does not implement all channel to frequency mappings defined in 802.11, it's just an extension for 802.11j 20MHz channels. 5MHz and 10MHz channels as well as 802.11y channels have been omitted. The following drivers have been updated to reflect the API changes: iwl-3945, iwl-agn, iwmc3200wifi, libertas, mwl8k, rt2x00, wl1251, wl12xx. The drivers have been compile-tested only. Signed-off-by: Bruno Randolf Signed-off-by: Brian Prodoehl Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit 60f2d1d506195803fa6e1dcf3972637b740fdd60 Author: Ben Greear Date: Sun Jan 9 23:11:52 2011 -0800 ath9k: Restart xmit logic in xmit watchdog. The system can get into a state where the xmit queue is stopped, but there are no packets pending, so the queue will not be restarted. Add logic to the xmit watchdog to attempt to restart the xmit logic if this situation is detected. Example 'dmesg' output: ath: txq: f4e723e0 axq_qnum: 2, mac80211_qnum: 2 axq_link: f4e996c8 pending frames: 1 axq_acq empty: 1 stopped: 0 axq_depth: 0 Attempting to restart tx logic. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 71e025a5a630681ad8b37d4426a994d199976ec9 Author: Ben Greear Date: Sun Jan 9 23:11:50 2011 -0800 ath9k: More xmit queue debugfs information. To try to figure out why xmit logic hangs. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 7f010c93d73847ffc6b74b572fef9a63e305d65e Author: Ben Greear Date: Sun Jan 9 23:11:49 2011 -0800 ath9k: Keep track of stations for debugfs. The stations hold the ath_node, which holds the tid and other xmit logic structures. In order to debug stuck xmit logic, we need a way to print out the tid state for the stations. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit bda8addaed08834956d5695212717893a2e0cb13 Author: Ben Greear Date: Sun Jan 9 23:11:48 2011 -0800 ath9k: Add counters to distinquish AMPDU enqueues. Show counters for pkts sent directly to hardware and those queued in software. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 082f65368991f6bb7499c379754505cb674708b1 Author: Ben Greear Date: Sun Jan 9 23:11:47 2011 -0800 ath9k: Ensure xmit makes progress. If the txq->axq_q is empty, the code was breaking out of the tx_processq logic without checking to see if it should transmit other queued AMPDU frames (txq->axq_acq). This patches ensures ath_txq_schedule is called. This needs review. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 9244f48d0052ae17b4af70bfc46ad544c4c06a50 Author: Ben Greear Date: Sun Jan 9 23:11:46 2011 -0800 ath9k: Remove un-used member from ath_node. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 2dac4fb97a41af1e6b7ab9f59c837d20838e92da Author: Ben Greear Date: Sun Jan 9 23:11:45 2011 -0800 ath9k: Add more information to debugfs xmit file. Should help debug strange tx lockup type issues. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 233536e126056f65a8aac7ff38788d19dbb53299 Author: Ben Greear Date: Sun Jan 9 23:11:44 2011 -0800 ath9k: Initialize ah->hw Previous code left it NULL. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 1f427dd913a1bf61f2d124d12a022ca2f1d27f53 Author: Ben Greear Date: Sun Jan 9 23:11:43 2011 -0800 ath9k: Show some live tx-queue values in debugfs. I thought this might help track down stuck queues, etc. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit b305dae488193b65cfa80e1c06c0aa0ce60005a9 Author: Ben Greear Date: Sat Jan 8 10:30:54 2011 -0800 mac80211: Fix skb-copy failure debug message. This particular error isn't about multicast. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit ea67485ae6894e603984c3b13b8df54ae2c128d8 Author: Johannes Berg Date: Tue Jan 4 16:22:03 2011 -0800 iwlwifi: fix 4965 notification wait setup The notification wait support code is shared between 4965 and other AGN devices, so 4965 also has to initialize the data structures for it, otherwise it crashes. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 2a1a78d240c68b918406cb5b31a375eaf1dc1835 Author: Johannes Berg Date: Tue Jan 4 16:22:02 2011 -0800 iwlagn: return error if PAN disable timeout Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 311dce71b6af263a630717d77bd49cffc0d122a5 Author: Johannes Berg Date: Tue Jan 4 16:22:01 2011 -0800 iwlagn: properly wait for PAN disable Previously I hacked this with an msleep(300) which was fine since we never had longer PAN time slots, but now that we will have them I need to fix that. Use the new notification wait support to properly wait for the WIPAN deactivation complete signal from the ucode. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 7194207ceea7a54c846e0865d2459f4887fe1e0d Author: Johannes Berg Date: Tue Jan 4 16:22:00 2011 -0800 iwlagn: add support for waiting for notifications In order to implement waiting for notifications, add a structure that captures the information, and a list of such structures that will be traversed when a command is received from the ucode. Use sparse checking to make sure calls to the prepare/wait/cancel functions are always nested correctly. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit f945f1087f1fe20f9c626daa175b677736fc614d Author: Johannes Berg Date: Tue Jan 4 16:21:59 2011 -0800 iwlagn: make iwl_rx_handle static It's not used or likely to be needed from other files, so it can be static. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit ccd5c8ef24590bd0e1277ae6f6c0b7790afd371d Author: françois romieu Date: Thu Jan 20 04:59:23 2011 +0000 atl1e: remove private #define. Either unused or duplicates from mii.h. Signed-off-by: Francois Romieu Cc: Jay Cliburn Cc: Chris Snook Cc: Jie Yang Signed-off-by: David S. Miller commit 34aac66cc2c32f6cd0bd08e0a0e6de851d261e36 Author: françois romieu Date: Thu Jan 20 04:59:06 2011 +0000 atl1c: remove private #define. Either unused or duplicates from mii.h. Signed-off-by: Francois Romieu Cc: Jay Cliburn Cc: Chris Snook Cc: Jie Yang Signed-off-by: David S. Miller commit fbb327c5945448e98480d610815143a6d4a63638 Author: Felix Fietkau Date: Tue Jan 18 15:48:48 2011 +0100 mac80211: drop non-auth 3-addr data frames when running as a 4-addr station When running as a 4-addr station against an AP that has the 4-addr VLAN interface and the main 3-addr AP interface bridged together, sometimes frames originating from the station were looping back from the 3-addr AP interface, causing the bridge code to emit warnings about receiving frames with its own source address. I'm not sure why this is happening yet, but I think it's a good idea to drop all frames (except 802.1x/EAP frames) that do not match the configured addressing mode, including 4-address frames sent to a 3-address station. User test reports indicate that the problem goes away with this patch. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 5dd36bc933e8be84f8369ac64505a2938f9ce036 Author: Johannes Berg Date: Tue Jan 18 13:52:23 2011 +0100 mac80211: allow advertising correct maximum aggregate size Currently, mac80211 always advertises that it may send up to 64 subframes in an aggregate. This is fine, since it's the max, but might as well be set to zero instead since it doesn't have any information. However, drivers might have that information, so allow them to set a variable giving it, which will then be used. The default of zero will be fine since to the peer that means we don't know and it will just use its own limit for the buffer size. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0b01f030d38e00650e2db42da083d8647aad40a5 Author: Johannes Berg Date: Tue Jan 18 13:51:05 2011 +0100 mac80211: track receiver's aggregation reorder buffer size The aggregation code currently doesn't implement the buffer size negotiation. It will always request a max buffer size (which is fine, if a little pointless, as the mac80211 code doesn't know and might just use 0 instead), but if the peer requests a smaller size it isn't possible to honour this request. In order to fix this, look at the buffer size in the addBA response frame, keep track of it and pass it to the driver in the ampdu_action callback when called with the IEEE80211_AMPDU_TX_OPERATIONAL action. That way the driver can limit the number of subframes in aggregates appropriately. Note that this doesn't fix any drivers apart from the addition of the new argument -- they all need to be updated separately to use this variable! Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ac1bd8464f161ed1475ef73c431b926256c6b5bb Author: Johannes Berg Date: Tue Jan 18 13:45:32 2011 +0100 mac80211: don't return beacons when mesh is disabled When mesh is disabled, mac80211 was returning beacons with an empty mesh ID. That isn't desirable, even if drivers shouldn't be trying to get beacons to start with. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4801416c76a3a355076d6d371c00270dfe332e1c Author: Ben Greear Date: Sat Jan 15 19:13:48 2011 +0000 ath9k: Fix up hardware mode and beacons with multiple vifs. When using a mixture of AP and Station interfaces, the hardware mode was using the type of the last VIF registered. Instead, we should keep track of the number of different types of vifs and set the mode accordingly. In addtion, use the vif type instead of hardware opmode when dealing with beacons. Attempt to move some of the common setup code into smaller methods so we can re-use it when changing vif mode as well as adding/deleting vifs. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit f0b8220c64242e19f41ad1b4eec3225d53715cbe Author: Felix Fietkau Date: Sat Jan 15 14:30:15 2011 +0100 ath9k: fix excessive BAR sending when a frame exceeds its retry limit Because the sendbar variable was not reset to zero, the stack would send Block ACK requests for all subframes following the one that failed, which could mess up the receiver side block ack window. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 21f28e6f0061568b2347aa7517249fc034f949b5 Author: Felix Fietkau Date: Sat Jan 15 14:30:14 2011 +0100 ath9k: try more than one tid when scheduling a new aggregate Sometimes the first TID in the first AC's list is not available for forming a new aggregate (the BAW might not allow it), however other TIDs may have data available for sending. Prevent a slowdown of other TIDs by going through multiple entries until we've either hit the last one or enough AMPDUs are pending in the hardware queue. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit a4d6e17d3ee0f9d12474b1692f7a0574f1aab53c Author: Rajkumar Manoharan Date: Sat Jan 15 01:42:01 2011 +0530 ath9k_hw: fix carrier leakage calibration for AR9271 AR9285 carrier leakage calibration related workaround on high temperature is not applicable for AR9271. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 4e3ae3873858f1e64afb19975360000bee15b502 Author: Rajkumar Manoharan Date: Sat Jan 15 01:33:28 2011 +0530 ath9k_htc: keep calibrated noise floor value for oper channel The ath9k_hw assumes that caldata is valid only for oper channel. But with ath9k_htc case, the caldata is passed for all channels on hw_reset though we are not doing calibration on that channel. So the oper channel's nf history got cleared to default due to mismatch in channel flags. This patch also saves some space. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit bdd196a3e00d2be8b50d8af0d8cf845884f4d59b Author: Rajkumar Manoharan Date: Sat Jan 15 01:01:22 2011 +0530 ath9k: preserve caldata history buffer across scanning caldata's channel info is never filled with operating channel info which is causing the operating channel's noise floor history buffer is reset to default nf during channel change. Signed-off-by: Rajkumar Manoharan Acked-by: Felix Fietkau Signed-off-by: John W. Linville commit bfc31df33b162540c6c3e1473e022cd0a312a522 Author: Ben Greear Date: Fri Jan 14 09:32:18 2011 -0800 mac80211: Show max retry-counts in kernel messages. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 0a65169b1f602b955176cb5f0789139d0fccb041 Author: Wey-Yi Guy Date: Fri Jan 14 08:07:56 2011 -0800 mac80211: mesh only parameter mppath maybe unused mppath is mesh related parameter and maybe unused Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 115dad7a7f42e68840392767323ceb9306dbdb36 Author: Felix Fietkau Date: Fri Jan 14 00:06:27 2011 +0100 ath9k_hw: partially revert "fix dma descriptor rx error bit parsing" The rx error bit parsing was changed to consider PHY errors and various decryption errors separately. While correct according to the documentation, this is causing spurious decryption error reports in some situations. Fix this by restoring the original order of the checks in those places, where the errors are meant to be mutually exclusive. If a CRC error is reported, then MIC failure and decryption errors are irrelevant, and a PHY error is unlikely. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit df6ba5d80d6c9b51471d5fa046c3c06988e5f62a Author: Luciano Coelho Date: Wed Jan 12 15:26:30 2011 +0200 mac80211: add hw configuration for max ampdu buffer size Some devices don't support the maximum AMDPU buffer size of 64, so we need to add an option to configure this in the hardware configuration. This value will be used in the ADDBA response instead of the value suggested in the request, if the latter is greater than the max supported. Signed-off-by: Luciano Coelho Tested-by: Juuso Oikarinen Signed-off-by: John W. Linville commit dcac908babcd8ce21057e476c8df609b28ad2cd8 Author: Nick Ledovskikh Date: Tue Jan 11 14:35:12 2011 +0000 mac80211:mesh_mpp_table_grow call should depend on MESH_WORK_GROW_MPP_TABLE flag. Replace MESH_WORK_GROW_MPATH_TABLE by MESH_WORK_GROW_MPP_TABLE in mesh_mpp_table_grow call condition. (Clearly the original was a typo... -- JWL) Signed-off-by: Nickolay Ledovskikh Signed-off-by: John W. Linville commit fda9b7afa70f9003853929821748aec98d567b1e Author: Wojciech Dubowik Date: Tue Jan 11 09:00:31 2011 +0100 ath5k: Fix return codes for eeprom read functions. Eeprom read functions are of bool type and not int. Signed-off-by: Wojciech Dubowik Signed-off-by: John W. Linville commit 8b3f4616d40a2ad19dd14af40b73f56860c812ea Author: Felix Fietkau Date: Mon Jan 10 17:05:50 2011 -0700 ath9k: reduce the likelihood of baseband hang check false positives Since baseband hangs are rare, but the hang check function has a high false positive rate in some situations, we need to add more reliable indicators. In AP mode we can use blocked beacon transmissions as an indicator, they should be rare enough. In station mode, we can skip the hang check entirely, since a true hang will trigger beacon loss detection, and mac80211 will rescan, which leads to a hw reset that will bring the hardware back to life. To make this more reliable, we need to skip fast channel changes if the hardware appears to be stuck. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 2ed72229d60fc6f3ac9941b75d1e1522b08a975a Author: Felix Fietkau Date: Mon Jan 10 17:05:49 2011 -0700 ath9k: reinitialize block ack window data when starting aggregation There might be some old stale data left, which could confuse tracking of pending tx frames. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 49447f2f9d47c4a57a76db702c9c1dab32fa7934 Author: Felix Fietkau Date: Mon Jan 10 17:05:48 2011 -0700 ath9k: fix initial sequence number after starting an ampdu session txtid->seq_start may not always be up to date, when there is HT non-AMPDU traffic just before starting an AMPDU session. Relying on txtid->seq_next is better, since it is also used to generate the sequence numbers for all QoS data frames. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit a9e99a0cea3b6e27cca23ad2ef57331a25d886bb Author: Felix Fietkau Date: Mon Jan 10 17:05:47 2011 -0700 ath9k: fix bogus sequence number increases on aggregation tid flush When a tid pointer is passed to ath_tx_send_normal(), it increases the starting sequence number for the next AMPDU action frame, which should only be done if the sequence number assignment is fresh. In this case it is clearly not. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 80d184e6cfb1ba7371152c4c91652d770c9caddb Author: RA-Jay Hung Date: Mon Jan 10 11:28:10 2011 +0100 rt2x00: Fix and fine-tune rf registers for RT3070/RT3071/RT3090 Basically fix and fine-tune RT3070/RT3071/RT3090 chip RF initial value when call rt2800_init_rfcsr Signed-off-by: RA-Jay Hung Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 7f6e144fb99a4a70d3c5ad5f074204c5b89a6f65 Author: RA-Jay Hung Date: Mon Jan 10 11:27:43 2011 +0100 rt2x00: Fix radio off hang issue for PCIE interface PCI/PCIE radio off behavior is different from SOC/USB. They mainly use MCU command to disable DMA, TX/RX and enter power saving mode. Signed-off-by: RA-Jay Hung Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9d52501b421450ddd9e000c9788ac3be0e44ef1c Author: Joel A Fernandes Date: Mon Jan 10 00:44:23 2011 -0600 mac80211: Rewrote code for checking if destinations are proxied. Rewrote code for checking if the destination is proxied by a mesh portal, to facilitate better understanding of the functionality. Signed-off-by: Joel A Fernandes Acked-by: Javier Cardona Signed-off-by: John W. Linville commit 04cf53f465049c7c509aac7b776f75d38ef68e69 Author: Sujith Manoharan Date: Tue Jan 4 13:17:28 2011 +0530 ath9k_hw: Offload USB eeprom reading to target For USB devices, reading the EEPROM data can be offloaded to the target. Use multiple register reads to take advantage of this feature to reduce initialization time. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 09a525d33870e8a16076ec0200cc5002f6bef35d Author: Sujith Manoharan Date: Tue Jan 4 13:17:18 2011 +0530 ath9k_htc: Add multiple register read API This would decrease latency in reading bulk registers. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit fcdc403c31ed5bb5f3baf42f4e2b5e7198fef0c0 Author: Nishant Sarmukadam Date: Thu Dec 30 11:23:34 2010 -0800 mwl8k: Enable HW encryption for AP mode set_key callback is defined for mac80211 to install keys for HW crypto in AP mode. Driver currently falls back to SW crypto in STA mode. Add support to configure the keys appropriately in the hardware after the set_key routine is called. Signed-off-by: Nishant Sarmukadam Signed-off-by: Pradeep Nemavat Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit d9a07d4980514e701555c4f03b865a54c4c48b4a Author: Nishant Sarmukadam Date: Thu Dec 30 11:23:33 2010 -0800 mwl8k: Set mac80211 rx status flags appropriately when hw crypto is enabled When hw crypto is enabled, set rx status flags appropriately depending on whether hw crypto is enabled for a particular bss. Also report MIC errors to mac80211, so that counter measures can be initiated Signed-off-by: Nishant Sarmukadam Signed-off-by: yogesh powar Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit e53d9b964e2568172149d41b3157af9cde9accaf Author: Nishant Sarmukadam Date: Thu Dec 30 11:23:32 2010 -0800 mwl8k: Add encapsulation of data packet for crypto Different tail pads will be needed for crypto depending on the crypto mode. Add support to encapsulate the packets with appropriate pad value. Signed-off-by: Nishant Sarmukadam Signed-off-by: Pradeep Nemavat Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit 252486a13a36e2846ff046c18aae67658692eced Author: Nishant Sarmukadam Date: Thu Dec 30 11:23:31 2010 -0800 mwl8k: Modify add_dma_header to include pad parameters Add capability to add_dma_header to support padding at tail of the data packet to be transmitted when crypto is enabled. Padding is required for adding crypto information in data packets for supporting 802.11 security modes. Signed-off-by: Nishant Sarmukadam Signed-off-by: Pradeep Nemavat Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit 42b16b3fbb5ee4555f5dee6220f3ccaa6e1ebe47 Author: Jesper Juhl Date: Mon Jan 17 00:09:38 2011 +0100 Kill off warning: ‘inline’ is not at beginning of declaration Fix a bunch of warning: ‘inline’ is not at beginning of declaration messages when building a 'make allyesconfig' kernel with -Wextra. These warnings are trivial to kill, yet rather annoying when building with -Wextra. The more we can cut down on pointless crap like this the better (IMHO). A previous patch to do this for a 'allnoconfig' build has already been merged. This just takes the cleanup a little further. Signed-off-by: Jesper Juhl Signed-off-by: Jiri Kosina commit 5a3a7658863f74f28cef53b9336bff7423659801 Author: Justin P. Mattock Date: Wed Jan 19 15:36:38 2011 +0100 Comment typo fixes for 'descriptor' Signed-off-by: Justin P. Mattock Signed-off-by: Jiri Kosina commit a5db219f4cf9f67995eabd53b81a1232c82f5852 Merge: c56eb8f ff76015 Author: David S. Miller Date: Tue Jan 18 16:28:31 2011 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6