=============================================== ChangeLog for compat-wireless for linux-3.0.9 =============================================== This is the ChangeLog for the Linux kernel project compat-wireless. It provides a backport of a few Linux kernel subsystems down to older kernels: * 802.11 * Bluetooth * Ethernet For more details refer to the home page: http://wireless.kernel.org/en/users/Download/stable/ The compat-wireless project consists of code from three projects: * The Linux kernel: linux-2.6-allstable.git * Compat-wirelesS: compat-wireless.git * Compat: compat.git The compat-wireless stable releases incorporates code from from each of these git trees for the respective upstream Linux kernel stable release. A branch called linux-3.x.y exists for each stable release. Below we provide the ChangeLog of changes from the previous branched release to the new branched release. Release: linux-3.0.9 Updates from the compat.git project: ==================================== git shortlog linux-2.6.39.y..linux-3.0.y Eliad Peller (1): compat: add an empty implementation for pm_wakeup_event() Felix Fietkau (4): compat: add an empty definition for __rcu compat: backport rcu_dereference_protected compat: backport rcu_access_pointer compat: backport rtnl_dereference Hauke Mehrtens (23): 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/ compat: integrate kfifo into compat.ko compat: add kstrtox compat: remove sdio_set_host_pm_flags compat: add time_to_tm compat: do not include kstrto* for kernel >= 2.6.38.4 compat: fix TASK_INTERRUPTIBLE missing compat: backport vzalloc() compat: handle fail of vmalloc() compat: add missing include compat: backport kfree_rcu compat: backport ethtool_cmd_speed compat: add header linux/printk.h compat: backport rcu_dereference_raw compat: backport RCU_INIT_POINTER compat: remove wrong backport of kfree_rcu compat: add support for kernel 3.0 compat: add device name in register_netdevice(dev) compat: rename CONFIG_COMPAT_KERNEL_ compat: add KEY_WPS_BUTTON Luis R. Rodriguez (2): compat: backport IRQ namespace cleanup compat: empty commit for 3.0 tag changes Updates from the compat-wireless.git project: ============================================= git shortlog linux-2.6.39.y..linux-3.0.y Hauke Mehrtens (29): compat-wireless: add support for mwifiex compat-wireless: backport threaded irq for wl12xx_spi compat-wirless: deactivate PM support for libertas_spi for kernel < 2.6.29 compat-wireless: fix compile warning for wl12xx compat-wireless: clean up the config file compat-wireless: Remove extra config option for kfifo. compat-wireless: make patches apply again compat-wireless: remove ar9170 compat-wireless: make patches apply again compat-wireless: fix build of atheros Ethernet drivers. compat-wireless: update config options compat-wireless: use function for setting queue_mapping compat-wireless: fix compile problem with IRQF_ONESHOT compat-wireless: backport multicast filter in p54 for kernel < 2.6.35 compat-wireless: make patches apply again compat-wireless: add RTL8192SE driver compat-wireless: enable RT33XX support. compat-wireless: make patches apply again compat-wireless: set CONFIG_COMPAT_STAGING=m compat-wireless: fix building of brcm80211 Revert "compat-wireless: fix rfkill patches from applying" compat-wireless: adapt rename of dev to sdev in b43 compat-wireless: revert usage of kfree_rcu compat-wireless: rename CONFIG_COMPAT_KERNEL_ compat-wireless: add support for kernel 3.XX compat-wireless: activate CARL9170_WPC by default compat-wireless: activate CONFIG_RT2800{USB,PCI}_RT35XX by default. compat-wireless: sync atheros-debug.mk with config.mk compat-wireless: update enable-older-kernels patches Johannes Berg (1): The sched_scan patches changed context for a patch. Luis R. Rodriguez (22): compat-wireless: fix compilation warning for wl12xx compat-wireless: refresh patches for next-20110414 compat-wireless: fix patches/09-threaded-irq.patch compat-wireless: refresh patches compat-wireless: refresh patches compat-wireless: refresh patches compat-wireless: refresh patches compat-wireless: fix patch dealing with lbs_pr_err() / pr_err() compat-wireless: fix rfkill patches from applying compat-wireless: fix applying of 09-threaded-irq.patch compat-wireless: refresh patches compat-wireless: patch updates for updates for 3.0.1-rc1 release compat-wireless: fixes for making 3.0 stable compat-wireless releases compat-wireless: refresh patches for 3.0-rc3 compat-wireless: fix usb/Makefile patch for 3.0-rc4 release compat-wireless: refresh patches for 3.0-rc4 compat-wireless: fix script for generating releases compat-wireless: refresh patches for 3.0 final release compat-wireless: dummy update for -2 release compat-wireless: manual fix for patches/01-netdev.patch compat-wireless: manual fix for patches/01-netdev.patch compat-wireless: refresh patches 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.39..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-3.0-wireless git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-allstable.git commit 82eaf854859022f7bf1aa9122ed533516187cbff Author: Rajkumar Manoharan Date: Thu Oct 20 14:22:43 2011 +0530 ath9k_hw: Fix regression of register offset for AR9003 chips commit 52d6d4ef5e6d1517688e27c11c01ab303ec681dd upstream. My recent commits (3782c69d, 324c74a) introduced regression for register offset selection that based on the macversion. Not using parentheses in proper manner for ternary operator leads to select wrong offset for the registers. This issue was observed with AR9462 chip that immediate disconnect after the association with the following message ieee80211 phy3: wlan0: Failed to send nullfunc to AP 00:23:69:12:ea:47 after 500ms, disconnecting. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 041f9e20b7f794fd7b4932e05d0c938a9ebbf658 Author: Johannes Berg Date: Fri Oct 28 11:59:47 2011 +0200 mac80211: disable powersave for broken APs commit 05cb91085760ca378f28fc274fbf77fc4fd9886c upstream. Only AID values 1-2007 are valid, but some APs have been found to send random bogus values, in the reported case an AP that was sending the AID field value 0xffff, an AID of 0x3fff (16383). There isn't much we can do but disable powersave since there's no way it can work properly in this case. Reported-by: Bill C Riemers Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 42c6d01ce89d43598fc804cf7c141d3252fe93b5 Author: Eliad Peller Date: Thu Oct 20 19:05:50 2011 +0200 mac80211: config hw when going back on-channel commit 6911bf0453e0d6ea8eb694a4ce67a68d071c538e upstream. When going back on-channel, we should reconfigure the hw iff the hardware is not already configured to the operational channel. Signed-off-by: Eliad Peller Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 632abf8b3f714da01daec2d43ffd9cd7b47f53a9 Author: Eliad Peller Date: Thu Oct 20 19:05:49 2011 +0200 mac80211: fix remain_off_channel regression commit eaa7af2ae582c9a8c51b374c48d5970b748a5ce2 upstream. The offchannel code is currently broken - we should remain_off_channel if the work was started, and the work's channel and channel_type are the same as local->tmp_channel and local->tmp_channel_type. However, if wk->chan_type and local->tmp_channel_type coexist (e.g. have the same channel type), we won't remain_off_channel. This behavior was introduced by commit da2fd1f ("mac80211: Allow work items to use existing channel type.") Tested-by: Ben Greear Signed-off-by: Eliad Peller Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 1cc8631784f67c62a8309897f7d4cb885a05ed6f Author: Rajkumar Manoharan Date: Mon Oct 24 18:13:40 2011 +0530 ath9k_hw: Update AR9485 initvals to fix system hang issue commit 98fb2cc115b4ef1ea0a2d87a170c183bd395dd6c upstream. This patch fixes system hang when resuming from S3 state and lower rate sens failure issue. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit b710365a9a762cb6cf931a066648daf9a941a9af Author: Oliver Neukum Date: Wed Sep 21 11:41:45 2011 +0200 btusb: add device entry for Broadcom SoftSailing commit c510eae377c773241ff0b6369a8f3581da941a51 upstream. This device declares itself to be vendor specific It therefore needs to be added to the device table to make btusb bind. Signed-off-by: Oliver Neukum Signed-off-by: Gustavo F. Padovan Signed-off-by: Greg Kroah-Hartman commit 661a0d9aba272ad9e55449ce8eb9570a221b8489 Author: Jurgen Kramer Date: Sun Sep 4 18:01:42 2011 +0200 Bluetooth: add support for 2011 mac mini commit f78b68261e80899f81a21dfdf91e2a1456ea8175 upstream. Today I noticed that the usb bluetooth adapter (BCM2046B1) on my 2011 mac mini was not working. I've created a patch to get it going. Signed-off-by: Jurgen Kramer Signed-off-by: Gustavo F. Padovan Signed-off-by: Greg Kroah-Hartman commit 4770ac2af6255b6c64d290606b54fa2e2bfcbe08 Author: Steven.Li Date: Fri Jul 1 14:02:36 2011 +0800 Bluetooth: Add Atheros AR3012 one PID/VID supported commit 2d25f8b462f3b849d8913d02978657ef06e67dd8 upstream. The new Ath3k needs to download patch and radio table, and it keeps same PID/VID even after downloading the patch and radio table. This patch is to use the bcdDevice (Device Release Number) to judge whether the chip has been patched or not. The init bcdDevice value of the chip is 0x0001, this value increases after patch and radio table downloading. Signed-off-by: Steven.Li Signed-off-by: Gustavo F. Padovan Signed-off-by: Greg Kroah-Hartman commit 39361fcb63d49f4036af08473c503e006e063ddc Author: Ricardo Mendoza Date: Wed Jul 13 16:04:29 2011 +0100 Bluetooth: Add Toshiba laptops AR30XX device ID commit 8e7c3d2e4ba18ee4cdcc1f89aec944fbff4ce735 upstream. Blacklist Toshiba-branded AR3011 based AR5B195 [0930:0215] and add to ath3k.c for firmware loading. Signed-off-by: Ricardo Mendoza Signed-off-by: Gustavo F. Padovan Signed-off-by: Greg Kroah-Hartman commit efb1497bcc3a72b1617c6915bb62cf4dfa38c952 Author: Pieter-Augustijn Van Malleghem Date: Wed Sep 7 02:28:10 2011 -0400 Bluetooth: Add MacBookAir4,1 support commit a63b723d02531f7add0b2b8a0e6a77ee176f1626 upstream. This patch against current git adds the hardware ID for the Apple MacBookAir4,1, released in July 2011. The device features a BCM2046 USB chip. The patch was inspired by the previous modifications adding support for the MacBookAir3,x. Signed-off-by: Pieter-Augustijn Van Malleghem Signed-off-by: Gustavo F. Padovan Signed-off-by: Greg Kroah-Hartman commit 179b05367d02451ebf4d4b655632b6f979fcac8a Author: Johannes Berg Date: Thu Nov 3 13:46:08 2011 +0100 iwlagn: do not use interruptible waits Upstream commit effd4d9aece9184f526e6556786a94d335e38b71. Since the dawn of its time, iwlwifi has used interruptible waits to wait for synchronous commands and firmware loading. This leads to "interesting" bugs, because it can't actually handle the interruptions; for example when a command sending is interrupted it will assume the command completed fully, and then leave it pending, which leads to all kinds of trouble when the command finishes later. Since there's no easy way to gracefully deal with interruptions, fix the driver to not use interruptible waits. This at least fixes the error iwlagn 0000:02:00.0: Error: Response NULL in 'REPLY_SCAN_ABORT_CMD' I have seen in P2P testing, but it is likely that there are other errors caused by this. Cc: Stanislaw Gruszka Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 40b3c4dc2c6c44972323be3a1ebd62c4fe35fac0 Author: Luciano Coelho Date: Thu Sep 22 10:06:10 2011 +0300 wl12xx: fix forced passive scans commit 6cd9d21a0c1e2648c07c32c66bb25795ad3208aa upstream. We were using incorrect max and min dwell times during forced passive scans because we were still using the active scan states to scan (passively) the channels that were not marked as passive. Instead of doing passive scans in active states, we now skip active states and scan for all channels in passive states. Signed-off-by: Luciano Coelho Signed-off-by: Greg Kroah-Hartman commit 4641f8a010eb97303fbc9bd8a094139b52ffd629 Author: Johannes Berg Date: Tue Oct 4 18:27:10 2011 +0200 mac80211: fix offchannel TX cookie matching commit 28a1bcdb57d50f3038a255741ecc83e391e5282e upstream. When I introduced in-kernel off-channel TX I introduced a bug -- the work can't be canceled again because the code clear the skb pointer. Fix this by keeping track separately of whether TX status has already been reported. Reported-by: Jouni Malinen Tested-by: Jouni Malinen Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 07bb3623343d8060b6f68aa294e3ecb9391a82d4 Author: Felix Fietkau Date: Sat Oct 8 15:49:57 2011 +0200 ath9k: disable unnecessary PHY error reporting commit ac06697c79bad09e44a8b1d52104014016fb90de upstream. PHY errors relevant for ANI are always tracked by hardware counters, the bits that allow them to pass through the rx filter are independent of that. Enabling PHY errors in the rx filter often creates lots of useless DMA traffic and might be responsible for some of the rx dma stop failure warnings. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit e4779966c769188b76ee699e0ab476030b2d2e6a Author: Mohammed Shafi Shajakhan Date: Fri Sep 30 11:31:27 2011 +0530 ath9k_hw: Fix number of GPIO pins for AR9287/9300 commit 6321eb0977b011ac61dfca36e7c69b2c4325b104 upstream. this patch fixes the assumption of maximum number of GPIO pins present in AR9287/AR9300. this fix is essential as we might encounter some functionality issues involved in accessing the status of GPIO pins which are all incorrectly assumed to be not within the range of max_num_gpio of AR9300/AR9287 chipsets Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 7ff861f96140c2dc6411deafb281dbfe958324d9 Author: Luis R. Rodriguez Date: Thu Sep 29 10:42:19 2011 -0700 ath9k_htc: add AVM FRITZ!WLAN 11N v2 support commit 8c34559b4a6df32e4af1b073397fa4dc189a5485 upstream. This was reported and tested by Martin Walter over at AVM GmbH Berlin. This also applies to 3.0.1 so sendint to stable. Cc: s.kirste@avm.de Cc: d.friedel@avm.de Cc: Martin Walter Cc: Peter Grabienski Tested-by: Martin Walter Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 26155866748bad74d6b257ba891d794dad85f621 Author: Rajkumar Manoharan Date: Thu Sep 15 19:02:25 2011 +0530 ath9k_hw: Fix magnitude/phase coeff correction commit e9c10469cf3c71bc1c6b0f01319161e277d6ac9b upstream. Do the magnitude/phase coeff correction only if the outlier is detected. Updating wrong magnitude/phase coeff factor impacts not only tx gain setting but also leads to poor performance in congested networks. In the clear environment the impact is very minimal because the outlier happens very rarely according to the past experiment. It occured less than once every 1000 calibrations. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 1ad894adcc396cb74d1ee7173d013a803c457ad8 Author: Rajkumar Manoharan Date: Sat Aug 20 17:22:09 2011 +0530 ath9k_hw: Fix descriptor status of TxOpExceeded commit 2a15b394f8e46dd3e2ab365ab41cfa701d92fa77 upstream. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 8a60d75bbc5feca1291edd728d6696be9e8dd465 Author: Gertjan van Wingerde Date: Wed Jul 6 22:56:24 2011 +0200 rt2x00: Serialize TX operations on a queue. commit 77a861c405da75d81e9e6e32c50eb7f9777777e8 upstream. The rt2x00 driver gets frequent occurrences of the following error message when operating under load: phy0 -> rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 2. This is caused by simultaneous attempts from mac80211 to send a frame via rt2x00, which are not properly serialized inside rt2x00queue_write_tx_frame, causing the second frame to fail sending with the above mentioned error message. Fix this by introducing a per-queue spinlock to serialize the TX operations on that queue. Reported-by: Andreas Hartmann Signed-off-by: Gertjan van Wingerde Acked-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Cc: Tim Gardner Signed-off-by: Greg Kroah-Hartman commit 3c1c4f8e80a39ae7d6d2a159e3b28f742fd4e968 Author: Johannes Berg Date: Thu Sep 22 14:59:04 2011 -0700 iwlagn: fix dangling scan request commit 6c80c39d9a6986a566c30d797aae37bfb697eea3 upstream. If iwl_scan_initiate() fails for any reason, priv->scan_request and priv->scan_vif are left dangling. This can lead to a crash later when iwl_bg_scan_completed() tries to run a pending scan request. In practice, this seems to be very rare due to the STATUS_SCANNING check earlier. That check, however, is wrong -- it should allow a scan to be queued when a reset/roc scan is going on. When a normal scan is already going on, a new one can't be issued by mac80211, so that code can be removed completely. I introduced this bug when adding off-channel support in commit 266af4c745952e9bebf687dd68af58df553cb59d. Reported-by: Peng Yan Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 111118a4e62d7fbe365cc47ae78e4d9e96b73b6f Author: Stanislaw Gruszka Date: Tue Sep 20 16:49:03 2011 +0200 iwlegacy: do not use interruptible waits commit 65d0f19e583e80e42b1c67c166bfc4dfdf6ab693 upstream. iwlegacy version of fix: commit effd4d9aece9184f526e6556786a94d335e38b71 Author: Johannes Berg Date: Thu Sep 15 11:46:52 2011 -0700 iwlagn: do not use interruptible waits Since the dawn of its time, iwlwifi has used interruptible waits to wait for synchronous commands and firmware loading. This leads to "interesting" bugs, because it can't actually handle the interruptions; for example when a command sending is interrupted it will assume the command completed fully, and then leave it pending, which leads to all kinds of trouble when the command finishes later. Since there's no easy way to gracefully deal with interruptions, fix the driver to not use interruptible waits. This at least fixes the error iwlagn 0000:02:00.0: Error: Response NULL in 'REPLY_SCAN_ABORT_CMD' I have seen in P2P testing, but it is likely that there are other errors caused by this. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit cc54ab32355ef870a14787d9ad7d5e0459b7007a Author: Larry Finger Date: Thu Sep 22 22:59:02 2011 -0500 rtlwifi: rtl8192cu: Fix unitialized struct commit 831d85471e761e190c3c8979b37540d699ae5812 upstream. Driver rtl8192cu assigns a new struct rtl_tcb_desc object, but fails to clear it. Signed-off-by: Larry Finger Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit f5f582e5a75724793895cc191ba7a8d2c05f59f4 Author: Stanislaw Gruszka Date: Tue Sep 20 16:46:36 2011 +0200 iwlegacy: fix command queue timeout commit 2e2a41d6ca07d1b2aa67015c35fd80701c98e867 upstream. iwlegacy version of fix: commit 282cdb325aea4ebbc42ce753b47cc96145eb54bc Author: Johannes Berg Date: Mon Sep 12 12:09:10 2011 -0700 iwlagn: fix command queue timeout If the command queue is constantly busy, which can happen in P2P, the hangcheck timer will frequently find a command in it and will eventually reset the device because nothing sets the timestamp for this queue when commands are processed. Fix this by setting the timestamp when a command completes. iwlegacy does not support P2P, but this patch fix possible unneeded hardware resets, hence is needed. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit c7015062c18e619796e8d9c76a5fe7f300f80b7d Author: Rajkumar Manoharan Date: Tue Sep 20 16:23:51 2011 +0530 ath9k_hw: Fix Rx DMA stuck for AR9003 chips commit e9f9530bb697f53dd620df290102359a3325bb23 upstream. During the endurance testing, rx frames are not getting DMAd from MAC whereas pcu rx frame counters are getting updated properly. As per systems team input updated the initval to fix rx dma stuck issue. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 508ed7445438cb6dffa105a128333c8461bfd5e4 Author: Jouni Malinen Date: Wed Sep 21 16:13:07 2011 +0300 cfg80211: Fix validation of AKM suites commit 1b9ca0272ffae212e726380f66777b30a56ed7a5 upstream. Incorrect variable was used in validating the akm_suites array from NL80211_ATTR_AKM_SUITES. In addition, there was no explicit validation of the array length (we only have room for NL80211_MAX_NR_AKM_SUITES). This can result in a buffer write overflow for stack variables with arbitrary data from user space. The nl80211 commands using the affected functionality require GENL_ADMIN_PERM, so this is only exposed to admin users. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 8341e503c2628f056a9fdfe244f15c96b31c04c9 Author: Oliver Neukum Date: Tue Aug 30 15:52:18 2011 +0200 Bluetooth: Fix timeout on scanning for the second time commit 2d20a26a92f72e3bb658fe8ce99c3663756e9e7a upstream. The checks for HCI_INQUIRY and HCI_MGMT were in the wrong order, so that second scans always failed. Signed-off-by: Oliver Neukum Signed-off-by: Gustavo F. Padovan Signed-off-by: Greg Kroah-Hartman commit 10cabb78baa285840e10ab1911033e924ff29b94 Author: Don Fry Date: Thu Sep 15 08:36:22 2011 -0700 iwlagn: workaround bug crashing some APs commit 2249b011432ca3dcce112f0f71e0f531b4bb9347 upstream. This patch reverts commit 9b7688328422b88a7a15dc0dc123ad9ab1a6e22d which was introduced in 2.6.38-rc1. It works around a problem where the iwlagn driver stimulates a bug crashing (requiring power cycle to recover) some APs under heavy traffic. Signed-off-by: Don Fry SIgned-off-by: Wey-Yi Guy Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 35ff9b5a4d0c8881d85dc5874964460f858f7e2d Author: Larry Finger Date: Wed Sep 14 16:50:23 2011 -0500 rtl2800usb: Fix incorrect storage of MAC address on big-endian platforms commit daabead1c32f331edcfb255fd973411c667977e8 upstream. The eeprom data is stored in little-endian order in the rt2x00 library. As it was converted to cpu order in the read routines, the data need to be converted to LE on a big-endian platform. Signed-off-by: Larry Finger Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit cb49a34465aff5bb9c5209e2b8e775cead9712c7 Author: Rajkumar Manoharan Date: Wed Sep 14 14:28:17 2011 +0530 wireless: Reset beacon_found while updating regulatory commit aa3d7eef398dd4f29045e9889b817d5161afe03e upstream. During the association, the regulatory is updated by country IE that reaps the previously found beacons. The impact is that after a STA disconnects *or* when for any reason a regulatory domain change happens the beacon hint flag is not cleared therefore preventing future beacon hints to be learned. This is important as a regulatory domain change or a restore of regulatory settings would set back the passive scan and no-ibss flags on the channel. This is the right place to do this given that it covers any regulatory domain change. Reviewed-by: Luis R. Rodriguez Signed-off-by: Rajkumar Manoharan Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 2826eac8b4cf7b948eb41cdc77d67dbf84aced82 Author: Larry Finger Date: Wed Sep 14 16:50:22 2011 -0500 rt2800pci: Fix compiler error on PowerPC commit d331eb51e4d4190b2178c30fcafea54a94a577e8 upstream. Using gcc 4.4.5 on a Powerbook G4 with a PPC cpu, a complicated if statement results in incorrect flow, whereas the equivalent switch statement works correctly. Signed-off-by: Larry Finger Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit c086c605156a8a5356a331729c6a0cab85fb386a Author: Manual Munz Date: Sun Sep 18 18:24:03 2011 -0500 b43: Fix beacon problem in ad-hoc mode commit 8c23516fbb209ccf8f8c36268311c721faff29ee upstream. In ad-hoc mode, driver b43 does not issue beacons. Signed-off-by: Manual Munz Tested-by: Larry Finger Signed-off-by: Larry Finger Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit bdba777a08cfe193f8c4a5cbb8382549db932171 Author: Johannes Berg Date: Mon Sep 12 12:09:10 2011 -0700 iwlagn: fix command queue timeout commit 282cdb325aea4ebbc42ce753b47cc96145eb54bc upstream. If the command queue is constantly busy, which can happen in P2P, the hangcheck timer will frequently find a command in it and will eventually reset the device because nothing sets the timestamp for this queue when commands are processed. Fix this by setting the timestamp when a command completes. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit e74aa3593a0026ea78b3997c3b7748f536e17f66 Author: Johannes Berg Date: Tue Sep 6 12:47:39 2011 +0200 mac80211: fix missing sta_lock in __sta_info_destroy commit 4bae7d976976fa52d345805ba686934cd548343e upstream. Since my commit 34e895075e21be3e21e71d6317440d1ee7969ad0 ("mac80211: allow station add/remove to sleep") there is a race in mac80211 when it clears the TIM bit because a sleeping station disconnected, the spinlock isn't held around the relevant code any more. Use the right API to acquire the spinlock correctly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 377a4a241c44d46335b45e00c8a66d39b072fd2f Author: George Date: Sat Sep 3 10:58:48 2011 -0500 rtlwifi: Fix problem when switching connections commit bac2555c6d86387132930af4d14cb47c4dd3f4f7 upstream. The driver fails to clear encryption keys making it impossible to switch connections. Signed-off-by: George Signed-off-by: Larry Finger Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 47e45d75cb074fa59de2fdadc8945d7f52c2c653 Author: George Date: Sat Sep 3 10:58:47 2011 -0500 rtlwifi: rtl8192su: Fix problem connecting to HT-enabled AP commit 3401dc6eba788ebc7c14ce51018d775b1c263399 upstream. The driver fails to connect to 802.11n-enabled APs. The patch fixes Bug #42262. Signed-off-by: George Signed-off-by: Larry Finger Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 88294ead621e9677bb3108027de2b8d657c25852 Author: Felix Fietkau Date: Mon Aug 29 10:06:14 2011 +0200 ath9k_hw: fix calibration on 5 ghz commit 0e4660cbe51276e86dbdab17228733dbcdb49249 upstream. ADC calibrations cannot run on 5 GHz with fast clock enabled. They need to be disabled, otherwise they'll hang and IQ mismatch calibration will not be run either. Signed-off-by: Felix Fietkau Reported-by: Adrian Chadd Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit fb88e8c4a2b208606f5ee7e5dc087d2ade9525ce Author: Stanislaw Gruszka Date: Fri Aug 26 17:24:59 2011 +0200 iwlegacy: fix BUG_ON(info->control.rates[0].idx < 0) commit 7c2510120e9b43b0caf32c3786a6ab831f7d9e87 upstream. When trying to connect to 5GHz we can provide negative index to mac80211 what trigger BUG_ON. Reason of iwl-3945-rs malfunction on 5GHz is unknown and needs further investigation. For now, to do not trigger a bug, correct value and just print WARNING. Address bug: https://bugzilla.redhat.com/show_bug.cgi?id=730653 Reported-and-tested-by: Jan Teichmann Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit d6b0fa557a435a3073da6298a88cd3f273fd8f5f Author: Stanislaw Gruszka Date: Thu Aug 25 17:14:26 2011 +0200 rt2x00: fix crash in rt2800usb_get_txwi commit 674db1344443204b6ce3293f2df8fd1b7665deea upstream. Patch should fix this oops: BUG: unable to handle kernel NULL pointer dereference at 000000a0 IP: [] rt2800usb_get_txwi+0x19/0x70 [rt2800usb] *pdpt = 0000000000000000 *pde = f000ff53f000ff53 Oops: 0000 [#1] SMP Pid: 198, comm: kworker/u:3 Tainted: G W 3.0.0-wl+ #9 LENOVO 6369CTO/6369CTO EIP: 0060:[] EFLAGS: 00010283 CPU: 1 EIP is at rt2800usb_get_txwi+0x19/0x70 [rt2800usb] EAX: 00000000 EBX: f465e140 ECX: f4494960 EDX: ef24c5f8 ESI: 810f21f5 EDI: f1da9960 EBP: f4581e80 ESP: f4581e70 DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 Process kworker/u:3 (pid: 198, ti=f4580000 task=f4494960 task.ti=f4580000) Call Trace: [] rt2800_txdone_entry+0x2f/0xf0 [rt2800lib] [] ? warn_slowpath_common+0x7d/0xa0 [] ? rt2800usb_work_txdone+0x288/0x360 [rt2800usb] [] ? rt2800usb_work_txdone+0x288/0x360 [rt2800usb] [] rt2800usb_work_txdone+0x263/0x360 [rt2800usb] [] process_one_work+0x186/0x440 [] ? process_one_work+0x10a/0x440 [] ? rt2800usb_probe_hw+0x120/0x120 [rt2800usb] [] worker_thread+0x133/0x310 [] ? trace_hardirqs_on+0xb/0x10 [] ? manage_workers+0x1e0/0x1e0 [] kthread+0x7c/0x90 [] ? __init_kthread_worker+0x60/0x60 [] kernel_thread_helper+0x6/0x1 Oops might happen because we check rt2x00queue_empty(queue) twice, but this condition can change and we can process entry in rt2800_txdone_entry(), which was already processed by rt2800usb_txdone_entry_check() -> rt2x00lib_txdone_noinfo() and has nullify entry->skb . Reported-by: Justin Piszcz Signed-off-by: Stanislaw Gruszka Acked-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 341b1e997ffed81ea6f1a31caf13ebdd4cbc9d69 Author: Stanislaw Gruszka Date: Thu Aug 25 17:14:24 2011 +0200 rt2x00: fix crash in rt2800usb_write_tx_desc commit 4b1bfb7d2d125af6653d6c2305356b2677f79dc6 upstream. Patch should fix this oops: BUG: unable to handle kernel NULL pointer dereference at 000000a0 IP: [] rt2800usb_write_tx_desc+0x18/0xc0 [rt2800usb] *pdpt = 000000002408c001 *pde = 0000000024079067 *pte = 0000000000000000 Oops: 0000 [#1] SMP EIP: 0060:[] EFLAGS: 00010282 CPU: 0 EIP is at rt2800usb_write_tx_desc+0x18/0xc0 [rt2800usb] EAX: 00000035 EBX: ef2bef10 ECX: 00000000 EDX: d40958a0 ESI: ef1865f8 EDI: ef1865f8 EBP: d4095878 ESP: d409585c DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 Call Trace: [] rt2x00queue_write_tx_frame+0x155/0x300 [rt2x00lib] [] rt2x00mac_tx+0x7c/0x370 [rt2x00lib] [] ? mark_held_locks+0x62/0x90 [] ? _raw_spin_unlock_irqrestore+0x35/0x60 [] ? trace_hardirqs_on_caller+0x5a/0x170 [] ? trace_hardirqs_on+0xb/0x10 [] __ieee80211_tx+0x5c/0x1e0 [mac80211] [] ieee80211_tx+0xbc/0xe0 [mac80211] [] ? ieee80211_tx+0x23/0xe0 [mac80211] [] ieee80211_xmit+0xc1/0x200 [mac80211] [] ? ieee80211_tx+0xe0/0xe0 [mac80211] [] ? lock_release_holdtime+0x35/0x1b0 [] ? ieee80211_subif_start_xmit+0x446/0x5f0 [mac80211] [] ieee80211_subif_start_xmit+0x29d/0x5f0 [mac80211] [] ? ieee80211_subif_start_xmit+0x3e4/0x5f0 [mac80211] [] ? sock_setsockopt+0x6a8/0x6f0 [] ? sock_setsockopt+0x520/0x6f0 [] dev_hard_start_xmit+0x2ef/0x650 Oops might happen because we perform parallel putting new entries in a queue (rt2x00queue_write_tx_frame()) and removing entries after finishing transmitting (rt2800usb_work_txdone()). There are cases when _txdone may process an entry that was not fully send and nullify entry->skb . To fix check in _txdone if entry has flags that indicate pending transmission and wait until flags get cleared. Reported-by: Justin Piszcz Signed-off-by: Stanislaw Gruszka Acked-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit dea592062aeaa1269cfc6f1b23a15bb03a65b6df Author: Stanislaw Gruszka Date: Fri Aug 12 14:02:04 2011 +0200 rt2x00: do not drop usb dev reference counter on suspend commit 543cc38c8fe86deba4169977c61eb88491036837 upstream. When hibernating ->resume may not be called by usb core, but disconnect and probe instead, so we do not increase the counter after decreasing it in ->supend. As a result we free memory early, and get crash when unplugging usb dongle. BUG: unable to handle kernel paging request at 6b6b6b9f IP: [] driver_sysfs_remove+0x10/0x30 *pdpt = 0000000034f21001 *pde = 0000000000000000 Pid: 20, comm: khubd Not tainted 3.1.0-rc1-wl+ #20 LENOVO 6369CTO/6369CTO EIP: 0060:[] EFLAGS: 00010202 CPU: 1 EIP is at driver_sysfs_remove+0x10/0x30 EAX: 6b6b6b6b EBX: f52bba34 ECX: 00000000 EDX: 6b6b6b6b ESI: 6b6b6b6b EDI: c0a0ea20 EBP: f61c9e68 ESP: f61c9e64 DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 Process khubd (pid: 20, ti=f61c8000 task=f6138270 task.ti=f61c8000) Call Trace: [] __device_release_driver+0x1f/0xa0 [] device_release_driver+0x20/0x40 [] bus_remove_device+0x84/0xe0 [] ? device_remove_attrs+0x2a/0x80 [] device_del+0xe7/0x170 [] usb_disconnect+0xd4/0x180 [] hub_thread+0x691/0x1600 [] ? wake_up_bit+0x30/0x30 [] ? complete+0x49/0x60 [] ? hub_disconnect+0xd0/0xd0 [] ? hub_disconnect+0xd0/0xd0 [] kthread+0x74/0x80 [] ? kthread_worker_fn+0x150/0x150 [] kernel_thread_helper+0x6/0x10 Signed-off-by: Stanislaw Gruszka Acked-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 6417bec17ed125eecd1bd3989c2c97e8d31d7dfd Author: Senthil Balasubramanian Date: Fri Aug 19 18:43:06 2011 +0530 ath9k_hw: Fix STA (AR9485) bringup issue due to incorrect MAC address commit b503c7a273c0a3018ad11ea8c513c639120afbf4 upstream. Due to some recent optimization done in the way the mac address bytes are written into the OTP memory, some AR9485 chipsets were forced to use the first byte from the eeprom template and the remaining bytes are read from OTP. AR9485 happens to use generic eeprom template which has 0x1 as the first byte causes issues in bringing up the card. So fixed the eeprom template accordingly to address the issue. Cc: Paul Stewart Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 8a9f335df5baa97f3901378335ff10f3fecf36de Author: Alexey Khoroshilov Date: Wed Aug 24 00:44:32 2011 +0400 carl9170: Fix mismatch in carl9170_op_set_key mutex lock-unlock commit 66cb54bd24086b2d871a03035de9b0e79b2b725e upstream. If is_main_vif(ar, vif) reports that we have to fall back to software encryption, we goto err_softw; before locking ar->mutex. As a result, we have unprotected call to carl9170_set_operating_mode and unmatched mutex_unlock. The patch fix the issue by adding mutex_lock before goto. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov Acked-By: Christian Lamparter Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit ec518b00f722f9655c1505bbcab25240629cc2af Author: Mohammed Shafi Shajakhan Date: Wed Aug 24 21:38:07 2011 +0530 ath9k: Fix PS wrappers in ath9k_set_coverage_class commit 8b2a3827bb12430d932cd479b22d906baf08c212 upstream. this callback is called during suspend/resume and also via iw command. it configures parameters like sifs, slottime, acktimeout in ath9k_hw_init_global_settings where few REG_READ, REG_RMW are also done and hence the need for PS wrappers Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 5af075e3d112a6d9c2fa53c1b99a5ee945e649fd Author: Stanislaw Gruszka Date: Wed Aug 10 15:32:23 2011 +0200 rt2x00: fix order of entry flags modification commit df71c9cfceea801e7e26e2c74241758ef9c042e5 upstream. In rt2800usb_work_txdone we check flags in order: - ENTRY_OWNER_DEVICE_DATA - ENTRY_DATA_STATUS_PENDING - ENTRY_DATA_IO_FAILED Modify flags in separate order in rt2x00usb_interrupt_txdone, to avoid processing entries in _txdone with wrong flags or skip processing ready entries. Reported-by: Justin Piszcz Signed-off-by: Stanislaw Gruszka Acked-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit a4e0b4cc115c938f75ca7cf24b0a739da846a6c7 Author: Bob Copeland Date: Sun Aug 7 19:36:07 2011 -0400 ath5k: fix error handling in ath5k_beacon_send commit bdc71bc59231f5542af13b5061b9ab124d093050 upstream. This cleans up error handling for the beacon in case of dma mapping failure. We need to free the skb when dma mapping fails instead of nulling and leaking the pointer, and we should bail out to avoid giving the hardware the bad descriptor. Finally, we need to perform the null check after trying to update the beacon, or else beacons will never be sent after a single mapping failure. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 05362c29b1639185999b695cdaa37e0c1c15444a Author: Alex Hacker Date: Thu Aug 4 13:47:32 2011 +0600 ath9k: fix a misprint which leads to incorrect calibration commit 118c9db51e7acaf8f16deae8311cce6588b83e31 upstream. This patch addresses an issue with incorrect HW register AR_PHY_TX_IQCAL_CORR_COEFF_B1 definition which leads to incorrect clibration. Signed-off-by: Alex Hacker Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 5b61b4c55862e0403795bc4f7a8348accc3ca987 Author: Rajkumar Manoharan Date: Fri Jul 29 17:38:15 2011 +0530 ath9k_hw: Fix incorrect Tx control power in AR9003 template commit 15052f81d255eac44e745bc630b36aa86779ad9d upstream. CTL power data incorrect in ctlPowerData_2G field of ar9300_eeprom. Setting incorrect CTL power in calibration is causing lower tx power. Tx power was reported as 3dBm while operating in channel 6 HT40+/ in channel 11 HT40- due to CTL powers in the calibration is set to zero. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 3e244baaa667ffb2bf7aa8f7d165d40e4899517d Author: Wey-Yi Guy Date: Mon Aug 8 20:53:58 2011 -0600 iwlagn: 5000 do not support idle mode commit f35291082294ca6737953bbe4e9491ede04ab822 upstream. 5000 series has issue supporting power save idle mode: commit 9dc2153315650eae220898668b6aa56a25c130be iwlwifi: always support idle mode for agn devices For agn devices, always support idle mode which help power consumption in idle unassociated state. the above changes cause 5000 become not stable when power management is "on" http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2312 Reported-by: Devin J. Pohly Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville Signed-off-by: Devin J. Pohly Signed-off-by: Greg Kroah-Hartman commit 9cf81e790a0d8709cbadbaff73ee40aa944e2ea1 Author: Neil Horman Date: Tue Jul 26 06:05:38 2011 +0000 net: Audit drivers to identify those needing IFF_TX_SKB_SHARING cleared [ Upstream commit 550fd08c2cebad61c548def135f67aba284c6162 ] After the last patch, We are left in a state in which only drivers calling ether_setup have IFF_TX_SKB_SHARING set (we assume that drivers touching real hardware call ether_setup for their net_devices and don't hold any state in their skbs. There are a handful of drivers that violate this assumption of course, and need to be fixed up. This patch identifies those drivers, and marks them as not being able to support the safe transmission of skbs by clearning the IFF_TX_SKB_SHARING flag in priv_flags Signed-off-by: Neil Horman CC: Karsten Keil CC: "David S. Miller" CC: Jay Vosburgh CC: Andy Gospodarek CC: Patrick McHardy CC: Krzysztof Halasa CC: "John W. Linville" CC: Greg Kroah-Hartman CC: Marcel Holtmann CC: Johannes Berg Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman commit c82ac94469ab54ca57b05fd85ce709530d44002f Author: Stanislaw Gruszka Date: Fri Jul 29 15:59:08 2011 +0200 ath9k: skip ->config_pci_powersave() if PCIe port has ASPM disabled commit d4930086bdd0c08a8b3a4d66a9c702297cb74a99 upstream. We receive many bug reports about system hang during suspend/resume when ath9k driver is in use. Adrian Chadd remarked that this problem happens on systems that have ASPM disabled. To do not hit the bug, skip doing ->config_pci_powersave magic if PCIe downstream port device, which ath9k device is connected to, has ASPM disabled. Bug was introduced by: commit 53bc7aa08b48e5cd745f986731cc7dc24eef2a9f Author: Vivek Natarajan Date: Mon Apr 5 14:48:04 2010 +0530 ath9k: Add support for newer AR9285 chipsets. Patch should address: https://bugzilla.kernel.org/show_bug.cgi?id=37462 https://bugzilla.kernel.org/show_bug.cgi?id=37082 https://bugzilla.redhat.com/show_bug.cgi?id=697157 however I did not receive confirmation about that, except from Camilo Mesias, whose system stops hang regularly with this patch (but still hangs from time to time, but this is probably some other bug). Tested-by: Camilo Mesias Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit cbd1db4bb30ca684d811f4b5bf5dc099aa582445 Author: Felix Fietkau Date: Wed Jul 27 15:01:02 2011 +0200 ath9k: initialize tx chainmask before testing channel tx power values commit c1227340ca65c2069222a956a68b6842d460c4f4 upstream. With an uninitialized chainmask, the per-channel power will only contain the power limits for a single chain instead of the combined tx power. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 965045249af402d12228f659cb12a8aead05bbe2 Author: Stanislaw Gruszka Date: Wed Jul 27 15:37:43 2011 +0200 iwlegacy: set tx power after rxon_assoc commit 17e859a899712d16c3e70b045d61ad9e02c53f8a upstream. If settings of tx power was deferred during scan or changing channel we have to setup them during commit rxon. Fix problem on 3945 (4965 already has this fix). Optimize code to apply tx settings only when tx power was actually changed. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit b7d9c861aec35bba7e809eef5b6a79fe3ff8b695 Author: Larry Finger Date: Fri Jul 29 10:53:12 2011 -0500 rtlwifi: Fix kernel oops on ARM SOC commit b6b67df3f24c45af0012ee3c8af2f62ca083ae18 upstream. This driver uses information from the self member of the pci_bus struct to get information regarding the bridge to which the PCIe device is attached. Unfortunately, this member is not established on all architectures, which leads to a kernel oops. Skipping the entire block that uses the self member to determine the bridge vendor will only affect RTL8192DE devices as that driver sets the ASPM support flag differently when the bridge vendor is Intel. If the self member is available, there is no functional change. This patch fixes Bugzilla No. 40212. Reported-by: Hubert Liao Signed-off-by: Larry Finger Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 07e1a60a732bbd4142d068302d09470d8441d1dc Author: Stanislaw Gruszka Date: Tue Aug 2 13:29:02 2011 +0200 rt2x00: fix usage of NULL queue commit 00898a47269ae5e6dda04defad00234b96692d95 upstream. We may call rt2x00queue_pause_queue(queue) with queue == NULL. Bug was introduced by commit 62fe778412b36791b7897cfa139342906fbbf07b "rt2x00: Fix stuck queue in tx failure case" . Signed-off-by: Stanislaw Gruszka Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit e10eea625f8c07e5c9ec205cf2c6854d9c536b67 Author: Stanislaw Gruszka Date: Sat Jul 30 13:32:56 2011 +0200 rt2x00: rt2800: fix zeroing skb structure commit b52398b6e4522176dd125722c72c301015d24520 upstream. We should clear skb->data not skb itself. Bug was introduced by: commit 0b8004aa12d13ec750d102ba4082a95f0107c649 "rt2x00: Properly reserve room for descriptors in skbs". Signed-off-by: Stanislaw Gruszka Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 2cd0312de9ac21f8a5d4456917144af608bc5a3c Author: Gertjan van Wingerde Date: Wed Jul 6 22:58:55 2011 +0200 rt2x00: Add device ID for RT539F device. commit 71e0b38c2914018b01f3f08b43ee9e3328197699 upstream. Reported-by: Wim Vander Schelden Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit ea530dbfb61aef022d468b597ce13c32da2fb944 Author: Sven Neumann Date: Tue Jul 12 15:52:07 2011 +0200 cfg80211: really ignore the regulatory request commit a203c2aa4cefccb879c879b8e1cad1a09a679e55 upstream. At the beginning of wiphy_update_regulatory() a check is performed whether the request is to be ignored. Then the request is sent to the driver nevertheless. This happens even if last_request points to NULL, leading to a crash in the driver: [] (lbs_set_11d_domain_info+0x28/0x1e4 [libertas]) from [] (wiphy_update_regulatory+0x4d0/0x4f4) [] (wiphy_update_regulatory+0x4d0/0x4f4) from [] (wiphy_register+0x354/0x420) [] (wiphy_register+0x354/0x420) from [] (lbs_cfg_register+0x80/0x164 [libertas]) [] (lbs_cfg_register+0x80/0x164 [libertas]) from [] (lbs_start_card+0x20/0x88 [libertas]) [] (lbs_start_card+0x20/0x88 [libertas]) from [] (if_sdio_probe+0x898/0x9c0 [libertas_sdio]) Fix this by returning early. Also remove the out: label as it is not any longer needed. Signed-off-by: Sven Neumann Cc: linux-wireless@vger.kernel.org Cc: Johannes Berg Cc: Daniel Mack Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 148a97cd068a58b6c8553aa5775caec7ac5a0545 Author: Rajkumar Manoharan Date: Thu Jul 7 23:33:39 2011 +0530 mac80211: Restart STA timers only on associated state commit 676b58c27475a9defccc025fea1cbd2b141ee539 upstream. A panic was observed when the device is failed to resume properly, and there are no running interfaces. ieee80211_reconfig tries to restart STA timers on unassociated state. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 11e46da8ca083512f90f8251b27194108814fe24 Author: Larry Finger Date: Sat Jul 9 13:15:58 2011 -0500 rtlwifi: rtl8192cu: Fix duplicate if test commit 1288aa4e80145d9f4196df32f717b4c1cf6aab61 upstream. A typo causes routine rtl92cu_phy_rf6052_set_cck_txpower() to test the same condition twice. The problem was found using cppcheck-1.49, and the proper fix was verified against the pre-mac80211 version of the code. Reported-by: David Binderman Signed-off-by: Larry Finger Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 79db0af8b41b543e1fa684a4eb5949663aa52ae4 Author: Senthil Balasubramanian Date: Tue Jul 12 00:02:56 2011 +0530 ath9k_hw: Fix incorrect key_miss handling commit 0472ade031b5c0c69c21cf96acf64c50eb9ba3c2 upstream. Decryping frames on key_miss handling shouldn't be done for Michael MIC failed frames as h/w would have already decrypted such frames successfully anyway. Also leaving CRC and PHY error(where the frame is going to be dropped anyway), we are left to prcoess Decrypt error for which s/w decrypt is selected anway and so having key_miss as a separate check doesn't serve anything. So making key_miss handling mutually exlusive with other RX status handling makes much more sense. This patch addresses an issue with STA not reporting MIC failure events resulting in STA being disconnected immediately. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 05e9a2f67849e427f8900bad0a3f2a939e8dd3d6 Author: Ilia Kolomisnky Date: Fri Jul 15 18:30:21 2011 +0000 Bluetooth: Fix crash with incoming L2CAP connections Another regression fix considering incomming l2cap connections with defer_setup enabled. In situations when incomming connection is extracted with l2cap_sock_accept, it's bt_sock info will have 'parent' member zerroed, but 'parent' may be used unconditionally in l2cap_conn_start() and l2cap_security_cfm() when defer_setup is enabled. Backtrace: [] (l2cap_security_cfm+0x0/0x2ac [bluetooth]) from [] (hci_event_pac ket+0xc2c/0x4aa4 [bluetooth]) [] (hci_event_packet+0x0/0x4aa4 [bluetooth]) from [] (hci_rx_task+0x cc/0x27c [bluetooth]) [] (hci_rx_task+0x0/0x27c [bluetooth]) from [] (tasklet_action+0xa0/ 0x15c) [] (tasklet_action+0x0/0x15c) from [] (__do_softirq+0x98/0x130) r7:00000101 r6:00000018 r5:00000001 r4:efc46000 [] (__do_softirq+0x0/0x130) from [] (do_softirq+0x4c/0x58) [] (do_softirq+0x0/0x58) from [] (run_ksoftirqd+0xb0/0x1b4) r4:efc46000 r3:00000001 [] (run_ksoftirqd+0x0/0x1b4) from [] (kthread+0x84/0x8c) r7:00000000 r6:c008f530 r5:efc47fc4 r4:efc41f08 [] (kthread+0x0/0x8c) from [] (do_exit+0x0/0x5f0) Signed-off-by: Ilia Kolomisnky Signed-off-by: Gustavo F. Padovan Signed-off-by: David S. Miller commit 9191e6ad897a8b4f0b89aea7c2d3c843f29a8630 Author: Gustavo F. Padovan Date: Fri Jul 15 18:30:20 2011 +0000 Bluetooth: Fix regression in L2CAP connection procedure Caused by the following commit, partially revert it. commit 9fa7e4f76f3658ba1f44fbdb95c77e7df3f53f95 Author: Gustavo F. Padovan Date: Thu Jun 30 16:11:30 2011 -0300 Bluetooth: Fix regression with incoming L2CAP connections PTS test A2DP/SRC/SRC_SET/TC_SRC_SET_BV_02_I revealed that ( probably after the df3c3931e commit ) the l2cap connection could not be established in case when the "Auth Complete" HCI event does not arive before the initiator send "Configuration request", in which case l2cap replies with "Command rejected" since the channel is still in BT_CONNECT2 state. Signed-off-by: Luiz Augusto von Dentz Signed-off-by: Gustavo F. Padovan Signed-off-by: David S. Miller commit 5d7d5d933256fc44f68e061ccd103b027fef0fc9 Merge: 8d86e5f 7686d1c Author: Linus Torvalds Date: Wed Jul 13 13:51:32 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: (21 commits) slip: fix wrong SLIP6 ifdef-endif placing natsemi: fix another dma-debug report sctp: ABORT if receive, reassmbly, or reodering queue is not empty while closing socket net: Fix default in docs for tcp_orphan_retries. hso: fix a use after free condition net/natsemi: Fix module parameter permissions XFRM: Fix memory leak in xfrm_state_update sctp: Enforce retransmission limit during shutdown mac80211: fix TKIP replay vulnerability mac80211: fix ie memory allocation for scheduled scans ssb: fix init regression of hostmode PCI core rtlwifi: rtl8192cu: Add new USB ID for Netgear WNA1000M ath9k: Fix tx throughput drops for AR9003 chips with AES encryption carl9170: add NEC WL300NU-AG usbid cfg80211: fix deadlock with rfkill/sched_scan by adding new mutex ath5k: fix incorrect use of drvdata in PCI suspend/resume code ath5k: fix incorrect use of drvdata in sysfs code Bluetooth: Fix memory leak under page timeouts Bluetooth: Fix regression with incoming L2CAP connections Bluetooth: Fix hidp disconnect deadlocks and lost wakeup ... commit 404ba3f029a53597928a20ce33351e77e3259840 Author: Joe Perches Date: Sun Jul 10 02:28:26 2011 -0700 ath5k: Add missing breaks in switch/case Signed-off-by: Joe Perches Acked-by: Pavel Roskin Signed-off-by: Linus Torvalds commit 8a98d935c4b8b3515d1403d150e282f95b9f558d Merge: f8d9605 3445951 Author: John W. Linville Date: Fri Jul 8 11:01:31 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into for-davem commit 34459512ffa7236c849466e3bd604801389734e1 Author: Johannes Berg Date: Thu Jul 7 18:24:54 2011 +0200 mac80211: fix TKIP replay vulnerability Unlike CCMP, the presence or absence of the QoS field doesn't change the encryption, only the TID is used. When no QoS field is present, zero is used as the TID value. This means that it is possible for an attacker to take a QoS packet with TID 0 and replay it as a non-QoS packet. Unfortunately, mac80211 uses different IVs for checking the validity of the packet's TKIP IV when it checks TID 0 and when it checks non-QoS packets. This means it is vulnerable to this replay attack. To fix this, use the same replay counter for TID 0 and non-QoS packets by overriding the rx->queue value to 0 if it is 16 (non-QoS). This is a minimal fix for now. I caused this issue in commit 1411f9b531f0a910cd1c85a337737c1e6ffbae6a Author: Johannes Berg Date: Thu Jul 10 10:11:02 2008 +0200 mac80211: fix RX sequence number check while fixing a sequence number issue (there, a separate counter needs to be used). Cc: stable@kernel.org Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1186980dafcd14d0e257a4dd6990cefdc6f3e362 Author: Luciano Coelho Date: Thu Jul 7 15:18:27 2011 +0300 mac80211: fix ie memory allocation for scheduled scans We were not allocating memory for the IEs passed in the scheduled_scan request and this was causing memory corruption (buffer overflow). Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 35cbcbc6f39da30c39bc0a1e679ec44506c4eb3d Author: Yoann DI-RUZZA Date: Fri Jul 1 08:47:17 2011 -0500 rtlwifi: rtl8192cu: Add new USB ID for Netgear WNA1000M Signed-off-by: Yoann DI-RUZZA Signed-off-by: Larry Finger Cc: Stable Signed-off-by: John W. Linville commit 4f6760b01bda625e9555e16d8e9ba8126a9c9498 Author: Rajkumar Manoharan Date: Fri Jul 1 18:37:33 2011 +0530 ath9k: Fix tx throughput drops for AR9003 chips with AES encryption While sending aggregated frames in AES, the AR5416 chips required additional padding b/w subframes. This workaround is not needed for edma (AR9003 family) chips. With this patch ~4Mbps thoughput improvement was observed in clear environment. Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 06a86ddbf557cb8a0f7ded54e872e9d456002d52 Author: Christian Lamparter Date: Thu Jun 30 21:06:17 2011 +0200 carl9170: add NEC WL300NU-AG usbid Cc: stable@kernel.org Reported-by: Mark Davis Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit c10841ca722a0bc960dc541c51582773f9a24f98 Author: Luciano Coelho Date: Thu Jun 30 08:32:41 2011 +0300 cfg80211: fix deadlock with rfkill/sched_scan by adding new mutex There was a deadlock when rfkill-blocking a wireless interface, because we were locking the rdev mutex on NETDEV_GOING_DOWN to stop sched_scans that were eventually running. The rfkill block code was already holding a mutex under rdev: kernel: ======================================================= kernel: [ INFO: possible circular locking dependency detected ] kernel: 3.0.0-rc1-00049-g1fa7b6a #57 kernel: ------------------------------------------------------- kernel: kworker/0:1/4525 is trying to acquire lock: kernel: (&rdev->mtx){+.+.+.}, at: [] cfg80211_netdev_notifier_call+0x131/0x5b0 kernel: kernel: but task is already holding lock: kernel: (&rdev->devlist_mtx){+.+.+.}, at: [] cfg80211_rfkill_set_block+0x4f/0xa0 kernel: kernel: which lock already depends on the new lock. To fix this, add a new mutex specifically for sched_scan, to protect the sched_scan_req element in the rdev struct, instead of using the global rdev mutex. Reported-by: Duane Griffin Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 37000b305bff81bb1ee2f7f37b1319b670a08f76 Author: Pavel Roskin Date: Wed Jun 29 15:39:43 2011 -0400 ath5k: fix incorrect use of drvdata in PCI suspend/resume code Signed-off-by: Pavel Roskin Cc: Signed-off-by: John W. Linville commit 95acbd432b4c6498c5b4b2f92e0e05e3c032d4f8 Author: Pavel Roskin Date: Wed Jun 29 15:39:37 2011 -0400 ath5k: fix incorrect use of drvdata in sysfs code Signed-off-by: Pavel Roskin Cc: Signed-off-by: John W. Linville commit f2529c2cc80b72fcf889a9399e522b9648ab4d9e Merge: a0b8de3 163f4da Author: John W. Linville Date: Tue Jul 5 14:33:09 2011 -0400 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/padovan/bluetooth-2.6 commit 163f4dabea4e3be485c17e8f08e3a6468ad31cbf Author: Tomas Targownik Date: Thu Jun 30 16:30:44 2011 -0300 Bluetooth: Fix memory leak under page timeouts If the remote device is not present, the connections attemp fails and the struct hci_conn was not freed Signed-off-by: Tomas Targownik Signed-off-by: Gustavo F. Padovan commit 9fa7e4f76f3658ba1f44fbdb95c77e7df3f53f95 Author: Gustavo F. Padovan Date: Thu Jun 30 16:11:30 2011 -0300 Bluetooth: Fix regression with incoming L2CAP connections PTS test A2DP/SRC/SRC_SET/TC_SRC_SET_BV_02_I revealed that ( probably after the df3c3931e commit ) the l2cap connection could not be established in case when the "Auth Complete" HCI event does not arive before the initiator send "Configuration request", in which case l2cap replies with "Command rejected" since the channel is still in BT_CONNECT2 state. Based on patch from: Ilia Kolomisnky Signed-off-by: Gustavo F. Padovan commit 7bb59df83b190817f56c4e2fec3078d99d906ad4 Author: Peter Hurley Date: Thu Jun 30 13:53:53 2011 -0400 Bluetooth: Fix hidp disconnect deadlocks and lost wakeup Partial revert of commit aabf6f89. When the hidp session thread was converted from kernel_thread to kthread, the atomic/wakeups were replaced with kthread_stop. kthread_stop has blocking semantics which are inappropriate for the hidp session kthread. In addition, the kthread signals itself to terminate in hidp_process_hid_control() - it cannot do this with kthread_stop(). Lastly, a wakeup can be lost if the wakeup happens between checking for the loop exit condition and setting the current state to TASK_INTERRUPTIBLE. (Without appropriate synchronization mechanisms, the task state should not be changed between the condition test and the yield - via schedule() - as this creates a race between the wakeup and resetting the state back to interruptible.) Signed-off-by: Peter Hurley Signed-off-by: Gustavo F. Padovan commit 690b0cacb6dbbbcb06b76139ab65e1bf3f63e7f1 Merge: 16adf5d a0b8de3 Author: John W. Linville Date: Thu Jun 30 11:26:04 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into for-davem commit a0b8de350be458b33248e48b2174d9af8a4c4798 Author: Eugene A. Shatokhin Date: Tue Jun 28 23:04:51 2011 -0400 ath5k: fix memory leak when fewer than N_PD_CURVES are in use We would free the proper number of curves, but in the wrong slots, due to a missing level of indirection through the pdgain_idx table. It's simpler just to try to free all four slots, so do that. Cc: stable@kernel.org Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit c31eb8e926835582cd186b33a7a864880a4c0c79 Author: Rajkumar Manoharan Date: Tue Jun 28 18:21:19 2011 +0530 ath9k: Fix suspend/resume when no interface is UP When no interface has been brought up, the chip's power state continued as AWAKE. So during resume, the chip never been powered up. Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 7ac28817536797fd40e9646452183606f9e17f71 Author: Dan Rosenberg Date: Fri Jun 24 08:38:05 2011 -0400 Bluetooth: Prevent buffer overflow in l2cap config request A remote user can provide a small value for the command size field in the command header of an l2cap configuration request, resulting in an integer underflow when subtracting the size of the configuration request header. This results in copying a very large amount of data via memcpy() and destroying the kernel heap. Check for underflow. Signed-off-by: Dan Rosenberg Cc: stable Signed-off-by: Gustavo F. Padovan commit 5ee0a58d8ca443e80ed8712c86c9938360b79cac Author: John W. Linville Date: Mon Jun 27 15:38:05 2011 -0400 iwlagn: use PCI_DMA_* for pci_* operations "iwlagn: map command buffers BIDI" uses the DMA_* enumerations for DMA directions, even though the pci_* DMA API is still in use. That patch was undoubtedly developed on top of "iwlagn: don't use the PCI wrappers for DMA operation", which is due in the next release. Signed-off-by: John W. Linville commit a66b98db570a638afd909459e1e6bfa272344bd3 Author: Arik Nemtsov Date: Thu Jun 23 00:00:24 2011 +0300 mac80211: fix rx->key NULL dereference during mic failure Sometimes when reporting a MIC failure rx->key may be unset. This code path is hit when receiving a packet meant for a multicast address, and decryption is performed in HW. Fortunately, the failing key_idx is not used for anything up to (and including) usermode, so we allow ourselves to drop it on the way up when a key cannot be retrieved. Signed-off-by: Arik Nemtsov Cc: stable@kernel.org Signed-off-by: John W. Linville commit 8fcbd4dc7a1b338b393dcd6869deb1725cf1a9f3 Author: Evgeni Golov Date: Sun Jun 12 05:34:31 2011 -0700 iwlagn: fix *_UCODE_API_MAX output in the firmware field Currently (3.0-rc2), modinfo iwlagn shows: firmware: iwlwifi-5150-IWL5150_UCODE_API_MAX.ucode firmware: iwlwifi-5000-IWL5000_UCODE_API_MAX.ucode firmware: iwlwifi-6000g2b-IWL6000G2_UCODE_API_MAX.ucode firmware: iwlwifi-6000g2a-IWL6000G2_UCODE_API_MAX.ucode firmware: iwlwifi-6050-IWL6050_UCODE_API_MAX.ucode firmware: iwlwifi-6000-IWL6000_UCODE_API_MAX.ucode firmware: iwlwifi-100-IWL100_UCODE_API_MAX.ucode firmware: iwlwifi-1000-IWL1000_UCODE_API_MAX.ucode firmware: iwlwifi-105-IWL105_UCODE_API_MAX.ucode firmware: iwlwifi-2030-IWL2030_UCODE_API_MAX.ucode firmware: iwlwifi-2000-IWL2000_UCODE_API_MAX.ucode which is obviously wrong, the user should not see the *_UCODE_API_MAX macros but the actual ucode API versions here. The problem are the #define *_MODULE_FIRMWARE(api) *_FW_PRE #api ".ucode" which do not expand api correctly (because this is a macro itself). Fixed by using __stringify() from linux/stringify.h. Further information about macro stringification can be found here: http://gcc.gnu.org/onlinedocs/cpp/Stringification.html Signed-off-by: Evgeni Golov Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit ed9ed3b82b12ac70aaa654ef32ebf393ec3179e0 Merge: 9935d12 e815407 Author: John W. Linville Date: Mon Jun 27 14:26:04 2011 -0400 Merge branch 'wireless-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit e815407d395e0b7fd1aa9145d9d0c391191b833c Author: Johannes Berg Date: Mon Jun 27 07:54:49 2011 -0700 iwlagn: map command buffers BIDI Evidently, the device sometimes wants to write back to command buffers, even if I see no reason why it should. Allow it to do that. Tested-by: Andy Lutomirski Tested-by: Kyle McMartin Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 1107a08a1a3e0f54d535d37ee0c4192acce6a7f3 Author: Johannes Berg Date: Mon Jun 27 07:48:52 2011 -0700 iwlagn: fix cmd queue unmap When we stop the device while a command is in flight that uses multiple TBs, we can leak the DMA buffers for the second and higher TBs. Fix this by using iwlagn_unmap_tfd() as we do when we normally recover the entry. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 5306c0807491e891125f4fb08b04340c91530f57 Author: Johannes Berg Date: Tue Jun 21 08:28:31 2011 -0700 iwlagn: fix change_interface for P2P types When an interface changes type to a P2P type, iwlagn will erroneously set vif->type to the P2P type and not the reduced/split type. Fix this by keeping "newtype" in another variable for the assignment to vif->type. Cc: stable@kernel.org [2.6.38+] Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 77e569edf5a33cd94dac67c714cf736675b0e2da Author: Emmanuel Grumbach Date: Tue Jun 21 11:03:01 2011 -0700 iwlagn: Fix a bug introduced by the HUGE command removal Since we don't have HUGE command any more, there is no point in adding 1 to the num of slots in the command queue. Doing so is buggy and might corrupt memory. Bug introduced by 4ce7cc2b09553a91d4aea014c39674685715173a iwlagn: support multiple TBs per command Cc: Johannes Berg Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit acc468f5f9616ba564b772ac8a3aef218bff6bb3 Merge: 5c18e80 9935d12 Author: John W. Linville Date: Fri Jun 24 14:00:24 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into for-davem commit 9935d12651c9e54ad266e17cd542ec717ccd0fc8 Author: Larry Finger Date: Tue Jun 21 10:48:31 2011 -0500 rtl8192cu: Fix missing firmware load In commit 3ac5e26a1e935469a8bdae1d624bc3b59d1fcdc5 entitled "rtlwifi: rtl8192c-common: Change common firmware routines for addition of rtl8192se and rtl8192de", the firmware loading code was moved. Unfortunately, some necessary code was dropped for rtl8192cu. The dmesg output shows the following: rtl8192c: Loading firmware file rtlwifi/rtl8192cufw.bin rtl8192c_common:_rtl92c_fw_free_to_go():<0-0> Polling FW ready fail!! REG_MCUFWDL:0x00000006 . rtl8192c_common:rtl92c_download_fw():<0-0> Firmware is not ready to run! In addition, the interface will authenticate and associate, but cannot transfer data. This is reported as Kernel Bug #38012. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit fa7ccfb17033bfb5bca86f6b909cab0b807efbc0 Author: Larry Finger Date: Sat Jun 18 22:49:53 2011 -0500 rtlwifi: rtl8192se: Handle duplicate PCI ID 0x10ec:0x8192 conflict with r8192e_pci There are two devices with PCI ID 0x10ec:0x8192, namely RTL8192E and RTL8192SE. The method of distinguishing them is by the revision ID at offset 0x8 of the PCI configuration space. If the value is 0x10, then the device uses rtl8192se for a driver. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 40fad6bad416fe337a4be194f524dd941e423cb9 Merge: 3373b28 3306054 Author: John W. Linville Date: Mon Jun 20 14:54:20 2011 -0400 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/padovan/bluetooth-2.6 commit 82362ccbf259b960192019deb562bf84549e3d1d Merge: 118133e 3373b28 Author: John W. Linville Date: Fri Jun 17 12:40:36 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into for-davem commit 330605423ca6eafafb8dcc27502bce1c585d1b06 Author: Ilia Kolomisnky Date: Wed Jun 15 06:52:26 2011 +0300 Bluetooth: Fix L2CAP connection establishment In hci_conn_security ( which is used during L2CAP connection establishment ) test for HCI_CONN_ENCRYPT_PEND state also sets this state, which is bogus and leads to connection time-out on L2CAP sockets in certain situations (especially when using non-ssp devices ) Signed-off-by: Ilia Kolomisnky Signed-off-by: Gustavo F. Padovan commit 3373b28e5af4a0b3c6cb39372581dcc1e41322ff Author: Nishant Sarmukadam Date: Mon Jun 13 16:26:15 2011 +0530 mwl8k: Tell firmware to generate CCMP header Post commit e4eefec73ea0a740bfe8736e3ac30dfe92fe392b, the stack is not generating the CCMP header for us anymore. This broke the CCMP functionality since firmware was not doing this either. Set a flag to tell the firmware to generate the CCMP header Signed-off-by: Nishant Sarmukadam Signed-off-by: John W. Linville commit a7b21165c06f28230768d203285d06cac4f18f0b Author: Yogesh Ashok Powar Date: Mon Jun 13 09:49:27 2011 +0530 mwifiex: Fixing NULL pointer dereference Following OOPS was seen when booting with card inserted BUG: unable to handle kernel NULL pointer dereference at 0000004c IP: [] cfg80211_get_drvinfo+0x21/0x115 [cfg80211] *pde = 00000000 Oops: 0000 [#1] SMP Modules linked in: iwl3945 iwl_legacy mwifiex_sdio mac80211 11 sdhci_pci sdhci pl2303 'ethtool' on the mwifiex device returned this OOPS as wiphy_dev() returned NULL. Adding missing set_wiphy_dev() call to fix the problem. Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit df3c3931ec58cca3409c71b18ad6da0cd71fe163 Author: Johan Hedberg Date: Tue Jun 14 12:48:19 2011 +0300 Bluetooth: Fix accepting connect requests for defer_setup When authentication completes we shouldn't blindly accept any pending L2CAP connect requests. If the socket has the defer_setup feature enabled it should still wait for user space acceptance of the connect request. The issue only happens for non-SSP connections since with SSP the L2CAP Connect request may not be sent for non-SDP PSMs before authentication has completed successfully. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 6fdf658c9a0e51e6663f2769f6d310c2843a862b Author: Luiz Augusto von Dentz Date: Mon Jun 13 15:37:35 2011 +0300 Bluetooth: Fix L2CAP security check With older userspace versions (using hciops) it might not have the key type to check if the key has sufficient security for any security level so it is necessary to check the return of hci_conn_auth to make sure the connection is authenticated Signed-off-by: Luiz Augusto von Dentz Acked-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit d6124baf8a098aacdbb85ff5b171da68dad6930e Merge: 51e6525 7f4f057 Author: John W. Linville Date: Fri Jun 10 15:05:34 2011 -0400 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/padovan/bluetooth-2.6 commit 7f4f0572df6c8eaa6a587bc212b0806ff37380dd Author: Ville Tervo Date: Fri May 27 11:16:21 2011 +0300 Bluetooth: Do not send SET_EVENT_MASK for 1.1 and earlier devices Some old hci controllers do not accept any mask so leave the default mask on for these devices. < HCI Command: Set Event Mask (0x03|0x0001) plen 8 Mask: 0xfffffbff00000000 > HCI Event: Command Complete (0x0e) plen 4 Set Event Mask (0x03|0x0001) ncmd 1 status 0x12 Error: Invalid HCI Command Parameters Signed-off-by: Ville Tervo Tested-by: Corey Boyle Tested-by: Ed Tomlinson Signed-off-by: Gustavo F. Padovan commit 26e7acf315ba5fc5ac4e7cbdb422a345e59898bd Author: David Miller Date: Thu May 19 17:37:45 2011 -0400 Bluetooth: Do not ignore errors returned from strict_strtol() Signed-off-by: David S. Miller Signed-off-by: Gustavo F. Padovan commit 0da67bed835fdde68ca0e924d2a2d6ac82c70833 Author: Luiz Augusto von Dentz Date: Thu May 12 11:13:15 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 8d03e971cf403305217b8e62db3a2e5ad2d6263f Author: Filip Palian Date: Thu May 12 19:32:46 2011 +0200 Bluetooth: l2cap and rfcomm: fix 1 byte infoleak to userspace. Structures "l2cap_conninfo" and "rfcomm_conninfo" have one padding byte each. This byte in "cinfo" is copied to userspace uninitialized. Signed-off-by: Filip Palian Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit e23535ca11525945bd7fca05ac5941efba232498 Merge: 0c1ad04 51e6525 Author: John W. Linville Date: Thu Jun 9 14:23:30 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into for-davem commit 51e65257142a87fe46a1ce5c35c86c5baf012614 Author: Stanislaw Gruszka Date: Wed Jun 8 15:26:31 2011 +0200 iwlegacy: fix channel switch locking We use priv->mutex to avoid race conditions between chswitch_done() and mac_channel_switch(), when marking channel switch in progress. But chswitch_done() can be called in atomic context from rx_csa() or with mutex already taken from commit_rxon(). To fix remove mutex from chswitch_done() and use atomic bitops for marking channel switch pending. Cc: stable@kernel.org # 2.6.39+ Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit f3209bea110cade12e2b133da8b8499689cb0e2e Author: Johannes Berg Date: Wed Jun 8 13:27:29 2011 +0200 mac80211: fix IBSS teardown race Ignacy reports that sometimes after leaving an IBSS joining a new one didn't work because there still were stations on the list. He fixed it by flushing stations when attempting to join a new IBSS, but this shouldn't be happening in the first case. When I looked into it I saw a race condition in teardown that could cause stations to be added after flush, and thus cause this situation. Ignacy confirms that after applying my patch he hasn't seen this happen again. Reported-by: Ignacy Gawedzki Debugged-by: Ignacy Gawedzki Tested-by: Ignacy Gawedzki Cc: stable@kernel.org Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 43e4e0b94984b45d52048e3ac027cac15c718b65 Author: Wey-Yi Guy Date: Fri May 27 08:40:24 2011 -0700 iwlagn: send tx power command if defer cause by RXON not match During channge channel, tx power will not send to uCode, the tx power command should send after scan complete. but should also can send after RXON command. Stable fix identified by Stanislaw Gruszka . Signed-off-by: Wey-Yi Guy Cc: stable@kernel.org [2.6.38+] Signed-off-by: John W. Linville commit 57a27e1d6a3bb9ad4efeebd3a8c71156d6207536 Author: Luciano Coelho Date: Tue Jun 7 20:42:26 2011 +0300 nl80211: fix overflow in ssid_len When one of the SSID's length passed in a scan or sched_scan request is larger than 255, there will be an overflow in the u8 that is used to store the length before checking. This causes the check to fail and we overrun the buffer when copying the SSID. Fix this by checking the nl80211 attribute length before copying it to the struct. This is a follow up for the previous commit 208c72f4fe44fe09577e7975ba0e7fa0278f3d03, which didn't fix the problem entirely. Reported-by: Ido Yariv Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 6633d649788e72400b02098bd389585e2c56a557 Author: Mike McCormack Date: Tue Jun 7 08:58:31 2011 +0900 rtlwifi: Avoid modifying skbs that are resubmitted In the case we fail to allocate a new skb, the old skb should be resubmitted unmodified. Fixes bug introduced in a9e12869758430424804. Signed-off-by: Mike McCormack Acked-by: Larry Finger Signed-off-by: John W. Linville commit 4fea2e0e59dab863a63fa1638b86d850896cd861 Author: Mike McCormack Date: Tue May 31 08:50:24 2011 +0900 rtlwifi: Fix logic in rx_interrupt Should pass along packet if there's no CRC and no hardware error. Signed-off-by: Mike McCormack Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit bb77f6341728624314f488ebd8b4c69f2caa33ea Author: John W. Linville Date: Tue Jun 7 14:03:08 2011 -0400 Revert "mac80211: stop queues before rate control updation" This reverts commit 1d38c16ce4156f63b45abbd09dd28ca2ef5172b4. The mac80211 maintainer raised complaints about abuse of the CSA stop reason, and about whether this patch actually serves its intended purpose at all. Signed-off-by: John W. Linville commit 51892dbbd511911c0f965a36b431fc3e8f1e4f8a Author: Stanislaw Gruszka Date: Mon Jun 6 15:11:30 2011 +0200 iwl4965: set tx power after rxon_assoc Setting tx power can be deferred during scan or changing channel. If after that correct tx power settings will not be sent to device, we can observe transmission problems and timeouts. Force to send tx power settings also after partial rxon change, to assure device always be configured with up-to-date settings. Resolves: https://bugzilla.kernel.org/show_bug.cgi?id=36492 Cc: stable@kernel.org # 2.6.39+ Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 3bb42a64960253353278876ca8da6b0a7d3bea87 Author: Stanislaw Gruszka Date: Sat Jun 4 16:48:54 2011 +0200 rt2x00: fix rmmod crash Avoid queue and run autowakeup_work when device is not present anymore. That prevent rmmod and device remove crash introduced by: commit 1c0bcf89d85cc97a0d9ce4cd909351a81fa4fdde Author: Ivo van Doorn Date: Sat Apr 30 17:18:18 2011 +0200 rt2x00: Add autowake support for USB hardware Signed-off-by: Stanislaw Gruszka Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 42b70a5f6d18165a075d189d1bee82fad7cdbf29 Author: Stanislaw Gruszka Date: Thu May 26 17:14:22 2011 +0200 iwlagn: use cts-to-self protection on 5000 adapters series This patch fixes 802.11n stability and performance regression we have since 2.6.35. It boost performance on my 5GHz N-only network from about 5MB/s to 8MB/s. Similar percentage boost can be observed on 2.4 GHz. These are test results of 5x downloading of approximately 700MB iso image: vanilla: 5.27 5.22 4.94 4.47 5.31 ; avr 5.0420 std 0.35110 patched: 8.07 7.95 8.06 7.99 7.96 ; avr 8.0060 std 0.055946 This was achieved with NetworkManager configured to do not perform periodical scans, by configuring constant BSSID. With periodical scans, after some time, performance downgrade to unpatched driver level, like in example below: patched: 7.40 7.61 4.28 4.37 4.80 avr 5.6920 std 1.6683 However patch still make better here, since similar test on unpatched driver make link disconnects with below messages after some time: wlan1: authenticate with 00:23:69:35:d1:3f (try 1) wlan1: authenticate with 00:23:69:35:d1:3f (try 2) wlan1: authenticate with 00:23:69:35:d1:3f (try 3) wlan1: authentication with 00:23:69:35:d1:3f timed out On 2.6.35 kernel patch helps against connection hangs with messages: iwlagn 0000:20:00.0: queue 10 stuck 3 time. Fw reload. iwlagn 0000:20:00.0: On demand firmware reload iwlagn 0000:20:00.0: Stopping AGG while state not ON or starting Cc: stable@kernel.org # 2.6.35+ Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit ab6a44ce1da48d35fe7ec95fa068aa617bd7e8dd Author: John W. Linville Date: Mon Jun 6 14:35:27 2011 -0400 Revert "mac80211: Skip tailroom reservation for full HW-crypto devices" This reverts commit aac6af5534fade2b18682a0b9efad1a6c04c34c6. Conflicts: net/mac80211/key.c That commit has a race that causes a warning, as documented in the thread here: http://marc.info/?l=linux-wireless&m=130717684914101&w=2 Signed-off-by: John W. Linville commit c11114717a66455de9fbc3ea69ae00d1aace3c14 Merge: 5fb9fb1 d2ac49f Author: John W. Linville Date: Mon Jun 6 13:58:21 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into for-davem commit 0e833d8cfcb52b5ee3ead22cabbab81dea32c3f0 Merge: 4f1ba49 7b29dc2 Author: Linus Torvalds Date: Sat Jun 4 23:16:00 2011 +0900 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: (40 commits) tg3: Fix tg3_skb_error_unmap() net: tracepoint of net_dev_xmit sees freed skb and causes panic drivers/net/can/flexcan.c: add missing clk_put net: dm9000: Get the chip in a known good state before enabling interrupts drivers/net/davinci_emac.c: add missing clk_put af-packet: Add flag to distinguish VID 0 from no-vlan. caif: Fix race when conditionally taking rtnl lock usbnet/cdc_ncm: add missing .reset_resume hook vlan: fix typo in vlan_dev_hard_start_xmit() net/ipv4: Check for mistakenly passed in non-IPv4 address iwl4965: correctly validate temperature value bluetooth l2cap: fix locking in l2cap_global_chan_by_psm ath9k: fix two more bugs in tx power cfg80211: don't drop p2p probe responses Revert "net: fix section mismatches" drivers/net/usb/catc.c: Fix potential deadlock in catc_ctrl_run() sctp: stop pending timers and purge queues when peer restart asoc drivers/net: ks8842 Fix crash on received packet when in PIO mode. ip_options_compile: properly handle unaligned pointer iwlagn: fix incorrect PCI subsystem id for 6150 devices ... commit 55db4c64eddf37e31279ec15fe90314713bc9cfa Author: Linus Torvalds Date: Sat Jun 4 06:33:24 2011 +0900 Revert "tty: make receive_buf() return the amout of bytes received" This reverts commit b1c43f82c5aa265442f82dba31ce985ebb7aa71c. It was broken in so many ways, and results in random odd pty issues. It re-introduced the buggy schedule_work() in flush_to_ldisc() that can cause endless work-loops (see commit a5660b41af6a: "tty: fix endless work loop when the buffer fills up"). It also used an "unsigned int" return value fo the ->receive_buf() function, but then made multiple functions return a negative error code, and didn't actually check for the error in the caller. And it didn't actually work at all. BenH bisected down odd tty behavior to it: "It looks like the patch is causing some major malfunctions of the X server for me, possibly related to PTYs. For example, cat'ing a large file in a gnome terminal hangs the kernel for -minutes- in a loop of what looks like flush_to_ldisc/workqueue code, (some ftrace data in the quoted bits further down). ... Some more data: It -looks- like what happens is that the flush_to_ldisc work queue entry constantly re-queues itself (because the PTY is full ?) and the workqueue thread will basically loop forver calling it without ever scheduling, thus starving the consumer process that could have emptied the PTY." which is pretty much exactly the problem we fixed in a5660b41af6a. Milton Miller pointed out the 'unsigned int' issue. Reported-by: Benjamin Herrenschmidt Reported-by: Milton Miller Cc: Stefan Bigler Cc: Toby Gray Cc: Felipe Balbi Cc: Greg Kroah-Hartman Cc: Alan Cox Signed-off-by: Linus Torvalds commit d2ac49fe3c7c4730323c1042fb53a2e008643b6a Author: Daniel Drake Date: Fri Jun 3 00:13:26 2011 +0100 libertas_sdio: handle spurious interrupts Commit 06e8935febe687e2a561707d4c7ca4245d261dbe adds an IRQ handling optimization for single-function SDIO cards like this one, but at the same time exposes a small hardware bug. During hardware init, an interrupt is generated with (apparently) no source. Previously, mmc threw this interrupt away, but now (due to the optimization), the mmc layer passes this onto libertas, before it is ready (and before it has enabled interrupts), causing a crash. Work around this hardware bug by registering the IRQ handler later and making it capable of handling interrupts with no cause. The change that makes the IRQ handler registration happen later actually eliminates the spurious interrupt as well. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 59e7e7078d6c2c6294caf454c6e3695f9d3e46a2 Author: Thadeu Lima de Souza Cascardo Date: Thu Jun 2 17:28:37 2011 -0300 mac80211: call dev_alloc_name before copying name to sdata This partially reverts 1c5cae815d19ffe02bdfda1260949ef2b1806171, because the netdev name is copied into sdata->name, which is used for debugging messages, for example. Otherwise, we get messages like this: wlan%d: authenticated Signed-off-by: Thadeu Lima de Souza Cascardo Cc: Jiri Pirko Cc: David S. Miller Cc: Johannes Berg Cc: "John W. Linville" Signed-off-by: John W. Linville commit 6f213ff1919fab6f8244ceae55631b5d6ef750a7 Author: Stanislaw Gruszka Date: Thu Jun 2 18:17:15 2011 +0200 iwlagn: fix channel switch locking We use priv->mutex to avoid race conditions between iwl_chswitch_done() and iwlagn_mac_channel_switch(), when marking channel switch in progress. But iwl_chswitch_done() can be called in atomic context from iwl_rx_csa() or with mutex already taken from iwlagn_commit_rxon(). These bugs were introduced by: commit 79d07325502e73508f917475bc1617b60979dd94 Author: Wey-Yi Guy Date: Thu May 6 08:54:11 2010 -0700 iwlwifi: support channel switch offload in driver To fix remove mutex from iwl_chswitch_done() and use atomic bitops for marking channel switch pending. Also remove iwl2030_hw_channel_switch() since 2000 series adapters are 2.4GHz only devices. Cc: stable@kernel.org # 2.6.36+ Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit a99168eece601d2a79ecfcb968ce226f2f30cf98 Author: Nick Kossifidis Date: Thu Jun 2 03:09:48 2011 +0300 ath5k: Disable fast channel switching by default Disable fast channel change by default on AR2413/AR5413 due to some bug reports (it still works for me but it's better to be safe). Add a module parameter "fastchanswitch" in case anyone wants to enable it and play with it. Signed-off-by: Nick Kossifidis Tested-by: Sedat Dilek Signed-off-by: John W. Linville commit dfe21582ac5ebc460dda98c67e8589dd506d02cd Author: Stanislaw Gruszka Date: Wed Jun 1 17:17:57 2011 +0200 iwl4965: correctly validate temperature value In some cases we can read wrong temperature value. If after that temperature value will not be updated to good one, we badly configure tx power parameters and device is unable to send a data. Resolves: https://bugzilla.kernel.org/show_bug.cgi?id=35932 Cc: stable@kernel.org # 2.6.39+ Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit a7567b2059020bf3fa96c389ec25eed8e28ad4ba Author: Johannes Berg Date: Wed Jun 1 08:29:54 2011 +0200 bluetooth l2cap: fix locking in l2cap_global_chan_by_psm read_lock() ... read_unlock_bh() is clearly bogus. This was broken by commit 23691d75cdc69c3b285211b4d77746aa20a17d18 Author: Gustavo F. Padovan Date: Wed Apr 27 18:26:32 2011 -0300 Bluetooth: Remove l2cap_sk_list Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 21fdc87248d1d28492c775e05fa92b3c8c7bc8db Author: Daniel Halperin Date: Tue May 31 11:59:30 2011 -0700 ath9k: fix two more bugs in tx power This is the same fix as commit 841051602e3fa18ea468fe5a177aa92b6eb44b56 Author: Matteo Croce Date: Fri Dec 3 02:25:08 2010 +0100 The ath9k driver subtracts 3 dBm to the txpower as with two radios the signal power is doubled. The resulting value is assigned in an u16 which overflows and makes the card work at full power. in two more places. I grepped the ath tree and didn't find any others. Cc: stable@kernel.org Signed-off-by: Daniel Halperin Signed-off-by: John W. Linville commit 333ba7325213f0a09dfa5ceeddb056d6ad74b3b5 Author: Eliad Peller Date: Sun May 29 15:53:20 2011 +0300 cfg80211: don't drop p2p probe responses Commit 0a35d36 ("cfg80211: Use capability info to detect mesh beacons") assumed that probe response with both ESS and IBSS bits cleared means that the frame was sent by a mesh sta. However, these capabilities are also being used in the p2p_find phase, and the mesh-validation broke it. Rename the WLAN_CAPABILITY_IS_MBSS macro, and verify that mesh ies exist before assuming this frame was sent by a mesh sta. Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit 1144181c1bc054dc5e001a6f10b4820167e6c883 Author: Wey-Yi Guy Date: Mon May 30 09:32:52 2011 -0700 iwlagn: fix incorrect PCI subsystem id for 6150 devices For 6150 devices, modify the supported PCI subsystem ID. Cc: stable@kernel.org Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 59342f6a6bc35df623fb44784daa5e1077063b8f Author: Jussi Kivilinna Date: Mon May 30 10:15:47 2011 +0300 zd1211rw: fix to work on OHCI zd1211 devices register 'EP 4 OUT' endpoint as Interrupt type on USB 2.0: Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 1 However on USB 1.1 endpoint becomes Bulk: Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Commit 37939810b937aba830dd751291fcdc51cae1a6cb assumed that endpoint is always interrupt type and changed usb_bulk_msg() calls to usb_interrupt_msg(). Problem here is that usb_bulk_msg() on interrupt endpoint selfcorrects the call and changes requested pipe to interrupt type (see usb_bulk_msg). However with usb_interrupt_msg() on bulk endpoint does not correct the pipe type to bulk, but instead URB is submitted with interrupt type pipe. So pre-2.6.39 used usb_bulk_msg() and therefore worked with both endpoint types, however in 2.6.39 usb_interrupt_msg() with bulk endpoint causes ohci_hcd to fail submitted URB instantly with -ENOSPC and preventing zd1211rw from working with OHCI. Fix this by detecting endpoint type and using correct endpoint/pipe types for URB. Also fix asynchronous zd_usb_iowrite16v_async() to use right URB type on 'EP 4 OUT'. Cc: stable@kernel.org Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 66870b1ccd5c1460e437c18b0026e2dcaab1ece9 Author: Luciano Coelho Date: Fri May 27 15:34:48 2011 +0300 wl12xx: fix oops in sched_scan when forcing a passive scan Fix kernel oops when trying to use passive scheduled scans. The reason was that in passive scans there are no SSIDs, so there was a NULL pointer dereference. To solve the problem, we now check the number of SSIDs provided in the sched_scan request and only access the list if there's one or more (ie. passive scan is not forced). We also force all the channels to be passive by adding the IEEE80211_CHAN_PASSIVE_SCAN flag locally before the checks in the wl1271_scan_get_sched_scan_channels() function. Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 50a66d7f04adbfab9db55144c58dc693358cb635 Author: Luciano Coelho Date: Fri May 27 15:34:47 2011 +0300 wl12xx: add separate config value for DFS dwell time on sched scan Use a different value for DFS dwell time when performing a scheduled scan. Previously we were using the same value as for normal passive scans. This adds some flexibility between these two different types of passive scan. For now we use 150 TUs for DFS channel dwell time. This may need to be fine-tuned in the future. Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 2497a246e880d1fb537f754f551177c01fa39242 Author: Luciano Coelho Date: Fri May 27 15:34:46 2011 +0300 wl12xx: fix DFS channels handling in scheduled scan DFS channels were never getting included in the scheduled scans, because they always contain the passive flag as well and the call was asking for DFS and active channels. Fix this by ignoring the passive flag when collecting DFS channels. Also, move the DFS channels in the channel list before the 5GHz active channels (this was implemented in the FW differently than specified). Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit dd08682150e1815fe5cdd0673a2f2e9cd2d55a7a Author: Luciano Coelho Date: Fri May 27 15:34:45 2011 +0300 wl12xx: fix passive and radar channel generation for scheduled scan We were comparing bitwise AND results with a boolean, so when the boolean was set to true, it was not matching as it should. Fix this by booleanizing the bitwise AND results with !!. Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 71005be40a7fc95edda3cc462361ce0243e4f5fa Author: Daniel Drake Date: Thu May 26 21:31:08 2011 +0100 libertas: Set command sequence number later to ensure consistency Before this patch, the command sequence number is being set before lbs_queue_cmd() adds the command to the queue. However, lbs_queue_cmd() sometimes forces commands to queue-jump (e.g. CMD_802_11_WAKEUP_CONFIRM). It currently does this without considering that sequence numbers might need adjusting to keep things running in order. Fix this by setting the sequence number at a later stage, just before we're actually submitting the command to the hardware. Also fixes a possible race where seqnum was being modified outside of the driver lock. Signed-off-by: Daniel Drake Acked-by: Dan Williams Signed-off-by: John W. Linville commit 11ad2f52826ac6d58d6780d3d8a3e098c88d9142 Merge: c5c177b 1df85ec Author: John W. Linville Date: Fri May 27 15:18:35 2011 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem commit 1df85ecec36ad5da3f0165760704310d6c03f65f Author: Adrian Chadd Date: Fri May 27 01:08:04 2011 +0800 ath9k: Fix AR9287 calibration The AR9287 calibration code was not being called because of an incorrect MAC revision check. This forced the AR9287 to use the AR9285 initial calibration code and bypass the AR9287 code entirely. Signed-off-by: Adrian Chadd Signed-off-by: John W. Linville commit 64c754ed3b0009e4fa248f739000dc234eb0d2c9 Author: Jesper Juhl Date: Thu May 26 10:53:17 2011 +0200 mac80211: Remove duplicate linux/slab.h include from net/mac80211/scan.c Commit 79f460ca49d8d5700756ab7071c951311c7f29cc add a duplicate linux/slab.h include to net/mac80211/scan.c - remove it. Signed-off-by: Jesper Juhl Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit a331400bf01231253a0d9ab211c83212d2ac4edb Author: Eliad Peller Date: Thu May 26 11:46:37 2011 +0300 mac80211: clear local->ps_data on disassoc local->ps_data wasn't cleared on disassociation, which (in some corner cases) caused reconnections to enter psm before association completed. Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit 64bd0821a3b66c3307d7a4ee5523e3e35ec2df0e Author: Tao Ma Date: Wed May 25 09:44:05 2011 +0800 wireless: Default to 'n' for 2 new added devices in Kconfig. We make oldconfig every time when a new kernel arrives, but if we don't have such a device(I guess this is the most common case for a new device), the default value should be 'n' so that the kernel size we build doesn't grow up too much quickly. For anyone who has the device, it is OK for them to turn it on by themselves. Cc: "John W. Linville" Cc: Johannes Berg Signed-off-by: Tao Ma Signed-off-by: John W. Linville commit aac11c1b351413aa3412e258e2b2dcba31777209 Author: Stanislaw Gruszka Date: Tue May 24 16:28:55 2011 +0200 iwl4965: fix 5GHz operation rx_status.band is used uninitialized, what disallow to work on 5GHz . Cc: stable@kernel.org # 2.6.39+ Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 1d38c16ce4156f63b45abbd09dd28ca2ef5172b4 Author: Rajkumar Manoharan Date: Fri May 20 17:52:15 2011 +0530 mac80211: stop queues before rate control updation Stop tx queues before updating rate control to ensure proper rate selection. Otherwise packets can be transmitted in 40 Mhz whereas hw is configured in HT20. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 41e2b05b9598d6bdf91fc20280bfc538d853f769 Author: Rajkumar Manoharan Date: Fri May 20 17:52:14 2011 +0530 ath9k: set 40 Mhz rate only if hw is configured in ht40 Whenever there is a channel width change from 40 Mhz to 20 Mhz, the hardware is reconfigured to ht20. Meantime before doing the rate control updation, the packets are being transmitted are selected rate with IEEE80211_TX_RC_40_MHZ_WIDTH. While transmitting ht40 rate packets in ht20 mode is causing baseband panic with AR9003 based chips. ==== BB update: BB status=0x02001109 ==== ath: ** BB state: wd=1 det=1 rdar=0 rOFDM=1 rCCK=1 tOFDM=0 tCCK=0 agc=2 src=0 ** ath: ** BB WD cntl: cntl1=0xffff0085 cntl2=0x00000004 ** ath: ** BB mode: BB_gen_controls=0x000033c0 ** ath: ** BB busy times: rx_clear=99%, rx_frame=0%, tx_frame=0% ** ath: ==== BB update: done ==== Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 51ac8cbb2176dc159ee910d7074c6796079c3068 Author: Rajkumar Manoharan Date: Fri May 20 17:52:13 2011 +0530 ath9k_hw: disable phy restart on baseband panic caused by RXSM While receiving unsupported rate frame rx state machine gets into a state 0xb and if phy_restart happens in that state, BB would go hang. If RXSM is in 0xb state after first bb panic, ensure to disable the phy_restart. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit a4d86d953b8593791cb29cf2acffd48f9ee6c4f9 Author: Rajkumar Manoharan Date: Fri May 20 17:52:10 2011 +0530 ath9k: Reset chip on baseband hang Resetting hardware helps to recover from baseband hang/panic for AR9003 based chips. Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit fb23d86382a088d50020fd05024d40af5b00f885 Author: Rafał Miłecki Date: Fri May 20 01:04:46 2011 +0200 b43: N-PHY: initialize last var in calibration function Reported-by: Larry Finger Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 0019a2c9277bf6d083032a5a9857249e75407a8c Author: Larry Finger Date: Thu May 19 11:48:45 2011 -0500 rtlwifi: Use order 2 RX buffer allocation only if necessary Although a previous fix handles the kernel panics that result from failure to allocate a new RX buffer, memory fragmentation can be reduced if the amsdu_8k capability is disabled as new buffers need only be of O(0), not O(2). Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit a9e12869758430424804dd4332e0d2afdfdf00b0 Author: Larry Finger Date: Thu May 19 10:17:04 2011 -0500 rtlwifi: Fix kernel panic resulting from RX buffer allocation failure To handle amsdu_8k capability, the PCI routine of this driver must allocate receive buffers of order 2. Under heavy load, this causes fragmentation of memory. The present code releases the current buffer before checking to see if a new one is availble. Recovery from allocation failures is not possible, which results in kernel panics. The fix is to reorder the code to check that a new buffer can be allocated before the old one is released. If not possible, the received frame is dropped and the old one is reused. Without this change, it is impossible to transfer a 2 GB file without a kernel panic. Signed-off-by: Larry Finger Cc: Stable [2.6.{37,38,39}] Signed-off-by: John W. Linville commit 208c72f4fe44fe09577e7975ba0e7fa0278f3d03 Author: Luciano Coelho Date: Thu May 19 00:43:38 2011 +0300 nl80211: fix check for valid SSID size in scan operations In both trigger_scan and sched_scan operations, we were checking for the SSID length before assigning the value correctly. Since the memory was just kzalloc'ed, the check was always failing and SSID with over 32 characters were allowed to go through. This was causing a buffer overflow when copying the actual SSID to the proper place. This bug has been there since 2.6.29-rc4. Cc: stable@kernel.org Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 21bc7af6e5e684b44725b20f679e701e38ceef15 Author: Yogesh Ashok Powar Date: Wed May 18 12:02:03 2011 -0700 mwifiex: correct event header length While decoding received event packet from firmware, 4 bytes of interface header are already removed unconditionally. So for handling event only 4 more bytes needs to be pulled. This is achieved by changing event header length to 4. Almost all the events, except BA stream related and AMSDU aggregation control events, do not have the payload in their event skb. Such events handling depends only on the event ID. This event ID is the first four bytes of the event skb, which is copied to a separate variable before pulling the skb header. Hence event handling worked only for those events that didn't have payload in event skb. This patch fixes the broken event path of the events with payload in their event skb without harming existing working event path for the events without payload. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 3f5785ec31adcb7cafa9135087297a38d9698cf8 Merge: 8c1c77f 94265cf Author: Linus Torvalds Date: Wed May 25 17:00:17 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: (89 commits) bonding: documentation and code cleanup for resend_igmp bonding: prevent deadlock on slave store with alb mode (v3) net: hold rtnl again in dump callbacks Add Fujitsu 1000base-SX PCI ID to tg3 bnx2x: protect sequence increment with mutex sch_sfq: fix peek() implementation isdn: netjet - blacklist Digium TDM400P via-velocity: don't annotate MAC registers as packed xen: netfront: hold RTNL when updating features. sctp: fix memory leak of the ASCONF queue when free asoc net: make dev_disable_lro use physical device if passed a vlan dev (v2) net: move is_vlan_dev into public header file (v2) bug.h: Fix build with CONFIG_PRINTK disabled. wireless: fix fatal kernel-doc error + warning in mac80211.h wireless: fix cfg80211.h new kernel-doc warnings iwlagn: dbg_fixed_rate only used when CONFIG_MAC80211_DEBUGFS enabled dst: catch uninitialized metrics be2net: hash key for rss-config cmd not set bridge: initialize fake_rtable metrics net: fix __dst_destroy_metrics_generic() ... Fix up trivial conflicts in drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c commit 22e95ac87d62bdc65b8a694a23cd4a364689b013 Merge: 6b36783 31ec97d Author: David S. Miller Date: Wed May 25 13:28:55 2011 -0400 Merge branch 'for-davem' of ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 31ec97d9cebac804814de298592648f7c18d8281 Merge: 557eed6 daf8cf6 Author: John W. Linville Date: Tue May 24 16:47:54 2011 -0400 Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem commit f50d1d9e8d964fdd3b4cedfbca8843d1bc5916c1 Merge: 98b98d3 4ef7e71 Author: Linus Torvalds Date: Tue May 24 13:28:35 2011 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: pcmcia: Make struct pcmcia_device_id const, sound drivers edition staging: pcmcia: Convert pcmcia_device_id declarations to const pcmcia: Convert pcmcia_device_id declarations to const pcmcia: Make declaration and uses of struct pcmcia_device_id const pcmcia/sa1100: put sa11x0_pcmcia_hw_init[] to .devinit.data commit 1ba0145884de7993c5d4f02d629eb18c17527e6e Author: Randy Dunlap Date: Sun May 22 17:16:20 2011 -0700 wireless: fix cfg80211.h new kernel-doc warnings Fix new kernel-doc warnings in : Warning(linux-2.6.39-git5/include/net/cfg80211.h:560): No description found for parameter 'bss_param' Warning(linux-2.6.39-git5/include/net/cfg80211.h:1555): Enum value 'WIPHY_FLAG_SUPPORTS_SCHED_SCAN' not described in enum 'wiphy_flags' Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit 54a430c0a4991951805df92efb8c42bdb1277ffd Author: Wey-Yi Guy Date: Fri May 20 11:56:18 2011 -0700 iwlagn: dbg_fixed_rate only used when CONFIG_MAC80211_DEBUGFS enabled Fix compiling error when CONFIG_MAC80211_DEBUGFS is not enabled drivers/net/wireless/iwlwifi/iwl-agn-rs.c:351: error: 'struct iwl_lq_sta' has no member named 'dbg_fixed_rate' drivers/net/wireless/iwlwifi/iwl-agn-rs.c:1076: error: 'struct iwl_lq_sta' has no member named 'dbg_fixed_rate' Reported-by: Randy Dunlap Signed-off-by: Wey-Yi Guy Acked-by: Randy Dunlap Signed-off-by: John W. Linville commit 99dff5856220a02b8711f2e8746413ea6e53ccf6 Merge: bb74e8c d9a0fbf Author: Linus Torvalds Date: Mon May 23 12:23:20 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: (48 commits) serial: 8250_pci: add support for Cronyx Omega PCI multiserial board. tty/serial: Fix break handling for PORT_TEGRA tty/serial: Add explicit PORT_TEGRA type n_tracerouter and n_tracesink ldisc additions. Intel PTI implementaiton of MIPI 1149.7. Kernel documentation for the PTI feature. export kernel call get_task_comm(). tty: Remove to support serial for S5P6442 pch_phub: Support new device ML7223 8250_pci: Add support for the Digi/IBM PCIe 2-port Adapter ASoC: Update cx20442 for TTY API change pch_uart: Support new device ML7223 IOH parport: Use request_muxed_region for IT87 probe and lock tty/serial: add support for Xilinx PS UART n_gsm: Use print_hex_dump_bytes drivers/tty/moxa.c: Put correct tty value TTY: tty_io, annotate locking functions TTY: serial_core, remove superfluous set_task_state TTY: serial_core, remove invalid test Char: moxa, fix locking in moxa_write ... Fix up trivial conflicts in drivers/bluetooth/hci_ldisc.c and drivers/tty/serial/Makefile. I did the hci_ldisc thing as an evil merge, cleaning things up. commit 57d19e80f459dd845fb3cfeba8e6df8471bac142 Merge: ee9ec4f e64851f Author: Linus Torvalds Date: Mon May 23 09:12:26 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: (39 commits) b43: fix comment typo reqest -> request Haavard Skinnemoen has left Atmel cris: typo in mach-fs Makefile Kconfig: fix copy/paste-ism for dell-wmi-aio driver doc: timers-howto: fix a typo ("unsgined") perf: Only include annotate.h once in tools/perf/util/ui/browsers/annotate.c md, raid5: Fix spelling error in comment ('Ofcourse' --> 'Of course'). treewide: fix a few typos in comments regulator: change debug statement be consistent with the style of the rest Revert "arm: mach-u300/gpio: Fix mem_region resource size miscalculations" audit: acquire creds selectively to reduce atomic op overhead rtlwifi: don't touch with treewide double semicolon removal treewide: cleanup continuations and remove logging message whitespace ath9k_hw: don't touch with treewide double semicolon removal include/linux/leds-regulator.h: fix syntax in example code tty: fix typo in descripton of tty_termios_encode_baud_rate xtensa: remove obsolete BKL kernel option from defconfig m68k: fix comment typo 'occcured' arch:Kconfig.locks Remove unused config option. treewide: remove extra semicolons ... commit ee9ec4f82049c678373a611ce20ac67fe9ad836e Merge: e0c6b8a 366a238 Author: Linus Torvalds Date: Mon May 23 09:10:03 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: (36 commits) HID: hid-multitouch: cosmetic changes, sort classes and devices HID: hid-multitouch: class MT_CLS_STANTUM is redundant with MT_CLS_CONFIDENCE HID: hid-multitouch: add support for Unitec panels HID: hid-multitouch: add support for Touch International panels HID: hid-multitouch: add support for GoodTouch panels HID: hid-multitouch: add support for CVTouch panels HID: hid-multitouch: add support for ActionStar panels HID: hiddev: fix race between hiddev_disconnect and hiddev_release HID: magicmouse: ignore 'ivalid report id' while switching modes HID: fix a crash in hid_report_raw_event() function. HID: hid-multitouch: add support for Elo TouchSystems 2515 IntelliTouch Plus HID: assorted usage updates from hut 1.12 HID: roccat: fix actual/startup profile sysfs attribute in koneplus HID: hid-multitouch: Add support for Lumio panels HID: 'name' and 'phys' in 'struct hid_device' can never be NULL HID: hid-multitouch: add support for Ilitek dual-touch panel HID: picolcd: Avoid compile warning/error triggered by copy_from_user() HID: add support for Logitech G27 wheel HID: hiddev: fix error path in hiddev_read when interrupted HID: add support for Sony Navigation Controller ... commit e64851f5a0ad6ec991f74ebb3108c35aa0323d5f Author: Jim Cromie Date: Sat May 21 11:51:50 2011 -0600 b43: fix comment typo reqest -> request Recent trivial fix corrected 'occured', but left 'reqest'. codespell needs another dictionary entry. cc: Lucas De Marchi Signed-off-by: Jim Cromie Signed-off-by: Jiri Kosina commit 06f4e926d256d902dd9a53dcb400fd74974ce087 Merge: 8e7bfcb d935156 Author: Linus Torvalds Date: Fri May 20 13:43:21 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: (1446 commits) macvlan: fix panic if lowerdev in a bond tg3: Add braces around 5906 workaround. tg3: Fix NETIF_F_LOOPBACK error macvlan: remove one synchronize_rcu() call networking: NET_CLS_ROUTE4 depends on INET irda: Fix error propagation in ircomm_lmp_connect_response() irda: Kill set but unused variable 'bytes' in irlan_check_command_param() irda: Kill set but unused variable 'clen' in ircomm_connect_indication() rxrpc: Fix set but unused variable 'usage' in rxrpc_get_transport() be2net: Kill set but unused variable 'req' in lancer_fw_download() irda: Kill set but unused vars 'saddr' and 'daddr' in irlan_provider_connect_indication() atl1c: atl1c_resume() is only used when CONFIG_PM_SLEEP is defined. rxrpc: Fix set but unused variable 'usage' in rxrpc_get_peer(). rxrpc: Kill set but unused variable 'local' in rxrpc_UDP_error_handler() rxrpc: Kill set but unused variable 'sp' in rxrpc_process_connection() rxrpc: Kill set but unused variable 'sp' in rxrpc_rotate_tx_window() pkt_sched: Kill set but unused variable 'protocol' in tc_classify() isdn: capi: Use pr_debug() instead of ifdefs. tg3: Update version to 3.119 tg3: Apply rx_discards fix to 5719/5720 ... Fix up trivial conflicts in arch/x86/Kconfig and net/mac80211/agg-tx.c as per Davem. commit eb04f2f04ed1227c266b3219c0aaeda525639718 Merge: 5765040 80d0208 Author: Linus Torvalds Date: Thu May 19 18:14:34 2011 -0700 Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (78 commits) Revert "rcu: Decrease memory-barrier usage based on semi-formal proof" net,rcu: convert call_rcu(prl_entry_destroy_rcu) to kfree batman,rcu: convert call_rcu(softif_neigh_free_rcu) to kfree_rcu batman,rcu: convert call_rcu(neigh_node_free_rcu) to kfree() batman,rcu: convert call_rcu(gw_node_free_rcu) to kfree_rcu net,rcu: convert call_rcu(kfree_tid_tx) to kfree_rcu() net,rcu: convert call_rcu(xt_osf_finger_free_rcu) to kfree_rcu() net/mac80211,rcu: convert call_rcu(work_free_rcu) to kfree_rcu() net,rcu: convert call_rcu(wq_free_rcu) to kfree_rcu() net,rcu: convert call_rcu(phonet_device_rcu_free) to kfree_rcu() perf,rcu: convert call_rcu(swevent_hlist_release_rcu) to kfree_rcu() perf,rcu: convert call_rcu(free_ctx) to kfree_rcu() net,rcu: convert call_rcu(__nf_ct_ext_free_rcu) to kfree_rcu() net,rcu: convert call_rcu(net_generic_release) to kfree_rcu() net,rcu: convert call_rcu(netlbl_unlhsh_free_addr6) to kfree_rcu() net,rcu: convert call_rcu(netlbl_unlhsh_free_addr4) to kfree_rcu() security,rcu: convert call_rcu(sel_netif_free) to kfree_rcu() net,rcu: convert call_rcu(xps_dev_maps_release) to kfree_rcu() net,rcu: convert call_rcu(xps_map_release) to kfree_rcu() net,rcu: convert call_rcu(rps_map_release) to kfree_rcu() ... commit d187c1aab8d30771bb781c745b150f6159467d6f Author: David S. Miller Date: Thu May 19 18:44:41 2011 -0400 atl1c: atl1c_resume() is only used when CONFIG_PM_SLEEP is defined. Signed-off-by: David S. Miller commit c6e38c06cb51bee42ff80a36a0f7c67b485c4541 Author: Mohammed Shafi Shajakhan Date: Wed May 18 17:56:00 2011 +0530 ath9k: use PS wakeup before REG_READ otherwise we will get deadbeef when the station is in idle state Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit a2cd43c52aa5c676b03d575177536e05ac672c75 Author: Luciano Coelho Date: Wed May 18 11:42:03 2011 +0300 nl80211: remove some stack variables in trigger_scan and start_sched_scan Some stack variables (name *ssid and *channel) are only used to define the size of the memory block that needs to be allocated for the request structure in the nl80211_trigger_scan() and nl80211_start_sched_scan() functions. This is unnecessary because the sizes of the actual elements in the structure can be used instead. Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit d676ff493d9dfb8b34892214665028a8c85e2056 Author: Javier Cardona Date: Tue May 17 16:13:34 2011 -0700 mac80211: Don't sleep when growing the mesh path After commit 1928ecab620907a0953f811316d05f367f3f4dba (mac80211: fix and simplify mesh locking) mesh table allocation is performed with the pathtbl_resize_lock taken. Under those conditions one should not sleep. This patch makes the allocations GFP_ATOMIC to prevent that. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit ba4903f97a275ed0967b58ff882f8ab41bec24ad Author: Felix Fietkau Date: Tue May 17 21:09:54 2011 +0200 ath9k: implement .tx_last_beacon() Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 755173291a86c6e77414e1eaf22279fde88ccd86 Author: Rafał Miłecki Date: Tue May 17 19:19:39 2011 +0200 b43: read PHY info only when needed (for PHY-A) We risk reading TMSHIGH register twice, but PHY-A are really rare and we do not support them at the moment. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 1495298ddd496131b8226a837ab10bdd5acb3480 Author: Rafał Miłecki Date: Tue May 17 18:57:28 2011 +0200 b43: separate ssb core reset Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit c4a2a08165dd5a58e24eb342902839dca78887b8 Author: Rafał Miłecki Date: Tue May 17 18:57:27 2011 +0200 b43: add helper for finding GPIO device Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 05100a29cb65b7473bc0c71282df3e31b460b728 Author: Rafał Miłecki Date: Tue May 17 14:00:02 2011 +0200 b43: dma: cache translation (routing bits) Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 0355a3452fe218b2bc61a7a571064ee86dd6bf4e Author: Rafał Miłecki Date: Tue May 17 14:00:01 2011 +0200 b43: make b43_wireless_init less bus specific Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 620d785ba9066d5436857ec8e7c104c7b1c467e1 Author: Rafał Miłecki Date: Tue May 17 14:00:00 2011 +0200 b43: add helpers for block R/W ops Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit ac56703e0e790509963ee42cddebe706fbd3b74c Author: Felix Fietkau Date: Tue May 17 10:34:12 2011 +0200 ath9k: fix ad-hoc nexttbtt calculation rounding up the delta between last-beacon-tsf and tsf to intval is wrong and can lead to misconfigured timers which breaks beacon transmission. Fix this by adding intval and subtracting the offset of the tsf within the current slot. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 5b68138e5659cbfd5df2879d17f9ba0b66477fec Author: Sujith Manoharan Date: Tue May 17 13:36:18 2011 +0530 ath9k: Drag the driver to the year 2011 The Times They Are a-Changin'. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit a455c57ed3e4b2166c42286dd7987f36b5e00612 Author: Mohammed Shafi Shajakhan Date: Tue May 17 13:05:05 2011 +0530 ath_hw: Fix bssid mask documentation Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 89ea674565611908e11f92f57b15bf50d82f1f22 Author: Sujith Manoharan Date: Tue May 17 12:42:34 2011 +0530 ath9k_htc: Fix packet timeout The WMI tx status event timeout was not aligning with the TX cleanup timer threshold value. Fix this to handle dropped packets. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit d108e8b9320b77e3fa165757fd40f298bdd89d1c Author: Sujith Manoharan Date: Tue May 17 12:42:24 2011 +0530 ath9k_htc: Change credit limit for UB94/95 Reduce the credit size for UB94/95 to fix target hangs. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit bd54879958f3e7efe249f69c75718cc9ee915cf8 Author: Sujith Manoharan Date: Tue May 17 12:42:14 2011 +0530 ath9k_htc: Fix max subframe handling Commit "ath9k_htc: Fix AMPDU subframe handling" registered the maximum subframe limit of the driver with mac80211, which was used in ADDBA negotiation. While technically correct, this causes inter-operability issues with a few APs. Revert to the older behavior to fix this. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 0cd075d74b319b88bbaad666c2b9b911859a5b0e Author: Sujith Manoharan Date: Tue May 17 12:42:03 2011 +0530 ath9k_htc: Fix BSSID calculation The BSSID/AID has to be set for the first associated station interface. Subsequent interfaces may move out of assoc/disassoc status, in which case, the BSSID has to be re-calculated from the available interfaces. Also, ANI should be enabled or disabled based on the current opmode. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 33a5315f97e5b3964183f0cf74768ac47eabe631 Author: Sujith Manoharan Date: Tue May 17 12:41:52 2011 +0530 ath9k_htc: Fix RX filter calculation Choose the MY_BEACON filter only in case of a single interface. Also, set the ATH9K_RX_FILTER_MCAST_BCAST_ALL filter in case of interfaces. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit db32124a3f463e551ebffe3b4c6045924d3dfafd Author: Sujith Manoharan Date: Tue May 17 12:41:41 2011 +0530 ath9k_htc: Recalculate the BSSID mask on interface Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 84dfa7308ccba190ad7efe655c25ca80793c029e Author: Sujith Manoharan Date: Tue May 17 12:41:31 2011 +0530 ath9k_htc: Fix station flags The FW does absolutely nothing with the station flags, so remove them. But keep the field around since it might come in handy in the future. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit c75197a779b6f5ee4c5b859423a0d5257475ebee Author: Sujith Manoharan Date: Tue May 17 12:41:20 2011 +0530 ath9k_htc: Fix mode selection Remove all the unsupported modes like FH, TURBO etc. Since this requires a FW update, increase the fw version to 1.3 Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 20ba2861b09ae942398eda6d2dc0bf1019a97ddb Author: Daniel Halperin Date: Mon May 16 21:46:28 2011 -0700 iwlwifi: remove unused parameter from iwl_hcmd_queue_reclaim cmd_index is never used. Signed-off-by: Daniel Halperin Signed-off-by: John W. Linville commit 62a5b7dcee00c8e64e61ed98541c95fd38583116 Author: Marc Yang Date: Mon May 16 19:17:53 2011 -0700 mwifiex: adjust high/low water marks for tx_pending queue This is to fix an issue that the throughput of the higher priority stream gets dropped when a lower priority stream is present. Signed-off-by: Marc Yang Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 17e8cec87586c26b953c6541c8a045e906ea046c Author: Marc Yang Date: Mon May 16 19:17:52 2011 -0700 mwifiex: CPU mips optimization with NO_PKT_PRIO_TID If we go through the entire for loop in mwifiex_wmm_get_highest_priolist_ptr() and don't find any packets, set highest_queued_prio to NO_PKT_PRIO_TID (< LOW_PRIO_TID). Signed-off-by: Marc Yang Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 93968147874508e6dd534af1e236a7353269da3f Author: Marc Yang Date: Mon May 16 19:17:51 2011 -0700 mwifiex: check mwifiex_wmm_lists_empty() before dequeue add checks to mwifiex_wmm_process_tx() loop so it doesn't re-enter mwifiex_dequeue_tx_packet() to find it can't send. Signed-off-by: Marc Yang Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 49729ff616547d7abcb96924d14aa860320e7352 Author: Marc Yang Date: Mon May 16 19:17:50 2011 -0700 mwifiex: reduce CPU usage by tracking highest_queued_prio This patch adds highest_queued_prio to track priority of packets as they are enqueued so that mwifiex_wmm_get_highest_priolist_ptr() starts checking at the first level where we have packets, instead of the highest. The function also lowers priority value to the level where first packet is found. Signed-off-by: Marc Yang Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit f699254c7126d7df94491dfd4c3648f8ec0c0d51 Author: Marc Yang Date: Mon May 16 19:17:49 2011 -0700 mwifiex: reduce CPU usage by tracking tx_pkts_queued This patch adds tx_pkts_queued to track number of packets being enqueued & dequeued so that mwifiex_wmm_lists_empty() evaluation is lightweight. Signed-off-by: Marc Yang Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 7176ba23f8b589b1df3229574ff46fb904ce9ec5 Author: Rhyland Klein Date: Mon May 16 14:41:48 2011 -0700 net: rfkill: add generic gpio rfkill driver This adds a new generic gpio rfkill driver to support rfkill switches which are controlled by gpios. The driver also supports passing in data about the clock for the radio, so that when rfkill is blocking, it can disable the clock. This driver assumes platform data is passed from the board files to configure it for specific devices. Original-patch-by: Anantha Idapalapati Signed-off-by: Rhyland Klein Signed-off-by: John W. Linville commit c6820f1e6c8273ca4b8f94c2354193d19e1a5c47 Author: Felix Fietkau Date: Mon May 16 23:22:00 2011 +0200 ath9k: fix ad-hoc mode beacon selection In ad-hoc mode, beacon timers are configured differently compared to AP mode, and (depending on the scenario) can vary enough to make the beacon tasklet not detect slot 0 based on the TSF. Since staggered beacons are not (and cannot be) used in ad-hoc mode, it makes more sense to just hardcode slot 0 here, avoiding unnecessary TSF reads and calculations. Signed-off-by: Felix Fietkau Reported-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit ed9d01026f156db2d638cbb045231c7a8fde877d Author: Jouni Malinen Date: Mon May 16 19:40:15 2011 +0300 cfg80211: Use consistent BSS matching between scan and sme cfg80211 scan code adds separate BSS entries if the same BSS shows up on multiple channels. However, sme implementation does not use the frequency when fetching the BSS entry. Fix this by adding channel information to cfg80211_roamed() and include it in cfg80211_get_bss() calls. Please note that drivers using cfg80211_roamed() need to be modified to fully implement this fix. This commit includes only minimal changes to avoid compilation issues; it maintains the old (broken) behavior for most drivers. ath6kl was the only one that I could test, so I updated it to provide the operating frequency in the roamed event. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 79d2b1570bcc31b846ccb2114a34e98ca87bf1d9 Author: Rajkumar Manoharan Date: Mon May 16 18:23:23 2011 +0530 ath9k: Fix power save wrappers in debug ops Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit f634a4e7074f66ac3dfaf2cc6786e0ec3080a2d1 Author: Luciano Coelho Date: Wed May 18 16:51:26 2011 -0400 wl12xx: fix compilation error when CONFIG_PM is not set There was a compilation error when PM is not enabled: CC [M] drivers/net/wireless/wl12xx/main.o drivers/net/wireless/wl12xx/main.c:3653: error: unknown field 'suspend' specified in initializer drivers/net/wireless/wl12xx/main.c:3653: warning: initialization from incompatible pointer type drivers/net/wireless/wl12xx/main.c:3654: error: unknown field 'resume' specified in initializer drivers/net/wireless/wl12xx/main.c:3654: warning: initialization from incompatible pointer type Fix this by adding #ifdef's in the appropriate places. Cc: Eliad Peller Signed-off-by: Luciano Coelho Signed-off-by: David S. Miller commit 6b7b8e488bbdedeccabdd001a78ffcbe43bb8a3a Merge: b50f315 c1d10d1 Author: Jiri Kosina Date: Wed May 18 17:06:31 2011 +0200 Merge branch 'master' into upstream. This is sync with Linus' tree to receive KEY_IMAGES definition that went in through input tree. commit 9cbc94eabb0791906051bbfac024ef2c2be8e079 Merge: 1d1652c 7cc31a9 Author: David S. Miller Date: Tue May 17 17:33:11 2011 -0400 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/vmxnet3/vmxnet3_ethtool.c net/core/dev.c commit 6dcae1eaee2b437536b2fe928a609f9589691ebf Author: David S. Miller Date: Mon May 16 23:09:26 2011 -0400 bluetooth: Fix warnings in l2cap_core.c net/bluetooth/l2cap_core.c: In function ‘l2cap_recv_frame’: net/bluetooth/l2cap_core.c:3758:15: warning: ‘sk’ may be used uninitialized in this function net/bluetooth/l2cap_core.c:3758:15: note: ‘sk’ was declared here net/bluetooth/l2cap_core.c:3791:15: warning: ‘sk’ may be used uninitialized in this function net/bluetooth/l2cap_core.c:3791:15: note: ‘sk’ was declared here Signed-off-by: David S. Miller commit e00cf3b9eb7839b952e434a75bff6b99e47337ac Merge: 1a8218e 3b8ab88 Author: John W. Linville Date: Mon May 16 14:55:42 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem Conflicts: drivers/net/wireless/iwlwifi/iwl-agn-tx.c net/mac80211/sta_info.h commit 099fb8ab1e57e5d609ac686cc0ab6d1835a79155 Author: Larry Finger Date: Sat May 14 10:15:17 2011 -0500 rtlwifi: rtl8192c-common: rtl8192ce: Fix for HT40 regression The changes that were made to rtl8192ce when rtl8192cu was added broke HT40. The errors included a typo in rtlwifi, a missing routine in rtl8192ce and a missing callback of that routine in rtl8192c-common. This patch fixes the regression reported in Bug #35082. Signed-off-by: Larry Finger Cc: stable@kernel.org Signed-off-by: John W. Linville commit 349eb8cf45aadd35836fdfde75b3265a01b2aaa1 Author: Johannes Berg Date: Sat May 14 11:56:16 2011 +0200 mac80211: annotate and fix RCU in mesh code This adds proper RCU annotations to the mesh path table code, and fixes a number of bugs in the code that I found while checking the sparse warnings I got as a result of the annotations. Some things like the changes in mesh_path_add() or mesh_pathtbl_init() only serve to shut up sparse, but other changes like the changes surrounding the for_each_mesh_entry() macro fix real RCU bugs in the code. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1928ecab620907a0953f811316d05f367f3f4dba Author: Johannes Berg Date: Sat May 14 11:00:52 2011 +0200 mac80211: fix and simplify mesh locking The locking in mesh_{mpath,mpp}_table_grow not only has an rcu_read_unlock() missing, it's also racy (though really only technically since it's invoked from a single function only) since it obtains the new size of the table without any locking, so two invocations of the function could attempt the same resize. Additionally, it uses synchronize_rcu() which is rather expensive and can be avoided trivially here. Modify the functions to only use the table lock and use call_rcu() instead of synchronize_rcu(). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d07c7cf49ae7c488e778c4d668f4cc10bd2fa971 Author: Johannes Berg Date: Sat May 14 11:04:51 2011 +0200 mac80211: add missing rcu_barrier mac80211 uses call_rcu() with functions that are defined in the module, so it must use rcu_barrier() at module exit time. Luckily, this seems to not be a problem in practice as module unload and unregistration takes a long time and probably does multiple synchronize_rcu(). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c29acf201007a6d73223f864f52406eb5ba19933 Author: Rajkumar Manoharan Date: Sat May 14 09:43:28 2011 +0530 mac80211: abort scan_work immediately when the device goes down As long as no delay is required b/w channel change, scan work is proceeding without scheduling a new work. In such case, we can not abort scan work when the card was unplugged. This patch completes the scanning immediately whenever the device goes down. Reviewed-by: Johannes Berg Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 8e621fc90b42fa2ca4ff65dd8d9cb21723e47837 Author: Johannes Berg Date: Sat May 14 01:55:23 2011 +0200 mac80211: verify IBSS in interface combinations Drivers shouldn't attempt to advertise support for more than one IBSS interface since mac80211 doesn't support that. Check and return an error from ieee80211_register_hw() in that case. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit df64962f7d74877624442c059e7878fdf7ec3c22 Author: Christian Lamparter Date: Sat May 14 02:42:38 2011 +0200 carl9170: advertise interface combinations In order to provide multiple interfaces for a single device, the driver will be required to advertise all possible interface configurations to the stack. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit dedb1eb977d75f301b17190cc4b6e7d17dbf17db Author: Rafał Miłecki Date: Sat May 14 00:04:38 2011 +0200 b43: rename b43_wldev's field with ssb_device to sdev We free name "dev" for something generic (like dev abstraction layer). Additionaly code is cleaner now, especially magic dev->dev-dev chains. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit d0df9eecf9f61f70fd847656f5eb113e06e46a03 Author: Javier Cardona Date: Fri May 13 14:16:07 2011 -0700 mac80211: Deactivate mesh path timers when freeing nodes Mesh paths are deleted via mesh_path_del() which properly deactivates the timer associated to a mesh path. But if paths were deleted by mesh_table_free(..., true) timers would not be deactivated. This fixes this case. Reported-by: Johannes Berg Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 011159a0a746e03ae42d559ce5c2a70138da3129 Author: Alexey Dobriyan Date: Sat May 14 00:12:48 2011 +0300 airo: correct proc entry creation interfaces * use proc_mkdir_mode() instead of create_proc_entry(S_IFDIR|...), export proc_mkdir_mode() for that, oh well. * don't supply S_IFREG to proc_create_data(), it's unnecessary Signed-off-by: Alexey Dobriyan Signed-off-by: John W. Linville commit 9368a9a2378ab721f82f59430a135b4ce4ff5109 Author: Christian Lamparter Date: Fri May 13 21:47:23 2011 +0200 p54usb: add zoom 4410 usbid Cc: Reported-by: Mark Davis Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit f51f87a09119a495527a3f15d76db38b8e24beb8 Merge: 3b8ab88 6dc0c7f Author: John W. Linville Date: Mon May 16 14:21:02 2011 -0400 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 3b8ab88acaceb505aa06ef3bbf3a73b92470ae78 Author: Yogesh Ashok Powar Date: Fri May 13 11:22:32 2011 -0700 mwifiex: use ieee80211_amsdu_to_8023s routine mwifiex was using its own implementation of converting 802.11n AMSDU to 802.3s. This patch removes mwifiex specific implementation and uses existing ieee80211_amsdu_to_8023s routine. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 8b3becadc82de3b87a5c196239db3fef6caa9c82 Author: Yogesh Ashok Powar Date: Fri May 13 11:22:31 2011 -0700 cfg80211: make stripping of 802.11 header optional from AMSDU Currently the devices that have already stripped IEEE 802.11 header from the AMSDU SKB can not use ieee80211_amsdu_to_8023s routine. This patch enhances ieee80211_amsdu_to_8023s() API by changing mandatory removing of IEEE 802.11 header from AMSDU to optional. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 57cf8043a64b56a10b9f194572548a3dfb62e596 Author: Javier Cardona Date: Fri May 13 10:45:43 2011 -0700 nl80211: Move peer link state definition to nl80211 These definitions need to be exposed now that we can set the peer link states via NL80211_ATTR_STA_PLINK_STATE. They were already being (opaquely) reported by NL80211_STA_INFO_PLINK_STATE. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 108697c44b8e50bea3505c6bf9667da4627cb2d5 Author: Mohammed Shafi Shajakhan Date: Fri May 13 20:59:42 2011 +0530 ath9k: make npending frames check as bool we are not doing anything by tracking the number of pending frames. bail out when we first find a pending frame in any one of the 10 queues. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 21e8ee6d207f6d384689571101436eb9070c22ca Author: Mohammed Shafi Shajakhan Date: Fri May 13 20:31:40 2011 +0530 ath9k: make sure main_rssi is positive some times the rssi control descriptor for the main antenna may be negative like that of alternate antenna, hence before incrementing packet counts/rssi of main/alternate antenna make sure both main_rssi and alt_rssi are positive only. this avoids wrong selection of antenna due to diversity Cc: Gabriel Tseng Cc: Senthilkumar Balasubramanian Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 3e9a212a9e21266115bad2982016950fb2bf29c2 Author: Mohammed Shafi Shajakhan Date: Fri May 13 20:31:23 2011 +0530 ath9k: configure fast_div_bias based on diversity group configure fast diversity bias based on the antenna diversity group and based on main/alt LNA configurations. also configure main antenna and alternate antenna to gain-table 0 for diversity group 2(AR9485) Cc: Gabriel Tseng Cc: Senthilkumar Balasubramanian Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit b85c5734f00886ee0f33ef4d0038ed9a278eefce Author: Mohammed Shafi Shajakhan Date: Fri May 13 20:31:09 2011 +0530 ath9k: Implement an API to swap main/ALT LNA's for the diversity group 2(AR9485) we swap the LNA's of main/ALT antenna based on alternate antenna's rssi average in comparision with main antenna's rssi, while for AR9285(antenna diversity group 0)we still follow the older method of looking at the packet count in alternate antenna Cc: Gabriel Tseng Cc: Senthilkumar Balasubramanian Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 8afbcc8bfb549a522298fa4a31ee5155c2b5f7a0 Author: Mohammed Shafi Shajakhan Date: Fri May 13 20:30:56 2011 +0530 ath9k_hw: define antenna diversity group AR9285 belongs to diversity group 0 and AR9485 belongs to diversity group 2. Based on the diversity group we configure certain antenna diversity paramaters such as lna1_lna2_delta and fast diversity bias values. For AR9485 we have some gain table parameter which selects the gain table 0/1 for main and alternate antenna Cc: Gabriel Tseng Cc: Senthilkumar Balasubramanian Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 6bcbc062c23ac769cb775f3d2cf209db9d1a96fe Author: Mohammed Shafi Shajakhan Date: Fri May 13 20:30:41 2011 +0530 ath9k_hw: define modules to get/set Antenna diversity paramaters these are the two important modules that will be called by the antenna diversity algorithm module in the rx. this will continuosly configure the hardware based on the current diversity status obtained from the algorithm Cc: Gabriel Tseng Cc: Senthilkumar Balasubramanian Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 842ca780af06d166c87725b68f4fe359c3da7bc0 Author: Mohammed Shafi Shajakhan Date: Fri May 13 20:30:27 2011 +0530 ath9k_hw: config diversity based on eeprom contents * enable LNA-diversity, fast-diversity for AR9485 based on the value read from EEPROM content * if antenna diversity/combining is supported, set LNA1 for the main antenna and LNA2 for the alternate antenna based on the new diversity algorithm Cc: Gabriel Tseng Cc: Senthilkumar Balasubramanian Cc: Luis Rodriguez Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit c6ba9feb4fa33f31f26ac1a2b0a337d79426b822 Author: Mohammed Shafi Shajakhan Date: Fri May 13 20:29:53 2011 +0530 ath9k_hw: define registers/macros to support Antenna diversity define few registers and macros to configure/enable Antenna diversity parameters in AR9485 Cc: Gabriel Tseng Cc: Senthilkumar Balasubramanian Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 21d2c63a2866a47030803de3db9b4e8759806095 Author: Mohammed Shafi Shajakhan Date: Fri May 13 20:29:31 2011 +0530 ath9k_hw: enable Antenna diversity for AR9485 read antenna diversity and combining information from the EEPROM. Enable antenna diversity/combining feature only when both LNA diversity and fast diversity are supported Cc: Gabriel Tseng Cc: Senthilkumar Balasubramanian Tested-by: Mohammed Shafi Shajakhan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 69de3721750ea4fae504be9e67f140cafe1c7a89 Author: Mohammed Shafi Shajakhan Date: Fri May 13 20:29:04 2011 +0530 ath9k_hw: make antenna diversity modules chip specific this is necessary to support Antenna diversity and combining in new chip sets such as AR9485, previously Antenna diversity support is available only in AR9285 Cc: Gabriel Tseng Cc: Senthilkumar Balasubramanian Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit bd2281b85d929af0bd192f05135f70dd05f4fd85 Author: Julia Lawall Date: Fri May 13 15:52:10 2011 +0200 net/rfkill/core.c: Avoid leaving freed data in a list The list_for_each_entry loop can fail, in which case the list element is not removed from the list rfkill_fds. Since this list is not accessed by the loop, the addition of &data->list into the list is just moved after the loop. The sematic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @@ expression E,E1,E2; identifier l; @@ *list_add(&E->l,E1); ... when != E1 when != list_del(&E->l) when != list_del_init(&E->l) when != E = E2 *kfree(E);// Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit 40b275b69ee660274b77fb612b0db31fd282fc3f Author: Johannes Berg Date: Fri May 13 14:15:49 2011 +0200 mac80211: sparse RCU annotations This adds sparse RCU annotations to most of mac80211, only the mesh code remains to be done. Due the the previous patches, the annotations are pretty simple. The only thing that this actually changes is removing the RCU usage of key->sta in debugfs since this pointer isn't actually an RCU-managed pointer (it only has a single assignment done before the key even goes live). As that is otherwise harmless, I decided to make it part of this patch. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ec034b208dc8aa5dc73ec46c3f27e34c5efbf113 Author: Johannes Berg Date: Fri May 13 13:35:40 2011 +0200 mac80211: fix TX a-MPDU locking During my quest to make mac80211 not have any RCU warnings from sparse, I came across the a-MPDU code again and it wasn't quite clear why it isn't racy. So instead of assigning the tid_tx array with just the spinlock held in ieee80211_start_tx_ba_session use a separate temporary array protected only by the spinlock and protect all assignments to the "live" array by both the spinlock and the mutex so that other code is easily verified to be correct. Due to pointer assignment atomicity I don't think this is a real issue, but I'm not sure, especially on Alpha the current code might be problematic. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7527a782e187d1214a5b3dc2897ce441033bb4ef Author: Johannes Berg Date: Fri May 13 10:58:57 2011 +0200 cfg80211: advertise possible interface combinations Add the ability to advertise interface combinations in nl80211. This allows the driver to indicate what the combinations are that it supports. "Combinations" of just a single interface are implicit, as previously. Note that cfg80211 will enforce that the restrictions are met, but not for all drivers yet (once all drivers are updated, we can remove the flag and enforce for all). When no combinations are actually supported, an empty list will be exported so that userspace can know if the kernel exported this info or not (although it isn't clear to me what tools using the info should do if the kernel didn't export it). Since some interface types are purely virtual/software and don't fit the restrictions, those are exposed in a new list of pure SW types, not subject to restrictions. This mainly exists to handle AP-VLAN and monitor interfaces in mac80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 805d7d23ef9806e47b550ad80270c4cea4ffc984 Author: Stephen Boyd Date: Thu May 12 16:50:05 2011 -0700 iwlwifi: Silence DEBUG_STRICT_USER_COPY_CHECKS=y warning Enabling DEBUG_STRICT_USER_COPY_CHECKS causes the following warning: In file included from arch/x86/include/asm/uaccess.h:573, from include/net/checksum.h:25, from include/linux/skbuff.h:28, from drivers/net/wireless/iwlwifi/iwl-agn-rs.c:28: In function 'copy_from_user', inlined from 'rs_sta_dbgfs_scale_table_write' at drivers/net/wireless/iwlwifi/iwl-agn-rs.c:3099: arch/x86/include/asm/uaccess_64.h:65: warning: call to 'copy_from_user_overflow' declared with attribute warning: copy_from_user() buffer size is not provably correct presumably due to buf_size being signed causing GCC to fail to see that buf_size can't become negative. Signed-off-by: Stephen Boyd Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 8220ba3e2e671492b777159d8dac721f95f4a0ec Author: Stephen Boyd Date: Thu May 12 16:50:04 2011 -0700 iwlegacy: Silence DEBUG_STRICT_USER_COPY_CHECKS=y warning Enabling DEBUG_STRICT_USER_COPY_CHECKS causes the following warning: In file included from arch/x86/include/asm/uaccess.h:573, from include/net/checksum.h:25, from include/linux/skbuff.h:28, from drivers/net/wireless/iwlegacy/iwl-4965-rs.c:28: In function 'copy_from_user', inlined from 'iwl4965_rs_sta_dbgfs_scale_table_write' at drivers/net/wireless/iwlegacy/iwl-4965-rs.c:2616: arch/x86/include/asm/uaccess_64.h:65: warning: call to 'copy_from_user_overflow' declared with attribute warning: copy_from_user() buffer size is not provably correct presumably due to buf_size being signed causing GCC to fail to see that buf_size can't become negative. Cc: Johannes Berg Signed-off-by: Stephen Boyd Signed-off-by: John W. Linville commit 6dc0c7fc7cc0f5ec3d92a3076dfe45028540e526 Author: Wey-Yi Guy Date: Wed May 11 08:33:55 2011 -0700 iwlagn: remove unused old_assoc parameter old_assoc not used, remove it Signed-off-by: Wey-Yi Guy commit 51b7ef058c44c15af20ab4f7aed1dbb959cbd06d Author: Johannes Berg Date: Wed May 11 08:17:20 2011 -0700 iwlagn: change default beacon interval When the PAN context is active, but unused, it may still block scans that take more dwell time than its beacon interval (which is odd). Work around this problem by using a default beacon interval of 200 so scans will fit between. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 70817b5e14760dad49a067fc3dd137bccd3c2960 Author: Johannes Berg Date: Wed May 11 03:29:25 2011 -0700 iwlagn: remove set but unused vars gcc is warning that a few variables in rate scaling are set but never otherwise used. This pointed out a few simplifications. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 3083d03c215a2d1642dd12ede7ad61e24601b583 Author: Wey-Yi Guy Date: Fri May 6 17:06:44 2011 -0700 iwlagn: alwasy send RXON with disassociate falge before associate Before send the RXON command with associated flag set, always do disassociate first to make sure uCode is in the correct state. Signed-off-by: Wey-Yi Guy commit dd5c940b42c1734e501d9494f7b99566b50a5a87 Author: Wey-Yi Guy Date: Fri May 6 17:06:43 2011 -0700 iwlagn: clear STATUS_HCMD_ACTIVE bit if fail enqueue If fail to enqueue host command, clear the STATUS_hcmD_ACTIVE bit Signed-off-by: Wey-Yi Guy commit 6489854b9cbc2faa6709532e61c3ea221cf8583b Author: Wey-Yi Guy Date: Tue May 3 18:05:13 2011 -0700 iwlagn: add testmode set fixed rate command Add support in testmode for setting fixed rate Signed-off-by: Wey-Yi Guy commit 4babc358c0a1bced6bed2c9d6c77fc8803b8a22f Author: Wey-Yi Guy Date: Tue May 3 18:05:12 2011 -0700 iwlagn: add eeprom command to testmode Add the capability to dump eeprom through testmode request Signed-off-by: Wey-Yi Guy commit 7a4e5281d1b3335a3dc90841415390473cccebf3 Author: Wey-Yi Guy Date: Fri May 6 10:21:28 2011 -0700 iwlagn: add testmode trace command Adding testmode trace/debug capability Signed-off-by: Wey-Yi Guy commit 5065054790b111bf677b1eccf3f8f76f20cc0ae6 Author: Wey-Yi Guy Date: Wed May 4 16:56:52 2011 -0700 iwlagn: more ucode error log info No functional changes, just logging more information when uCode crash, also change change the format. Signed-off-by: Wey-Yi Guy commit 4ce7cc2b09553a91d4aea014c39674685715173a Author: Johannes Berg Date: Fri May 13 11:57:40 2011 -0700 iwlagn: support multiple TBs per command The current "huge" command handling is a bit confusing, and very limited since only one command may be huge at a time. Additionally, we often copy data around quite pointlessly since we could instead map the existing scan buffer for example and use it directly. This patch makes that possible. The first change is that multiple buffers may be given to each command (this change was prepared earlier so callsites don't need to change). Each of those can be mapped attached to a TB in the TFD, and the command header can use a TB (the first one) in the TFD as well. Doing this allows getting rid of huge commands in favour of mapping existing buffers. The beacon transmission is also optimised to not copy the SKB at all but use multiple TBs. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 4c42db0f04e55d48f0ea9f424144a5211b7a155c Author: Johannes Berg Date: Wed May 4 07:50:48 2011 -0700 iwlagn: remove unused pad argument The pad argument to iwlagn_txq_free_tfd isn't used, remove it. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 214d14d4d323aab5d455b409e279f9e1e6631123 Author: Johannes Berg Date: Wed May 4 07:50:44 2011 -0700 iwlagn: clean up TXQ indirection All of these functions no longer need to be accessed indirectly since they're shared in all AGN devices. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 3fa507386dc4cdf731344cb9361e9cca373cedb9 Author: Johannes Berg Date: Wed May 4 07:50:38 2011 -0700 iwlagn: prepare for multi-TB commands In a subsequent patch, I want to make commands use multiple TBs in a TFD. This is a simple change to prepare the data structures for this, with as of now still just a single TB supported. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 9439064cd9fce8a4db716a748dbf581eb234f9c7 Author: Eliad Peller Date: Fri May 13 11:57:13 2011 +0300 wl12xx: enter/exit psm on wowlan suspend/resume When operating as station, enter psm before suspending the device into wowlan state. Add a new completion event to signal when psm was entered successfully. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit f795ea8b2f047409c59e891d6e5e86a925048bf4 Author: Eliad Peller Date: Fri May 13 11:57:12 2011 +0300 wl12xx_sdio: declare support for NL80211_WOW_TRIGGER_ANYTHING trigger Since wowlan requires the ability to stay awake while the host is suspended, declare support for NL80211_WOW_TRIGGER_ANYTHING if the MMC_PM_KEEP_POWER capability is being supported. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit f44e58681aec420b132a54823d8911293a644d4e Author: Eliad Peller Date: Fri May 13 11:57:11 2011 +0300 wl12xx: prevent scheduling while suspending (WoW enabled) When WoW is enabled, the interface will stay up and the chip will be powered on, so we have to flush/cancel any remaining work, and prevent the irq handler from scheduling a new work until the system is resumed. Add 2 new flags: * WL1271_FLAG_SUSPENDED - the system is (about to be) suspended. * WL1271_FLAG_PENDING_WORK - there is a pending irq work which should be scheduled when the system is being resumed. In order to wake-up the system while getting an irq, we initialize the device as wakeup device, and calling pm_wakeup_event() upon getting the interrupt (while the system is about to be suspended) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 039bdb1494d1d514987ce596a4898494021c7af2 Author: Eliad Peller Date: Fri May 13 11:57:10 2011 +0300 wl12xx_sdio: set MMC_PM_KEEP_POWER flag on suspend if a wow trigger was configured, set the MMC_PM_KEEP_POWER flag on suspend, so our power will be kept while the system is suspended. We needed to set this flag on each suspend attempt (when we want to keep power) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 402e48616078c1e56f55a69d314b77f1d750d6ad Author: Eliad Peller Date: Fri May 13 11:57:09 2011 +0300 wl12xx: declare suspend/resume callbacks (for wowlan) Additionally, add wow_enabled field to wl, to indicate whether wowlan was configured. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 2c0f24636c80aa09990c507c0cede39add4b4724 Author: Eliad Peller Date: Fri May 13 11:57:08 2011 +0300 wl12xx_sdio: set interrupt as wake_up interrupt set the sdio interrupt as wake_up interrupt, so we will be able to wake up the suspended system (Wake-On-Wireless) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit fe44870bcdf614e4abb35657c68081cda35ba741 Author: Luciano Coelho Date: Thu May 12 16:50:41 2011 +0300 wl12xx: remove unused flag WL1271_FLAG_IDLE_REQUESTED This flag is not used anymore, remove it from the list. Signed-off-by: Luciano Coelho commit 683c002447c12742f5151691083f68524f33b13a Author: Luciano Coelho Date: Thu May 12 17:07:55 2011 +0300 wl12xx: prevent sched_scan when not idle or not in station mode The current firmware only supports scheduled scan in station mode and when idle. To prevent the firmware from crashing, return -EOPNOTSUPP when sched_scan start is called in an invalid state. Signed-off-by: Luciano Coelho commit d3eff81de6048d8af8f95f52f0f06625980f2efb Author: Luciano Coelho Date: Tue May 10 14:47:45 2011 +0300 wl12xx: export scheduled scan state in debugfs Add the sched_scanning value to the driver_status debugfs entry. Signed-off-by: Luciano Coelho commit 33c2c06cd2d766387cf919d0afd432cc5796c369 Author: Luciano Coelho Date: Tue May 10 14:46:02 2011 +0300 wl12xx: implement scheduled scan driver operations and reporting This patch adds the mac80211 operations for scheduled scan and the scheduled scan results reporting. Signed-off-by: Luciano Coelho commit 95feadca6dca909ae0f6e65665b782c7ca9d5122 Author: Luciano Coelho Date: Tue May 10 14:38:59 2011 +0300 wl12xx: add scheduled scan structures and commands Add firmware command structures, definitions and code to to configure, start and stop scheduled scans. Signed-off-by: Luciano Coelho commit 6394c01b61f8ab66a6af1a24ff05f2429130afcd Author: Luciano Coelho Date: Tue May 10 14:28:27 2011 +0300 wl12xx: listen to scheduled scan events Subscribe and listen to PERIODIC_SCAN_REPORT_EVENT_ID and PERIODIC_SCAN_COMPLETE_EVENT_ID in preparation for the scheduled scan implementation. Signed-off-by: Luciano Coelho commit 3a9d60e5bd72f9533b05d39278fec50b181dbdd2 Author: Luciano Coelho Date: Tue May 10 14:06:31 2011 +0300 wl12xx: add configuration values for scheduled scan Add the structures and values for driver-configured scheduled scan parameters. Signed-off-by: Luciano Coelho commit fcd23b6305e98f5ad3ddd7ff3f5081c75fcd4367 Author: Shahar Levi Date: Wed May 11 12:12:56 2011 +0300 wl12xx: add IEEE80211_HW_SPECTRUM_MGMT bit to the hw flags Set the spectrum management bit in the hw flags so that mac80211 will set the WLAN_CAPABILITY_SPECTRUM_MGMT bit in association requests (which in practice means that we support 802.11h spectrum management). [Reworded the commit log -- Luca.] Signed-off-by: Shahar Levi Signed-off-by: Luciano Coelho commit bc76b94051983b94c8ba04fbfbc59651b9925fa7 Author: Shahar Levi Date: Wed May 11 11:14:22 2011 +0300 wl12xx: Don't filter beacons that include changed HT IEs This patch adds a beacon filter rule to pass up the beacons that contain changed HT information elements. These beacons need to be passed to mac80211 so that it can act on such changes. [Reworded commit log -- Luca.] Signed-off-by: Shahar Levi Signed-off-by: Luciano Coelho commit 889cb360b4f48c1334311093161f06f7b4bd77d2 Author: Eliad Peller Date: Sun May 1 09:56:45 2011 +0300 wl12xx: simplify wl1271_ssid_set() Simplify wl1271_ssid_set by re-using cfg80211_find_ie instead of reimplementing it. Additionally, add a length check to prevent a potential buffer overflow. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 6b86bd62a505a4a9739474f00f8088395b7a80ba Author: Johannes Berg Date: Thu May 12 13:38:50 2011 +0200 mac80211: mesh: move some code to make it static There's no need to have table functions in one file and all users in another, move the functions to the right file and make them static. Also move a static variable to the beginning of the file to make it easier to find. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 85a9994a0a6cba1a6cc6af4bd3ebd85f778be0fe Author: Luciano Coelho Date: Thu May 12 16:28:29 2011 +0300 cfg80211/mac80211: avoid bounce back mac->cfg->mac on sched_scan_stopped When sched_scan_stopped was called by the driver, mac80211 calls cfg80211, which in turn was calling mac80211 back with a flag "driver_initiated". This flag was used so that mac80211 would do the necessary cleanup but would not call the driver. This was enough to prevent the bounce back between the driver and mac80211, but not between mac80211 and cfg80211. To fix this, we now do the cleanup in mac80211 before calling cfg80211. To help with locking issues, the workqueue was moved from cfg80211 to mac80211. Reported-by: Johannes Berg Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit a3836e02ba4c50db958d32d710b226f2408623dc Author: Johannes Berg Date: Thu May 12 15:11:37 2011 +0200 mac80211: fix a few RCU issues A few configuration functions correctly do rcu_read_lock() but don't correctly reference some pointers protected by RCU. Fix that. Cc: stable@kernel.org Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8cb231530f03961b55aa4e84e6ead5590bcde04d Author: Johannes Berg Date: Thu May 12 15:07:15 2011 +0200 mac80211: fix another key non-race The code here is only not racy because all the places that assign the pointers it uses are holding the sta_mtx as well as the key_mtx and so can't race against this because this code holds the sta_mtx. But that's not intuitive, so fix it to hold the key_mtx. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5c0c36412b2dc6b1e243c7e9115306fe286583b7 Author: Johannes Berg Date: Thu May 12 14:31:49 2011 +0200 mac80211: make key locking clearer The code in ieee80211_del_key() doesn't acquire the key_mtx properly when it dereferences the keys. It turns out that isn't actually necessary since the key_mtx itself seems to be redundant since all key manipulations are done under the RTNL, but as long as we have the key_mtx we should use it the right way too. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit dea4096bc41a9642039840ced91e585d04883a16 Author: Johannes Berg Date: Thu May 12 15:03:32 2011 +0200 mac80211: remove pointless mesh path timer RCU code The code here to RCU-dereference a pointer that's on the stack is totally pointless, RCU isn't magic (like say Java's weak references are), so the code can't work like whoever wrote it thought it might. Remove it so readers don't get confused. Note that it seems that a bug is there anyway: I don't see any code that cancels the timer when a mesh path struct is destroyed. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit be0e6aa5a0c487a2a0880dda8bc70f7f1860fc39 Author: Senthil Balasubramanian Date: Thu May 12 16:24:28 2011 +0530 ath9k_hw: Fix STA connection issues with AR9380 (XB113). XB113 (AR9380) 3x3 SB 5G only cards were failing to connect to APs due to incorrect xpabiaslevel configuration. fix it. Cc: stable@kernel.org Cc: Ray Li Cc: Kathy Giori Cc: Aeolus Yang Cc: compat@orbit-lab.org Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 406a39ec00992090cda034625e176504eb7a71f9 Author: Amitkumar Karwar Date: Wed May 11 19:47:11 2011 -0700 mwifiex: remove mwifiex_recv_complete function The function - increments dropped rx_packet count if status code passed to it is "-1". - frees SKB buffer. But currently the function is being called with "0" status code. This patch replaces above function by dev_kfree_skb_any() call. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 9ba7f4f5eba5f4b44c7796bbad29f8ec3a7d5864 Author: Luis R. Rodriguez Date: Wed May 11 14:57:26 2011 -0700 ath9k_hw: fix dual band assumption for XB113 The XB113 cards are single band, 5 GHz-only, but the default settings were configured to assume it was dual band. Users of these cards then would see 2.4 GHz channels but you would never get any scan results from these channels given that the radio is not present. Cc: stable@kernel.org Cc: Fiona Cain Cc: Ray Li Cc: Kathy Giori Cc: Aeolus Yang Cc: Dan Friedman Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8fddddff0ad4ccc2787464207eba9ed3063e69cd Author: Daniel Halperin Date: Tue May 10 19:00:45 2011 -0700 mac80211: fix contention time computation in minstrel, minstrel_ht When transmitting a frame, the transmitter waits a random number of slots between 0 and cw. Thus, the contention time is (cw / 2) * t_slot which we can represent instead as (cw * t_slot) >> 1. Also fix a few other accounting bugs around contention time, and add comments. Signed-off-by: Daniel Halperin Signed-off-by: John W. Linville commit 56d1893d94bc06d0b1aa3a53f924ed02f9e207bf Author: Johannes Berg Date: Mon May 9 18:41:15 2011 +0200 cfg80211: restrict AP beacon intervals Multiple virtual AP interfaces can currently try to use different beacon intervals, but that just leads to problems since it won't actually be done that way by drivers. Return an error in this case to make sure it won't be done wrong. Also, ignore attempts to change the DTIM period or beacon interval during the lifetime of the BSS. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 15cb309614f35df344b9f06a9ea9f077d1e449db Merge: 4daf50f 55183d0 Author: John W. Linville Date: Thu May 12 14:06:10 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6 commit 4daf50f20256e0022c87c1609226e971a70c82fd Author: Yogesh Ashok Powar Date: Thu May 12 09:32:17 2011 -0400 mac80211: Fix mesh-related build breakage... net/mac80211/cfg.c: In function ‘sta_apply_parameters’: net/mac80211/cfg.c:746: error: ‘struct sta_info’ has no member named ‘plink_state’ make[1]: *** [net/mac80211/cfg.o] Error 1 make: *** [net/mac80211/mac80211.ko] Error 2 Signed-off-by: John W. Linville commit 55183d06cd1bd939ceccdad628b0aae12c86b803 Author: Gustavo F. Padovan Date: Wed May 11 19:26:06 2011 -0300 Bluetooth: Remove leftover debug messages They were added by me while testing and I forgot to remove. Signed-off-by: Gustavo F. Padovan commit 365227e5fdf3d117e096416d9d3cc148959a829e Author: Vinicius Costa Gomes Date: Fri May 6 18:41:44 2011 -0300 Bluetooth: Add support for disconnecting LE links via mgmt If we can't find a ACL link between the devices, we search the connection list one second time looking for LE links. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 83bc71b4102d2a288edaf9ee398b330b88a88086 Author: Vinicius Costa Gomes Date: Fri May 6 18:41:43 2011 -0300 Bluetooth: Add support for sending connection events for LE links We need to be able for receive events notifying that the connection was established, the connection attempt failed or that disconnection happened. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit bbe6ad6dcb1eb26bd12ec85320f402721c3383ae Author: Luciano Coelho Date: Wed May 11 17:09:37 2011 +0300 cfg80211/nl80211: add interval attribute for scheduled scans Introduce NL80211_ATTR_SCHED_SCAN_INTERVAL as a required attribute for NL80211_CMD_START_SCHED_SCAN. This value informs the driver at which intervals the scheduled scan cycles should be executed. Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 79f460ca49d8d5700756ab7071c951311c7f29cc Author: Luciano Coelho Date: Wed May 11 17:09:36 2011 +0300 mac80211: add support for HW scheduled scan Implement support for HW scheduled scan. The mac80211 code doesn't perform scheduled scans itself, but calls the driver to start and stop scheduled scans. This patch also creates a trace event class to be used by drv_hw_scan and the new drv_sched_scan_start and drv_sched_stop functions, in order to avoid duplicate code. Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 807f8a8c300435d5483e8d78df9dcdbc27333166 Author: Luciano Coelho Date: Wed May 11 17:09:35 2011 +0300 cfg80211/nl80211: add support for scheduled scans Implement new functionality for scheduled scan offload. With this feature we can scan automatically at certain intervals. The idea is that the hardware can perform scan automatically and filter on desired results without waking up the host unnecessarily. Add NL80211_CMD_START_SCHED_SCAN and NL80211_CMD_STOP_SCHED_SCAN commands to the nl80211 interface. When results are available they are reported by NL80211_CMD_SCHED_SCAN_RESULTS events. The userspace is informed when the scheduled scan has stopped with a NL80211_CMD_SCHED_SCAN_STOPPED event, which can be triggered either by the driver or by a call to NL80211_CMD_STOP_SCHED_SCAN. Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 6bdbdbf4a151a3a1333818cd17a7d7795e936041 Author: Sascha Silbe Date: Wed May 11 14:52:34 2011 +0200 libertas: Add libertas_disablemesh module parameter to disable mesh interface This allows individual users and deployments to disable mesh support at runtime, i.e. without having to build and maintain a custom kernel. Based on a patch by Paul Fox . Signed-off-by: Sascha Silbe Signed-off-by: John W. Linville commit a8c485652ad4217800015aab25f1b70b96adb1a9 Author: Bing Zhao Date: Tue May 10 20:47:36 2011 -0700 mwifiex: cleanup ioctl.h Some structures and macros in ioctl.h are redundant or no longer used. Signed-off-by: Bing Zhao Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit c4859fbcfc12d5cfe8c30a33ad37d192a3093a7b Author: Amitkumar Karwar Date: Tue May 10 20:47:35 2011 -0700 mwifiex: remove redundant local structures Avoid use of local structure in the function if the structure is already allocated by the caller and the structure pointer is passed. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 0fd82eafe3aa70937905b7e19e256409ae48477e Author: Rafał Miłecki Date: Wed May 11 02:10:59 2011 +0200 b43: implement timeouts workaround Documented in: <4DCA7E40.9070709@lwfinger.net> Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit f59a59fea3be78c2bda23cb7f55225b33c502c3c Author: Felix Fietkau Date: Tue May 10 20:52:22 2011 +0200 ath9k: fix a regression in PS frame filter handling Only leave filtering enabled for AP or VLAN interfaces, clear the destination mask for all other interfaces. Signed-off-by: Felix Fietkau Reported-by: Ben Greear Tested-by: Ben Greear Signed-off-by: John W. Linville commit 858a16529cb4c6434d863740283e0dfeb93cd599 Author: Rafał Miłecki Date: Tue May 10 16:05:33 2011 +0200 b43: move MAC PHY clock controling function This is not N-PHY specific function, we partially duplicate code. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit a7ffab33203ae0c755b33a80756fe734f732dbb0 Author: Rafał Miłecki Date: Tue May 10 15:53:16 2011 +0200 b43legacy: trivial: use TMSLOW def instead of magic value Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 92ddc111c4bc7216673bce7c49a2d54bedb1593c Author: Luciano Coelho Date: Mon May 9 14:40:06 2011 +0300 mac80211: add a couple of trace event classes to reduce duplicated code The functions drv_add_interface() and drv_remove_interface() print out the same values in the traces. Combine the traces of these two functions into one event class to remove some duplicate code. Also add a new class for functions drv_set_frag_threshold() and drv_set_rts_threshold(). Cc: Johannes Berg Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit d381f221199c58d2bf25a7024e786fc58562487c Author: Ben Greear Date: Fri May 6 15:24:34 2011 -0700 ath5k: Fix lockup due to un-init spinlock. This was introduced in 2.6.39-rc1 it seems. Signed-off-by: Ben Greear Tested-by: Sedat Dilek Signed-off-by: John W. Linville commit 9b76b1e4d383868ba9c2a5fa2c2716bbc2384342 Author: Fabrice Deyber Date: Fri May 6 15:11:51 2011 -0700 mac80211: Only process mesh PREPs with equal seq number if metric is better. This fixes routing loops in PREP propagation and is in accordance with Draft 11, Section: 11C.9.8.4. Signed-off-by: Fabrice Deyber Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit fd5999cf11c8322568034bbf0d5594be94542a57 Author: Javier Cardona Date: Tue May 3 16:57:19 2011 -0700 ath9k: fix beaconing for mesh interfaces Mesh beaconing on ath9k was broken by this commit: commit 4801416c76a3a355076d6d371c00270dfe332e1c Author: Ben Greear Date: Sat Jan 15 19:13:48 2011 +0000 This patch assigns the right opmode when the device is used in mesh mode. Reported-by: Fabrice Deyber fabricedeyber@agilemesh.com Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 1833d81a1229adeab98f275b47624d66462561e5 Author: Javier Cardona Date: Tue May 3 16:57:18 2011 -0700 mac80211: allow setting supported rates on mesh peers This is necessary for userspace managed stations. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 28104cae63708d1790cd71db8a45af50d5ea5a92 Author: Javier Cardona Date: Tue May 3 16:57:17 2011 -0700 mac80211: Move call to mpp_path_lookup inside RCU-read section PROVE_RCU caught that one: [ 431.214070] =================================================== [ 431.215341] [ INFO: suspicious rcu_dereference_check() usage. ] [ 431.215674] --------------------------------------------------- [ 431.216043] net/mac80211/mesh_pathtbl.c:184 invoked rcu_dereference_check() without protection! Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 9b84b80891e5e25ae21c855bb135b05274125a29 Author: Javier Cardona Date: Tue May 3 16:57:16 2011 -0700 mac80211: Fix locking bug on mesh path table access The mesh and mpp path tables are accessed from softirq and workqueue context so non-irq locking cannot be used. Or at least that's what PROVE_RCU seems to tell us here: [ 431.240946] ================================= [ 431.241061] [ INFO: inconsistent lock state ] [ 431.241061] 2.6.39-rc3-wl+ #354 [ 431.241061] --------------------------------- [ 431.241061] inconsistent {IN-SOFTIRQ-W} -> {SOFTIRQ-ON-W} usage. [ 431.241061] kworker/u:1/1423 [HC0[0]:SC0[0]:HE1:SE1] takes: [ 431.241061] (&(&newtbl->hashwlock[i])->rlock){+.?...}, at: [] mesh_path_add+0x167/0x257 Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 9ca99eeca0cfe839c481f3350988e9ed94188567 Author: Javier Cardona Date: Tue May 3 16:57:15 2011 -0700 mac80211: Check size of a new mesh path table for changes since allocation. Not sure if I'm chasing a ghost here, seems like the mesh_path->size_order needs to be inside an RCU-read section to prevent that value from changing between table allocation and copying. We have observed crashes that might be caused by this. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 8429828ec96b66b6861e9fabebec007e9e132370 Author: Thomas Pedersen Date: Tue May 3 16:57:13 2011 -0700 nl80211: allow setting MFP flag for a meshif Signed-off-by: Thomas Pedersen Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit ff973af74aa6932ca4758266bccec68e8135ddf7 Author: Thomas Pedersen Date: Tue May 3 16:57:12 2011 -0700 nl80211: allow installing keys for a meshif Signed-off-by: Thomas Pedersen Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 9c3990aaec0ad9f686ef6480f6861f2df89b2a7a Author: Javier Cardona Date: Tue May 3 16:57:11 2011 -0700 nl80211: Let userspace drive the peer link management states. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 0a35d36d6f019bde6c98812456798275b02e5aee Author: Javier Cardona Date: Wed May 4 10:24:56 2011 -0700 cfg80211: Use capability info to detect mesh beacons. Mesh beacons no longer use all-zeroes BSSID. Beacon frames for MBSS, infrastructure BSS, or IBSS are differentiated by the Capability Information field in the Beacon frame. A mesh STA sets the ESS and IBSS subfields to 0 in transmitted Beacon or Probe Response management frames. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 915b5c50f8f45e78ea96d93f1e49edb20c9470bd Author: Javier Cardona Date: Tue May 3 16:57:10 2011 -0700 open80211s: Stop using zero for address 3 in mesh plink mgmt frames Previous versions of 11s draft used the all zeroes address. Current draft uses the same address as address 2. Also, use the ANA-approved action category code for peer establishment frames. Note: This breaks compatibility with previous mesh protocol instances. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit d3aaec8ab76c2d604c2ba7332e1338674607597b Author: Javier Cardona Date: Tue May 3 16:57:09 2011 -0700 mac80211: Drop MESH_PLINK category and use new ANA-approved MESH_ACTION Note: This breaks compatibility with previous mesh protocol instances. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 0778a6a3e56cabdc322755f97ad23ee67efad0f0 Author: Javier Cardona Date: Tue May 3 16:57:08 2011 -0700 mac80211: Let userspace send action frames over mesh interfaces Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit b130e5cec958bae3867cf6ab09a9b24ba8fada01 Author: Javier Cardona Date: Tue May 3 16:57:07 2011 -0700 nl80211: Introduce NL80211_MESH_SETUP_USERSPACE_AMPE Introduce a new configuration option to support AMPE from userspace. Prior to this series we only supported authentication in userspace: an authentication daemon would authenticate peer candidates in userspace and hand them over to the kernel. From that point the mesh stack would take over and establish a peer link (Mesh Peering Management). These patches introduce support for Authenticated Mesh Peering Exchange in userspace. The userspace daemon implements the AMPE protocol and on successfull completion create mesh peers and install encryption keys. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit b3b1b061583ba4909b59a2f736825d86495fe956 Author: Waldemar Rymarkiewicz Date: Fri May 6 09:42:31 2011 +0200 Bluetooth: Double check sec req for pre 2.1 device In case of pre v2.1 devices authentication request will return success immediately if the link key already exists without any authentication process. That means, it's not possible to re-authenticate the link if you already have combination key and for instance want to re-authenticate to get the high security (use 16 digit pin). Therefore, it's necessary to check security requirements on auth complete event to prevent not enough secure connection. Signed-off-by: Waldemar Rymarkiewicz Signed-off-by: Gustavo F. Padovan commit 2a7bccccdb9604a717c2128a931f022267d35629 Author: Andy Ross Date: Mon May 9 16:11:16 2011 -0700 Bluetooth: Device ids for ath3k on Pegatron Lucid tablets New ath3k device IDs used on the Pegatron Lucid (ExoPC and WeTab) units. Signed-off-by: Andy Ross Signed-off-by: Gustavo F. Padovan commit f3a57fd148a4afd3c38f558c5b44972cb29ea8ba Author: Joe Perches Date: Mon May 2 16:49:15 2011 -0700 libertas: Use netdev_ or dev_ where possible Using the more descriptive logging styles gives a bit more information about the device being operated on. Makes the object trivially smaller too. $ size drivers/net/wireless/libertas/built-in.o.* 187730 2973 38488 229191 37f47 drivers/net/wireless/libertas/built-in.o.new 188195 2973 38488 229656 38118 drivers/net/wireless/libertas/built-in.o.old Signed-off-by: Joe Perches Acked-by: Dan Williams Signed-off-by: John W. Linville commit 0e4e06ae5e895864b4a4bca7eec2e3015fddca98 Author: Joe Perches Date: Mon May 2 16:49:14 2011 -0700 libertas: Convert lbs_pr_ to pr_ Use the standard pr_ functions eases grep a bit. Added a few missing terminating newlines to messages. Coalesced long formats. Signed-off-by: Joe Perches Acked-by: Dan Williams Signed-off-by: John W. Linville commit 7cc5eb629cefa9a40295ff5ee4b1ec41ad855e8d Author: Amitkumar Karwar Date: Mon May 9 19:00:18 2011 -0700 mwifiex: remove unnecessary struct mwifiex_opt_sleep_confirm_buffer The structure definition is struct mwifiex_opt_sleep_confirm_buffer { u8 hdr[4]; struct mwifiex_opt_sleep_confirm ps_cfm_sleep; } __packed; For sleep_confirm command we already reserve 4 bytes (using skb_reserve()) for an interface header. It will be filled later by interface specific code. We don't need "hdr[4]" element in above structure. So we can use "struct mwifiex_opt_sleep_confirm" directly instead of "struct mwifiex_opt_sleep_confirm_buffer". Signed-off-by: Amitkumar Karwar Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 306fe9384f06d31219778cece2d3c646146e7bb6 Author: Luciano Coelho Date: Mon May 9 19:15:04 2011 +0300 mac80211: don't drop frames where skb->len < 24 in ieee80211_scan_rx() This seems to be a leftover from the old days, when we didn't support any frames that didn't contain the full ieee802.11 header. This is not the case anymore. It does not cause problems now, because they are only dropped during scan. But when scheduled scans get merged, this would become a problem because we would drop all small frames while scheduled scan is running. To fix this, return RX_CONTINUE instead of RX_DROP_MONITOR. Cc: Johannes Berg Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 729da390034d04ff1b3a3f188dfb04a54f458e35 Author: Rajkumar Manoharan Date: Mon May 9 19:11:29 2011 +0530 ath9k: Failed to set default beacon rssi in AP/IBSS mode This beacon rssi will be used to set noisefloor during ani reset. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 2b892a98db269b96ed097d560aaaa371907d20f5 Author: Rajkumar Manoharan Date: Mon May 9 19:11:28 2011 +0530 ath9k: Fix rssi update in ad-hoc mode The average beacon rssi which will be used by ani is not updated in adhoc mode. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 94333f59cba08a1f6513ecd7e2fc5b85c1949a98 Author: Rajkumar Manoharan Date: Mon May 9 19:11:27 2011 +0530 ath9k_hw: Change DCU backoff thresh for AR9340 By changing DCU backoff threshold for AR9340 to 1, helps to reduce rx overrurns seen while running bidirectional traffic. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 165af96d56dce3bd0cd09567106f22215f80bb63 Author: Rajkumar Manoharan Date: Mon May 9 19:11:26 2011 +0530 ath9k_hw: Corrected xpabiaslevel register settings for AR9340 Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 73f743670d36ddd61247d709711227b0e2e1a497 Author: Joe Perches Date: Mon May 9 12:51:57 2011 -0700 rtlwifi: rtl8192cu: Fix memset/memcpy using sizeof(ptr) not sizeof(*ptr) Found via coccinelle script @@ type T; T* ptr; expression E1; @@ * memset(E1, 0, sizeof(ptr)); Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 8c12c7b0efce09b87e67d05332bdcb86ea83f65a Author: Mohammed Shafi Shajakhan Date: Mon May 9 10:29:01 2011 +0530 ath9k_hw: remove get_channel_noise function currently ath9k_hw_getchan_noise is not used anywhere Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 5ee9c6afcb72eb41c3607e424c3b969f8c56031b Author: Rafał Miłecki Date: Mon May 9 00:21:18 2011 +0200 b43: trivial: include ssb word in ssb specific functions This can be helpful when we decide to add support for other buses. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit b53575ecf939a4f752de87eabf1adbcfa4478a6c Author: Christoph Fritz Date: Sun May 8 22:50:09 2011 +0200 mwifiex: fix null derefs, mem leaks and trivia This patch: - adds kfree() where necessary - prevents potential null dereferences - makes use of kfree_skb() - replaces -1 for failed kzallocs with -ENOMEM Signed-off-by: Christoph Fritz Reviewed-by: Kiran Divekar Tested-by: Amitkumar Karwar Acked-by: Bing Zhao Signed-off-by: John W. Linville commit 3ed3f49473985718ce51f84d990ed5b8b6472598 Author: Rafał Miłecki Date: Sun May 8 20:30:33 2011 +0200 b43legacy: drop ssb-duplicated workaround for dangling cores Remove the code to detect inactive 802.11 cores, as that function is now done in ssb. Signed-off-by: Rafał Miłecki Tested-by: Larry Finger Acked-by: Larry Finger Signed-off-by: John W. Linville commit 25ea0dd9ffb7459f3b2948430f75d99b46ca1870 Author: Rafał Miłecki Date: Sun May 8 20:30:32 2011 +0200 b43: drop ssb-duplicated workaround for dangling cores Remove the code to detect inactive 802.11 cores, as that function is now done in ssb. Signed-off-by: Rafał Miłecki Tested-by: Larry Finger Acked-by: Larry Finger Signed-off-by: John W. Linville commit 9a24af1136e6d08c73010205caa282f46223aed5 Author: Gertjan van Wingerde Date: Sat May 7 17:27:46 2011 +0200 rt2x00: Fix rmmod hang of rt2800pci txstatus_timer should only be deleted for USB devices, as it is only initialized for USB devices. Reported-by: Andreas Hartmann Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1816fcdcbbe9ff42ba1a9dac5198d18efb9d95e9 Author: Christian Lamparter Date: Sat May 7 11:16:08 2011 +0200 p54pci: fix -Wunused-but-set-variable warnings p54pci.c: In function ‘p54p_tx’: p54pci.c:334:6: warning: variable ‘device_idx’ set but not used Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 6490e334bc3af960965adfcef5acf6e5cbdd925c Author: Christian Lamparter Date: Sat May 7 11:13:37 2011 +0200 carl9170: fix -Wunused-but-set-variable warnings tx.c: In function ‘carl9170_tx_accounting_free’: tx.c:159:28: warning: variable ‘txinfo’ set but not used tx.c: In function ‘carl9170_tx_status_process_ampdu’: tx.c:383:27: warning: variable ‘ar_info’ set but not used tx.c: In function ‘__carl9170_tx_process_status’: tx.c:626:27: warning: variable ‘arinfo’ set but not used tx.c: In function ‘carl9170_tx_ampdu_queue’: tx.c:1324:15: warning: variable ‘max’ set but not used Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit fc7707a469785fe786ddc66d723c150226ddc40e Author: Chaoming Li Date: Fri May 6 15:32:02 2011 -0500 rtlwifi: rtl8192se: Remove need to disable ASPM When this driver was initially submitted, the system would crash unless ASPM was disabled. This problem has been fixed. This patch also adds a printk that outputs the name of the firmware file that is used. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c84aa5af996a306c8ce66aac2cc4d5f4a74e27ca Author: Larry Finger Date: Fri May 6 13:56:18 2011 -0500 rtlwifi: Move 2 large arrays off stack In driver rtlwifi, efuse_read() places two relatively large arrays on the stack - a 1D u8 array of size 128, and a 2D array of u16 with 128 * 4 elements. With driver rtl8192de, the sizes will be 256 and 256 * 4 respectively. As that will make the 2D array be 2048 bytes, I have changed the code to use kmalloc to allocate the space. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 054ec924944912413e4ee927b8cf02f476d08783 Author: Johannes Berg Date: Fri May 6 11:11:20 2011 -0700 iwlagn: fix iwl_is_any_associated The function iwl_is_any_associated() was intended to check both contexts, but due to an oversight it only checks the BSS context. This leads to a problem with scanning since the passive dwell time isn't restricted appropriately and a scan that includes passive channels will never finish if only the PAN context is associated since the default dwell time of 120ms won't fit into the normal 100 TU DTIM interval. Fix the function by using for_each_context() and also reorganise the other functions a bit to take advantage of each other making the code easier to read. Cc: stable@kernel.org Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 4105f8075051b62816830c95de1ec17ceb364d09 Author: Rajkumar Manoharan Date: Fri May 6 18:27:47 2011 +0530 ath9k: process TSF out of range before RX Processing TSF out of range before RX helps to update beacon timers so early in the succeeding rx process. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit deb751880af6f2dce6cdc232a7b023f2b58cd815 Author: Rajkumar Manoharan Date: Fri May 6 18:27:46 2011 +0530 ath9k: avoid enabling interrupts while processing rx The assumsion is that while processing ath9k tasklet, interrupts were already disabled and it will be enabled at the completion of ath9k tasklet. But whenever TSFOOR is raised, the driver configures the beacon timers after having received a beacon frame from the AP which inturn enables the interrupts. Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 38bb3e9da62f6ebf1c6940d5482f0d6f431dac1c Author: Larry Finger Date: Thu May 5 18:48:47 2011 -0500 mac80211: Fix build error when CONFIG_PM is not defined When mac80211 is built without CONFIG_PM being defined, the following errors are output: net/mac80211/main.c: In function ‘ieee80211_register_hw’: net/mac80211/main.c:700: error: ‘const struct ieee80211_ops’ has no member named ‘suspend’ net/mac80211/main.c:700: error: ‘const struct ieee80211_ops’ has no member named ‘resume’ make[2]: *** [net/mac80211/main.o] Error 1 make[1]: *** [net/mac80211] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [net] Error 2 Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3782cf4a04c272bdaa8476463b1d0208edbc505d Author: Wey-Yi Guy Date: Sat Apr 30 08:38:16 2011 -0700 iwlagn: 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 6572e91d5fa61bb3f879a00b96d763c566ced6cb Author: Rajkumar Manoharan Date: Mon Apr 25 15:56:16 2011 +0530 wireless: Fix warnings due to -Wunused-but-set-variable These warnings are exposed by gcc 4.6. net/wireless/reg.c: In function 'freq_reg_info_regd': net/wireless/reg.c:675:38: warning: variable 'pr' set but not used [-Wunused-but-set-variable] net/wireless/lib80211_crypt_wep.c: In function 'lib80211_wep_build_iv': net/wireless/lib80211_crypt_wep.c:99:12: warning: variable 'len' set but not used [-Wunused-but-set-variable] Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit d21844c7c23a71acea6fd68365b09b40e252a876 Merge: e4eefec 2c46f72 Author: John W. Linville Date: Tue May 10 15:49:11 2011 -0400 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 70f23fd66bc821a0e99647f70a809e277cc93c4c Author: Justin P. Mattock Date: Tue May 10 10:16:21 2011 +0200 treewide: fix a few typos in comments - kenrel -> kernel - whetehr -> whether - ttt -> tt - sss -> ss Signed-off-by: Justin P. Mattock Signed-off-by: Jiri Kosina commit 0744371aeba7a5004006c2309971ee026c0b2000 Author: Lai Jiangshan Date: Tue Mar 15 18:02:42 2011 +0800 net,rcu: convert call_rcu(kfree_tid_tx) to kfree_rcu() The rcu callback kfree_tid_tx() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(kfree_tid_tx). Signed-off-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Cc: "John W. Linville" Cc: Johannes Berg Reviewed-by: Josh Triplett Acked-by: "David S. Miller" commit a74ce1425e4f6075de443274a5e917c84357eac4 Author: Lai Jiangshan Date: Fri Mar 18 12:14:15 2011 +0800 net/mac80211,rcu: convert call_rcu(work_free_rcu) to kfree_rcu() The rcu callback work_free_rcu() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(work_free_rcu). Signed-off-by: Lai Jiangshan Acked-by: "John W. Linville" Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 2c46f72e069eef5e98f2b04df08cde6bdc673aa7 Author: Johannes Berg Date: Thu Apr 28 07:27:10 2011 -0700 iwlagn: check DMA mapping errors DMA mappings can fail, but the current code doesn't check for that. Add checking, which requires some restructuring for proper error paths. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 94b00658ffc719427c9c09d7920957bc35915c6f Author: Johannes Berg Date: Thu Apr 28 07:27:09 2011 -0700 iwlagn: remove bytecount indirection All AGN devices need the bytecount table, so remove the indirection and make the functions static again. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit ccb6c1c0ec2b76a41c8c85747b1a671e71b97e64 Author: Johannes Berg Date: Thu Apr 28 07:27:08 2011 -0700 iwlagn: dont update bytecount table for command queue The device doesn't use the bytecount table for the command queue, only for aggregation queues to make aggregation decisions. So don't update it for the command queue (and we even updated it with wrong values). Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 4c2cde3b59d923d2952ef0accdde892e23b4997b Author: Johannes Berg Date: Thu Apr 28 07:27:07 2011 -0700 iwlagn: remove unused variable The variable 'len' here is set but never used. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 8a98d49ec1f38d9f3eef7e34f148c3f1f5590fdf Author: Johannes Berg Date: Fri Apr 29 09:48:14 2011 -0700 iwlagn: remove frame pre-allocation The frame pre-allocation is quite a bit of complex code, all to avoid a single allocation. Remove it and consolidate the beacon sending code. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 46975f78fe1f480682e51c9acb03a5089b784cb6 Author: Johannes Berg Date: Thu Apr 28 07:27:05 2011 -0700 iwlagn: remove get_hcmd_size indirection There's no need for this, all commands are the right size. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 4613e72dbdc9a44bfc4625d835511264121c4244 Author: Cindy H. Kao Date: Fri May 6 10:40:15 2011 -0700 iwlwifi: support the svtool messages interactions through nl80211 test mode This patch adds the feature to support the test mode operation through the generic netlink channel NL80211_CMD_TESTMODE between intel wireless device iwlwifi and the user space application svtool. The main purpose is to create a transportation layer between the iwlwifi device and the user space application so that the interaction between the user space application svtool and the iwlwifi device in the kernel space is in a way of generic netlink messaging. The detail specific functions are: 1. The function iwl_testmode_cmd() is added to digest the svtool test command from the user space application. The svtool test commands are categorized to three types : commands to be processed by the device ucode, commands to access the registers, and commands to be processed at the driver level(such as reload the ucode). iwl_testmode_cmd() dispatches the commands the corresponding handlers and reply to user space regarding the command execution status. Extra data is returned to the user space application if there's any. 2. The function iwl_testmode_ucode_rx_pkt() is added to multicast all the spontaneous messages from the iwlwifi device to the user space. Regardless the message types, whenever there is a valid spontaneous message received by the iwlwifi ISR, iwl_testmode_ucode_rx_pkt() is invoked to multicast the message content to user space. The message content is not attacked and the message parsing is left to the user space application. Implementation guidelines: 1. The generic netlink messaging for iwliwif test mode is through NL80211_CMD_TESTMODE channel, therefore, the codes need to follow the regulations set by cfg80211.ko to get the actual device instance ieee80211_ops via cfg80211.ko, so that the iwlwifi device is indicated with ieee80211_ops and can be actually accessed. Therefore, a callback iwl_testmode_cmd() is added to the structure iwlagn_hw_ops in iwl-agn.c. 2. It intends to utilize those low level device access APIs from iwlwifi device driver (ie. iwlagn.ko) rather than creating it's own set of device access functions. For example, iwl_send_cmd(), iwl_read32(), iwl_write8(), and iwl_write32() are reused. 3. The main functions are maintained in new files instead of spreading all over the existing iwlwifi driver files. The new files added are : drivers/net/wireless/iwlwifi/iwl-sv-open.c - to handle the user space test mode application command and reply the respective command status to the user space application. - to multicast the spontaneous messages from device to user space. drivers/net/wireless/iwlwifi/iwl-testmode.h - the commonly referenced definitions for the TLVs used in the generic netlink messages Signed-off-by: Cindy H. Kao Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 25f8f54f6e178acfd503a95441b0ea05c525f751 Author: Joe Perches Date: Tue May 3 19:29:01 2011 -0700 pcmcia: Convert pcmcia_device_id declarations to const Saves about 50KB of data. Old/new size of all objects: text data bss dec hex filename 563015 80096 130684 773795 bcea3 (TOTALS) 610916 32256 130632 773804 bceac (TOTALS) Signed-off-by: Joe Perches Acked-by: Kurt Van Dijck (for drivers/net/can/softing/softing_cs.c) Signed-off-by: Dominik Brodowski commit 7143b7d41218d4fc2ea33e6056c73609527ae687 Merge: 90864fb 87e9af6 Author: David S. Miller Date: Thu May 5 14:59:02 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/tg3.c commit 90864fbc7639d7a2300c67a18c9fb9fbcf7d51d2 Merge: 228e548 a70171d Author: David S. Miller Date: Thu May 5 14:09:28 2011 -0700 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit e4eefec73ea0a740bfe8736e3ac30dfe92fe392b Author: Yogesh Ashok Powar Date: Thu May 5 16:30:48 2011 +0530 mwl8k: Do not ask mac80211 to generate IV for crypto keys Since firmware is capable of generating IV's for all crypto suits (TKIP, CCMP and WEP), do not ask mac80211 to generate IV when HW crypto is being used. Instead only reserve appropriate space in tx skb's in the driver, so that the firmware can write IV's values. Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit eee40820e95e6dbd7b0709e7b8cca453004ae7b1 Author: Rafał Miłecki Date: Thu May 5 12:46:04 2011 +0200 b43legacy: drop invalid IMCFGLO workaround We were performing it on wrong core, it was outdated and is already implemented in ssb. Signed-off-by: Rafał Miłecki Tested-by: Larry Finger Signed-off-by: John W. Linville commit fc2b1e0cfe9b4cabde8afeacc2bb81a95bf83afb Author: Rafał Miłecki Date: Thu May 5 12:45:52 2011 +0200 b43: drop invalid IMCFGLO workaround We were performing it on wrong core, it was outdated and is already implemented in ssb. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit cf3a03b9c99a0b2715741d116f50f513f545bb2d Author: Luis R. Rodriguez Date: Wed May 4 14:01:26 2011 -0700 ath9k_hw: fix power for the HT40 duplicate frames With AR9003 at about ~ 10 feet from an AP that uses RTS / CTS you will be able to associate but not not get data through given that the power for the rates used was set too low. This increases the power and permits data connectivity at longer distances from access points when connected with HT40. Without this you will not get any data through when associated to APs configured in HT40 at about more than 10 feet away. Cc: stable@kernel.org Cc: Fiona Cain Cc: Zhen Xie Cc: Kathy Giori Cc: Neha Choksi Cc: Wayne Daniel Cc: Gaurav Jauhar Cc: Samira Naraghi CC: Ashok Chennupati Cc: Lance Zimmerman Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4268d8ed64ed918384954924284ba396cdb0e388 Author: Ivo van Doorn Date: Wed May 4 21:42:05 2011 +0200 rt2x00: Fix transfer speed regression for USB hardware Patch: rt2x00: Make rt2x00_queue_entry_for_each more flexible commit: 10e11568ca8b8a15f7478f6a4ceebabcbdba1018 introduced a severe regression on the throughput for USB hardware. It turns out that the exiting of the rt2x00queue_for_each_entry() was done too early. The exact cause for this regression is unknown, but by disabling the premature exiting of the loop seems to resolve the issue. Signed-off-by: Ivo van Doorn Reported-by: Yasushi SHOJI Reported-by: Balint Viragh Tested-by: Balint Viragh Signed-off-by: John W. Linville commit aca355b9784fbc960c9caa6b30f953a965296420 Author: Gertjan van Wingerde Date: Wed May 4 21:41:36 2011 +0200 rt2x00: Initial support for RT5370 USB devices. Add necessary RF chipset define and basic support for these devices. Tested-by: Juan Carlos Garza Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 28ef6450f0182f95c4f50aaa0ab2043a09c72b0a Author: Rajkumar Manoharan Date: Wed May 4 19:37:17 2011 +0530 ath9k_hw: do noise floor calibration only on required chains At present the noise floor calibration is processed in supported control and extension chains rather than required chains. Unnccesarily doing nfcal in all supported chains leads to invalid nf readings on extn chains and these invalid values got updated into history buffer. While loading those values from history buffer is moving the chip to deaf state. This issue was observed in AR9002/AR9003 chips while doing associate/dissociate in HT40 mode and interface up/down in iterative manner. After some iterations, the chip was moved to deaf state. Somehow the pci devices are recovered by poll work after chip reset. Raading the nf values in all supported extension chains when the hw is not yet configured in HT40 mode results invalid values. Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit eecc48000afe2ca6da22122d553b7cad294e42fc Author: Johannes Berg Date: Wed May 4 15:37:29 2011 +0200 mac80211: add basic support for WoWLAN This adds basic support for the new WoWLAN configuration in mac80211. The behaviour is completely offloaded to the driver though, with two new callbacks (suspend/resume). Options for the driver include a complete reconfiguration after wakeup, and exposing all the triggers it wants to support. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ff1b6e69ad4f31fb3c9c6da2665655f2e798dd70 Author: Johannes Berg Date: Wed May 4 15:37:28 2011 +0200 nl80211/cfg80211: WoWLAN support This is based on (but now quite far from) the original work from Luis and Eliad. Add support for configuring WoWLAN triggers, and getting the configuration out again. Changes from the original patchset are too numerous to list, but one important change needs highlighting: the suspend() callback is passed NULL for the trigger configuration if userspace has not configured WoWLAN at all. Signed-off-by: Luis R. Rodriguez Signed-off-by: Eliad Peller Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8f7f3b2fcc4ccbba0be776049df41a2f96c986ac Author: Nicolas Cavallari Date: Wed May 4 15:26:52 2011 +0200 carl9170: fix allmulticast mode Currently, the driver only disable multicast filtering when the FIF_ALLMULTI driver flag has been just set (ie, if changed_flags& FIF_ALLMULTI and *new_flags& FIF_ALLMULTI) or else it will reenable multicast filtering. But next time, this condition will be false and multicast filtering will be reenabled, even through FIF_ALLMULTI is still set. This mean that allmulticast only works for less than two minutes in ad-hoc mode. This patch fixes that to disable multicast filtering as long as FIF_ALLMULTI is set. Signed-off-by: Nicolas Cavallari Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 9b571e24a9922f79ed2440b4482cb9f11a8f1889 Author: Yogesh Ashok Powar Date: Wed May 4 17:22:16 2011 +0530 mwl8k: Fix broken WEP The WEP key length was being set to 0 erroneously which broke WEP support. Fix the same by setting the key length appropriately. Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit f0dc7999b54ae0464d7144b81d21e1d39a389d49 Author: Jouni Malinen Date: Tue May 3 22:50:15 2011 -0700 cfg80211: Remove unused wiphy flag The only user of WIPHY_FLAG_SUPPORTS_SEPARATE_DEFAULT_KEYS was removed and consequently, this flag can be removed, too. In addition, a single capability flag was not enough to indicate this capability clearly since the device behavior may be different based on which operating mode is being used. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 0e579d6a8f4aea346da818f13ee71401c125e639 Author: Jouni Malinen Date: Tue May 3 22:45:16 2011 -0700 nl80211: Fix set_key regression with some drivers Commit dbd2fd656f2060abfd3a16257f8b51ec60f6d2ed added a mechanism for user space to indicate whether a default key is being configured for only unicast or only multicast frames instead of all frames. This commit added a driver capability flag for indicating whether separate default keys are supported and validation of the set_key command based on that capability. However, this single capability flag is not enough to cover possible difference based on mode (AP/IBSS/STA) and the way this change was introduced resulted in a regression with drivers that do not indicate the new capability (i.e.., more or less any non-mac80211 driver using cfg80211) when using a recent wpa_supplicant snapshot. Fix the regression by removing the new check which is not strictly speaking needed. The new separate default key functionality is needed only for RSN IBSS which has a separate capability indication. Cc: stable@kernel.org Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 270e58e8898c8be40451ebee45b6c9b5bd5db04b Author: Yogesh Ashok Powar Date: Tue May 3 20:11:46 2011 -0700 mwifiex: remove unnecessary variable initialization Skip initialization of local variables with some default values if the values are not going to be used further down the code path. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 57f16b5da03784d1660133fbec7281ea5735da69 Author: Amitkumar Karwar Date: Tue May 3 20:11:45 2011 -0700 mwifiex: fix simultaneous assoc and scan issue When scan and assoc (infra/ibss) commands are simultaneously given in two terminals, association response is erroneously served while serving the scan response. mwifiex_cfg80211_results() is the common routine for sending ioctl (scan, assoc etc.) results to cfg80211 stack. In above scenario even if the common routine is called for scan ioctl context, it also tries to send information about assoc ioctl to cfg80211 because "priv->assoc_request/priv->ibss_join_request" flag is on at that time. Fix the issue by updating request variable after assoc handling and modifying the variable check in mwifiex_cfg80211_results. Signed-off-by: Amitkumar Karwar Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 85e09b40405b44b049500702beb6856646b4be46 Author: Chaoming Li Date: Tue May 3 09:49:36 2011 -0500 rtlwifi: rtl8192se: Modify Kconfig and Makefile routines for new driver Modify rtlwifi routines for rtl8192se and set up Kconfig and Makefile for new driver. This patch also disables ASPM for the RTL8192SE to prevent some strange crashes on LF's system. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 84f494cef7d98d67aa7d50ede12784464aa0c274 Author: Chaoming Li Date: Tue May 3 09:49:26 2011 -0500 rtlwifi: rtl8192se: Merge TX and RX routines Merge routines trx.c and trx.h for RTL8192SE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 18906ae27d233914d54f41e5fcf3fdfdf2fb69a9 Author: Chaoming Li Date: Tue May 3 09:49:16 2011 -0500 rtlwifi: rtl8192se: Merge table routines Merge routines table.c and table.h for RTL8192SE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 5a183eec6247d3d992afbd3a1a9658571d9c4970 Author: Chaoming Li Date: Tue May 3 09:49:06 2011 -0500 rtlwifi: rtl8192se: Merge main (sw) routines Merge routines sw.c and sw.h for RTL8192SE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit e5e8cd76511cb62391a5b64fa4ffdf88b09b6826 Author: Chaoming Li Date: Tue May 3 09:48:56 2011 -0500 rtlwifi: rtl8192se: Merge rf routines Merge routines rf.c and rf.h for RTL8192SE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit cf76bbf7c0d0315ec17c950d14de939a81465f6b Author: Chaoming Li Date: Tue May 3 09:48:45 2011 -0500 rtlwifi: rtl8192se: Merge register definitions Merge routines reg.h for RTL8192SE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit d15853163bea3d31c3b2cc9c74d018a861c128cf Author: Chaoming Li Date: Tue May 3 09:48:35 2011 -0500 rtlwifi: rtl8192se: Merge phy routines Merge routines phy.c and phy.h for RTL8192SE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 293380046bf1a80872d611143a5ee6a23f662472 Author: Chaoming Li Date: Tue May 3 09:48:25 2011 -0500 rtlwifi: rtl8192se: Merge led routines Merge routines led.c and led.h for RTL8192SE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 24284531497def77d0c3c0de9046880b1c4e6b13 Author: Chaoming Li Date: Tue May 3 09:48:15 2011 -0500 rtlwifi: rtl8192se: Merge hardware routines Merge routines hw.c and hw.h for RTL8192SE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 701307a885b13a1790b94e232923de1d199e3cc9 Author: Chaoming Li Date: Tue May 3 09:48:05 2011 -0500 rtlwifi: rtl8192se: Merge firmware routines Merge routines fw.c and fw.h for RTL8192SE. In addition, make changes to rtlwifi/wifi.h to support RTL8192SE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 9fe255ee3c0dd81c134b354e4b328c51f863ac40 Author: Chaoming Li Date: Tue May 3 09:47:55 2011 -0500 rtlwifi: rtl8192se: Merge dynamic management routines Merge routines dm.c and dm.h for RTL8192SE. Signed-off-by: Larry Finger Signed-off-by: Chaoming_Li Signed-off-by: John W. Linville commit e52dadb341c9c5ac25d6abd9216dd62752784f03 Author: Chaoming Li Date: Tue May 3 09:47:45 2011 -0500 rtlwifi: rtl8192se: Merge def.h Introduce routine def.h for rtl8192se. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 1ddc286731134ad52a74b6956d9bc2a4369219a8 Author: Rajkumar Manoharan Date: Tue May 3 17:03:59 2011 +0530 mac80211: Postpond ps timer if tx is stopped by others Whenever the driver's queue depth reaches the max, the queues are stopped by the driver till the driver can accept the frames. At the mean time dynamic_ps_timer can be expired due to not receiving packet from upper layer which could restart the transmission at the end of ps work. Due to the mismatch with driver state, mac80211 is unneccesarity buffering all the frames till the driver wakes up the queue. Check whether there is no transmit or the tx queues were stopped by some reasons. If any of the queue was stopped, the postpond ps timer and do not restart netif_tx. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 4c468fe559f7910b1c6b10d3d223943fdd1b653c Author: Arik Nemtsov Date: Tue May 3 11:53:07 2011 +0300 mac80211: set TID of internal mgmt packets to 7 The queue mapping of internal mgmt packets is set to VO. Set the TID value to match the queue mapping. Otherwise drivers that only look at the TID might get confused. Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit cbe8c735f1af88037c3dab570f816e3a77896cc7 Author: Mohammed Shafi Shajakhan Date: Tue May 3 13:14:06 2011 +0530 ath9k_hw: remove aggregation protection mode when aggregation protection mode is enabled the hardware needs to send RTS/CTS for each HT frame. Currently its disabled so remove the unused call backs. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 7e4b4eecedb3c6bd5f9fec479ef33ccc6ce72375 Author: Daniel Drake Date: Mon May 2 21:38:16 2011 +0100 libertas: remove tx_timeout handler As described at http://marc.info/?l=linux-netdev&m=130428493104730&w=2 libertas frequently generates spurious tx timeouts, because the tx queue is brought down for extended periods during scanning. The net layer takes a look and incorrectly assumes the queue has been down for several seconds, and generates a tx_timeout. One way to fix this is to bump the trans_start counter while scanning so that the network layer knows that the device is still alive, but I think the tx_timeout handler is implemented wrongly here and not of any real use, so I vote to remove it. As explained at http://marc.info/?l=linux-wireless&m=130430311115755&w=2 the watchdog is primarily meant to deal with lockup on the hardware TX path (detected by the tx queue being stopped for an extended period of time), but this is unlikely to happen with libertas. In this case, the tx queue is stopped only while waiting for lbs_thread to send the queued frame to the driver, and lbs_thread wakes up the queue immediately after, even if the frame could not be sent correctly. So, the only hardware-related possibility that this catches is if hw_host_to_card hangs - this is something I have never seen. And if it were to happen, nothing done by lbs_tx_timeout would actually wake up lbs_thread any quicker than otherwise. Removing this oddly-behaving spuriously-firing tx_timeout handler should fix an occasional kernel crash during resume (http://dev.laptop.org/ticket/10748) Signed-off-by: Daniel Drake Acked-by: Dan Williams Signed-off-by: John W. Linville commit 470ab2a23b453518ac86937572b4531d8925ca55 Author: Rajkumar Manoharan Date: Fri Apr 29 14:48:45 2011 +0530 mac80211: use wake_queue to restart trasmit netif_tx_start_all_queues is used to allow the upper layer to transmit frames but it does not restart transmission. To restart the trasmission use netif_tx_wake_all_queues. Not doing so, sometimes stalls the transmission and the application has to be restarted to proceed further. This issue was originally found while sending udp traffic in higer bandwidth in open environment without bgscan. Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 2f6fc351e6e8c1b6a95140e733607e32bc3a4322 Author: Rajkumar Manoharan Date: Thu Apr 28 15:31:57 2011 +0530 ath9k: Fix drain txq failure in flush While draining the txq in flush, the buffers can be added into the tx queue by tx_tasklet which leads to unneccesary chip reset. This issue was originially found with AR9382 and running heavy uplink udp traffic with higher bandwidth and doing frequent bgscan. Cc: stable@kernel.org Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 1c5cae815d19ffe02bdfda1260949ef2b1806171 Author: Jiri Pirko Date: Sat Apr 30 01:21:32 2011 +0000 net: call dev_alloc_name from register_netdevice Force dev_alloc_name() to be called from register_netdevice() by dev_get_valid_name(). That allows to remove multiple explicit dev_alloc_name() calls. The possibility to call dev_alloc_name in advance remains. This also fixes veth creation regresion caused by 84c49d8c3e4abefb0a41a77b25aa37ebe8d6b743 Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 890641b2512f491f28e4ef7536dca1ea93dae997 Merge: eaef6a9 25eaea30 Author: John W. Linville Date: Thu May 5 13:56:27 2011 -0400 Merge branch 'for-linville' of git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx commit a70171dce9cd44cb06c7d299eba9fa87a8933045 Merge: 5a412ad eaef6a9 Author: John W. Linville Date: Thu May 5 13:32:35 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem Conflicts: drivers/net/wireless/libertas/if_cs.c drivers/net/wireless/rtlwifi/pci.c net/bluetooth/l2cap_sock.c commit 23691d75cdc69c3b285211b4d77746aa20a17d18 Author: Gustavo F. Padovan Date: Wed Apr 27 18:26:32 2011 -0300 Bluetooth: Remove l2cap_sk_list A new list was added to replace the socket based one. This new list doesn't depent on sock and then fits better inside l2cap_core.c code. It also rename l2cap_chan_alloc() to l2cap_chan_create() and l2cap_chan_free() to l2cap_chan_destroy) Signed-off-by: Gustavo F. Padovan commit 73b2ec18532f45e9028ce4c7bc8d7f8818eabd2a Author: Gustavo F. Padovan Date: Mon Apr 18 19:36:44 2011 -0300 Bluetooth: Handle psm == 0 case inside l2cap_add_psm() When the user doesn't specify a psm we have the choose one for the channel. Now we do this inside l2cap_add_psm(). Signed-off-by: Gustavo F. Padovan commit 9e4425fff9e0a0fb6a8c705777ed861f991f8747 Author: Gustavo F. Padovan Date: Mon Apr 18 18:38:43 2011 -0300 Bluetooth: Add l2cap_add_psm() and l2cap_add_scid() The intention is to get rid of the l2cap_sk_list usage inside l2cap_core.c. l2cap_sk_list will soon be replaced by a list that does not depend on socket usage. Signed-off-by: Gustavo F. Padovan commit eaef6a93bd52a2cc47b9fce201310010707afdb4 Author: Mohammed Shafi Shajakhan Date: Thu May 5 10:59:24 2011 +0530 mac80211: Fix a warning due to skipping tailroom reservation for IV The devices that require IV generation in software need tailroom reservation for ICVs used in TKIP or WEP encryptions. Currently, decision to skip the tailroom reservation in the tx path was taken only on whether driver wants MMIC to be generated in software or not. Following patch appends IV generation check for such decisions and fixes the following warning. WARNING: at net/mac80211/wep.c:101 ieee80211_wep_add_iv+0x56/0xf3() Hardware name: 64756D6 Modules linked in: ath9k ath9k_common ath9k_hw Pid: 0, comm: swapper Tainted: G W 2.6.39-rc5-wl Call Trace: [] warn_slowpath_common+0x65/0x7a [] ? ieee80211_wep_add_iv+0x56/0xf3 [] warn_slowpath_null+0xf/0x13 [] ieee80211_wep_add_iv+0x56/0xf3 [] ieee80211_crypto_wep_encrypt+0x63/0x88 [] ieee80211_tx_h_encrypt+0x2f/0x63 [] invoke_tx_handlers+0x93/0xe1 [] ieee80211_tx+0x4b/0x6d [] ieee80211_xmit+0x180/0x188 [] ? ieee80211_skb_resize+0x95/0xd9 [] ieee80211_subif_start_xmit+0x64f/0x668 [] dev_hard_start_xmit+0x368/0x48c [] sch_direct_xmit+0x4d/0x101 [] dev_queue_xmit+0x2c1/0x43f [] ? eth_header+0x1e/0x90 [] ? eth_type_trans+0x91/0xc2 [] ? eth_rebuild_header+0x53/0x53 [] neigh_resolve_output+0x223/0x27e [] ip_finish_output2+0x1d4/0x1fe [] ip_finish_output+0x79/0x7d [] T.1075+0x43/0x48 [] ip_output+0x75/0x7b [] dst_output+0xc/0xe [] ip_local_out+0x17/0x1a [] ip_queue_xmit+0x2aa/0x2f8 [] ? sk_setup_caps+0x21/0x92 [] ? __tcp_v4_send_check+0x7e/0xb7 [] tcp_transmit_skb+0x6a1/0x6d7 [] ? tcp_established_options+0x20/0x8b [] tcp_retransmit_skb+0x43a/0x527 [] tcp_retransmit_timer+0x32e/0x45d [] tcp_write_timer+0x87/0x16c [] run_timer_softirq+0x156/0x1f9 [] ? tcp_retransmit_timer+0x45d/0x45d [] __do_softirq+0x97/0x14a [] ? irq_enter+0x4d/0x4d Cc: Yogesh Powar Reported-by: Fabio Rossi Tested-by: Fabio Rossi Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 1a5b306f5d7398c7ffb0f69fe9a2d0023f28deb9 Author: Bing Zhao Date: Mon May 2 11:00:45 2011 -0700 mwifiex: fix missing tsf_val TLV In mwifiex_cmd_append_tsf_tlv(), two tsf_val TLVs should be filled in the buffer and then sent to firmware. The missing first TLV for tsf_val is added back in this patch. Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 982d96bbb7f084644ee10214812ab167e52c2c5d Author: Larry Finger Date: Sun May 1 22:30:54 2011 -0500 rtlwifi: Fix typo in pci.c Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 1c0bcf89d85cc97a0d9ce4cd909351a81fa4fdde Author: Ivo van Doorn Date: Sat Apr 30 17:18:18 2011 +0200 rt2x00: Add autowake support for USB hardware The USB drivers don't support automatically waking up when in powersaving mode, add a work object which will wakeup the device in time to receive the next beacon. Based on that beacon, we either go back into powersaving mode, or we remain awake to receive the buffered frames for our station. Some part of the code, especially rt2x00lib_find_ie and rt2x00lib_rxdone_check_ps are inspired on the code from carl9170. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fdbc7b0a262e24a3ee00f1f9acb5a97309a173d5 Author: Gertjan van Wingerde Date: Sat Apr 30 17:15:37 2011 +0200 rt2x00: Introduce capability flag for Bluetooth co-existence. Use flag instead of re-reading the eeprom every time. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9328fdac499b969ec57a195845f168e7c5168ccd Author: Gertjan van Wingerde Date: Sat Apr 30 17:15:13 2011 +0200 rt2x00: Streamline rt2800 eeprom initialisations. In rt2800lib.c the rt2800_init_eeprom function the same eeprom words were read multiple times, due to inefficient ordering of the eeprom checks. Reorder the checks so that each EEPROM word only has to be read once. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit d4c838ef5e5c2c7e205adf9e011d2e8bd6eae738 Author: Ivo van Doorn Date: Sat Apr 30 17:14:49 2011 +0200 rt2x00: Fix optimize register access for rt2800pci The patch rt2x00: Optimize register access in rt2800pci from Helmut Schaa missed one register call, namely the rt2800_register_multiwrite which should be changed to rt2x00pci_register_multiwrite. Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit a073fdef46d50440ee573452a436023dcf4f9edf Author: Ivo van Doorn Date: Sat Apr 30 17:14:23 2011 +0200 rt2x00: Optimize TX_STA_FIFO register reading Add recycling functionality to rt2x00usb_register_read_async. When the callback function returns true, resubmit the urb to read the register again. This optimizes the rt2800usb driver when multiple TX status reports are pending in the register, because now we don't need to allocate the rt2x00_async_read_data and urb structure each time. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 16763478892c271293d02872475a67a648ae12fc Author: Ivo van Doorn Date: Sat Apr 30 17:13:46 2011 +0200 rt2x00: Reduce tx status reading timeout When no TX status was available, the default timeout of 20ms is a bit high. The frame is highly likely already send out, so the TX status should be available within only a few milliseconds. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 816c04fe7ef01dd9649f5ccfe796474db8708be5 Author: Christian Lamparter Date: Sat Apr 30 15:24:30 2011 +0200 mac80211: consolidate MIC failure report handling Currently, mac80211 handles MIC failures differently depending on whenever they are detected by the stack's own software crypto or when are handed down from the driver. This patch tries to unify both by moving the special branch out of mac80211 rx hotpath and into into the software crypto part. This has the advantage that we can run a few more sanity checks on the data and verify if the key type was TKIP. This is very handy because several devices generate false postive MIC failure reports. Like carl9170, ath9k and wl12xx: "mac80211: report MIC failure for truncated packets in AP mode" Cc: Luciano Coelho Cc: Arik Nemtsov Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 25eaea30cd7b009ba2ca693708330d2f395cbc4d Author: Luciano Coelho Date: Mon May 2 12:37:33 2011 +0300 Revert "wl12xx: support FW TX inactivity triggers" This reverts commit 47684808fd89d6809c0886e06f8ac324252499d8. Conflicts: drivers/net/wireless/wl12xx/conf.h drivers/net/wireless/wl12xx/main.c commit 2d66bee7fbd38d28e9ed12f45b8e9db8e6aa0c49 Author: Arik Nemtsov Date: Mon Apr 18 14:15:29 2011 +0300 wl12xx: export driver state to debugfs By reading the "driver_state" debugfs value we get all the important state information from the wl12xx driver. This helps testing and debugging, particularly in situations where the driver seems "stuck". Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 7dece1c8e1044287287d44ac183a946333b55fc3 Author: Arik Nemtsov Date: Mon Apr 18 14:15:28 2011 +0300 wl12xx: fix race condition during recovery in AP mode When operating as AP, the TX queues are not stopped when we start recovery. mac80211 is notified only after the fact. When there is pending TX, it will be queued even after the FW is down. This leads to situations where the TX queues are stopped (because of the TX-watermark mechanism), and are never woken up when we return from recovery. Fix this by explicitly stopping the TX queues when before initiating recovery. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 2dc5a5c2c656b9029a0e635bb3a1cbcfbcb4ca5c Author: Arik Nemtsov Date: Mon Apr 18 14:15:27 2011 +0300 wl12xx: add debugfs entry for starting recovery This entry is useful for debugging the driver state machine during recovery. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit c45a85b5a3c0ca841a7ffc700bdece8ee01486be Author: Arik Nemtsov Date: Mon Apr 18 14:15:26 2011 +0300 wl12xx: AP-mode - reconfigure templates after basic rates change When there's a change in the basic rates of the AP, reconfigure relevant templates with the new rates. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 70f474241b3d5fb633635a2ce39ea9da4afeea6c Author: Arik Nemtsov Date: Mon Apr 18 14:15:25 2011 +0300 wl12xx: AP-mode - overhaul rate policy configuration Use the minimal rate configured in the basic rates set as the AP broadcast and multicast rate. The minimal rate is used to ensure weak links can still communicate. When the basic rates contains at least one OFDM rate, configure all unicast TX rates to OFDM only. Unify rate configuration on initialization and on change notification into a single function. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 52dcaf577f3b6d878a337a44a99a122017c85ff6 Author: Arik Nemtsov Date: Mon Apr 18 14:15:24 2011 +0300 wl12xx: print firmware program counter during recovery When performing recovery, print the firmware version and program counter (by reading the SCR_PAD4 register). The value of the firmware program counter during assert can be useful for debugging. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit f482b76202f4ac0f62a77b0e55ac1a1cfe480e2b Author: Arik Nemtsov Date: Mon Apr 18 14:15:23 2011 +0300 wl12xx: schedule recovery on command timeout We use a long timeout (2 seconds) when sending commands to the FW. When a command times out, it means the FW is stuck, and we should commence recovery. This should make recovery times shorter as we'll recover on the first timeout indication. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 521a4a23261354885c01bf75b42150629004ed83 Author: Arik Nemtsov Date: Mon Apr 18 14:15:22 2011 +0300 wl12xx: AP-mode - disable beacon filtering on start up New AP-mode FWs filter external beacons by default. Disable this filtering on start up so we can properly configure ERP protection. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 5f704d180e448d05859e1cb6572822ba27dbcdc7 Author: Arik Nemtsov Date: Mon Apr 18 14:15:21 2011 +0300 wl12xx: use wiphy values for setting rts, frag thresholds on init Use the wiphy RTS and fragmentation thresholds for initializing the FW when possible. This mitigates a bug where previously set values are forgotten after interface down/up. Add checks before settings these values to ensure they are valid. Use default values when invalid thresholds are configured. Update the default RTS threshold to the maximum value given by the specification. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 801f870bc0524bad7ebef9cea52d20e4d4992e4a Author: Arik Nemtsov Date: Mon Apr 18 14:15:20 2011 +0300 wl12xx: add BT-coexistance for AP Initialize AP specific BT coexitance parameters to default values and enable them in AP mode. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit f7c7c7e69cbc3c5b660a32cc2cb31720b2b420c8 Author: Luciano Coelho Date: Fri Apr 29 22:25:28 2011 +0300 wl12xx: strict_stroul introduced converted to kstrtoul One new patch applied added a couple of new strict_strtoul calls. Converted those to kstroul(). Signed-off-by: Luciano Coelho commit 86c438f40cf3e0f6ce2da80f2d759e61d3e85ad7 Author: Hauke Mehrtens Date: Tue Apr 26 23:27:44 2011 +0200 wl12xx: do not set queue_mapping directly It is preferred to use the setter that to set queue_mapping directly. This also helps backporting in compat-wireless. Signed-off-by: Hauke Mehrtens Signed-off-by: Luciano Coelho commit 34c8e3d2bb901b2920d2a8930c0de82e7fefac76 Author: Arik Nemtsov Date: Tue Apr 26 23:35:40 2011 +0300 wl12xx: discard corrupted packets in RX When packets arrive with a RX descriptor indicating corruption, discard them. In general white-list the RX descriptor status to prevent rouge data from being sent up. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 33437893025aa3c0195b933ac99ef7de924019f4 Author: Arik Nemtsov Date: Tue Apr 26 23:35:39 2011 +0300 wl12xx: implement the tx_frames_pending mac80211 callback Frames are considered pending when they reside in the driver TX queue or already queued in the FW. This notion of "pending" is appropriate for power save considerations in STA mode, but not necessarily in other modes (for instance P2P-GO). [Fixed a sparse warning about missing "static" in a function declaration -- Luca] Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 4cf557fcf01e352fb418e110dd013e4128493c5f Author: Ido Yariv Date: Mon Apr 18 16:45:10 2011 +0300 wl12xx: Enable dynamic memory for 127x The FW can dynamically manage its internal TX & RX memory pools, moving blocks from one pool to another when necessary. This can significantly improve performance. Currently this feature is enabled only for 128x. Enable dynamic memory for 127x as well. Other parameters in the memory configuration structure may need to be fine tuned, as the optimal values for these may change once dynamic memory is enabled. Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit ef2e3004855e90d2919105e4a91d7df6ab9845a9 Author: Ido Yariv Date: Mon Apr 18 16:44:11 2011 +0300 wl12xx: Restart TX when TX descriptors are available The driver stops sending TX packets when either there aren't enough memory blocks, or it runs out of TX descriptors. The driver continues to send packets to the FW only when more memory blocks are available. The FW might free TX descriptors without freeing the corresponding memory blocks, especially when dynamic memory is enabled. In cases where memory blocks are not freed at all, the driver will keep waiting for more memory blocks indefinitely. Fix this by clearing the WL1271_FLAG_FW_TX_BUSY flag when there are available TX descriptors. Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit ae825e4ba81203e1b3d3159f24327cdc2629dbd8 Author: Ido Yariv Date: Mon Apr 18 16:40:14 2011 +0300 wl12xx: Modify memory configuration for 128x/AP The 128x/AP firmware does not yet support dynamic memory. Temporarily, the memory configuration for the 127x was used both for 127x/AP as well as 128x/AP. Since the two chips don't have the same number of memory blocks, TP was significantly degraded. This hasn't been fine tuned yet, but using the base 128x numbers (without dynamic memory) seems to yield much better results (around 30% more). Additional fine tuning will be required in the future. Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit 1fe9e2464c667903d7eec0314db26c462ca9d276 Author: Eliad Peller Date: Sun Apr 17 11:20:47 2011 +0300 wl12xx: add debugfs entries for dtim_interval and beacon_interval When configuring ACX_WAKE_UP_CONDITIONS (before entering psm), we tell the firmware to wake up once in N DTIMs/beacons. Allow control of this value via debugfs (for debugging purposes). Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 2370841bf1a735661db3d3ae63385be3475b7452 Author: Shahar Levi Date: Wed Apr 13 14:52:50 2011 +0300 wl12xx: Update Power Save Exit Retries Packets Reducing the retries of sending PS exit packets to the peer AP. That fix is to avoid sending unrealizable number of PS exit packets in case of ap lost. Signed-off-by: Shahar Levi Signed-off-by: Luciano Coelho commit ff86843dfbb368766d0aecd0147821d9a2b60edb Author: Shahar Levi Date: Mon Apr 11 15:41:46 2011 +0300 wl12xx: FM WLAN coexistence Add support to FM WLAN coexistence (STA only). Some WiFi harmonics may interfere with FM operation, to avoid this problem special coexistence techniques are activated around some FM frequencies. Signed-off-by: Shahar Levi Signed-off-by: Luciano Coelho commit cb5ae0530e0e2af86d128ce758645b6b4a9132e1 Author: Eliad Peller Date: Thu Apr 7 15:52:05 2011 +0300 wl12xx: configure rates when working in ibss mode When working in ibss mode, we don't configure rate policy per station (as we use the same link for multiple stations), so currently the 1mb/s rate is being used. Instead, configure the firmware to use the whole 11b rates by default. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 30df14d0d35dd166d50b8ea80d5f0b7ef1edb6da Author: Eliad Peller Date: Tue Apr 5 19:13:28 2011 +0300 wl12xx: avoid redundant join on interface reconfiguration ieee80211_reconfig() sets most of the "changed" flags regardless of the actual change (e.g. BSS_CHANGED_ASSOC will be set even if the interface is still not associated). in this case the driver will issue some unneeded commands. Since the driver relies solely on the BSS_CHANGED_ASSOC flag, without checking if there was an actual change, it will end up issuing unjoin() and dummy_join() commands, although it was never associated and should just remain idle. Avoid it by checking the actual state change, in addition to the "changed" flag. (there seem to be more redundant configuration commands being issued, but they shouldn't harm) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit a20a5b7e48e24c1bf9c10ba27cb1862f8f777d00 Author: Eliad Peller Date: Tue Apr 5 18:21:31 2011 +0300 wl12xx: print actual rx packet size (without padding) When debugging, reduce the padding size from each rx packet, to get the actual packet size (so comparing it against a cap file will be easier) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit b03acadea4f46884aa3c3e4d3a6ce03d283525e6 Author: Shahar Levi Date: Sun Apr 3 13:54:54 2011 +0300 wl12xx: Set correct REF CLK and TCXO CLK values to the FW Fix mismatch between the REF CLK and TCXO CLK information that is set in the platform data and the NVS, so we override what comes from the NVS and replace it with what comes from the platform data. [Small fix in a comment -- Luca] Signed-off-by: Shahar Levi Signed-off-by: Luciano Coelho commit a665d6e260f0233aac73f74d15bb6a029cc5ec47 Author: Eliad Peller Date: Sun Apr 3 02:01:59 2011 +0300 wl12xx: avoid premature elp entrance The elp_work is being enqueued on wl1271_ps_elp_sleep, but doesn't get cancelled on wl1271_ps_elp_wakeup. This might cause immediate entrance to elp when the wl->mutex is being released, rather than using the delayed enqueueing optimization. Cancel elp_work on wakeup request, and add a new WL1271_FLAG_ELP_REQUESTED flag to further synchronize the elp actions. [Fixed a couple of typos in some comments -- Luca] Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit c75bbcdb200e2815c855e42a4685d170858af306 Author: Eliad Peller Date: Mon Apr 4 10:38:47 2011 +0300 wl12xx: sleep instead of wakeup after tx work commit d05c806 ("wl12xx: rearrange some ELP wake_up/sleep calls") introduced a bug in which wl1271_ps_elp_wakeup() was called instead of wl1271_ps_elp_sleep() after completing the tx work. Reported-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 564f59509e26355965949c677f9d6eb064a3aa0b Author: Shahar Levi Date: Mon Apr 4 10:20:39 2011 +0300 wl12xx: Set End-of-transaction Flag at Wl127x AP Mode End-of-transaction flag should be set when working with wl127x chip on AP mode. Thanks Ido Yariv for the guidance with that. Signed-off-by: Shahar Levi Signed-off-by: Luciano Coelho commit d6d023a1948d13652d719238f8039c09acceda8c Author: Wey-Yi Guy Date: Sat Apr 30 09:10:53 2011 -0700 iwlagn: remove un-necessary debugfs callback After driver split, no need for debugfs callback, remove those Signed-off-by: Wey-Yi Guy commit ebf8dc8060e4b10e8e13abbf98544f5c6cc8b25e Author: Johannes Berg Date: Wed Apr 27 05:19:34 2011 -0700 iwlagn: prefer BSS context If an interface type changes from a type that is only supported on the PAN context (e.g. P2P GO) to a type that is supported on the BSS context, and the BSS context is not in use, then we need to use the BSS context instead of changing the device type within the context. To achieve this, refuse the type change, which causes a down/up cycle that will allocate the BSS context for the interface. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit c914ac26caf462567078f9615ffcedf1962087f2 Author: Johannes Berg Date: Thu Apr 21 10:57:23 2011 -0700 iwlagn: improve RXON checking The current RXON checking doesn't verify that the channel is valid (or at least non-zero), so add that. Also, add a WARN() so we get a stacktrace, and capture a bitmask of errors in order to capture all necessary information in the warning itself (in case the previous messages are snipped off.) Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit bbf18ff1be8a3c6567bc052e690189b55e16b8eb Author: Johannes Berg Date: Thu Apr 21 07:09:43 2011 -0700 iwlagn: remove spectrum measurement header This header file isn't used, and if we ever need these definitions they shouldn't be added to a driver but rather to the common 802.11 include file that has all frame definitions. Thus, just remove it. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 16b80b714f8ef86d47680e4afa0eeb8cc61daef4 Author: Don Fry Date: Wed Apr 20 15:25:14 2011 -0700 iwlagn: semaphore and calib cleanup All agn devices use the same eeprom semaphore and calib version routines. Delete the indirection and move the semaphore routines to where they are used and make static. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy commit 9d143e9a0d68025efe902d86eb6207cbec36dcdb Author: Don Fry Date: Wed Apr 20 15:23:57 2011 -0700 iwlagn: mod param cleanup All agn devices use the same module parameter structure. Delete the indirection and access the structure diretly. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy commit b4ed221daba1b129c3efff8a7352d9791d034330 Author: Wey-Yi Guy Date: Sat Apr 30 08:55:16 2011 -0700 iwlagn: new 105 series device Correction for new 105 series devices Signed-off-by: Wey-Yi Guy commit d2690c0db7146b12e4fc2d572053c823e512758a Author: Johannes Berg Date: Wed Apr 20 09:10:39 2011 -0700 iwlagn: use proper good CRC threshold behaviour New microcode versions use the good CRC threshold field differently, as a flag, and in that case we should set it to 1/0 instead of 1/65535 for an active/passive scan. The new behaviour is advertised by the uCode with a feature flag. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit c1821c95c13240c2c8d3da8845c2021e575e29c6 Author: Wey-Yi Guy Date: Tue Apr 19 16:52:59 2011 -0700 iwlagn: connect and disconnect sequence for RXON No functional changes, separate the connect and disconnect sequences in RXON commit function, easier to read and understand. Signed-off-by: Wey-Yi Guy commit 89e746b244064406c3bfe442bb64c3230f42fa98 Author: Wey-Yi Guy Date: Tue Apr 19 16:52:58 2011 -0700 iwlagn: remove 5000 from rxon_assoc structure The data structure is shared by all _agn devices, remove the reference to 5000 Signed-off-by: Wey-Yi Guy commit c3f6e9cff950c312d409e5767365aeb2475b2ab7 Author: Wey-Yi Guy Date: Tue Apr 19 16:52:57 2011 -0700 iwlagn: make rxon_assoc static function Move rxon_assoc to static function from ops Signed-off-by: Wey-Yi Guy commit e43e85c40d83f0a7a6ff5631d1009d142b72dbca Author: Johannes Berg Date: Tue Apr 19 07:45:16 2011 -0700 iwlagn: refactor restart The WoWLAN resume code will have to essentially do a restart, but without going through the work struct. To support that, refactor the restart by splitting out the preparation code into a new function. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 4119904f3ebf30c25afb42195740f9ee5dc7749c Author: Johannes Berg Date: Tue Apr 19 07:42:03 2011 -0700 iwlagn: introduce silent grabbing of NIC access There are a few cases like the WoWLAN support I'm writing that require attempting to access the NIC when it is known that it might not be accessible, e.g. after the system woke up and the platform might have reset the device. To avoid messages in this case, introduce the new function iwl_grab_nic_access_silent(), it will only return an error status. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 9d39e5bad76a8830a8fa0c03cadc1e36ce2ec2ef Author: Johannes Berg Date: Tue Apr 19 07:38:23 2011 -0700 iwlagn: avoid hangs when restarting device If a device error happens while the uCode is being loaded or initialised, we will attempt to restart the device (which will likely fail again, but that's not the issue here). During this new restart, we turn off the device, but as the uCode failed to initialise it already is turned off. As a consequence, grabbing NIC access will fail and cause excessive messages and hangs. To fix this issue, introduce a new status bit and only attempt to reprogram the device when it isn't already disabled. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 707394972093e2056e1e8cc39be19cf9bcb3e7b3 Author: David Decotigny Date: Wed Apr 27 18:32:40 2011 +0000 ethtool: cosmetic: Use ethtool ethtool_cmd_speed API This updates the network drivers so that they don't access the ethtool_cmd::speed field directly, but use ethtool_cmd_speed() instead. For most of the drivers, these changes are purely cosmetic and don't fix any problem, such as for those 1GbE/10GbE drivers that indirectly call their own ethtool get_settings()/mii_ethtool_gset(). The changes are meant to enforce code consistency and provide robustness with future larger throughputs, at the expense of a few CPU cycles for each ethtool operation. All drivers compiled with make allyesconfig ion x86_64 have been updated. Tested: make allyesconfig on x86_64 + e1000e/bnx2x work Signed-off-by: David Decotigny Signed-off-by: David S. Miller commit 25db0338813a8915457636b1f6abe6a28fa73f8d Author: David Decotigny Date: Wed Apr 27 18:32:39 2011 +0000 ethtool: Use full 32 bit speed range in ethtool's set_settings This makes sure the ethtool's set_settings() callback of network drivers don't ignore the 16 most significant bits when ethtool calls their set_settings(). All drivers compiled with make allyesconfig on x86_64 have been updated. Signed-off-by: David Decotigny Signed-off-by: David S. Miller commit ff776cecec92fe7cac4a9ce1919576ad6e737e08 Author: Yogesh Ashok Powar Date: Thu Apr 28 17:34:48 2011 +0530 mwl8k: Reducing extra_tx_headroom for tx optimization in AP mode The tx_headroom required for mwl8k driver is 32 bytes and it can use the space for 802.11 header received from mac80211. mwl8k considers the smallest 802.11 frame (CTS2self of 10 bytes) that can be received from mac80211 to compute the extra_tx_headroom as 22 (32 - 10) bytes. When the wireless interface is part of bridge, this extra_tx_headroom requirement results in a memcpy in mac80211 (in function pskb_expand_head) for all the data frames needing L2 forwarding/bridging, when NET_SKB_PAD is defined as 32. This patch reduces the extra_tx_headroom by 8 bytes so that memcpy of data frames in mac80211 is avoided in this case. The resize will be required in driver for frames with 802.11 header size of less than 18 bytes. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Pradeep Nemavat Signed-off-by: John W. Linville commit d244f21e79162b829c9af09845421d9b4fac4253 Author: Sujith Manoharan Date: Thu Apr 28 16:14:05 2011 +0530 ath9k_htc: Revamp LED management Remove all the convoluted hacks in the driver and simplify things by making use of mac80211's LED triggers. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 22450902e4a13479acf6f4e93475af7ca1829d92 Author: Stanislaw Gruszka Date: Thu Apr 28 11:51:33 2011 +0200 iwlegacy: remove sync_cmd_mutex We now use priv->mutex to serialize sync command, remove old priv->sync_cmd_mutex and add assertion that priv->mutex must be locked. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 28a6e577c65cc317fed5265efc43ce9282928bd4 Author: Stanislaw Gruszka Date: Thu Apr 28 11:51:32 2011 +0200 iwlegacy: more priv->mutex serialization Check status bits with mutex taken, because when we wait for mutex unlock, status can change. Patch should also make remaining sync commands be send with priv->mutex taken. That will prevent execute these commands when we are currently reset firmware, what could possibly cause troubles. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 81e63263aa3c5bfa64aa3206f4be3e59afc1c183 Author: Stanislaw Gruszka Date: Thu Apr 28 11:51:31 2011 +0200 iwlegacy: fix enqueue hcmd race conditions We mark command as huge by using meta->flags from other (non huge) command, but flags can be possibly overridden, when non huge command is enqueued, what can lead to: WARNING: at lib/dma-debug.c:696 dma_debug_device_change+0x1a3/0x1f0() DMA-API: device driver has pending DMA allocations while released from device [count=1] To fix introduce additional CMD_MAPPED to mark command as mapped and serialize iwl_enqueue_hcmd() with iwl_tx_cmd_complete() using hcmd_lock. Serialization will also fix possible race conditions, because q->read_ptr, q->write_ptr are modified/used in parallel. Do not change callback, I did (and fixed) that mistake in iwlagn. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 93fd74e3d5471c4c91a239599a88fa7e52686e71 Author: Stanislaw Gruszka Date: Thu Apr 28 11:51:30 2011 +0200 iwlegacy: comment typo fix diable -> disable Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 7a55237ac9f133c1d48fbe54d22dc2bd715e7b51 Author: Stanislaw Gruszka Date: Thu Apr 28 11:51:29 2011 +0200 iwlegacy: remove scan_tx_antennas Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 5855c7d81530aaf82293aaa252c4f9ff69ef33f9 Author: Stanislaw Gruszka Date: Thu Apr 28 11:51:28 2011 +0200 iwlegacy: 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 Signed-off-by: John W. Linville commit 8eb0ac70a7a53cf851027d022616c01591ee4c33 Author: Stanislaw Gruszka Date: Thu Apr 28 11:51:27 2011 +0200 iwlegacy: 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 Signed-off-by: John W. Linville commit 3e41de85f8e3419257df62dd6fe6bdd95a1fdcab Author: Stanislaw Gruszka Date: Thu Apr 28 11:51:26 2011 +0200 iwlegacy: simplify init geos Don't need to use conditional as ch->band is already assigned to IEEE80211_BAND_5GHZ or IEEE80211_BAND_2GHZ Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit a078a1fde11b350161e7db2c44353dfae7749212 Author: Stanislaw Gruszka Date: Thu Apr 28 11:51:25 2011 +0200 iwlegacy: enable only rfkill interrupt when device is down Add two below iwlwifi commits to iwlegacy: commit 554d1d027b19265c4aa3f718b3126d2b86e09a08 Author: Stanislaw Gruszka Date: Thu Dec 23 12:38:21 2010 +0100 iwlagn: enable only rfkill interrupt when device is down commit 3dd823e6b86407aed1a025041d8f1df77e43a9c8 Author: Don Fry Date: Sun Feb 6 09:29:45 2011 -0800 iwlagn: Re-enable RF_KILL interrupt when down Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit ab42b4041707f075533845ecb320c7a1c5621f1b Author: Stanislaw Gruszka Date: Thu Apr 28 11:51:24 2011 +0200 iwlegacy: remove duplicate initialization in iwl4956_down() Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 75d80cadf4ceb238e55487ff6d3f9a0706e1028d Author: Stanislaw Gruszka Date: Thu Apr 28 11:12:10 2011 +0200 iwlagn: fix tx power initialization Since commit f844a709a7d8f8be61a571afc31dfaca9e779621 Author: Stanislaw Gruszka Date: Fri Jan 28 16:47:44 2011 +0100 iwlwifi: do not set tx power when channel is changing we set device tx power during initialization to priv->tx_power_next, which itself is initialized to minimum power. That changed default behaviour of driver. Previously we initialized device to transmit at maximum available power by default. Patch change again to previous behaviour and cleanup tx power initialization. Fortunately this is not critical fix, as mac80211 layer setup tx power lately to 14dB, hence device does not operate at minimal transmit power all the time. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 44368796b87d321e6ea84295a23b2e8eb415d300 Author: Sujith Manoharan Date: Thu Apr 28 14:28:51 2011 +0530 ath9k_htc: Dump modal eeprom header for UB91/94/95 Debugfs file location: /ieee80211/phy#/ath9k_htc/modal_eeprom Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 80d887c3b4566f4d14cd7cd5374eba30131d020f Author: Sujith Manoharan Date: Thu Apr 28 14:28:33 2011 +0530 ath9k_htc: Dump base eeprom header for UB91/94/95 Debugfs file location: /ieee80211/phy#/ath9k_htc/base_eeprom Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit dee04cac28b5f8a99e002ec1b2e0a49f3155bda0 Merge: ce6cac8 7cbc9bd Author: John W. Linville Date: Fri Apr 29 15:28:49 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6 commit ce6cac88a4f1e52a51a31c31562f4da347543147 Author: John W. Linville Date: Fri Apr 29 15:09:39 2011 -0400 p54: avoid uninitialized variable warning for freq CC [M] drivers/net/wireless/p54/eeprom.o drivers/net/wireless/p54/eeprom.c: In function ‘p54_parse_rssical’: drivers/net/wireless/p54/eeprom.c:494:8: warning: ‘freq’ may be used uninitialized in this function Signed-off-by: John W. Linville commit f9c2fdbab1f1854f2bfcc75c326d0f4537ec2a7e Author: John W. Linville Date: Fri Apr 29 15:04:58 2011 -0400 mwifiex: fix copy-n-paste 'thinko' for tsf_val CC [M] drivers/net/wireless/mwifiex/join.o drivers/net/wireless/mwifiex/join.c: In function ‘mwifiex_cmd_802_11_associate’: drivers/net/wireless/mwifiex/join.c:119:8: warning: ‘tsf_val’ may be used uninitialized in this function drivers/net/wireless/mwifiex/join.c:103:12: note: ‘tsf_val’ was declared here Looks like a copy-n-paste error, identical lines are a few lines below the ones removed, with an actual memcpy to tsf_val in between... Signed-off-by: John W. Linville commit 2eeb6fd063d812a528118536857d078bca5a1e05 Author: John W. Linville Date: Fri Apr 29 14:54:27 2011 -0400 b43: avoid uninitialized variable warnings in phy_n CC [M] drivers/net/wireless/b43/phy_n.o drivers/net/wireless/b43/phy_n.c: In function ‘b43_nphy_set_channel’: drivers/net/wireless/b43/phy_n.c:3848:47: warning: ‘tabent_r2’ may be used uninitialized in this function drivers/net/wireless/b43/phy_n.c:3849:47: warning: ‘tabent_r3’ may be used uninitialized in this function drivers/net/wireless/b43/phy_n.c: In function ‘b43_nphy_poll_rssi.clone.14’: drivers/net/wireless/b43/phy_n.c:2270:6: warning: ‘save_regs_phy$7’ may be used uninitialized in this function drivers/net/wireless/b43/phy_n.c:2270:6: warning: ‘save_regs_phy$8’ may be used uninitialized in this function FWIW, the usage of these variables is goverened by checks that match their initializations. So, I think these are actually false warnings. Still, I would rather avoid the warning SPAM... Signed-off-by: John W. Linville commit e245292e0a98bfbf2b54c5c0f079033f4d06dd32 Author: John W. Linville Date: Fri Apr 29 14:35:14 2011 -0400 ath5k: fix uninitialized var warning for txf2txs CC [M] drivers/net/wireless/ath/ath5k/reset.o drivers/net/wireless/ath/ath5k/reset.c: In function ‘ath5k_hw_init_core_clock’: drivers/net/wireless/ath/ath5k/reset.c:100:51: warning: ‘txf2txs’ may be used uninitialized in this function Signed-off-by: John W. Linville commit 7cbc9bd99542752ff570abca79d0027669a01fb8 Author: Johan Hedberg Date: Thu Apr 28 11:29:04 2011 -0700 Bluetooth: Fix updating conn->auth_type in hci_io_capa_request_evt In some circumstances hci_get_auth_req will return a value different from the current conn->auth_type. In these cases update conn->auth_type so that when a user confirm request comes it doesn't falsely trigger auto-accept. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 4df378a10e31698df1679f3329301d773a654b61 Author: Johan Hedberg Date: Thu Apr 28 11:29:03 2011 -0700 Bluetooth: Add store_hint parameter to mgmt_new_key Even for keys that shouldn't be stored some use cases require the knowledge of a new key having been created so that the conclusion of a successful pairing can be made. Therefore, always send the mgmt_new_key event but add a store_hint parameter to it to indicate to user space whether the key should be stored or not. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 4748fed2d1a2a7a816277754498b8aa70850e051 Author: Johan Hedberg Date: Thu Apr 28 11:29:02 2011 -0700 Bluetooth: Remove old_key_type from mgmt_ev_new_key User space shouldn't have any need for the old key type so remove it from the corresponding Management interface event. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 655fe6ece7e71b37c17577ae485d11bf701c95f7 Author: Johan Hedberg Date: Thu Apr 28 11:29:01 2011 -0700 Bluetooth: Fix connection key type updating for buggy controllers If a controller generates a changed combination key as its first key the connection key type will not be correctly set. In these situations make sure the update the connection key type when such a buggy controller is detected. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 12adcf3a953c3aa4006d855aa638133bf018ceac Author: Johan Hedberg Date: Thu Apr 28 11:29:00 2011 -0700 Bluetooth: Fix old_key_type logic for non-persistent keys Even if there's no previous key stored the connection might still be secured with a non-persistent key and in that case the key type in the hci_conn struct should be checked. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit d25e28abe58d2bcedf6025a6ccc532c29a19046f Author: Johan Hedberg Date: Thu Apr 28 11:28:59 2011 -0700 Bluetooth: Fix link key persistent storage criteria Link keys should only be stored if very specific criteria of the authentication process are fulfilled. This patch essentially copies the criteria that user space has so far been using to the kernel side so that the management interface works properly. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 582fbe9ef9d6fc089ff20956595f046d4899e74e Author: Johan Hedberg Date: Thu Apr 28 11:28:58 2011 -0700 Bluetooth: Fix logic in hci_pin_code_request_evt The mgmt_ev_pin_code_request event should not be sent to user space if the request gets rejected by the kernel due to the pairable flag not being set. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit be77159c3f37e73a18ecc5c1eab3c67e07c6ce22 Author: Johan Hedberg Date: Thu Apr 28 11:28:57 2011 -0700 Bluetooth: Fix reason code for pairing rejection "Pairing not allowed" is 0x18 and not 0x16. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 55bc1a378cc35f21a26e07af2ff2b71820808cd4 Author: Johan Hedberg Date: Thu Apr 28 11:28:56 2011 -0700 Bluetooth: Add confirm_hint parameter to user confirmation requests When accepting a pairing request which fulfills the SSP auto-accept criteria we need to push the request all the way to the user for confirmation. This patch adds a new hint to the user_confirm_request management event so user space can know when to show a numeric comparison dialog and when to show a simple yes/no confirmation dialog. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 79c6c70cbe35c270e7b59207ab76b44183a1030a Author: Johan Hedberg Date: Thu Apr 28 11:28:55 2011 -0700 Bluetooth: Fix HCI_CONN_AUTH_PEND flag for all authentication requests The HCI_CONN_AUTH_PEND flag should be set whenever requesting authentication so that multiple pending requests can't occur. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 9f61656a60c9506e3e4cd41af5efbcf6a30ee3b9 Author: Johan Hedberg Date: Thu Apr 28 11:28:54 2011 -0700 Bluetooth: Add variable SSP auto-accept delay support Some test systems require an arbitrary delay to the auto-accept test cases for Secure Simple Pairing in order for the tests to pass. Previously when this was handled in user space it was worked around by code modifications and recompilation, but now that it's on the kernel side it's more convenient if there's a debugfs interface for it. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 7a828908a026d801c6192fd32cfb35d6843f1539 Author: Johan Hedberg Date: Thu Apr 28 11:28:53 2011 -0700 Bluetooth: Add automated SSP user confirmation responses This patch adds automated negative and positive (auto-accept) responses for Secure Simple Pairing user confirmation requests. The responses are only sent if the HCI_MGMT flag is set in order not to confuse older user space versions (without management interface support). Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 030fe7974f48bd86bb706ec05188ebab0cb7af80 Author: Amitkumar Karwar Date: Wed Apr 27 19:13:13 2011 -0700 mwifiex: fix bug in mwifiex_save_curr_bcn() Since timestamp in beacon buffer keeps changing all the time, the memcmp check in mwifiex_save_curr_bcn() is redundant. Remove that memcmp check and also avoid freeing and allocation of buffer if required beacon buffer size is same as previous one. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit a46b7b5c13b9ecfe2b4e045e06aaec644dcf55d8 Author: Amitkumar Karwar Date: Wed Apr 27 19:13:12 2011 -0700 mwifiex: HT capability information handling 1) Initialise HT capabilities in cfg80211 properly. 2) Cfg80211 stack may modify "sband->ht_cap" to disable 40Mhz operation in 2.4GHz band (after recent patch "cfg80211: module_param to disable HT40 in 2.4GHz band") Therefore read "sband->ht_cap" instead of an adapter variable "hw_dot_11n_dev_cap" to get HT capabilities. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit adc89595732b92f78940fc0ccdb52afaec582a48 Author: Amitkumar Karwar Date: Wed Apr 27 19:13:11 2011 -0700 mwifiex: check firmware capabilities while initialising 5GHz band parameters There are some SD8787 cards which don't support 5GHz band. Therefore initialise 5GHz band parameters only if hardware supports the band. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 49adc5ceb2b95e517baf625e0c8e06e91073009b Author: John W. Linville Date: Wed Apr 27 15:04:28 2011 -0400 mwl8k: replace rateinfo bitfields with mask and shift macros AFAICT, this driver is claiming that 24 bits of rate info fit into a 16-bit field in the Tx descriptor. Anyway, the use of bitfields is frowned-upon for a variety of well-documented reasons... Signed-off-by: John W. Linville commit aac6af5534fade2b18682a0b9efad1a6c04c34c6 Author: Yogesh Ashok Powar Date: Wed Apr 27 18:40:29 2011 +0530 mac80211: Skip tailroom reservation for full HW-crypto devices In xmit path, devices that do full hardware crypto (including TKIP MMIC) need no tailroom. For such devices, tailroom reservation can be skipped if all the keys are programmed into the hardware (i.e software crypto is not used for any of the keys) and none of the keys wants software to generate Michael MIC. Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit e2186b7c25ef9cdb6d631c8dd6a672f41abe22d5 Author: Sujith Manoharan Date: Wed Apr 27 17:13:40 2011 +0530 ath9k_htc: Add set_bitrate_mask() callback This callback is used to set the minimum rate for management frames. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit a55bb94aa37782fe9457751a3e508b1129fbbc7a Author: Sujith Manoharan Date: Wed Apr 27 17:13:23 2011 +0530 ath9k_htc: Add a new WMI command to set a rate mask This patch adds WMI_BITRATE_MASK_CMDID which can be used by the set_bitrate_mask() handler. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 155dcda6f11a58e4e1443d5fad530b0bf68370b7 Author: Sujith Manoharan Date: Wed Apr 27 17:13:09 2011 +0530 ath9k_htc: Remove unused WMI_AGGR_LIMIT_CMD Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 484b1829c6a3c5bc38fe0cd626ce2e8a3dfd844c Author: Sujith Manoharan Date: Wed Apr 27 17:12:56 2011 +0530 ath9k_htc: Increase credit size for AR7010 devices Bump the firmware version to 1.2 Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit bdbfd6b582f55384059d9ac5e65b3653092e6adf Author: Sujith Manoharan Date: Wed Apr 27 16:56:51 2011 +0530 mac80211: Add new API for rate selection This patch adds a new API for setting a TX rate mask in drivers that have rate control in either the firmware or hardware. This can be used for various purposes, for example, masking out the 11b rates in P2P operation. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 8973a6e770fc891f92daacbc1c92c7cd396fcf7e Author: Randy Dunlap Date: Tue Apr 26 15:25:29 2011 -0700 libertas: use kernel-doc notation, fix comment style Convert all libertas/ files to use kernel-doc notation instead of whatever it was (doxygen?). Add or fix function parameters in several places. Use expected style for multi-line comments in lots of places. Remove erroneous /** in multiple places. Signed-off-by: Randy Dunlap Acked-by: Dan Williams Signed-off-by: John W. Linville commit 47684808fd89d6809c0886e06f8ac324252499d8 Author: Arik Nemtsov Date: Tue Apr 26 23:21:51 2011 +0300 wl12xx: support FW TX inactivity triggers In AP mode we register for the MAX_TX_RETRY and INACTIVE_STA events. Both are reported to the upper layers as a TX failure in the offending stations. In STA mode we register only for the MAX_TX_RETRY event. A TX failure is interpreted as a loss of connection. Support for IEEE80211_HW_REPORTS_TX_ACK_STATUS has been removed to avoid the inherent race condition of a mac80211 TX failure counter in addition to the FW counter. This patch depends on "mac80211: allow low level driver to report packet loss" Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit a039a993496d79d09ae9709c82b545b9800954c9 Author: Vivek Natarajan Date: Tue Apr 26 10:39:55 2011 +0530 ath9k: Use ps wrappers for btcoex logic. Use ps wrappers before accessing hw registers in btcoex. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit f78eb657f067ce87e19da94138d22cde8236c7db Author: Vivek Natarajan Date: Tue Apr 26 10:39:54 2011 +0530 ath9k_hw: Enable generic timer interrupt. Generic timer interrupt was not triggered unless autosleep was disabled. Since autosleep is enabled in the newer chipsets, enable generic timer for using with bt coex logic. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit a6ef530f2b0bc7e871e8c2f2b2a0905eed57fead Author: Vivek Natarajan Date: Tue Apr 26 10:39:53 2011 +0530 ath9k_hw: Add support for btcoexistence in AR9300. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 978f78bf71372a48785ac9407ebc10170f14f56c Author: Vivek Natarajan Date: Tue Apr 26 10:39:52 2011 +0530 ath9k_hw: Move bt_stomp to hw from common. Move bt_stomp to ath9k_hw and add its support for latest chipsets. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 8178d38b704f0a08a74b030c35e6eca5f5019d3d Author: Arik Nemtsov Date: Mon Apr 18 14:22:28 2011 +0300 mac80211: allow low level drivers to report packet loss Add API that allows low level drivers to notify mac80211 about TX packet loss. This is useful when there are FW triggers to notify the low level driver about these events. Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit a770bb5aea84ee2509d4775f9959665f96da3b9d Author: Waldemar Rymarkiewicz Date: Thu Apr 28 12:07:59 2011 +0200 Bluetooth: Add secure flag for mgmt_pin_code_req Extend the mgmt_pin_code_request interface to require secure pin code (16 digit) for authentication. This is a kernel part of the secure pin code requirement notification to user space agent. Code styling fix by Johan Hedberg. Signed-off-by: Waldemar Rymarkiewicz Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 58797bf77234154a84827186bda316a1205bde05 Author: Waldemar Rymarkiewicz Date: Thu Apr 28 12:07:58 2011 +0200 Bluetooth: Respect local MITM req in io_cap reply If host requires MITM protection notify that to controller in io capabilities reply even if the remote device requires no bonding. If it is not respected, host can get an unauthenticated link key while it expects authenticated one. Signed-off-by: Waldemar Rymarkiewicz Signed-off-by: Gustavo F. Padovan commit 60b83f571cf17a7a8ca9ddf2090db63e6a594571 Author: Waldemar Rymarkiewicz Date: Thu Apr 28 12:07:56 2011 +0200 Bluetooth: Ignore key unauthenticated for high security High security level for pre v2.1 devices requires combination link key authenticated by at least 16 digit PIN code. It's also necessary to update key_type and pin_length when the key exists and is sufficently secured for the connection as there will be no link key notify event in that case. Signed-off-by: Waldemar Rymarkiewicz Signed-off-by: Gustavo F. Padovan commit 13d39315c22b128f4796fc008b04914a7c32bb1a Author: Waldemar Rymarkiewicz Date: Thu Apr 28 12:07:55 2011 +0200 Bluetooth: Map sec_level to link key requirements Keep the link key type together with connection and use it to map security level to link key requirements. Authenticate and/or encrypt connection if the link is insufficiently secure. Signed-off-by: Waldemar Rymarkiewicz Signed-off-by: Gustavo F. Padovan commit 9003c4e220c2954a53c5da0d739ed15a46c13429 Author: Waldemar Rymarkiewicz Date: Thu Apr 28 12:07:54 2011 +0200 Bluetooth: Don't modify sec_level if auth failed If authentication fails the security level should stay as it was set before the process has started. Setting BT_SECURITY_LOW can hide real security level on a link eg. having BT_SECURITY_MEDIUM on the link, re-authenticate with failure to get BT_SECURITY_HIGH, as a result we get BT_SECURITY_LOW on the link while the real security is still medium. Signed-off-by: Waldemar Rymarkiewicz Signed-off-by: Gustavo F. Padovan commit b6020ba055c7f1ca901dc8751ecc7c9de58164db Author: Waldemar Rymarkiewicz Date: Thu Apr 28 12:07:53 2011 +0200 Bluetooth: Add definitions for link key types Introduce the link key types defs and use them instead of magic numbers. Signed-off-by: Waldemar Rymarkiewicz Signed-off-by: Gustavo F. Padovan commit 314b2381a79c6bfe3ddc4ba3806ecb6aec27a3db Author: Johan Hedberg Date: Wed Apr 27 10:29:57 2011 -0400 Bluetooth: Add discovering event to the Management interface This patch adds a new event to the Management interface to track when local adapters are discovering remote devices. For now this only tracks BR/EDR discovery procedures. Signed-off-by: Johan Hedberg Signed-off-by: Anderson Briglia Signed-off-by: Gustavo F. Padovan commit 14a53664138a8407382745bb470045d1817b7801 Author: Johan Hedberg Date: Wed Apr 27 10:29:56 2011 -0400 Bluetooth: Add basic discovery commands to the management interface This patch adds start_discovery and stop_discovery commands to the management interface. Right now their implementation is fairly simplistic and the parameters are fixed to what user space has defaulted to so far. This is the very initial phase for discovery implementation into the kernel. Next steps include name resolution, LE scanning and bdaddr type handling. Signed-off-by: Johan Hedberg Signed-off-by: Anderson Briglia Signed-off-by: Gustavo F. Padovan commit cf2f90f59bbf2c2a539d171cde6e1dfe72048555 Author: Gustavo F. Padovan Date: Wed Apr 27 18:40:39 2011 -0300 Bluetooth: Don't export l2cap_sock_ops l2cap_sk_ops can be static, it's not used outside l2cap_sock.c Signed-off-by: Gustavo F. Padovan commit 6ff5abbf4e4aa88feb9c2367d4fbd9ea081bf98c Author: Gustavo F. Padovan Date: Mon Apr 25 15:10:41 2011 -0300 Bluetooth: Fix memory leak with L2CAP channels A new l2cap_chan_free() is added to free the channels. Signed-off-by: Gustavo F. Padovan commit 8c1d787be4b62d2d1b6f04953eca4bcf7c839d44 Author: Gustavo F. Padovan Date: Wed Apr 13 20:23:55 2011 -0300 Bluetooth: Move conn to struct l2cap_chan There is no need to the socket deal directly with the channel, most of the time it cares about the channel only. Signed-off-by: Gustavo F. Padovan commit fe4128e0aabc3c748786c00da21e6eff9d3aeddb Author: Gustavo F. Padovan Date: Wed Apr 13 19:50:45 2011 -0300 Bluetooth: Move more vars to struct l2cap_chan In this commit, psm, scid and dcid. Signed-off-by: Gustavo F. Padovan commit 0c1bc5c626e9783034264ccca4b262b3acc628f1 Author: Gustavo F. Padovan Date: Wed Apr 13 17:20:49 2011 -0300 Bluetooth: Move more channel info to struct l2cap_chan In this commit, omtu, imtu, flush_to, mode and sport. It also remove the pi var from l2cap_sock_sendmsg(). Signed-off-by: Gustavo F. Padovan commit 47d1ec6161da2c7b9dbc56a5200fa26b17d5fdc1 Author: Gustavo F. Padovan Date: Wed Apr 13 15:57:03 2011 -0300 Bluetooth: Move more vars to struct l2cap_chan In this commit all ERTM and Streaming Mode specific vars. Signed-off-by: Gustavo F. Padovan commit 4343478f3a4806394136d8141b2e451aa5443f03 Author: Gustavo F. Padovan Date: Tue Apr 12 18:31:57 2011 -0300 Bluetooth: Move some more elements to struct l2cap_chan In this commit sec_level, force_reliable, role_switch and flushable. Signed-off-by: Gustavo F. Padovan commit 77a74c7e0861e6ebac7effe233fd7e83f1ad9ecc Author: Gustavo F. Padovan Date: Tue Apr 12 18:17:14 2011 -0300 Bluetooth: Rename l2cap_do_connect() to l2cap_chan_connect() l2cap_chan_connect() is a much better name and reflects what this functions is doing (or will do once socket dependence is removed from the core). Signed-off-by: Gustavo F. Padovan commit b44500351845e4f6df0d752a8870da246be8216f Author: Gustavo F. Padovan Date: Tue Apr 12 18:15:09 2011 -0300 Bluetooth: Move conf_state to struct l2cap_chan First move of elements depending on user data. Signed-off-by: Gustavo F. Padovan commit 5d41ce1dd91bce01d50aff79786dc5d5eedcfab7 Author: Gustavo F. Padovan Date: Fri Apr 8 15:40:02 2011 -0300 Bluetooth: Refactor L2CAP channel allocation If the allocation happens at l2cap_sock_create() will be able to use the struct l2cap_chan to store channel info that comes from the user via setsockopt. Signed-off-by: Gustavo F. Padovan commit 80e8ff562ad775758634a58e7ea998e011519d98 Author: Jiri Kosina Date: Wed Apr 27 11:20:34 2011 +0200 rtlwifi: don't touch with treewide double semicolon removal This is a partial revert of 6eab04a87677 ("treewide: remove extra semicolons"). Wireless tree removes the code in question in rtlwifi driver, so drop the hunk to avoid conflict. Reported-by: Stephen Rothwell Signed-off-by: Jiri Kosina commit c989bb15e95a93e20fc86783264f6298116e8651 Author: Luis R. Rodriguez Date: Mon Apr 25 18:35:48 2011 -0700 cfg80211: fix regresion on reg user timeout The patch "cfg80211: add a timer for invalid user reg hints" introduced a regression for the case where a secondary identical regulatory hint from a user is sent. What would happen is the second hint would schedule delayed work in to catch a timeout but since we are never processing it given that the hint was already applied we'd always hit the timeout and and restore regulatory settings back to world regulatory domain. This is fixed by simply avoiding sheduling work if the hint was already applied. Tested-by: Felix Fietkau Reported-by: Felix Fietkau Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d3bb1429a2c1470d1f84646c00e34dc6784ee06e Author: Larry Finger Date: Mon Apr 25 13:23:20 2011 -0500 rtlwifi: rtl8192ce: rtl8192cu: Fix most sparse warnings Fix most sparse warnings in rtlwifi, rtl8192ce and rtl8192cu drivers. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 76c34f910a5c99a402de5068444563d4c151e794 Author: Chaoming_Li Date: Mon Apr 25 12:54:05 2011 -0500 rtlwifi: rtl8192ce: Change rtl8192ce routines phy and trx and modify rtl8192cu for addition of rtl8192se and rtl8192de Change rtl8192ce routines phy and trx for addition of RTL8192SE and RTL8192DE. In addition, make necessary modifications to rtl8192cu. This patch also removes the temporary patches needed to enable intermediate steps to build without error. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit e0b5a5078675f58736787982af811244eeb98081 Author: Chaoming_Li Date: Mon Apr 25 12:54:00 2011 -0500 rtlwifi: rtl8192ce: Change phy and rc routines for addition of rtl8192se and rtl8192de Change rtl8192ce routines phy and rc for addition of RTL8192SE and RTL8192DE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 2b8359f85b81dfe02a631e570582290859191756 Author: Chaoming_Li Date: Mon Apr 25 12:53:55 2011 -0500 rtlwifi: rtl8192ce: Change sw and LED routines for addition of rtl8192se and rtl8192de Change rtl8192ce sw and LED routines for addition of RTL8192SE and RTL8192DE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit f73b279cdb5fc850b4be355307905f2914b2c0bb Author: Chaoming_Li Date: Mon Apr 25 12:53:50 2011 -0500 rtlwifi: rtl8192ce: Change hw routine for addition of rtl8192se and rtl8192de Change rtl8192ce hw routine for addition of RTL8192SE and RTL8192DE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c07ccff326a2b3d81520e8c7a8e0f5e8cbc77416 Author: Chaoming_Li Date: Mon Apr 25 12:53:45 2011 -0500 rtlwifi: rtl8192c-common: Change common PHY routines for addition of rtl8192se and rtl8192de Change common PHY routines for addition of RTL8192SE and RTL8192DE code. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3ac5e26a1e935469a8bdae1d624bc3b59d1fcdc5 Author: Chaoming_Li Date: Mon Apr 25 12:53:40 2011 -0500 rtlwifi: rtl8192c-common: Change common firmware routines for addition of rtl8192se and rtl8192de Change common firmware routines for addition of RTL8192SE and RTL8192DE code. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit beb5bc4020436ee50bd50e82c5a64eb087f0e3b3 Author: Chaoming_Li Date: Mon Apr 25 12:53:35 2011 -0500 rtlwifi: rtl8192c-common: Convert common dynamic management routines for addition of rtl8192se and rtl8192de Convert common dynamic management routines for addition of RTL8192SE and RTL8192DE code. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit d93cdee975bc6894b0a7c3f3eb4f2b34303163f8 Author: Chaoming_Li Date: Mon Apr 25 12:53:29 2011 -0500 rtlwifi: Convert usb routines for addition of rtl8192se and rtl8192de Convert usb routines for addition of RTL8192SE and RTL8192DE code Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 81b290451122e93b9731bc333c6be2e49fa5bc0c Author: Chaoming_Li Date: Mon Apr 25 12:53:24 2011 -0500 rtlwifi: Convert regulatory domain routines for addition of rtl8192se and rtl8192de Convert regulatory domain routines for addition of RTL8192SE and RTL8192DE code. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c6a9de0823e6f1335c93594f7b904f345860dafc Author: Chaoming_Li Date: Mon Apr 25 12:53:19 2011 -0500 rtlwifi: Convert rc routines for addition of rtl8192se and rtl8192de Convert rc routines for addition of RTL8192SE and RTL8192DE code Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit cc7dc0c4ff7c091fb70ff0436f7e3b557e0ac1c3 Author: Chaoming_Li Date: Mon Apr 25 12:53:14 2011 -0500 rtlwifi: Convert ps routines for addition of rtl8192se and rtl8192de Convert ps routines for addition of RTL8192SE and RTL8192DE code Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c7cfe38ee0f946415b0b39e3905a91a51d99cf7d Author: Chaoming_Li Date: Mon Apr 25 13:23:15 2011 -0500 rtlwifi: Convert pci routines for addition of rtl8192se and rtl8192de Convert pci routines for addition of RTL8192SE and RTL8192DE code These changes allow the upper-level driver to specify the BAR to be used as it is different for rtl8192se than for the others. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 0baa0fd76f3f5a134461d6cf30294f6bb1bb824c Author: Chaoming_Li Date: Mon Apr 25 13:23:10 2011 -0500 rtlwifi: Convert core routines for addition of rtl8192se and rtl8192de Convert core routines for addition of RTL8192SE and RTL8192DE code. Additional files are changed to allow compilation. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 46a6272c20d4f639093ad2ad8db1eba622187bee Author: Chaoming_Li Date: Mon Apr 25 13:23:05 2011 -0500 rtlwifi: Change cam routines for addition of rtl8192se and rtl8192de Change cam routines for addition of RTL8192SE and RTL8192DE code Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit acd48572c396364bb480175d7de83944eefa2563 Author: Chaoming_Li Date: Mon Apr 25 12:52:54 2011 -0500 rtlwifi: Change base routines for addition of rtl8192se and rtl8192de Change base routines for addition of RTL8192SE and RTL8192DE code. Additional files are modified to allow compilation. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3dad618b7b929010f05b179bbc4d56e3d5956083 Author: Chaoming_Li Date: Mon Apr 25 12:52:49 2011 -0500 rtlwifi: Change wifi.h for rtl8192se and rtl8192de Change wifi.h for addition of RTL8192SE and RTL8192DE code Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit e25f51d4f9f8c45382a33b6283418be46425195c Author: Chaoming_Li Date: Mon Apr 25 12:52:44 2011 -0500 rtlwifi: Change efuse routines addition of RTL8192SE and RTL8192DE Change efuse routines for addition of RTL8192SE and RTL8192DE code Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 0915cba394268e68b6a8242b15f8c7283453df43 Author: Rajkumar Manoharan Date: Mon Apr 25 15:56:17 2011 +0530 mac80211: Fix warnings due to -Wunused-but-set-variable These warnings are exposed by gcc 4.6. net/mac80211/sta_info.c: In function 'sta_info_cleanup_expire_buffered': net/mac80211/sta_info.c:590:32: warning: variable 'sdata' set but not used net/mac80211/ibss.c: In function 'ieee80211_rx_mgmt_auth_ibss': net/mac80211/ibss.c:43:34: warning: variable 'status_code' set but not used net/mac80211/work.c: In function 'ieee80211_send_assoc': net/mac80211/work.c:203:9: warning: variable 'len' set but not used net/mac80211/tx.c: In function '__ieee80211_parse_tx_radiotap': net/mac80211/tx.c:1039:35: warning: variable 'sband' set but not used net/mac80211/mesh.c: In function 'ieee80211_mesh_rx_queued_mgmt': net/mac80211/mesh.c:616:28: warning: variable 'ifmsh' set but not used ... Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 334df731976ee4042c9bf18b2eec9c0a71f45389 Author: Christian Lamparter Date: Sun Apr 24 20:41:16 2011 +0200 mac80211: fix too early reorder release timer The release timer has to expire "just" after a frame is up for release. Currently, if the timer callback starts on time, the "!time_after" check above will start a new timer instead of releasing the frames. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit caf1eae206688210f61f3b48627ce4ca3c709784 Author: Christian Lamparter Date: Sun Apr 24 17:44:19 2011 +0200 carl9170: improve unicast PS buffering Using the ieee80211_sta_block allows the PS code to handle awake->doze->awake transitions of our clients in a race-free manner. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit be8d98eab81d1f6445461a1631513f7091805e53 Author: Christian Lamparter Date: Sun Apr 24 17:22:59 2011 +0200 p54: implement multicast filter "For best CPU usage and power consumption, having as few frames as possible percolate through the stack is desirable. Hence, the hardware should filter as much as possible." Note: Not all firmwares include the multicast filter feature and the stack does not filter them either. The ARP filter on the other hand was dropped from the patch since it does not work correctly: Quote from: Max Filippov "In the ARP case, when there's no other traffic on p54spi, all ARP requests are dropped. But if there's some egress traffic from p54spi, filter seems to work correctly: only ARP requests that match filter pass through. In the multicast case filter seems to work correctly, but it treats broadcast as subject to that filtering too. By default only 01:00:5e:00:00:01 gets into priv->mc_maclist, so we miss all broadcasts. These two filters seem to interfere: - if we set ARP filter and multicast filter without bc => we miss all ARPs if there's no egress traffic; - if we set ARP filter and multicast filter with bc or don't set mc filter at all => we get all ARPs. This effect does not depend on filter setup order." Signed-off-by: Christian Lamparter Tested-by: Max Filippov Signed-off-by: John W. Linville commit 25f63a5a37f9cd925a01840bbb4c3ad9d5034175 Author: Adrian Chadd Date: Sat Apr 23 12:48:53 2011 +0800 ath9k: fix AR9160 xpaBiasLvlFreq endianness handling The xpaBiasLvlFreq parameter array is made up of 16 bit words which aren't byte-swapped like the other 16-bit eeprom parameters are. It's only used by the AR9160. Signed-off-by: Adrian Chadd Signed-off-by: John W. Linville commit 92c6f76c6d44a869bf3b252dbb2e358ae7399a96 Author: Rajkumar Manoharan Date: Fri Apr 22 14:50:39 2011 +0530 ath9k: set beacon related ps flags on bss_info change Requesting beacon sync up to configure beacon timers properly in hw, has be done after doing beacon config with default values. Setting the flags in beacon config is causing the device to not enter into network sleep on idle state. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 3782c69d6e35e698bcc2aefe803e62d06c5c4997 Author: Rajkumar Manoharan Date: Sun Apr 24 21:34:39 2011 +0530 ath9k_hw: Fix Tx IQ Calibration hang issue in AR9003 chips On AR9003 chips, doing three IQ calibrations will possibly cause chip in stuck state. In noisy environment, chip could receive a packet during the middle of three calibrations and it causes the conflict of HW access and the eventual failure. It also causes IQ calibration outliers which results in poor Tx EVM. The IQ Cal procedure is after resetting the chip, run IQ cal 3 times per each cal cycle and find the two closest readings and average of two. The advantage of running Tx IQ cal more than once is that we can compare calibration results for the same gain setting over multiple iterations. Most of the cases the IQ failures were observed after first pass. For the AR9485 and later chips, Tx IQ Calibration is performed along with AGC cal. But for pre-AR9485 chips, Tx IQ cal HW has to be separated from the rest of calibration HW to avoid chip hang. After all calibrations are done in HW, we can start SW post-processing. By doing this way, we minimize the SW difference among all chips. The order of calibration (run IQ cal before other calibration) is also needed to avoid chip hang for chips before AR9485. This issue was originally observed with AR9382. During the issue kernel log was filled with following message ath: timeout (100000 us) on reg 0xa640: 0x00000001 & 0x00000001 != 0x00000000 ath: timeout (100000 us) on reg 0xa2c4: 0x00158dd9 & 0x00000001 != 0x00000000 ath: Unable to reset channel (2412 MHz), reset status -5 ath: Unable to set channel Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 429576b97c623b9c4e3375fb7c37bce377f51e68 Merge: 9835a30 069f40f Author: John W. Linville Date: Tue Apr 26 15:39:10 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 2bd93d7af1581d40e3c4b25242472661cb7c637a Merge: 64cad2a 0972ddb Author: David S. Miller Date: Tue Apr 26 12:16:46 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Resolved logic conflicts causing a build failure due to drivers/net/r8169.c changes using a patch from Stephen Rothwell. Signed-off-by: David S. Miller commit 85ee7a1d39d75d23d21f3871f6dc9b87d572747a Author: Joe Perches Date: Sat Apr 23 20:38:19 2011 -0700 treewide: cleanup continuations and remove logging message whitespace Using C line continuation inside format strings is error prone. Clean up the unintended whitespace introduced by misuse of \. Neaten correctly used line continations as well for consistency. drivers/scsi/arcmsr/arcmsr_hba.c has these errors as well, but arcmsr needs a lot more work and the driver should likely be moved to staging instead. Signed-off-by: Joe Perches Acked-by: Randy Dunlap Signed-off-by: Jiri Kosina commit 07f9479a40cc778bc1462ada11f95b01360ae4ff Merge: 9d5e6bd cd2e49e Author: Jiri Kosina Date: Tue Apr 26 10:22:15 2011 +0200 Merge branch 'master' into for-next Fast-forwarded to current state of Linus' tree as there are patches to be applied for files that didn't exist on the old branch. commit bf734843120b905bacc3d24c88d7455ae70bf6e1 Author: David S. Miller Date: Mon Apr 25 13:03:02 2011 -0700 bluetooth: Fix use-before-initiailized var. net/bluetooth/l2cap_core.c: In function ‘l2cap_recv_frame’: net/bluetooth/l2cap_core.c:3612:15: warning: ‘sk’ may be used uninitialized in this function net/bluetooth/l2cap_core.c:3612:15: note: ‘sk’ was declared here Actually the problem is in the inline function l2cap_data_channel(), we branch to the label 'done' which tests 'sk' before we set it to anything. Initialize it to NULL to fix this. Signed-off-by: David S. Miller commit 6dde1aabf6759848512f19d76b89ee473584c46a Author: Mohammed Shafi Shajakhan Date: Fri Apr 22 17:27:01 2011 +0530 ath9k: Add TSFOOR interrupt stats in debug info This helped the developers to fix an issue of chip not entering network sleep during idle state, previously this was only available as a debug message Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit cedc7e3d0c847d602d2970120d0e4cca72f364a4 Author: Mohammed Shafi Shajakhan Date: Fri Apr 22 13:12:23 2011 +0530 ath9k: remove the unlikely check for autosleep newer chipsets support auto sleep feature, so remove the unlikely check which does not seems to help anything Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit b84628eb574f04db714d34276383edbe6d8bfd96 Author: Senthil Balasubramanian Date: Fri Apr 22 11:32:12 2011 +0530 ath9k: Add power save wrappers and modularize hw_pll handler We should protect hw_pll handler with power save wrappers and also modularize hw_pll handler properly for better readability. Also add a debug message to track chip resets on pll hang condition. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 9eab61c2bff2f769ee771a7a9301fb720cec9b56 Author: Senthil Balasubramanian Date: Fri Apr 22 11:32:11 2011 +0530 ath9k: cleanup hw pll work handler There is no reason why pll work handler should be part of xmit file. move it to main.c so that reading hw check routines are all in the same place. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 515139066928da040d1482f201ef1b769bc29aa0 Author: Senthil Balasubramanian Date: Fri Apr 22 11:32:10 2011 +0530 ath9k: optimize the usage of power save wrappers. We need not wake up the chip even before mutex lock is acquired and also that it is required only if we are going to drain the txq. So place the wrappers accordingly and this change is also useful when there are no pending frames in the txq as we do not wake up the chip unnecessarily. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit d1c038d620c45fbbc65bcadf813a86bca686dd31 Author: Senthil Balasubramanian Date: Fri Apr 22 11:32:09 2011 +0530 ath9k_hw: Fix incorrect baseband PLL phase shift for AR9485 we should program the AR9485 baseband PLL phase shift to 6 and a redundant setting overwrites the correct value. Remove the incorrect and unwnated register setting. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 353e5019e048562dc8f434c6237d41ef5e758922 Author: Senthil Balasubramanian Date: Fri Apr 22 11:32:08 2011 +0530 ath9k: Fix LED gpio for AR93xx chipsets. The LED gpio is incorrectly programmed for AR9300 and so the led is not working propelry. AR93xx uses gpio 10 for LED and not the default. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 40db6c77ab48c3f3240422ff92fd6da222e2eb95 Author: Amitkumar Karwar Date: Thu Apr 21 14:10:27 2011 -0700 cfg80211: module_param to disable HT40 in 2.4GHz band Currently mac80211 uses ieee80211_disable_40mhz_24ghz module parameter to allow disabling 40MHz operation in the 2.4GHz band. Move this handling from mac80211 to cfg80211 so that the feature will be more generic. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 0a6c9b1b666671a22905d38bc41ec1a04b85832f Author: Vasanthakumar Thiagarajan Date: Thu Apr 21 18:33:28 2011 +0530 ath9k: Fix warning: symbol 'ath9k_platform_id_table' was not declared. Should it be static? Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 788f6875fcf5d2bce221fbfd2318ac48df299031 Author: Vasanthakumar Thiagarajan Date: Thu Apr 21 18:33:27 2011 +0530 ath9k: Fix bug in configuring hw timer Hw next tigger time is configured as current_tsf + (timer_period * 10) which is wrong, it should be current_tsf + timer_period. The wrong hw timer configuration would cause btcoex related issues. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ca45de77ad706e86b135b8564e21aa2c8a63f09b Author: Johannes Berg Date: Thu Apr 21 13:38:00 2011 +0200 mac80211: tear down BA sessions properly on suspend Currently, the code to tear down BA sessions will execute after queues are stopped, but attempt to send frames, so those frames will just get queued, which isn't intended. Move this code to before to tear down the sessions properly. Additionally, after stopping queues, flush the TX queues in the driver driver to make sure all the frames went out. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 31d291a769b4318cbf7943ca149e04d201e2c931 Author: Nishant Sarmukadam Date: Thu Apr 21 16:34:59 2011 +0530 mwl8k: Enable life time expiry for tx packets in the hardware Tell the firmware to enable the life time expiry of tx packets in the hardware. The hardware will now refer to the timestamp in every tx packet and decide whether the packet needs to be dropped or transmitted. Signed-off-by: Nishant Sarmukadam Signed-off-by: Pradeep Nemavat Signed-off-by: John W. Linville commit 3a769888797b7117005e9c60d4cd73a2efc92f8d Author: Nishant Sarmukadam Date: Thu Apr 21 16:34:58 2011 +0530 mwl8k: Reserve buffers for tx management frames Since queues are not stopped anymore, management frames would be dropped if the corresponding tx queue is full. This can cause issues say when we want to setup an ampdu stream and action frames i.e addba requests keep getting dropped frequently. Fix this by reserving some buffers to allow management frames to go through in queue full conditions. Signed-off-by: Nishant Sarmukadam Signed-off-by: Pradeep Nemavat Signed-off-by: John W. Linville commit 566875db5058f582ea56da891f9c3cabc01efff5 Author: Pradeep Nemavat Date: Thu Apr 21 16:34:57 2011 +0530 mwl8k: Add timestamp information for tx packets Timestamp tx packets using a HW micro-second timer. This timestamp will be compared to the current timestamp in the hardware and if the difference is greater than 500ms, the packet will be dropped. Signed-off-by: Pradeep Nemavat Signed-off-by: Nishant Sarmukadam Signed-off-by: John W. Linville commit 3a7dbc3b2ac545efac75d4145839eaa7b59d9741 Author: Pradeep Nemavat Date: Thu Apr 21 16:34:56 2011 +0530 mwl8k: Do not stop tx queues This is in preparation to support life time expiry of packets in the hardware to avoid head-of-line blocking where a slow client can hog a tx queue and affect the traffic to a faster client from the same queue. Time stamp the packets in driver to allow dropping them in the hardware if they are queued for more than 500ms. If queues are stopped, packets will be queued up outside the driver. Since we will be able to timestamp the packets only after they hit the driver, the timestamp will be less accurate since we cannot consider the time the packets spent in queues outside the driver. With this commit, to achieve accurate timestamping, the tx queues will not be stopped in normal conditions. The only scenarios where the queues will be stopped are when firmware commands are executing or if the interface is brought down. Now, we need to be prepared for a situation where packets hit the driver even after the tx queues are full. Drop all such packets in the driver itself. Signed-off-by: Pradeep Nemavat Signed-off-by: Nishant Sarmukadam Signed-off-by: John W. Linville commit 2624e96ce16bacae0e422d5775eac6d4fc33239a Author: Stanislaw Gruszka Date: Wed Apr 20 16:02:58 2011 +0200 iwlwifi: fix possible data overwrite in hcmd callback My commit 3598e1774c94e55c71b585340e7dc4538f310e3f "iwlwifi: fix enqueue hcmd race conditions" move hcmd callback after command queue reclaim, to avoid call it with hcmd_lock. But since queue read index was updated, cmd data can be overwritten. Fix problem by calling callback before taking hcmd_lock and queue reclaim. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 767ad6a0a2342d42f6f03b50198418b1475e0a7b Author: Sujith Manoharan Date: Wed Apr 20 11:01:25 2011 +0530 ath9k_htc: Remove unused macros and structures Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit c58ca5b5083befda31009a64abd95ae6ac315265 Author: Sujith Manoharan Date: Wed Apr 20 11:01:10 2011 +0530 ath9k_htc: Use power save wrappers when accessing HW Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit f0dd49803b0c0f3a002f073ec1a82cac5795af2d Author: Sujith Manoharan Date: Wed Apr 20 11:01:00 2011 +0530 ath9k_htc: Fix max A-MPDU size handling Set the maximum ampdu size of a station correctly in the target by using the ampdu_factor. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 3a0593efd191c7eb13c79179c4c5ddbc519b2510 Author: Sujith Manoharan Date: Wed Apr 20 14:33:28 2011 +0530 ath9k_htc: Fix AMPDU subframe handling * Register the driver's maximum ampdu subframe limit to mac80211. * Cleanup the target capabilities structure and fix an endian issue. * Fix BTCOEX by sending a command to the target when the BT priority changes. * Bump the required firmware version to 1.1 Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 0ff2b5c05d4dd84222a8e163335c5b550e2ca195 Author: Sujith Manoharan Date: Wed Apr 20 11:00:34 2011 +0530 ath9k: Fix warnings from -Wunused-but-set-variable Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit bca04689a2260ca4da227e7f7fa35f28f40e6a00 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:20 2011 +0530 ath9k_hw: Enable AR9340 support AR9340 is a AR9003 family built-in 2x2 wmac of ar934x SOCs. It is single band in ar9341 SOC and dual band in ar9344/ar9342 SOCs. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 79d1d2b8a34fd36e63cc7f5267cf79217a44edcc Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:19 2011 +0530 ath9k_hw: Disable INTR_HOST1_FATAL to avoid interrupt strom with ar9430 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ecb1d385ad61001ff85407e5370a40934a1cc50b Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:18 2011 +0530 ath9k_hw: Assign macversion based on devid for built-in wmac Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 247eee0e4ee3e23fd4f2918cdffa1e20d2261fa8 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:17 2011 +0530 ath9k: Add AR9340 platform id to id table Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 5d48ae78cf81b4006ee1b7690b850db84820dc14 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:16 2011 +0530 ath9k_hw: Read iq calibration data only for active chains Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 2976bc5ebfb6c6dd37b4513540e567de0a2313f7 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:15 2011 +0530 ath9k_hw: Configure chain switch table and attenuation control only for active chains Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 2be7bfe0b454bc7c60ede777907ec817baa6196e Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:14 2011 +0530 ath9k_hw: Enable byte Tx/Rx data swap for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit a969c09184e7cb7d14838598b54c6effbef8b584 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:13 2011 +0530 ath9k_hw: Configure tuning capacitance value for AR9340 as well Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 3594beae705523982823f84bf4997f680b2cf75f Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:12 2011 +0530 ath9k_hw: Skip internal regulator configuration for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 160b7fb4a07f52a6ba883b52fbb992f0086f99f6 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:11 2011 +0530 ath9k_hw: Don't configure AR_CH0_THERM for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 66953d438576938b02e6ff0ade1958f3e90af4a9 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:10 2011 +0530 ath9k_hw: Fix register offset AR_PHY_65NM_CH0_THERM for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit e758ff8f7fc9ce96e94131b13e70af2c197fa05e Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:09 2011 +0530 ath9k_hw: Clean up rx/tx chain configuration before AGC/IQ cal Use hw supported chains instead of hard coded values. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 17869f4fe940407b5b80039110c0257c90e18a99 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:08 2011 +0530 ath9k_hw: Configure RF channel freqency for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit d1395d85fa58438c70b77185b7c5780b94046348 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:07 2011 +0530 ath9k_hw: Read spur frequency information from eeprom for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit d7fd52a80f9537970da1f80d785cac67375c05df Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:06 2011 +0530 ath9k_hw: Initialize tx and rx gain table from initvals.h for ar9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 070c4d509b1edcd0b8a40177a02e4302416c56d7 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:05 2011 +0530 ath9k_hw: Don't do ani initialization for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit d89baac8b477d8f9eca72d186863a554d7137b40 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:04 2011 +0530 ath9k_hw: Initialize mode registers from initvals.h for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 9aa5a8d5fd519d61a947c797cb917b38fd156cff Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:03 2011 +0530 ath9k_hw: Add initvals.h for ar9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 0b488ac6ece598fda69b5f3348015994129c48b9 Author: Vasanthakumar Thiagarajan Date: Wed Apr 20 10:26:15 2011 +0530 ath9k_hw: Configure pll control register accordingly for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit f2f5f2a1cedc803a5a517557d436e6cb10c007de Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:01 2011 +0530 ath9k_hw: Get AHB clock information from ath9k_platform_data Add a bool in ath9k_platform_data to pass AHB clock speed information. Driver needs this to configure PLL on some SOCs. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 35d5f56125aba8667ac12277dff02ce51efbee16 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:00 2011 +0530 ath9k_hw: Take care of few host interface register changes for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit b99a7be47dc37c60b6524d761ecfce432de84c01 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:28:59 2011 +0530 ath9k_hw: Define devid and mac version for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 534f0e29282a007a589a659d31baa1ef828c22da Merge: e55034e 4cd2bf7 Author: John W. Linville Date: Mon Apr 25 14:42:51 2011 -0400 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit e55034e978970f5a058dfa9c9cc923ff75fc6a12 Merge: 73b4809 cf27d86 Author: John W. Linville Date: Mon Apr 25 14:36:35 2011 -0400 Merge branch 'for-linville' of git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx commit cfef6047c4027a8448ec8dafeaf2bb362cc882e4 Merge: b71d1d4 73b4809 Author: John W. Linville Date: Mon Apr 25 14:34:25 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem Conflicts: drivers/net/wireless/iwlwifi/iwl-core.c drivers/net/wireless/rt2x00/rt2x00queue.c drivers/net/wireless/rt2x00/rt2x00queue.h commit b1c43f82c5aa265442f82dba31ce985ebb7aa71c Author: Felipe Balbi Date: Mon Mar 21 12:25:08 2011 +0200 tty: make receive_buf() return the amout of bytes received it makes it simpler to keep track of the amount of bytes received and simplifies how flush_to_ldisc counts the remaining bytes. It also fixes a bug of lost bytes on n_tty when flushing too many bytes via the USB serial gadget driver. Tested-by: Stefan Bigler Tested-by: Toby Gray Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 4cd2bf76a40a148bc92f4a3d17bc7f94277b0410 Author: Johannes Berg Date: Wed Apr 13 03:14:52 2011 -0700 iwlagn: remove hw_ready variable This variable is only ever checked right after the function that sets it, but the same function will also return the status, so we can pass it through instead of checking hw_ready later. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit dbf28e21ca391110e90ccad05dda79d2e2f60e0e Author: Johannes Berg Date: Sat Apr 16 08:29:24 2011 -0700 iwlagn: combine firmware code/data On new hardware, ucode images always come in pairs: code and data. Therefore, combine the variables into an appropriate struct and use that when both code and data are needed. Also, combine allocation and copying so that we have less code in total. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit ca7966c88e44233fac113579071a6f55e00ef5ac Author: Johannes Berg Date: Fri Apr 22 10:15:23 2011 -0700 iwlagn: implement synchronous firmware load The current firmware loading mechanism in iwlwifi is very hard to follow, and thus hard to maintain. To make it easier, make the firmware loading synchronous. For now, as a side effect, this removes a number of retry possibilities we had. It isn't typical for this to fail, but if it does happen we restart from scratch which this also makes easier to do should it be necessary. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit e74fe2330a5a721610b2b69652d2ec2ebbd302e0 Author: Johannes Berg Date: Wed Apr 13 03:14:49 2011 -0700 iwlagn: leave notification waits on firmware errors When the firmware encounters an error while the driver is waiting for a notification, it will never get that notification. Therefore, instead of timing out, bail out on errors when waiting for notifications. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit a8674a1efca60d863d4caa47e102cc4d70d5ff9b Author: Johannes Berg Date: Wed Apr 13 03:14:48 2011 -0700 iwlagn: make iwlagn_wait_notification return error code We're unlikely to care about the actual time spent waiting, so make the function return an error code which is less error prone in coding new uses. Also, while at it, mark __must_check. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 09f18afe766ea3f2c749e3af195bf65fde71b62e Author: Johannes Berg Date: Wed Apr 13 03:14:47 2011 -0700 iwlagn: extend notification wait function A notification wait function is called with the command, but currently has no way of passing data back to the caller -- fix that by adding a void pointer to the function that can be used between the caller and the function. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 3e14c1fd75d909bfcc6caab79c544921fd02bf73 Author: Johannes Berg Date: Wed Apr 13 03:14:46 2011 -0700 iwlagn: refactor up path Starting the device consists of many things, refactor out enabling the hardware and also return -ERFKILL when the rfkill signal is found to be asserted (which makes more sense anyway, but is also required now to make the __iwl_up function return right away.) Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit bc4f8adac6b30ee5f03dad267896add7e58db729 Author: Johannes Berg Date: Wed Apr 13 03:14:45 2011 -0700 iwlagn: refactor down path The iwl_down path really consists of multiple things, refactor out the hardware resetting (including, of course, related software state like irqs). Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 1a10f43313481b99154b3b1ce6863742475422e0 Author: Johannes Berg Date: Wed Apr 13 03:14:44 2011 -0700 iwlagn: clean up some exit code There's no point in running through iwl_down() when we never registered with mac80211, as it just cleans up internal structures that were never initialised in this case. Therefore we can also remove the special handling for this case from __iwl_down(). Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit e46f6538c24f01bb68dc374358ce85a0af666682 Author: Johannes Berg Date: Wed Apr 13 03:14:43 2011 -0700 iwlagn: simplify error table reading The current code to read the error table header just hardcodes all the offsets, which is a bit hard to understand. We can read in the entire header (as much as we need) into a structure, and then take the data from there, which makes it easier to understand. To read a bigger blob we also don't need to grab NIC access for each word read, making the code more efficient. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 6d67c110ab204bc4c2f4f3e368b8d7cf1f38a4f8 Author: Antonio Ospite Date: Wed Apr 6 10:43:23 2011 +0200 HID: bt: hidp.h: do not use a tab after a #define Signed-off-by: Antonio Ospite Signed-off-by: Jiri Kosina commit 828d7d7b19446bf5a40928da47955c575a454c75 Merge: 26954c7 069f40f Author: Gustavo F. Padovan Date: Wed Apr 20 21:47:07 2011 -0300 Merge master.kernel.org:/pub/scm/linux/kernel/git/padovan/bluetooth-2.6 Conflicts: net/bluetooth/l2cap_core.c net/bluetooth/l2cap_sock.c net/bluetooth/mgmt.c commit 73b48099cc265f88fa1255f3f43e52fe6a94fd5c Author: Johannes Berg Date: Mon Apr 18 17:05:21 2011 +0200 mac80211: explain padding in place of rate field Apparently this was confusing still ... add a note that the byte is needed as padding. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0ed7b3c04434788ef03d267190c5e9e6e3f8e9ce Author: Ivo van Doorn Date: Mon Apr 18 15:35:12 2011 +0200 rt2x00: Implement get_antenna and set_antenna callback functions Implement the get_antenna and set_antenna callback functions, which will allow clients to control the antenna for all non-11n hardware (Antenna handling in rt2800 is still a bit magical, so we can't use the set_antenna for those drivers yet). To best support the set_antenna callback some modifications are needed in the diversity handling. We should never look at the default antenna settings to determine if software diversity is enabled. Instead we should set the diversity flag when possible, which will allow the link_tuner to automatically pick up the tuning. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit e7dee444263a103a9a2ac5fd5d0b5e9dc177d57c Author: Ivo van Doorn Date: Mon Apr 18 15:34:41 2011 +0200 rt2x00: Implement get_ringparam callback function With the get_ringparam callback function we can export ring parameters to ethtool through the mac80211 interface. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 8d0a2dcfb6f965781cde6d9dfbd4540ab22a0eb9 Author: Ivo van Doorn Date: Mon Apr 18 15:34:22 2011 +0200 rt2x00: Optimize register access in rt2800usb All register reads/writes in rt2800usb were previously done with rt2800_register_read/rt2800_register_write. These however indirectly call rt2x00usb_register_read/rt2x00usb_register_write which adds an additional overhead of at least one call and several move instructions to each register access. Replacing the calls to rt2800_register_read/rt2800_register_write with direct calls to rt2x00usb_register_read/rt2x00usb_register_write gets rid of quite a number of instructions in the drivers hotpaths (IRQ handling and txdone handling). For consistency replace all references to rt2800_register_read/write with the rt2x00usb_register_read/write variants. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9a8199961b22e61221a6114b8bbbc26ddcc243f7 Author: Helmut Schaa Date: Mon Apr 18 15:34:01 2011 +0200 rt2x00: Optimize register access in rt2800pci All register reads/writes in rt2800pci were previously done with rt2800_register_read/rt2800_register_write. These however indirectly call rt2x00pci_register_read/rt2x00pci_register_write which adds an additional overhead of at least one call and several move instructions to each register access. Replacing the calls to rt2800_register_read/rt2800_register_write with direct calls to rt2x00pci_register_read/rt2x00pci_register_write gets rid of quite a number of instructions in the drivers hotpaths (IRQ handling and txdone handling). For consistency replace all references to rt2800_register_read/write with the rt2x00pci_register_read/write variants. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 46a01ec00d05581c5bd0c37e680d5b37af4953b4 Author: Gertjan van Wingerde Date: Mon Apr 18 15:33:41 2011 +0200 rt2x00: Merge rt2x00ht.c contents in other files. The two functions that are in rt2x00ht.c can be much better placed closer to the places where the call-sites of these functions are (one in rt2x00config.c and one in rt2x00queue.c) allowing us to make these functions static. Also, conditional compilations doesn't seem to be necessary anymore as 802.11n support is quite common nowadays. This makes the code a bit easier readable and searchable. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ea81966ccc2edd324c1fa382260a62a4400a032a Author: Gertjan van Wingerde Date: Mon Apr 18 15:33:20 2011 +0200 rt2x00: Enable support for RT53xx PCI devices by default. Code seems to be feature-complete, so no reason to not enable these devices by default. Also, remove the sentence about the support for these devices being non-functional. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ccd3caa4516c56540017d1af6c810940eff6afb8 Author: Gertjan van Wingerde Date: Mon Apr 18 15:33:00 2011 +0200 rt2x00: RT33xx device support is no longer experimental. The rt33xx devices support for both PCI and USB devices has been in the tree for a couple of months now, and seems to be functional and not in a worse shape than the support for rt28xx and rt30xx devices. No longer mark it as experimental and enable the support for these devices by default. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 87a3b89f34fb20f644b42fa57d579b1f2833fd4d Author: Gertjan van Wingerde Date: Mon Apr 18 15:32:33 2011 +0200 rt2x00: Add USB IDs. Add USB IDs that are listed in the latest Ralink Windows and/or Linux drivers. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e01ae27f8ce6bd3ee26ef33c704f62449ce8233b Author: Gertjan van Wingerde Date: Mon Apr 18 15:32:13 2011 +0200 rt2x00: Allow dynamic addition of PCI/USB IDs. Both USB and PCI drivers allow a system administrator to dynamically add USB/PCI IDs to the device table that a driver supports via the /sys/bus/{usb,pci,pci_express}/drivers//new_id files. However, for the rt2x00 drivers using this method currently crashes the system with a NULL pointer failure. This is due to the set-up of rt2x00 where the probe functions require a rt2x00_ops structure in the driver_info field of the probed device. As this field is empty for the dynamically added devices this fails for these devices. Fix this by introducing driver-specific probe wrappers that do nothing but calling the bus-specific probe functions with the rt2x00_ops structure as an argument, rather than depending on the driver_info field. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ce2919c9fffe2aa52f9c3e327176d03764dbf9b5 Author: Gertjan van Wingerde Date: Mon Apr 18 15:31:50 2011 +0200 rt2x00: Linksys WUSB600N rev2 is a RT3572 device. Move the USB ID entry from the unknown devices to the list of RT35xx based devices. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 7a5a681a7df7d844b52f82a4388e078071eb883e Author: Helmut Schaa Date: Mon Apr 18 15:31:31 2011 +0200 rt2x00: Always inline rt2x00pci_enable_interrupt This allows the compiler to perform the necessary bitfield calculations during compile time instead of run time and thus reduces the number of instructions to run during each tasklet invocation. This should improve performance in the RX hotpath. This comes at the cost of a slight increase in the module size (for example rt2800pci): Before: text data bss dec hex filename 14133 832 4 14969 3a79 drivers/net/wireless/rt2x00/rt2800pci.ko After: text data bss dec hex filename 14149 832 4 14985 3a89 drivers/net/wireless/rt2x00/rt2800pci.ko Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 152a599274b15028604e24ae2d9c9d7f49853977 Author: Ivo van Doorn Date: Mon Apr 18 15:31:02 2011 +0200 rt2x00: Decrease association time for USB devices When powersaving is enabled, assocaition times are very high (for WPA2 networks, the time can easily be around the 3 seconds). This is caused, because the flushing of the queues takes too much time. Without the flushing callback mac80211 assumes a timeout of 100ms while scanning. Limit all flush waiting loops to the same maximum. We can apply this maximum by passing the drop status to the driver, which makes sure the driver performs extra actions during the waiting for the queue to become empty. After these changes, association times fall within the healthy range of ~0.6 seconds with powersaving enabled. The difference between association time between powersaving enabled and disabled is now only ~0.1 second (which can also be due to the measuring method). Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit f0187a1987ed6524518ff2a533eaf8394ac1a500 Author: Johannes Stezenbach Date: Mon Apr 18 15:30:36 2011 +0200 rt2800usb: add timer to handle TX_STA_FIFO TX status is reported by the hardware when a packet has been sent (or after TX failed after possible retries), which is some time after the DMA completion. Since the rt2800usb hardware can not signal interrupts we have to use a timer, otherwise the TX status would only be read by the next packet's TX DMA completion, or by the watchdog thread. Signed-off-by: Johannes Stezenbach Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6e6d6932a3f525d734f6c2f5845e9cadfaeddce9 Author: Johannes Stezenbach Date: Mon Apr 18 15:30:01 2011 +0200 rt2800usb: handle TX status timeouts The watchdog just triggers rt2800usb_work_txdone() when it detects a TX status timeout, thus rt2800usb_work_txdone() needs to handle this case. Signed-off-by: Johannes Stezenbach Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 75256f0348d38f414b7ac50ac78d4a4532bb6762 Author: Johannes Stezenbach Date: Mon Apr 18 15:29:38 2011 +0200 rt2x00: fix queue timeout checks Add a timestamp to each queue entry which is updated whenever the status of the entry changes, and remove the per-queue timestamps. The previous check was incorrect and caused both false positives and false negatives. With the corrected check it comes apparent that the TX status usually times out on rt2800usb unless there is sufficient traffic (i.e. the next TX will complete the previous TX status). Signed-off-by: Johannes Stezenbach Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0e0d39e5f3a3e59c8513b59d4feeeadcb93b707d Author: Johannes Stezenbach Date: Mon Apr 18 15:29:12 2011 +0200 rt2800usb: read TX_STA_FIFO asynchronously Trying to fix the "TX status report missed" warnings by reading the TX_STA_FIFO entries as quickly as possible. The TX_STA_FIFO is too small in hardware, thus reading it only from the workqueue is too slow and entries get lost. Start an asynchronous read of the TX_STA_FIFO directly from the TX URB completion callback (atomic context, thus it cannot use the blocking rt2800_register_read()). If the async read returns a valid FIFO entry, it is pushed into a larger FIFO inside struct rt2x00_dev, until rt2800_txdone() picks it up. A .tx_dma_done callback is added to struct rt2x00lib_ops to trigger the async read from the URB completion callback. Signed-off-by: Johannes Stezenbach Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8da3efbb4a18be30ed03dd05af18d0b026b15173 Author: Helmut Schaa Date: Mon Apr 18 15:28:50 2011 +0200 rt2x00: Use TXOP_HTTXOP for beacons Use TXOP_HTTXOP for beacons to stay in sync with the legacy drivers. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 961636ba17fa45b27ee4674430e1e775b8966b0e Author: Helmut Schaa Date: Mon Apr 18 15:28:27 2011 +0200 rt2x00: Update TX_SW_CFG2 init value Bring the TX_SW_CFG2 initialisation for rt305x devices in sync with the ralink legacy drivers. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 15a533c47f9ebb8dec8e440275136cbf9c493a1f Author: Helmut Schaa Date: Mon Apr 18 15:28:04 2011 +0200 rt2x00: Use correct TBTT_SYNC config in AP mode This seems to fix problems with some powersaving clients since a positive value in TBTT_SYNC_CFG_TBTT_ADJUST introduces beacon skew, which is not wanted in AP mode. Also update the rest of the TBTT_SYNC config according to the legacy drivers in AP mode. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 10e11568ca8b8a15f7478f6a4ceebabcbdba1018 Author: Helmut Schaa Date: Mon Apr 18 15:27:43 2011 +0200 rt2x00: Make rt2x00_queue_entry_for_each more flexible Allow passing a void pointer to rt2x00_queue_entry_for_each which in turn in provided to the callback function. Furthermore, allow the callback function to stop processing by returning true. And also notify the caller of rt2x00_queue_entry_for_each if the loop was canceled by the callback. No functional changes, just preparation for an upcoming patch. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 7dab73b37f5e8885cb73efd25e73861f9b4f0246 Author: Ivo van Doorn Date: Mon Apr 18 15:27:06 2011 +0200 rt2x00: Split rt2x00dev->flags The number of flags defined for the rt2x00dev->flags field, has been growing over the years. Currently we are approaching the maximum number of bits which are available in the field. A secondary problem, is that one part of the field are initialized only during boot, because the driver requirements are initialized or device requirements are loaded from the EEPROM. In both cases, the flags are fixed and will not change during device operation. The other flags are the device state, and will change frequently. So far this resulted in the fact that for some flags, the atomic bit accessors are used, while for the others the non-atomic variants are used. By splitting the flags up into a "flags" and "cap_flags" we can put all flags which are fixed inside "cap_flags". This field can then be read non-atomically. In the "flags" field we keep the device state, which is going to be read atomically. This adds more room for more flags in the future, and sanitizes the field access methods. Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit 62fe778412b36791b7897cfa139342906fbbf07b Author: Helmut Schaa Date: Mon Apr 18 15:26:37 2011 +0200 rt2x00: Fix stuck queue in tx failure case Since commit 0b7fde54f94979edc67bbf86b5adba702ebfefe8 "rt2x00: Protect queue control with mutex" rt2x00 used rt2x00queue_pause_queue for stopping a tx queue in mac80211. But in case of a failure in the tx path rt2x00 still called ieee80211_stop_queue which stopped the queue but prevented rt2x00queue_unpause_queue to wake the queue up again resulting in a stuck tx queue. Fix this by also using rt2x00queue_pause_queue in case of tx failures. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 44704e5d7d56625ff93d5a119ca846ae4de9061c Author: Layne Edwards Date: Mon Apr 18 15:26:00 2011 +0200 rt2x00: Enable WLAN LED on Ralink SoC (rt305x) devices This patch adds WLAN LED support to the mac80211 rt2x00 driver for Ralink SoC (rt305x) devices. The current WLAN LED drivers in rt2800lib.c set the LED brightness via an MCU request, but do nothing for SoC. This patch checks for SoC and sets the register to enable the WLAN LED (instead of an MCU request). This enables the WLAN LED for RT305x devices. Signed-off-by: Layne Edwards Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 93ae2dd2230393566738a5f211ffbaa33b056d56 Author: Felix Fietkau Date: Sun Apr 17 23:28:10 2011 +0200 ath9k: assign keycache slots to unencrypted stations Frame filtering relies on having a valid destination index (keycache slot), to keep track of the destination. Assigning a keycache slot (configured to unencrypted, with no key data attached) improves powersave handling in AP mode with no encryption. The dummy keycache entry for a station is cleared, when a real key gets added. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 5519541d5a5f19893546883547e2f0f2e5934df7 Author: Felix Fietkau Date: Sun Apr 17 23:28:09 2011 +0200 ath9k: fix powersave frame filtering/buffering in AP mode This patch fixes a long standing issue of pending packets in the queue being sent (and retransmitted many times) to sleeping stations. This was made worse by aggregation through driver-internal retransmitting of A-MDPU subframes. Previously the hardware tx filter was cleared unconditionally for every single packet - with this patch it uses the IEEE80211_TX_CTL_CLEAR_PS_FILT for unaggregated frames. A sta_notify driver op is added to stop aggregation for stations when they enter powersave mode. Subframes stay buffered inside the driver, to ensure that the BlockAck window keeps a sane state. Since the driver uses software aggregation, the clearing of the tx filter needs to be handled by the driver instead of mac80211 for aggregated frames. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 8e22ad323fb5b7cefb572bd8730e3abef95cdf90 Author: Rajkumar Manoharan Date: Sun Apr 17 21:38:10 2011 +0530 ath9k: Fix beacon generation on foreign channel While leaving the oper channel, beacon generation is stopped by mac80211 and beacon slots are marked as inactive. During the scan, ath9k configures beacon timers based on IEEE80211_CONF_OFFCHANNEL which inturn generates beacon alert even though bslot is inactive. ath9k fails to disable beacon alert while moving to offchannel if none of the beacon slot is active. This is causing beacon transmission on foreign channel. This patch enables swba based on active bslots. This issue was reported with two vifs (AP+STA) and triggered scan in STA vif in unassociated state. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit dcf55fb5d43bd82e1e3bf94f065cfe8f75a4bc5a Author: Felix Fietkau Date: Sun Apr 17 17:45:00 2011 +0200 mac80211: add a function for setting the TIM bit for a specific station This allows a driver to buffer frames for a PS station and tell mac80211 to wake it up even though mac80211 does not have any buffered frames for it. This is necessary for properly handling aggregation related buffering, in ath9k, because the driver needs to keep its frames in order to keep track of the Block-ACK window. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit cea3235cf578b5e952f5a0cec9bc6c2e862eb697 Author: Rajkumar Manoharan Date: Sat Apr 16 14:17:39 2011 +0530 ath9k_htc: Fix free slot value for cab queue ath9k_htc_tx_get_slot can return zero as valid index. Signed-off-by: Rajkumar Manoharan Acked-by: Sujith Manoharan Signed-off-by: John W. Linville commit 2be7859f41e9bcef5b15bd23d63e01536344e3df Author: Amitkumar Karwar Date: Fri Apr 15 20:50:42 2011 -0700 mwifiex: optimize driver initialization code 1) removal of unnecessary mwifiex_device structure 2) avoid passing adapter pointer to mwifiex_init_sw() 3) remove local variable drv_mode_info in mwifiex_add_card() 4) type change in mwifiex_bss_attr to match mwifiex_private 5) removal of more wordy comments Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit a37316586d926a10d66b5585c5d91683d6468f68 Author: Amitkumar Karwar Date: Fri Apr 15 20:50:41 2011 -0700 mwifiex: remove some macro definitions use corresponding macros defined in include/linux/ieee80211.h Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 636c4598499eeacce0893dc8d91113b904bd531e Author: Yogesh Ashok Powar Date: Fri Apr 15 20:50:40 2011 -0700 mwifiex: remove redundant local variables and comments Remove some local variables (mainly function return values) that are used only once. Also, one dummy function and some wordy comments are removed. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 7762bb02ce13c191e0a2da159bcb8d9b374b88c4 Author: Randy Dunlap Date: Fri Apr 15 16:20:05 2011 -0700 mac80211: fix debugfs printk format warning Fix printf() format warning (tm_year is long int): net/mac80211/debugfs_sta.c:113: warning: format '%d' expects type 'int', but argument 4 has type 'long int' Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit 0477ad72a12d4ee3f588de9349012948ea25702b Author: Sergei Shtylyov Date: Fri Apr 15 19:23:11 2011 +0400 iwlegacy: use pci_dev->revision Commit be663ab67077fac8e23eb8e231a8c1c94cb32e54 (iwlwifi: split the drivers for agn and legacy devices 3945/4965) added code to read the 4965's revision ID from the PCI configuration register while it's already stored by PCI subsystem in the 'revision' field of 'struct pci_dev'... Signed-off-by: Sergei Shtylyov Signed-off-by: John W. Linville commit e5facc75fa9104f074c4610437a9c717c9e5ecde Author: Rajkumar Manoharan Date: Fri Apr 15 15:42:24 2011 +0530 ath9k_htc: Cleanup HTC debugfs Move the ath9k_htc debugfs under ieee80211 to be inline with ath9k driver and it also helps to simplify debug code. Signed-off-by: Rajkumar Manoharan Acked-by: Sujith Manoharan Signed-off-by: John W. Linville commit 00bca7e2f2b58b93ce408e92d18a8c42bbe8d6e5 Author: Rajkumar Manoharan Date: Fri Apr 15 12:28:52 2011 +0530 ath9k_htc: Add debugfs support to change debug mask Signed-off-by: Rajkumar Manoharan Acked-by: Sujith Manoharan Signed-off-by: John W. Linville commit 2290a9c35df271cc33601b69e7836fa288e2fc7d Author: Luis R. Rodriguez Date: Thu Apr 14 14:55:36 2011 -0700 ath: fix 0x6C for beaconing/passive scan flags based on country IE The 0x6C regulatory domain is just like the 0x6A regulatory domain but differs in that 0x6C will allow adhoc and active scan on its channels only if we are associated to an AP with a country IE that allows those channels. The ath_reg_apply_beaconing_flags() does just this -- we respect the manufacturer's intent on only enabling beaconing modes of operation if and only if blessed by the country IE. Cc: David Quan Cc: Senthil Balasubramanian Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit cbc6a6ed0900aed789b5ca77192845f2f987af70 Author: Antonio Ospite Date: Wed Apr 13 21:40:45 2011 +0200 rfkill: Regulator consumer driver for rfkill Add a regulator consumer driver for rfkill to enable controlling radio transmitters connected to voltage regulators using the regulator framework. A new "vrfkill" virtual supply is provided to use in platform code. Signed-off-by: Guiming Zhuo Signed-off-by: Antonio Ospite Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit bb411b4db2767cfd4a99b3328da843ce4ea1596a Merge: 44c866a 26954c7 Author: John W. Linville Date: Tue Apr 19 15:34:48 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6 commit 44c866a0a57b08b7090be24ccb33679ed1d4f476 Merge: 34a0a20 f212b43 Author: John W. Linville Date: Tue Apr 19 15:33:54 2011 -0400 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit cf27d8677515441602f5e4e40f90448e964504b8 Author: Luciano Coelho Date: Fri Apr 1 21:08:23 2011 +0300 wl12xx: fix sparse warning about undeclared wl12xx_alloc_dummy_packet Fix sparse warning: CHECK drivers/net/wireless/wl12xx/main.c drivers/net/wireless/wl12xx/main.c:1246:17: warning: symbol 'wl12xx_alloc_dummy_packet' was not declared. Should it be static? Signed-off-by: Luciano Coelho commit 4ec23d6e136c890806f0e00bcf24e2e3a242b30a Author: Luciano Coelho Date: Fri Apr 1 20:55:01 2011 +0300 wl12xx: remove unused conf_radio_params structure This structure has not been used anymore since commit e6b190ff3c2f4e4859502c41fa17b5c595e82000. Signed-off-by: Luciano Coelho commit afb7d3cd805df7a206439a7e7b5d1167d2bb06f6 Author: Luciano Coelho Date: Fri Apr 1 20:48:02 2011 +0300 wl12xx: move hardcoded hci_io_ds value into the conf struct Instead of hardcoding the hci_io_ds configuration that we write to the SDIO_IO_DS top registed, read it from the default configuration so that it's easier to change for different platforms. Reported-by: Ido Yariv Signed-off-by: Luciano Coelho commit 6277ed65704d19377b0874618e5f23d64c9e71a6 Author: Luciano Coelho Date: Fri Apr 1 17:49:54 2011 +0300 wl12xx: use kstrtoul functions Use the new kstrtoul functions instead of the deprecated strict_strtoul(). Signed-off-by: Luciano Coelho commit 341b7cde6ccc60672fcd7fc84dd24a1b7c0b8d94 Author: Ido Yariv Date: Thu Mar 31 10:07:01 2011 +0200 wl12xx: Handle platforms without level trigger interrupts Some platforms are incapable of triggering on level interrupts. Add a platform quirks member in the platform data structure, as well as an edge interrupt quirk which can be set on such platforms. When the interrupt is requested with IRQF_TRIGGER_RISING, IRQF_ONESHOT cannot be used, as we might miss interrupts that occur after the FW status is cleared and before the threaded interrupt handler exits. Moreover, when IRQF_ONESHOT is not set, iterating more than once in the threaded interrupt handler introduces a few race conditions between this handler and the hardirq handler. Currently this is worked around by limiting the loop to one iteration only. This workaround has an impact on performance. To remove to this restriction, the race conditions will need to be addressed. Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit d2f4d47d84f8c665ab9babb2cc84d2e7872a96e1 Author: Ido Yariv Date: Thu Mar 31 10:07:00 2011 +0200 wl12xx: Simplify TX blocks accounting The total number of TX memory blocks may change when the dynamic memory option is enabled. The current implementation only tracks the available memory blocks, which over-complicates TX blocks accounting. By tracking the number of allocated blocks, calculation of the number of available blocks becomes simpler and cleaner. It simply equals the total number of TX memory blocks minus the allocated ones. Also, remove some unnecessary castings and use union member accesses instead. Signed-off-by: Ido Yariv Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 990f5de7384f9e5922e4c7c7572cbf4f29a9441e Author: Ido Yariv Date: Thu Mar 31 10:06:59 2011 +0200 wl12xx: Clean up the dummy packet mechanism The current implementation allocates a skb each time one is requested by the firmware. Since dummy packets are handled differently than regular packets, the skb needs to be marked. Currently, this is done by setting the pkt_type member to 5. This might not be safe, as we cannot be sure that there won't be any other packets with this pkt_type value. Since the packet does not change from one request to another, we can simply allocate a dummy packet template and always send it. All changes to the skb done during packet preparation must be reverted, so the same skb can be reused. The dummy packets are not transmitted, therefore there's no need to set the BSSID or our own MAC address. In addition, the header portion of the packet was zeroed by mistake, so fix that as well. Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit 0da13da767cd568c1fe2a7b5b936e86e521b5ae7 Author: Ido Yariv Date: Thu Mar 31 10:06:58 2011 +0200 wl12xx: Clean up the block size alignment code Simplify and clean up the block size alignment code: 1. Set the block size according to the padding field type, as it cannot exceed the maximum value this field can hold. 2. Move the alignment code into a function instead of duplicating it in multiple places. 3. In the current implementation, the block_size member can be misleading because a zero value actually means that there's no need to align. Declare a block size alignment quirk instead. Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit d29633b40e6afc6b4276a4e381bc532cc84be104 Author: Ido Yariv Date: Thu Mar 31 10:06:57 2011 +0200 wl12xx: Clean up and fix the 128x boot sequence Clean up the boot sequence code & fix the following issues: 1. Always read the registers' values and set the relevant bits instead of zeroing all other bits 2. Handle cases where wl1271_top_reg_read returns an error 3. Verify that the HW can detect the selected clock source 4. Remove 128x PG10 initialization code 5. Configure the MCS PLL to work in HP mode Signed-off-by: Ido Yariv Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 8bf69aae4cb9b196ba5ac386f83a1ca3865af11f Author: Ohad Ben-Cohen Date: Wed Mar 30 19:18:31 2011 +0200 wl12xx: fix "JOIN while associated" commentary Issuing multiple JOIN commands to the wl12xx's firmware, while we're associated, might have undesired implications, so the driver prints a message when that happens, and warn developers who check out the source. Update the commentary in order to consider the one valid scenario where this can happen: roaming. Cautiously keep the message for now, until we either gain confidence there are no unintentional JOIN-while-associated events, or until we move to the new multi-role fw who solves this multiple-join issue for good. Signed-off-by: Ohad Ben-Cohen Signed-off-by: Luciano Coelho commit c5745187a4812f2991a58e469a866582a7326d91 Author: Ohad Ben-Cohen Date: Wed Mar 30 16:35:59 2011 +0200 wl12xx: fix roaming The wl12xx device normally drops all frames coming from BSSID it is not joined with. This behavior is configured today by the wl12xx driver in response to a handful of ieee80211_bss_change and ieee80211_conf_changed notification flags, such as BSS_CHANGED_ASSOC, BSS_CHANGED_BSSID, IEEE80211_CONF_CHANGE_IDLE, etc.. This breaks when we roam to a new BSSID, where authentication frames are sent before any BSS_CHANGED/CONF_CHANGED flags are received. When this happens the hardware silently drops the authentication responses, and the roaming fails. Ideally this aggressive filtering behavior of the device should be disabled upon a notification from mac80211. Such notification will take place after multi-channel support will be added: mac80211 will likely send a remain-on-channel notification to drivers when entering sensitive states (like authentication), otherwise the firmware might jump to different channels (to serve a different role). Until those notifications materialize, disable the hw BSSID filter when authentication requests are sent, so roaming would work. Signed-off-by: Ohad Ben-Cohen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 13026decf7b74d0908df034dc6dc86c2caaec939 Author: Juuso Oikarinen Date: Tue Mar 29 16:43:50 2011 +0300 wl12xx: Handle duplicate calling of remove interface Because of the hardware recovery mechanism, its possible the __wl1271_op_remove_interface is called twice. Currently, this leads to a kernel crash even before a kernel WARNing can be issued. Fix this. Signed-off-by: Juuso Oikarinen Signed-off-by: Luciano Coelho commit c1b193eb6557279d037ab18c00ab628c6c78847f Author: Eliad Peller Date: Wed Mar 23 22:22:15 2011 +0200 wl12xx: rearrange some ELP wake_up/sleep calls ELP (Extremely/Enhanced Low Power, or something like that ;)) refers to the powerstate of the 12xx chip, in which very low power is consumed, and no commands (from the host) can be issued until the chip is woken up. Wakeup/sleep commands must be protected by a wl->mutex, so it's generally a good idea to call wakeup/sleep along with the mutex lock/unlock (where needed). However, in some places the wl12xx driver calls wakeup/sleep in some "inner" functions. This result in some "nested" wakeup/sleep calls which might end up letting the chip go to sleep prematurely (e.g. during event handling). Fix it by rearranging the elp calls to come along with mutex_lock/unlock. Signed-off-by: Eliad Peller Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit 17e672d6e4b5a8a3f330a70dfd58d25a2cb497b5 Author: Arik Nemtsov Date: Tue Mar 22 10:07:47 2011 +0200 wl12xx: configure channel/band while FW is off Initialize the channel and band from mac80211 conf even when the FW is not yet loaded. This mitigates a bug in AP-mode where the channel was never changed from its initial setting after FW boot and was therefore never configured to FW. Reported-by: Alexander Boukaty Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 4a31c11c7d8c482598754a577a8fb71abb61ffa0 Author: Luciano Coelho Date: Mon Mar 21 23:16:14 2011 +0200 wl12xx: use a bitmask instead of list of booleans in scanned_ch We were using an array of booleans to mark the channels we had already scanned. This was causing a sparse error, because bool is not a type with defined size. To fix this, use bitmasks instead, which is much cleaner anyway. Thanks Johannes Berg for the idea. Signed-off-by: Luciano Coelho commit 4623ec7d97afaf7a8489036e2c2e71e8349716b4 Author: Luciano Coelho Date: Mon Mar 21 19:26:41 2011 +0200 wl12xx: fix a couple of sparse warnings about undeclared functions Fix the following sparse warnings: drivers/net/wireless/wl12xx/main.c:1129:5: warning: symbol '__wl1271_plt_stop' was not declared. Should it be static? drivers/net/wireless/wl12xx/main.c:2988:5: warning: symbol 'wl1271_op_ampdu_action' was not declared. Should it be static? Both functions should be static. Signed-off-by: Luciano Coelho commit d9482e2b5132fd40f8de528af6bb715accbab11d Author: Luciano Coelho Date: Mon Mar 21 17:58:32 2011 +0200 wl12xx: fix SG BT load value to reflect its new meaning The Soft Gemini BT load ratio value has changed its meaning with FW version 6.1.0.0.310. It now means the passive scan compensation percentage during A2DP EDR. Instead of 50, we need to use 200. Fix the SG configuration accordingly. Signed-off-by: Luciano Coelho commit 18b92ffaf33c862e852992e82e17b9fffca8d5a4 Author: Luciano Coelho Date: Mon Mar 21 16:35:21 2011 +0200 wl12xx: set the skbuff priority for dummy packets The firmware requires dummy packets to be sent using TID 7 (WL1271_TID_MGMT). Instead of hardcoding it in the tx_fill_hdr() function, set it when creating the packet itself. This requires Eliad's fix to set the actual TID in the TX descriptor. Cc: Ido Yariv Signed-off-by: Luciano Coelho commit db674d249c1fa20fd6731048f41646b3a2e8bdf5 Author: Eliad Peller Date: Wed Mar 16 23:03:54 2011 +0200 wl12xx: set the actual tid instead of the ac When passing a tx frame, the driver incorrectly set desc->tid with the ac instead of the actual tid. It has some serious implications when using 802.11n + QoS, as the fw starts a BlockAck with the wrong tid (which finally cause beacon loss and disconnection / some fw crash) Fix it by using the actual tid stored in skb->priority. Reported-by: Shahar Levi Signed-off-by: Eliad Peller Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho commit f9f774c17e19da6f98bd7b57527f55d0ec920fce Author: Juuso Oikarinen Date: Mon Mar 21 10:43:36 2011 +0200 wl12xx: Add mutex protection for interface list The interface list maintained in main.c is not mutex protected. This could cause issues, as the list is accessed from notifier chains. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 1d732e8cf3dcc09d7c862b6c12f876533529073d Author: Arik Nemtsov Date: Fri Mar 18 14:49:57 2011 +0200 wl12xx: Clamp byte mode transfers for 128x chips On wl128x based devices, when TX packets are aggregated, each packet size must be aligned to the SDIO block size, and sent using block mode transfers. The block size is set to 256 bytes, which is less than the maximum possible byte transfer. Thus, if two small packets (< 256 bytes) are aggregated, the aggregation buffer size would be 512, and will be sent using byte mode transfers. This can have undesired side effects. Fix this by setting the MMC_QUIRK_BLKSZ_FOR_BYTE_MODE mmc card quirk. For 127x chips this has no effect, as the block size is set to 512 bytes. Signed-off-by: Arik Nemtsov Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit 958b20e068be2c6267c2b5764babf15b0d4f5c69 Author: Ohad Ben-Cohen Date: Mon Mar 14 18:53:10 2011 +0200 wl12xx: update bet_max_consecutive Allow early termination of 50 consecutive beacons. This value is the recommended one by the 12xx's system/RF team, and tests show that power consumption is improved as expected. Reported-by: Ruthy Zaphir Tested-by: Danil Shalumov Signed-off-by: Ohad Ben-Cohen Signed-off-by: Luciano Coelho commit 871d0c3ba32c2d2e1e7d9ac0d231a440d2653fc5 Author: Shahar Levi Date: Sun Mar 13 11:24:40 2011 +0200 wl12xx: Add support for 11n Rx STBC one spatial stream The wl12xx chip supports one Rx STBC spatial stream. Announce this in the HT capabilities info field. Signed-off-by: Shahar Levi Signed-off-by: Luciano Coelho commit 0af0467f09207cbbeb387d2e09ea539534c6655c Author: Juuso Oikarinen Date: Thu Mar 10 10:01:43 2011 +0200 wl12xx: Fix potential incorrect band in rx-status The rx-status passed to mac80211 along with each received frame contains the band on which the frame was received. Under certain circumstances, this band information may be incorrect, causing in worst case a WARNING from mac80211, and causes the received frame to be dropped. This scenario mainly occurs when performing connected-mode scans, when the received scan results are from the other band than the one currently associated to. [Since desc_band doesn't exist anymore, use status->band in the later call to ieee80211_channel_to_frequency() to fix compilation -- Luca] Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit e7ddf549f3f2da156f5c12921e6699024e80a3f4 Author: Luciano Coelho Date: Thu Mar 10 15:24:57 2011 +0200 wl12xx: use 1 spare TX block instead of two All the new firmware versions (>=6.1.3.50.58 for STA and >=6.2.0.0.47 for AP) use 1 spare TX block. We still want to support older firmwares that require 2 spare blocks, so added a quirk to handle the difference. Also implemented a generic way of setting quirks that depend on the firmware revision. Signed-off-by: Luciano Coelho commit 0830ceedbfde20c9110c59597fdffbf51886565a Author: Shahar Levi Date: Sun Mar 6 16:32:20 2011 +0200 wl12xx: 1281/1283 support - enable chip support Add support to wl128x chip via chip id Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 1aed55fd784d000fb6741cefb68712d64817bd68 Author: Arik Nemtsov Date: Sun Mar 6 16:32:18 2011 +0200 wl12xx: 1281/1283 support - Use different FW file for AP mode wl127x/wl128x chips Choose a different FW for AP-mode wl127x and wl128x chips, base on chip ID at boot time. Signed-off-by: Arik Nemtsov Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit ae47c45fd02fdf88d57adc370e78e7a01e2bfcbc Author: Shahar Levi Date: Sun Mar 6 16:32:14 2011 +0200 wl12xx: 1281/1283 support - Add dummy packet support Support sending dummy packet to wl128x FW as results of dummy packet event. That is part of dynamic TX mem blocks mechanism. Only send dummy packet when not in AP mode. [Even though the DUMMY_PACKET_EVENT_ID and the STA_REMOVE_COMPLETE_EVENT_ID events are defined to the same value, we need to treat them separately in the code. Keep the check and enable STA_REMOVE_COMPLETE_EVENT_ID for AP mode and DUMMY_PACKET_EVENT_ID for STA. Moved one warning to a cleaner place. Use WL1271_TID_MGMT for dummy packets -- Luca] Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit ae77eccf04f8c36769bdba334e1bbcc7bb9d3644 Author: Shahar Levi Date: Sun Mar 6 16:32:13 2011 +0200 wl12xx: 1281/1283 support - Improve Tx & Rx path Reduced bus transactions in the Tx & Rx path. [Removed unnecessary check wl->chip.id != CHIP_ID_1283_PG20 when checking the quirk -- Luca] Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 13b107dd9808343d05627f0fba7fbc764c86738e Author: Shahar Levi Date: Sun Mar 6 16:32:12 2011 +0200 wl12xx: 1281/1283 support - use dynamic memory for the RX/TX pools Separate the memory configuration to chip-specific structures and implement dynamic memory for wl128x. This feature allows us to move TX memory blocks to the RX pool when the RX path is overloaded. Thanks for Arik Nemtsov for helping simplify the wl1271_fw_status() code. [Rewrote the commit subject and message for clarity; improved some comments and changed "spare" to "padding" for consistency; added a FIXME for the AP memory configuration -- Luca] Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 5ea417ae7749076ddaacb5b36487cae6ac920413 Author: Shahar Levi Date: Sun Mar 6 16:32:11 2011 +0200 wl12xx: 1281/1283 support - New boot sequence Boot sequence support FREF clock and TCXO clock. WL128x has two clocks input - TCXO and FREF. TCXO is the main clock of the device, while FREF is used to sync between the GPS and the cellular modem. Auto-detection checks where TCXO is 32.736MHz or 16.368MHz, in that case the FREF will be used as the WLAN/BT main clock. [Use clock enumeration as defined in linux/wl12xx.h; remove unnecessary else block in wl128x_switch_fref; remove unnecessary change in main.c; remove some unnecessary debug prints and comments; fix potential use of uninitialized value (pll_config) -- Luca] Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit bc765bf3b9a095b3e41c8cda80643901884c3dd4 Author: Shahar Levi Date: Sun Mar 6 16:32:10 2011 +0200 wl12xx: 1281/1283 support - Loading FW & NVS Take care of FW & NVS with the auto-detection between wl127x and wl128x. [Moved some common code outside if statements and added notes about NVS structure assumptions; Fixed a bug when checking the nvs size: if the size was incorrect, the local nvs variable was set to NULL, it should be wl->nvs instead. -- Luca] [Merged with potential buffer overflow fix -- Luca] Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 49d750ca14cd49e76ab039b33b5a621e0a92b9fd Author: Shahar Levi Date: Sun Mar 6 16:32:09 2011 +0200 wl12xx: 1281/1283 support - New radio structs and functions New general and radio parameters structures and functions. Implemented as separate functions due to auto-detection between wl127x and wl128x. Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit a81159edf8d64011933df177ec42f82d7896a0c7 Author: Luciano Coelho Date: Mon Mar 14 14:05:13 2011 +0200 wl12xx: 1281/1283 support - add block size handling for sdio and spi Add the the set_block_size op in the SDIO and in the SPI modules. Since it is only used with SDIO, just explicitly set the op to NULL in spi.c Signed-off-by: Luciano Coelho commit 48a61477bdc04896bd96d259388a0c42a7019943 Author: Shahar Levi Date: Sun Mar 6 16:32:08 2011 +0200 wl12xx: 1281/1283 support - Add acx commands New acx command that sets: Rx fifo enable reduced bus transactions in RX path. Tx bus transactions padding to SDIO block size that improve preference in Tx and essential for working with SDIO HS (48Mhz). The max SDIO block size is 256 when working with Tx bus transactions padding to SDIO block. Add new ops to SDIO & SPI that handles the win size change in case of transactions padding (relevant only for SDIO). [Fix endianess issues; simplify sdio-specific block_size handling; minor changes in comments; use "aligned_len" in one calculation instead of "pad" to avoid confusion -- Luca] Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 5aa42346bba2e385674eb1dd4019dfce4c2ef771 Author: Shahar Levi Date: Sun Mar 6 16:32:07 2011 +0200 wl12xx: 1281/1283 support - Add Definitions Definitions to support wl128x: - New FW file name - Chip ID - New PLL Configuration Algorithm macros that will be used at wl128x boot stage - Rename NVS macro name: wl127x and wl128x are using the same NVS file name. However, the ini parameters between them are different. The driver will validate the correct NVS size in wl1271_boot_upload_nvs(). [Cleaned up some of the definitions. -- Luca] Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit b9b0fdead0e8d964a534e5b09f40d8bd4bf7dfe8 Author: Shahar Levi Date: Sun Mar 6 16:32:06 2011 +0200 wl12xx: 1281/1283 support - move IRQ polarity In order to prevent overran of IRQ polarity via FW the polarity setting move after FW download and before IRQ enable. Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit e1943424e43974f85b82bb31eaf832823bf49ce7 Merge: 88230fd 0553c89 Author: David S. Miller Date: Tue Apr 19 00:21:33 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/bnx2x/bnx2x_ethtool.c commit f212b43c4e4a8f6378c50ce18f3d271983b575a7 Author: Wey-Yi Guy Date: Mon Apr 18 09:36:30 2011 -0700 iwlagn: remove led_ops No longer use, remove it Signed-off-by: Wey-Yi Guy commit e339807d97bcb4e214c9137bb5bbb2f685054624 Author: Wey-Yi Guy Date: Fri Apr 8 10:21:52 2011 -0700 iwlagn: remove legacy ops No longer used by _agn devices, remove it Signed-off-by: Wey-Yi Guy commit 119ea186cad7643ea82b7290374ebb8e780c35b6 Author: Wey-Yi Guy Date: Mon Apr 18 09:34:06 2011 -0700 iwlagn: remove un-necessary ieee80211_ops After driver split, no need to use ieee80211_ops, remove it Signed-off-by: Wey-Yi Guy commit 5cab35e7f4feda1a0bfd4f48b7686391004be9de Author: Wey-Yi Guy Date: Wed Apr 6 15:55:27 2011 -0700 iwlagn: no 5.2GHz/HT40 support for bgn devices For bgn devices, there were no HT40 channels value in EEPROM Signed-off-by: Wey-Yi Guy commit f42e7662815647c1a6f73e160abcdf812d3057d2 Author: Wey-Yi Guy Date: Mon Apr 18 09:30:09 2011 -0700 iwlagn: temperature should be measure for all _agn devices Thermal throttling functions are available for all _agn devices, call the functions directly. Signed-off-by: Wey-Yi Guy commit b7af6a99690503a48c63ce5e587b4e4555f31cdb Author: Wey-Yi Guy Date: Wed Apr 6 15:55:25 2011 -0700 iwlagn: always support uCode trace All _agn devices support continuous uCode trace, remove checking Signed-off-by: Wey-Yi Guy commit b4ebd28f23e3ae00af886aff1c00f800dee3b080 Author: Johannes Berg Date: Wed Apr 6 12:28:56 2011 -0700 iwlagn: use huge command for beacon When testing some new P2P code, Angie found that the driver might crash because the beacon command ended up being bigger than a regular command. This is quite obvious -- a normal command is limited to roughly 360 bytes but a beacon may be much larger of course. To fix this, use the huge command buffer. Reported-by: Angie Chinchilla Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 7b21f00ee6073909c01adeba317af3d78c3b9d0a Author: Johannes Berg Date: Mon Apr 18 09:22:10 2011 -0700 iwlagn: verify that huge commands are synchronous Since huge commands all share a single buffer, there can only be a single one in flight at a time since otherwise they'd overwrite each other. This is true in the driver now, but it seems like a possible source of bugs, so add a test to verify that huge commands are always sent synchronously. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 3e41ace5deef7af16dd277d9d17f9d36dca0a10e Author: Johannes Berg Date: Mon Apr 18 09:12:37 2011 -0700 iwlagn: remove most BUG_ON instances There are a number of things in the driver that may result in a BUG(), which is suboptimal since it's hard to get debugging information out of the driver in that case and the user experience is also not good :-) Almost all BUG_ON instances can be converted to WARN_ON with a few lines of appropriate error handling, so do that instead. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit e79b1ca75bb48111e8d93fc576f50e24671f5f9d Author: Wey-Yi Guy Date: Tue Apr 5 08:30:43 2011 -0700 iwlagn: use direct call for led functions After driver split, no need to call led functions through callback Signed-off-by: Wey-Yi Guy commit 0c78641d7f677c8f420f1c302b4848135b207eb8 Author: David S. Miller Date: Sun Apr 17 00:55:20 2011 -0700 atl1c: Fix set-but-unused variable. The variable 'extra_size' is set but unused in atl1c_configure_tx(). Just kill it off. Signed-off-by: David S. Miller commit c96922c7beeb6246f36b89a1e8b61d99a435a780 Author: David S. Miller Date: Sun Apr 17 00:54:51 2011 -0700 atl1e: Fix set-but-unused variable. The variable 'tx_ring' is set but unused in atl1e_init_ring_resources(). Just kill it off. Signed-off-by: David S. Miller commit f8dfc4528b93ba9c9a191151f8888b4da1d1a45b Author: David S. Miller Date: Sun Apr 17 00:51:40 2011 -0700 atlx: Fix set-but-unused variable. The variable 'tpc' is set but unused in atl1_intr_tx(). Just kill it off. Signed-off-by: David S. Miller commit 26954c7f26068b6ced108806fdd39aee5cd54e6f Author: Gustavo F. Padovan Date: Thu Apr 14 17:57:26 2011 -0300 Bluetooth: Fix lockdep warning in L2CAP Fix a regression from the L2CAP "rewrite" patches. Purge the tx_q already happens on l2cap_chan_del() so we don't need it at l2cap_disconnect_req(). Signed-off-by: Gustavo F. Padovan commit 62f3a2cfb1891c070631e496eeea852e949ea8bb Author: Gustavo F. Padovan Date: Thu Apr 14 18:34:34 2011 -0300 Bluetooth: Fix another locking unbalance l2cap_get_sock_by_scid was changed to not lock the socket anymore, but I forgot to change all the users of this function. Signed-off-by: Gustavo F. Padovan commit 34a0a2025c8bddc6505b56a58ef2e7333a4e4165 Author: Senthil Balasubramanian Date: Thu Apr 14 16:41:30 2011 +0530 ath: Add a missing world regulatory domain 0x6C Some customers use 0x6C world regulatory domain and this patch adds the support. Cc: Luis R. Rodriguez Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 9f219bd248d417c2144eedafdf2c683ba8baee84 Author: Larry Finger Date: Wed Apr 13 21:00:02 2011 -0500 rtlwifi: Fix unitialized variable warnings In http://lkml.indiana.edu/hypermail/linux/kernel/1104.1/01955.html, Geerti Uytterhoeven reports the following warnings for the rtlwifi drivers. src/drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c: warning: 'cck_index' may be used uninitialized in this function: => 637 src/drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c: warning: 'cck_index_old' may be used uninitialized in this function: => 637 src/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c: warning: 'box_extreg' may be used uninitialized in this function: => 303 src/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c: warning: 'box_reg' may be used uninitialized in this function: => 303 src/drivers/net/wireless/rtlwifi/rtl8192ce/rf.c: warning: 'chnlgroup' may be used uninitialized in this function: => 205 src/drivers/net/wireless/rtlwifi/rtl8192ce/rf.c: warning: 'u4_regvalue' may be used uninitialized in this function: => 450 src/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c: warning: 'hq_sele' may be used uninitialized in this function: => 924 Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 53d7938e6a2ac6569476fc59b404e70c0537b42b Author: Bing Zhao Date: Wed Apr 13 17:27:09 2011 -0700 mwifiex: rename function mwifiex_is_ba_stream_avail The old function name sounds like checking for existing BA stream. The function actually checks if we have room for creating new BA stream or not. Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 572e8f3ead47ad223fb428a4f1db986317e8e0ec Author: Amitkumar Karwar Date: Wed Apr 13 17:27:08 2011 -0700 mwifiex: remove unused function parameters Some function parameters become useless after previous cleanup changes. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 19a898601ad192d8c59c3a8f1a4501919f53b94d Author: Yogesh Ashok Powar Date: Wed Apr 13 17:27:07 2011 -0700 mwifiex: remove redundant "return" at end of void function The return statement at the last line of a void function is not necessary. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 600f5d909a54a8dccf8c8c23898fc2e91bc0953e Author: Amitkumar Karwar Date: Wed Apr 13 17:27:06 2011 -0700 mwifiex: cleanup ioctl wait queue and abstraction layer 1) remove mwifiex_alloc_fill_wait_queue() and mwifiex_request_ioctl() 2) avoid dynamic allocation of wait queue 3) remove unnecessary mwifiex_error_code macros that were used mainly by the wait queue status code 4) remove some abstraction functions 5) split mwifiex_prepare_cmd() to mwifiex_send_cmd_async() and mwifiex_send_sync() to handle asynchronous and synchronous commands respectively Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 3a9dddea89eb2132ba919fe04cb3b44a3b1e6db7 Author: Felix Fietkau Date: Wed Apr 13 21:56:46 2011 +0200 ath5k: disable 5 GHz support for the dualband PHY chip on dual-radio AR5312 There are two variants of AR5312 dual-band devices, one single-radio and the other one dual-radio. On the dual-radio board, the first MAC only supports 5 GHz, even though it has a dual-band PHY. The 2.4 GHz part of this phy is used in pass-through mode, connecting the second MAC with the second PHY. Disable 2.4 GHz for the first MAC on an AR5312, but only if the board configuration indicates a dual-radio device. Signed-off-by: Felix Fietkau Tested-by: Sedat Dilek Signed-off-by: John W. Linville commit 32377b6cf75247cbdd0640efb43bef992efe3b68 Author: Felix Fietkau Date: Wed Apr 13 21:56:45 2011 +0200 ath5k: fix the EEPROM check for hw AES crypto support EEPROM version 5.0 adds a new field for disabling AES support, having an older version means that AES is present. This patch fixes hw AES crypto support on AR5312 boards, which have an older EEPROM version. Signed-off-by: Felix Fietkau Tested-by: Sedat Dilek Signed-off-by: John W. Linville commit fa9bfd61e03e8dbcf110a93b373234d17a732233 Author: Felix Fietkau Date: Wed Apr 13 21:56:44 2011 +0200 ath5k: add a new bus op for reading the mac address On AHB, the calibration data usually does not contain a valid MAC address, the correct MAC address is stored in the board config. Signed-off-by: Felix Fietkau Tested-by: Sedat Dilek Signed-off-by: John W. Linville commit 0cb9e06b6359bfa82f46c38a0b43e72d90b84081 Author: Felix Fietkau Date: Wed Apr 13 21:56:43 2011 +0200 ath: unshare struct ath_bus_ops between ath5k and ath9k This struct is not used in any common code, and moving it out of the ath header makes it easier to add more driver specific ops. Signed-off-by: Felix Fietkau Tested-by: Sedat Dilek Signed-off-by: John W. Linville commit 7f94f05b24b47f6b70f2322b26876d0636329dfe Author: Felix Fietkau Date: Wed Apr 13 21:56:42 2011 +0200 ath5k: disable 5 GHz support if a 2.4 GHz radio is detected On a dual-radio dual-band AR5312 device, the calibration data is shared between the 5 GHz and the 2.4 GHz radio/MAC. Signed-off-by: Felix Fietkau Tested-by: Sedat Dilek Signed-off-by: John W. Linville commit 10add41f2b7a7bc1a74ba7bb535a6745cac318a2 Author: Rajkumar Manoharan Date: Tue Apr 12 17:29:29 2011 +0530 ath9k: Fix improper beacon slot selection in IBSS Request a re-configuration of Beacon related timers on the receipt of the first Beacon frame has to be set only for station mode. Setting beacon sync for IBSS is causing wrong beacon slot selection on beacon generation. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit dfa8fc69d92f8418e1296d762f3b1624df59f0ac Author: John W. Linville Date: Thu Apr 14 10:38:22 2011 -0400 ath9k: avoid using trinary operator w/ TX_STAT_INC Otherwise, you get this: CC [M] drivers/net/wireless/ath/ath9k/hif_usb.o drivers/net/wireless/ath/ath9k/hif_usb.c: In function ‘ath9k_skb_queue_complete’: drivers/net/wireless/ath/ath9k/hif_usb.c:230:12: error: expected expression before ‘do’ make[2]: *** [drivers/net/wireless/ath/ath9k/hif_usb.o] Error 1 make[1]: *** [drivers/net/wireless/ath/ath9k] Error 2 make: *** [drivers/net/wireless/ath/] Error 2 The TX_STAT_INC macro should probably be changed to accomodate such usage, although using a trinary operator in place of an if-else seems questionable to me anyway. Signed-off-by: John W. Linville Acked-by: Sujith Manoharan commit 280f294f7bd0c14d9f802a551c95dc930e31d723 Author: Gustavo F. Padovan Date: Wed Apr 13 19:01:22 2011 -0300 Bluetooth: Don't lock sock inside l2cap_get_sock_by_scid() Fix an locking issue with the new l2cap_att_channel(). l2cap_att_channel() was trying to lock a locked socket. Reported-by: Anderson Lizardo Signed-off-by: Gustavo F. Padovan commit a3e6b12c0232748658a602eda39f12fddb254ba8 Author: cozybit Inc Date: Wed Apr 13 11:10:28 2011 -0700 mac80211: Allocate new mesh path and portal tables before taking locks It is unnecessary to hold the path table resize lock while allocating a new table. Allocate first and take lock later. This resolves a soft-lockup: [ 293.385799] BUG: soft lockup - CPU#0 stuck for 61s! [kworker/u:3:744] (...) [ 293.386049] Call Trace: [ 293.386049] [] do_raw_read_lock+0x26/0x29 [ 293.386049] [] _raw_read_lock+0x8/0xa [ 293.386049] [] mesh_path_add+0xb7/0x24e [ 293.386049] [] ? mesh_path_lookup+0x1b/0xa6 [ 293.386049] [] hwmp_route_info_get+0x276/0x2fd [ 293.386049] [] mesh_rx_path_sel_frame+0x5a/0x5d9 [ 293.386049] [] ? update_curr+0x1cf/0x1d7 [ 293.386049] [] ieee80211_mesh_rx_queued_mgmt+0x60/0x67 [ 293.386049] [] ieee80211_iface_work+0x1f0/0x258 (...) Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 09d5b94d2cbc6c3ebb70a9a318f6390d0b4cf010 Author: Sujith Manoharan Date: Wed Apr 13 11:27:06 2011 +0530 ath9k_htc: Enable AP and P2P modes Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit fbc29d6c3da58bc51416f65a50bdb419d4ea85b8 Author: Sujith Manoharan Date: Wed Apr 13 11:26:58 2011 +0530 ath9k_htc: Add detailed firmware statistics New debugfs files: /ath9k_htc//tgt_int_stats /ath9k_htc//tgt_tx_stats /ath9k_htc//tgt_rx_stats Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 821f9414c0546fbc99a999e9dc613d1756e1de8a Author: Sujith Manoharan Date: Wed Apr 13 11:26:52 2011 +0530 ath9k_htc: Use helper routines for transmission Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 2f80194c90caea3668d0e3739518bf100449a813 Author: Sujith Manoharan Date: Wed Apr 13 11:26:46 2011 +0530 ath9k_htc: Use separate URB pool for management frames Beacon transmission needs to involve as little latency as possible after receiving a SWBA event from the target. Since packets are buffered to use TX stream mode, beacon frames sometimes gets queued up and are not sent out immediately. Fix this by decoupling management frame transmission from the normal data path and send them out immediately. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 859c3ca1e4608615788dc6cbc199210fe4b5efa2 Author: Sujith Manoharan Date: Wed Apr 13 11:26:39 2011 +0530 ath9k_htc: Add a timer to cleanup WMI events Occasionally, a WMI event would arrive ahead of the TX URB completion handler. Discarding these events would exhaust the available TX slots, so handle them by running a timer cleaning up such events. Also, timeout packets for which TX completion events have not arrived. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit c4d04186c7023d54445b695da226b3e98e0a55f9 Author: Sujith Manoharan Date: Wed Apr 13 11:26:31 2011 +0530 ath9k_htc: Add a debugfs file showing endpoint status Location: ath9k_htc/phy#/queue Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 01f684de7cc0641a9ee968f2d2c45c3a67241252 Author: Sujith Manoharan Date: Wed Apr 13 11:26:26 2011 +0530 ath9k_htc: Add a debugfs file to dump TX slot information Location: ath9k_htc/phy#/slot Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 27876a29de221186c9d5883e5fe5f6da18ef9a45 Author: Sujith Manoharan Date: Wed Apr 13 11:26:18 2011 +0530 ath9k_htc: Add support for TX completion Now that the infrastructure is in place, process WMI TX status events and complete packets. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 84c9e164468bd707e52b440e1c34bc3c85299332 Author: Sujith Manoharan Date: Wed Apr 13 11:26:11 2011 +0530 ath9k_htc: Drain packets on station removal When a station entry is removed, there could still be pending packets destined for that station in the HIF layer. Sending these to the target is not necessary, so drain them in the driver itself. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit e1fe7c38d39f8f6ebdffc3a55e2ec6e2ec0d1872 Author: Sujith Manoharan Date: Wed Apr 13 11:26:06 2011 +0530 ath9k_htc: Optimize HTC start/stop API There is no point in looping over all the endpoints, since the HIF layer uses the start/stop APIs only for the TX pipe. Simplify the API accordingly. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit b587fc81a80b9656f64e89fe0a106ffa4b35abca Author: Sujith Manoharan Date: Wed Apr 13 11:25:59 2011 +0530 ath9k_htc: Drain pending TX frames properly When doing a channel set or a reset operation the pending frames queued up for transmission have to be flushed and sent to mac80211. Fixing this has to be done in two separate steps: * Flush queued frames and kill the URB TX completion handler. * Complete all the frames that in the TX pending queue. This patch adds proper support for draining and all the callsites namely, channel change/reset/idle/stop are fixed. A separate queue is used for handling failed frames. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit f2820f4583b233827f10d91adea70225e196d852 Author: Sujith Manoharan Date: Wed Apr 13 11:25:54 2011 +0530 ath9k_htc: Use helper functions for TX processing Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 2c5d57f004673a9c8658e20b1fa3f992b5a10f70 Author: Sujith Manoharan Date: Wed Apr 13 11:25:47 2011 +0530 ath9k_htc: Add TX slots Maintain a bitmap of slots for transmission and update the cookie field for every packet with the slot value. This value would be used for matching packets when TX completion processing is added. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 729bd3ab460d3bb8236cc8f6fd0289201124112d Author: Sujith Manoharan Date: Wed Apr 13 11:25:41 2011 +0530 ath9k_htc: Move endpoint header parsing to TX tasklet There is no need to do endpoint header removal in the ISR. Also, this is needed when TX slot management is added later on. Use a helper function to strip the driver header. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit d67ee5339363608adce786ec8fd62a0fb2b66116 Author: Sujith Manoharan Date: Wed Apr 13 11:25:35 2011 +0530 ath9k_htc: Introduce new HTC API A new routine that takes an endpoint explicitly is introduced. The normal htc_send() now retrieves the endpoint from the packet's private data. This would be useful in TX completion when the endpoint ID would be required. While at it, use a helper function to map the queue to endpoint. Data/mgmt/beacon packets use htc_send(), while WMI comamnds pass the endpoint to HTC. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 8e86a54715c4102a8ed697939de9ebd9715dc59c Author: Sujith Manoharan Date: Wed Apr 13 11:25:29 2011 +0530 ath9k_htc: Fix TX queue management Handle queue start/stop properly by maintaining a counter to check if the pending frame count has exceeded the threshold. Otherwise, packets would be dropped needlessly. While at it, use a simple flag to track queue status and use helper functions too. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 3deff76095c4ac4252e27c537db3041f619c23a2 Author: Sujith Manoharan Date: Wed Apr 13 11:25:23 2011 +0530 ath9k_htc: Increase URB count for REG_IN pipe Using a single URB for receiving WMI events is insufficient, increase it to 64 to not lose WMI events in high throughput situations. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 16c56ae87509d9bbcd8c711dc4f99b38c234d6c5 Author: Sujith Manoharan Date: Wed Apr 13 11:25:18 2011 +0530 ath9k_htc: Add a new WMI event WMI_TXSTATUS_EVENTID This event will be generated by the target for packet completions. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit e8e3860765641d5e9d1607ec50191cb33c28371d Author: Sujith Manoharan Date: Wed Apr 13 11:25:12 2011 +0530 ath9k_htc: Sync MGMT/DATA packet headers with firmware Add a new cookie field that would be filled by the host. This can be used to match the TX status WMI event with the appropriate packet. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 15f6d6d52fe0d9fcf8c09788caff5d1684e5f12c Author: Sujith Manoharan Date: Wed Apr 13 11:25:06 2011 +0530 ath9k_htc: Reduce TX queue size The current max queue length of 1024 is quite large and unnecessary. 256 suffices well enough even for high throughput situations. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 658ef04fd42a587b17a379ad9208023473442ddd Author: Sujith Manoharan Date: Wed Apr 13 11:25:00 2011 +0530 ath9k_htc: Move TX specific stuff to a separate structure Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit ee3fa1bdadd998652083a7814af745f765a06a25 Author: Sujith Manoharan Date: Wed Apr 13 11:24:55 2011 +0530 ath9k_htc: Remove unused WMI_WLAN_TXCOMP_EVENTID Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 0a8579f6b7c3f4332ad9eb6615c7631ef9cd4ed6 Author: Sujith Manoharan Date: Wed Apr 13 11:24:49 2011 +0530 ath9k_htc: Sync struct ath9k_htc_cap_target with FW Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit e4c62506fcfa7c1fa7c586ab518a172c3a65db0f Author: Sujith Manoharan Date: Wed Apr 13 11:24:43 2011 +0530 ath9k_htc: Sync struct ath9k_htc_target_vif with FW Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit b97c57ff3f568b33ed91915f48431feae2dab288 Author: Sujith Manoharan Date: Wed Apr 13 11:24:37 2011 +0530 ath9k_htc: Sync struct ath9k_htc_target_sta with FW Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 40dc9e4b86963b77918f1b8fa02b98c1e420a7e1 Author: Sujith Manoharan Date: Wed Apr 13 11:24:31 2011 +0530 ath9k_htc: Use SKB's private area for TX parameters For all packets sent through the USB_WLAN_TX_PIPE endpoint, the private area of the SKB's tx_info can be used to store driver-specific information. For packets sent through USB_REG_OUT_PIPE, this will not make a difference since they are routed through a separate routine that doesn't access the private region. This would help in situations where TX information is required in the URB callback. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit e723f3900c3b23feb427672c6ccfe5d4243d2c2d Author: Sujith Manoharan Date: Wed Apr 13 11:24:25 2011 +0530 ath9k_htc: Remove unused WMI commands WMI_TGT_TXQ_ENABLE_CMDID WMI_HOST_ATTACH WMI_DEBUG_INFO_CMDID WMI_BEACON_UPDATE_CMDID WMI_RESET_CMDID WMI_RX_LINK_CMDID WMI_STOP_DMA_RECV_CMDID Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit b1563a4c3d721cb0496b8e1fb874f08a8f2b62cc Author: Sujith Manoharan Date: Wed Apr 13 11:24:19 2011 +0530 ath9k_htc: Fix RX length check The length of the received SKB could be equal to HTC_RX_FRAME_HEADER_SIZE in case of packets with phy/crc errors, in which case they are dropped without being processed. Fix this check so that the error counters are updated correctly. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 719c4cf6b1b113e9caf377c6607ae45758a85871 Author: Sujith Manoharan Date: Wed Apr 13 11:24:10 2011 +0530 ath9k_htc: Add RX error statistics Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 8e42e4ba98f986be64016df79eacbb671dbd3d18 Author: Sujith Manoharan Date: Wed Apr 13 11:24:00 2011 +0530 ath9k_htc: Move debug code to a separate file Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit f4c88991f51e097b6541f998fd23d477999e5886 Author: Sujith Manoharan Date: Wed Apr 13 11:23:52 2011 +0530 ath9k_htc: Queue WMI events Use a queue to handle WMI events and schedule a tasklet to process the events. This fixes the race between the WMI event ISR and the SWBA tasklet when the arrival of WMI events in quick succession could overwrite the SWBA data before the tasklet from a previous iteration could have been scheduled. Also, drain the WMI queue properly. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit b0a6ba983e3663bf256ca2e79d17bb846878cd9e Author: Sujith Manoharan Date: Wed Apr 13 11:23:44 2011 +0530 ath9k_htc: Fix beacon miss under heavy load Transmission of beacons becomes erratic when TX load is high, since the latency involved in the generation of a SWBA interrupt on the target to the actual sending of a beacon is quite high for USB devices. Fix this by adjusting the beacon response time. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 7d547eb4bb664c5a6b7c8790c2ecb0aec5d15385 Author: Sujith Manoharan Date: Wed Apr 13 11:23:34 2011 +0530 ath9k_htc: Handle buffered frames in AP mode Use the CAB endpoint to send buffered multicast or broadcast frames after each SWBA event. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 2493a547ee81e6daca812d5dd7cf9357aebc379b Author: Sujith Manoharan Date: Wed Apr 13 11:23:26 2011 +0530 ath9k_htc: Configure the beacon queue Set operating parameters (cwmin, cwmax) for the beacon queue in AP mode. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 9b674a0207c9b75ddcdcdb07e46843fac8267507 Author: Sujith Manoharan Date: Wed Apr 13 11:23:17 2011 +0530 ath9k_htc: Add TSF adjust capability In multi-interface mode, beacons/probe responses that are sent out must have their timestamp field updated. Calculate the TSF adjustment value for each beaconing interface and set it in the frame properly. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 832f6a18fc2aead14954c081ece03b7a5b425f81 Author: Sujith Manoharan Date: Wed Apr 13 11:23:08 2011 +0530 ath9k_htc: Add beacon slots Beacon transmission is now handled through a slot mechanism. This allows multiple beaconing interfaces to be be present. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 1c165c972b040f9ce199b8d8d3cc4f619872cba5 Author: Sujith Manoharan Date: Wed Apr 13 11:22:59 2011 +0530 ath9k_htc: Fix WMI and beacon header Match the beacon header with that of the firmware. Also, the firmware reports the TSF for an SWBA, so store it. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 29bbfb2491316f9a3888e74b0de7fccdbde67aaa Author: Sujith Manoharan Date: Wed Apr 13 11:22:51 2011 +0530 ath9k_htc: Add a WMI command to get the firmware version Also, update the wiphy information and use the correct device pointer when registering. This would fix ethtool. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit ce18f391aa872a910e7798c340b6cf22d02c77a2 Author: Sujith Manoharan Date: Wed Apr 13 11:22:42 2011 +0530 ath9k_htc: Rename firmware Since the new FW requires backward incompatible host driver changes, rename the FW to allow older driver versions to work with the older FW. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 9efabad2b228ef820f5ce969baa62860cf65b9ea Author: Sujith Manoharan Date: Wed Apr 13 11:22:33 2011 +0530 ath9k_htc: Remove AR7010 v1.0 support All the AR7010 devices supoprted by ath9k_htc are based on version v1.1, so remove support for v1.0. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit d0805c1c5758f8fd16c88bf1efa8fb4be4408ce1 Author: Brian Cavagnolo Date: Tue Apr 12 11:06:28 2011 -0700 mwl8k: use traffic threshold to decide when to start ampdu Currently, ampdu stream is created on the first qos packet to an HT sta. The overhead of setting up the BA session may not be justified if the outgoing packet rate is minimal (e.g., ping). So we only allow ampdu streams after seeing a critical number of packets in an arbitrary one-second interval. Based on work by Nishant Sarmukadam Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 4114fa21465ec7ee9526173676d3122a98bbbbd8 Author: Felix Fietkau Date: Tue Apr 12 19:15:22 2011 +0200 mac80211: receive EAP frames from a station in an AP VLAN on the main AP This makes it easier to handle moving stations to VLAN interfaces that are part of a different bridge. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 8e26a0303614e766f993b1ac4a5bfbf80436d9dd Author: Gabor Juhos Date: Tue Apr 12 18:23:16 2011 +0200 ath9k: introduce ATH9K_{PCI,AHB} config options Currently ath9k only available in menuconfig if PCI bus support is enabled. However the driver is required for the built-in wireless MACs of the Atheros AR9130/AR9132 SoCs. These SoCs have no PCI controller, the wireless MAC is connected to the AHB bus on them. Introduce separated config options for the supported buses, in order to allow building of ath9h without PCI bus support. As a bonus, this patch removes the cross-reference of the ATHEROS_AR71XX option which is not present in the kernel. Cc: Luis R. Rodriguez Cc: Vasanthakumar Thiagarajan Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 12488e01fb2b06bb3f6ee137efc88e29d827817e Author: Nishant Sarmukadam Date: Fri Apr 8 14:38:27 2011 +0530 mwl8k: interrupt handling changes We do not need to enable all the interrupts in mwl8k_probe_hw. We need to enable only MWL8K_A2H_INT_OPC_DONE interrupt for sending commands to the firmware. Keep the other interrupts masked in mwl8k_probe_hw. Also, in mwl8k_start, where we expect other interrupts, enable only those interrupts we are interested in. Signed-off-by: Nishant Sarmukadam Signed-off-by: John W. Linville commit 9f72c1d977e47a7d182d49ea131067cba0a96ab8 Author: Kevin Gan Date: Fri Apr 8 18:19:33 2011 -0700 Bluetooth: btmrvl: support Marvell Bluetooth device SD8787 The SD8787 firmware image is shared with mwifiex driver. Whoever gets loaded first will be responsible for firmware downloading. Signed-off-by: Kevin Gan Signed-off-by: Tristan Xu Signed-off-by: Bing Zhao Signed-off-by: Gustavo F. Padovan commit b86ed368f1f0b19de1918c57e4b056e73d5613a0 Author: Gustavo F. Padovan Date: Thu Apr 7 18:53:45 2011 -0300 Bluetooth: Check return value of hci_recv_stream_fragment() It may return error and in this case we do add to the stats. Signed-off-by: Gustavo F. Padovan commit 78b4a56c28c096a1eb02f1d864eb450eb910e43d Author: Jiejing Zhang Date: Thu Apr 7 20:37:06 2011 +0800 Bluetooth: hci_uart: check the return value of recv() Check the return value of hu->proto->recv() in hci_uart_tty_receive() the recv() may return error, check it, not add this to statistics. Signed-off-by: Jiejing Zhang Signed-off-by: Gustavo F. Padovan commit e1ba1f15469903b6f443fbf00f069d169e3fba6d Author: Szymon Janc Date: Wed Apr 6 13:01:59 2011 +0200 Bluetooth: Fix Out Of Band pairing when mgmt interface is disabled Use kernel stored remote Out Of Band data only if management interface is enabled. Otherwise HCI_OP_REMOTE_OOB_DATA_NEG_REPLY was sent to controller even if remote Out Of Band data was present in bluetoothd. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 9f69bda6aa8b365169b4a6fd35432ee40574d661 Author: Gustavo F. Padovan Date: Thu Apr 7 16:40:25 2011 -0300 Bluetooth: Add proper handling of received LE data Despite it works, handling through l2cap_data_channel() is wrongs. That function should handle only connection oriented data. Signed-off-by: Gustavo F. Padovan commit 0733119c0bed37eda4bb832d049939a0dc53a233 Author: Gustavo F. Padovan Date: Tue Apr 5 22:29:31 2011 -0300 Bluetooth: Clean up ath3k_load_firmware() Signed-off-by: Gustavo F. Padovan commit cd69a03af1106c486033df600c7945957ea5abeb Author: Gustavo F. Padovan Date: Tue Apr 5 15:24:40 2011 -0300 Bluetooth: Fix wrong comparison in listen() We should check for the pi->scid there. Signed-off-by: Gustavo F. Padovan commit 58d35f87effa0235181a24d55576aaa756ef7312 Author: Gustavo F. Padovan Date: Mon Apr 4 16:16:44 2011 -0300 Bluetooth: Move tx queue to struct l2cap_chan tx_q is the queue used by ERTM mode. Signed-off-by: Gustavo F. Padovan commit c916fbe45c1f30417fa28e62cbbfae295a3f315c Author: Gustavo F. Padovan Date: Mon Apr 4 16:00:55 2011 -0300 Bluetooth: Remove unneeded uninitialized_vars() That was unnecessary use of it. Signed-off-by: Gustavo F. Padovan commit 49208c9c7b483098401683fef5cfbd66931ca643 Author: Gustavo F. Padovan Date: Mon Apr 4 15:59:54 2011 -0300 Bluetooth: Remove some sk references from l2cap_core.c Change some BT_DBG messages and consequently remove some struct sock declarations. Signed-off-by: Gustavo F. Padovan commit 39d5a3ee355fa903ef4609402c79f570eb9fc4d2 Author: Gustavo F. Padovan Date: Mon Apr 4 15:40:12 2011 -0300 Bluetooth: Move SREJ list to struct l2cap_chan As part of moving all the Channel related operation to struct l2cap_chan. Signed-off-by: Gustavo F. Padovan commit 8962d87129ec0a820d17ac44cbf3f51010ad8db8 Author: John W. Linville Date: Wed Apr 13 08:47:32 2011 -0400 ath5k: improve comments for optimized tx descriptor setup Comment the use of local variables to reduce the number of load/store operations on uncached memory, in hopes of not losing this optimization accidentally in the future. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 9d5e6bdb3013acfb311ab407eeca0b6a6a3dedbf Author: Jiri Kosina Date: Wed Apr 13 11:12:34 2011 +0200 ath9k_hw: don't touch with treewide double semicolon removal This is a partial revert of 6eab04a87677 ("treewide: remove extra semicolons"). Wireless tree removes the code in question, so drop the hunk to avoid conflict. Reported-by: Stephen Rothwell Signed-off-by: Jiri Kosina commit 6f11c819d5fb24b637f2db605e5d3c270c979627 Author: Vasanthakumar Thiagarajan Date: Tue Apr 12 12:42:22 2011 +0530 ath9k: Register id table for platform device Currently the device id in the platform driver is hardcoded to an id which is specific to AR9130/AR9132 SOCs as it supports only wmac (wireless mac) of these SOCs. But this needs to be dynamic when we want to support different wmac of SOCs. So add id_table to driver to make it extendable to more SOCs. Signed-off-by: Vasanthakumar Thiagarajan Acked-by: Gabor Juhos Signed-off-by: John W. Linville commit b3ba44c6d1633692b45910ee77064e635e2c3143 Author: Mark Davis Date: Tue Apr 12 00:19:10 2011 -0400 rt2800usb: Add seven new USB IDs Adds USB IDs for seven previously missing devices. Additionally, all instances of 'Conceptronic' have been replaced by the OEM name. Devices added are.. 0411:01a2 - Buffalo WLI-UC-GNM, RT3070V 0586:341e - ZyXEL NWD2105, RT3070 13b1:002f - Linksys AE1000, RT3572 13b1:0031 - Cisco / Linksys AM10, RT3072 14b2:3c2c - Keebox W150NU / Alpha Networks WUS-N12, RT3070 157e:3013 - TRENDnet TEW-645UB, RT2770+RT2720 15a9:0012 - Airlink AWLL7025 / Gemtek WUBR-208N, RT2870+RT2850 Signed-off-by: Mark Davis Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 901c1113da1efc98881233a8a67f98286a0b766a Author: Rajkumar Manoharan Date: Mon Apr 11 20:22:30 2011 +0530 ath9k_hw: update AR9003 low_ob_db_tx_gain to improve spur performance Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 5fb32faf821586312dc0b51a64bfa17ad0633daf Author: Rajkumar Manoharan Date: Mon Apr 11 20:22:29 2011 +0530 ath9k_hw: update Ar9003 intervals to fix carrier leak Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 2d05a0c2b4ac614cb5e0eba75d39a37205d129e8 Author: Rajkumar Manoharan Date: Mon Apr 11 20:22:28 2011 +0530 ath9k_hw: Remove unused code in AR9287 eeprom Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 3dfd7f606645279c788f48cfdfdf9565ec72c4f0 Author: Vasanthakumar Thiagarajan Date: Mon Apr 11 16:39:40 2011 +0530 ath9k: Implement integer mode for AR9485 This fixes random disconnect. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 228bdfca9a09c1263c24509b4bc23a67be168e1a Author: Chaoming Li Date: Sun Apr 10 18:30:23 2011 -0500 rtlwifi: rtl8192ce: Fix LED initialization Driver rtl8192ce does not initialize the LED correctly. Signed-off-by: Chaoming Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit f0bce44f5f2eb37dba58aa992d0c58da92ded201 Author: roel Date: Sun Apr 10 21:09:55 2011 +0200 ath9k: index out of bounds Check whether index is within bounds before testing the element Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit 0f8e94d2ae4f7966d09c8105ccabb3b3d8238a4d Author: roel Date: Sun Apr 10 21:09:50 2011 +0200 ath9k_hw: index out of bounds Check whether index is within bounds before testing the element Both spurChans arrays in modalHeader5G and modalHeader2G have 5 elements, AR_EEPROM_MODAL_SPURS is defined 5. So unless a break occurs, in the last iteration (i=5) we tried to access spurChansPtr[5] before testing whether i was within bounds. Fix this. Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit c266c71a9cbdccb40fb6f4c05d4ddaa6226e5eba Author: Felix Fietkau Date: Sun Apr 10 18:32:19 2011 +0200 ath5k: reduce interrupt load caused by rx/tx interrupts While the rx/tx tasklet is pending, new unnecessary interrupts may arrive. Decrease the load by temporarily disabling the interrupts until the tasklet has completed. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 5b7916ad8c29da9f30fbf03a8b61862acdba00ce Author: Felix Fietkau Date: Sun Apr 10 18:32:18 2011 +0200 ath5k: clean up debugfs code The pointers to the debugfs entries do not need to be saved, because they will be recursively removed when the wiphy is unregistered. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit ed8950857f728303a1463ac9267e72c278738bf6 Author: Felix Fietkau Date: Sun Apr 10 18:32:17 2011 +0200 ath5k: remove ts_retry from ath5k_tx_status Reusing the configured retry counts from the skb cb is more efficient than reloading the data from uncached memory. Replace ts_longretry (unused) with ts_final_retry which contains the retry count for the final rate only Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit b2fd97d0190a400b49a2f910109a4a492bfea319 Author: Felix Fietkau Date: Sun Apr 10 18:32:16 2011 +0200 ath5k: optimize rx status processing Use ACCESS_ONCE to reduce the number of redundant loads on uncached memory Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit b161b89fb97b30233526d31c5f94397ed94ffea6 Author: Felix Fietkau Date: Sun Apr 10 18:32:15 2011 +0200 ath5k: optimize tx status processing Use ACCESS_ONCE to reduce the number of variable reloads on uncached memory Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit fe12081cb664cd5d412dc56de0585a80484b1331 Author: Felix Fietkau Date: Sun Apr 10 18:32:14 2011 +0200 ath5k: remove ts_rate from ath5k_tx_status It is no longer necessary for preparing mac80211 tx status Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit c5e0a88aa2e0f42cdb4c79c977c52f6bc38ec160 Author: Felix Fietkau Date: Sun Apr 10 18:32:13 2011 +0200 ath5k: optimize tx descriptor setup Use local variables to reduce the number of load/store operations on uncached memory. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit b1ad1b6febb7772583c98d9a879fbbdb82a726a7 Author: Felix Fietkau Date: Sat Apr 9 23:10:21 2011 +0200 ath5k: fix slot time handling Set the slot time based on the mac80211 short slot vs long slot setting instead of just forcing long slot for all CCK-enabled channels. This slightly improves 802.11g mode performance in in my tests. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 488a50176c169eb36544b4f970c8bba68ede30a1 Author: Felix Fietkau Date: Sat Apr 9 23:10:20 2011 +0200 ath5k: fix SIFS time handling ath5k uses 8 usec as a sifs time, extracted from the initvals, whereas the standard requires a sifs time of 10. The difference originates from the fact that the SIFS register has an offset of 2 usec. Fix the SIFS time definition to use the standard value of 10 usec and subtract 2 usecs when writing the SIFS register. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit a27049e2c926bcf68360532a5ae66e408296ae85 Author: Felix Fietkau Date: Sat Apr 9 23:10:19 2011 +0200 ath5k: fix short preamble rate duration value Subtract the difference in preamble duration (in usec) from the value returned by ieee80211_generic_frame_duration. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 6d7b97b23e114c8fbb825e6721164d228c1af3fc Author: Felix Fietkau Date: Sat Apr 9 21:37:14 2011 +0200 ath5k: fix tx status reporting issues During normal operation, minstrel was showing suspicious EWMA probabilities exceeding 100%. It looks like the tx status reporting in ath5k was not properly clearing the rate index for rates which were never attempted. This is caused by uninitialized stale data in the on-stack tx status information, which is reused when more frames are received. To fix this, rely on ts->ts_final_idx to select the last attempted rate, instead of checking whether ts->ts_rate is set. Additionally, the conversion from the driver rate index back to the mac80211 rate index can be dropped, as the mac80211 tx status will still have the original rate index which was used to set up the descriptor. Additionally, one more inaccuracy was fixed - the final rate attempt count only needs to be increased by one if the transmission attempt was successful. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit a065784620a2b78a2bbd00e066c004644d227ea8 Author: John W. Linville Date: Fri Apr 8 15:33:12 2011 -0400 ath5k: improve pcal error handling for ENOMEM case The ath5k driver does kmalloc allocations for pcal info in a loop. But, if one fails it was simply returning -ENOMEM without freeing already allocated memory. This patch corrects that oversight. Reported-by: Eugene A. Shatokhin Signed-off-by: John W. Linville Reviewed-by: Bob Copeland commit ba30c4a58ceb10e81dbf6bd80aeb6a4db42db8fe Author: Yogesh Ashok Powar Date: Sat Apr 9 00:25:37 2011 +0530 mwl8k: Fix checkpatch.pl and sparse warnings and errors Fix checkpatch errors and warnings comprising of indent errors, spaces and __packed warnings. Also fix 'make C = 2' warnings. Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit 1296433bf39a8dea852aafad1f29b775f993bca1 Author: Felix Fietkau Date: Fri Apr 8 20:49:16 2011 +0200 ath9k_hw: remove unnecessary parts of the AR9380 SREV check Older versions have not been sold and the driver does not explicitly check for them anyway, so we can simply ignore the macRev here. Reduces ath9k_hw size on mips by more than 2 KB. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit ebe27c91af8b7f4810ae906fbd3eeb2d87850026 Author: Mohammed Shafi Shajakhan Date: Fri Apr 8 21:24:24 2011 +0530 {mac|nl}80211: Add station connected time Add station connected time in debugfs. This will be helpful to get a measure of stability of the connection and for debugging stress issues Cc: Senthilkumar Balasubramanian Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit f60c49b67dd6db2ccb740a6a671414f9dab00c4f Author: Rajkumar Manoharan Date: Fri Apr 8 17:06:25 2011 +0530 ath9k: Fix kernel panic on module unload The commit "ath9k: configure beacons based on hw opmode" introduced a regression which leads to kernel panic. Failed to stop ani timer during the driver unload while any of the beaconing vif is running. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit d0ef824b9a712b866e38212089ade3a7114225a4 Author: Senthil Balasubramanian Date: Fri Apr 8 15:30:35 2011 +0530 ath9k: Update gain table for AR9485 Update Tx gain 23 for all tx gain table. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 7d75541499319dff375af252345ae1999540b4a9 Author: Senthil Balasubramanian Date: Fri Apr 8 15:30:34 2011 +0530 ath9k: Add RSSI information from control and extension chains Export RSSI information from all the control and extension channel chains to debugfs. Also add rx antenna information to debugfs. This will be useful for debugging purpose. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 1570ca59279a74db73b8ff840abdfaf64a9ee2ff Author: Javier Cardona Date: Thu Apr 7 15:08:35 2011 -0700 mac80211: send notification on new peer candidate for our secure mesh Also, advertise support for mesh authentication. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit c93b5e717ec47b57abfe0229360bc11e77520984 Author: Javier Cardona Date: Thu Apr 7 15:08:34 2011 -0700 nl80211: New notification to discover mesh peer candidates. Notify userspace when a beacon/presp is received from a suitable mesh peer candidate for whom no sta information exists. Userspace can then decide to create a sta info for the candidate. If userspace is not ready to authenticate the peer right away, it can create the sta info with the authenticated flag unset and set it later. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 96b78dff0321d881ef27d858a462c476e0444619 Author: Javier Cardona Date: Thu Apr 7 15:08:33 2011 -0700 nl80211/mac80211: Perform PLINK_ACTION on new station Modify the NEW_STATION command to accept PLINK_ACTIONS, in case userspace wants to create stations and initiate a peer link right away (for authenticated stations) or create a blocked station (for debugging). Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 53e805111b69d55834f4e1ed0a31a97ea0b9e425 Author: Javier Cardona Date: Thu Apr 7 15:08:32 2011 -0700 mac80211: ignore peer link requests from unauthenticated stations. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 71839121a0f35f9968d2e204a76eb22683156fd8 Author: Javier Cardona Date: Thu Apr 7 15:08:31 2011 -0700 mac80211: Let user space receive and send mesh auth/deauth frames Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit b39c48fac1fc915a5dcd024bf6e9aabc855ed591 Author: Javier Cardona Date: Thu Apr 7 15:08:30 2011 -0700 nl80211/mac80211: let userspace authenticate stations Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 5cff5e01e818029a5d2c3c31b7ae5e5e7ee70452 Author: Javier Cardona Date: Thu Apr 7 15:08:29 2011 -0700 mac80211: ignore peers if security is enabled for this mesh Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 15d5dda623139bbf6165030fc251bbd5798f4130 Author: Javier Cardona Date: Thu Apr 7 15:08:28 2011 -0700 cfg80211/nl80211: Add userspace authentication flag to mesh setup During mesh setup, use NL80211_MESH_SETUP_USERSPACE_AUTH flag to create a secure mesh and route management frames to userspace. Also, NL80211_CMD_GET_WIPHY now returns a flag NL80211_SUPPORT_MESH_AUTH if the wiphy's mesh implementation supports routing of mesh auth frames to userspace. This is useful for forward compatibility between old kernels and new userspace tools. Signed-off-by: Javier Cardona Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit 581a8b0feeed8877aab3a8ca4c972419790cd07f Author: Javier Cardona Date: Thu Apr 7 15:08:27 2011 -0700 nl80211: rename NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE To NL80211_MESH_SETUP_IE. This reflects our ability to insert any ie into a mesh beacon, not simply path selection ies. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit a22e93f5d819f11d2a2d6332e20ff5b462e5c208 Author: Paul Bolle Date: Thu Apr 7 20:40:32 2011 +0200 iwl4965: drop a lone pr_err() iwl4965_rate_control_register() prints a message at KERN_ERR level. It looks like it's just a debugging message, so pr_err() seems to be overdone. But none of the similar functions in drivers/net/wireless print a message, so let's just drop it. Signed-off-by: Paul Bolle Signed-off-by: John W. Linville commit 952949738aba19f84dae9def18e0baa58f0ce0b8 Author: Felix Fietkau Date: Thu Apr 7 19:30:32 2011 +0200 ath9k: fix too early enabling of rx during ath_startrecv() rx should only be enabled after enough rx buffers have been given to the hardware, however ath_rx_buf_link was calling ath9k_hw_rxena after every single added buffer. Fix this by calling ath9k_hw_rxena directly from the rx tasklet after completion instead. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 264bbec811024e39fe8f9e7a45743f81f373529e Author: Felix Fietkau Date: Thu Apr 7 19:24:23 2011 +0200 ath9k: fix PS-Poll reception on AR9160 and earlier I can't find any valid reason for not setting the ATH9K_RX_FILTER_PSPOLL flag on older hardware and neither the documentation nor the reference code mention any reason for excluding older hardware here. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 6a35a0ac5771fa962c45926678d1f194cbc98c4e Author: Yogesh Ashok Powar Date: Wed Apr 6 16:46:56 2011 -0700 mwifiex: use common keyinfo bitmap for different key types Instead of having separate key information definitions for each type of key, a common key information bitmap is used. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 18bf965702058f5f8039e6a46bb5ebaa18d38ebd Author: Bing Zhao Date: Wed Apr 6 16:46:55 2011 -0700 mwifiex: fix cmd_skb headroom decreasing issue Before calling host_to_card() to send the cmd to firmware, we use skb_push() to add 4 bytes SDIO interface header at the start of the data buffer. Since cmd_skb data structure will be re-used at a later time, we need to restore its headroom by removing the 4 bytes header. Signed-off-by: Bing Zhao Signed-off-by: Marc Yang Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit d88525e8fdc00c0078d38353caffc29e5a9c70cc Author: Rajkumar Manoharan Date: Wed Apr 6 21:42:52 2011 +0530 ath9k_hw: Fix instable target power control b/w CCK/OFDM The problem is that when the attenuation is increased, the rate will start to drop from MCS7 -> MCS6, and finally will see MCS1 -> CCK_11Mbps. When the rate is changed b/w CCK and OFDM, it will use register desired_scale to calculate how much tx gain need to change. The output power with the same tx gain for CCK and OFDM modulated signals are different. This difference is constant for AR9280 but not AR9285/AR9271. It has different PA architecture a constant. So it should be calibrated against this PA characteristic. The driver has to read the calibrated values from EEPROM and set the tx power registers accordingly. Signed-off-by: Rajkumar Manoharan Acked-by: Felix Fietkau Signed-off-by: John W. Linville commit 15b91e830dbf300d653b3fe70f6ef71b568164a3 Author: Vivek Natarajan Date: Wed Apr 6 11:41:11 2011 +0530 ath9k: Implement dev_tx_frames_pending callback. This function returns true if there is atleast one frame in any one of the tx queues. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit e8306f989483e4b97a8b37dd268de6c8c6f35e75 Author: Vivek Natarajan Date: Wed Apr 6 11:41:10 2011 +0530 mac80211: Check for queued frames before entering power save. In a highly noisy environment, the tx rate of the driver drops and the application slows down since it has not yet received ACKs for the frames already queued in the hardware. Since this ACK may take more than 100ms, stopping the dev queues for entering PS at this stage breaks applications, WMM test cases in my testing. If there are frames already pending in the tx queue, postponing the PS logic helps to avoid redundant queue stops. When power save is enabled by default and in a noisy environment, this API certainly helps in improving the average throughput. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 252f4bf400df1712408fe83ba199a66a1b57ab1d Merge: 6ba1037 b37e3b6 Author: John W. Linville Date: Tue Apr 12 16:18:44 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem Conflicts: drivers/net/wireless/ath/ar9170/main.c drivers/net/wireless/ath/ar9170/phy.c drivers/net/wireless/zd1211rw/zd_rf_rf2959.c commit 1c01a80cfec6f806246f31ff2680cd3639b30e67 Merge: c44d799 4a9f65f Author: David S. Miller Date: Mon Apr 11 13:44:25 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/smsc911x.c commit 6eab04a87677a37cf15b52e2b4b4fd57917102ad Author: Justin P. Mattock Date: Fri Apr 8 19:49:08 2011 -0700 treewide: remove extra semicolons Signed-off-by: Justin P. Mattock Signed-off-by: Jiri Kosina commit 6fc3ba999994b675c4e6af77ac4e1a6bfd8e6128 Author: Johannes Berg Date: Mon Apr 4 06:16:29 2011 -0700 iwlagn: downgrade warning on unknown TLV If we maintain API properly, then there isn't really a reason to warn about this since we'll just be adding things that are safe to ignore, so downgrade the warning to debug info level. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 0da0e5bf1522d75d446f5124e17016628d0a149e Author: Johannes Berg Date: Fri Apr 8 08:14:56 2011 -0700 iwlagn: clean up & autodetect statistics There's no need to keep both normal and BT statistics versions around all the time in memory when we only use a subset of both. So keep only the subsets that we need in memory, depending on the debug config). Also, in doing so, we can remove all the calls to iwl_bt_statistics() in the driver as we'll just access the copied statistics now. Finally, also remove this call from the one place where it might still be needed and automatically detect what kind of statistics the device is sending based on their size. This way, we don't need to keep track of which devices do what any more, which is good since this is subject to change based on the ucode version (as some ucode even for non-BT devices will in fact use BT statistics). Warn upon encountering a statistics command from the ucode that isn't known, so we will find such issues earlier in the future. Signed-off-by: Johannes Berg Tested-by: Don Fry Signed-off-by: Wey-Yi Guy commit 703bc583cb98a24eeedd297ee59dfa12852897d1 Author: Wey-Yi Guy Date: Sun Apr 3 08:14:41 2011 -0700 iwlagn: sensitivity and chain noise done by driver _agn driver should perform both sensitivity and chain noise calib. Signed-off-by: Wey-Yi Guy commit ae89726a02049e8f61bb3c8bf5dbf1fc06527a07 Author: Wey-Yi Guy Date: Fri Apr 1 16:29:54 2011 -0700 iwlagn: tx power calib always done in firmware Remove the config flag for tx power calib Signed-off-by: Wey-Yi Guy commit 23c0fcc66b4345ea97ae588c2e01f10c994652ba Author: Wey-Yi Guy Date: Fri Apr 1 16:29:53 2011 -0700 iwlagn: all _agn devices support power save mode Remove broken_power_save checking Signed-off-by: Wey-Yi Guy commit 8ff84a2c99bc7f5f22d9d2b5365d821ce4f7a8f9 Author: Wey-Yi Guy Date: Fri Apr 1 16:29:52 2011 -0700 iwlagn: more cleanup to remove unused reference More cleanup code, no functional changes Signed-off-by: Wey-Yi Guy commit 15ade3ca647d95611814333cfe0885fd0184481e Author: Wey-Yi Guy Date: Fri Apr 1 16:29:51 2011 -0700 iwlagn: remove un-needed configuration After driver split, set_l0s config is no longer needed, remove it Signed-off-by: Wey-Yi Guy commit 6bb64697ed58909985487e885c269dafd09583f1 Author: Wey-Yi Guy Date: Fri Apr 1 16:29:50 2011 -0700 iwlagn: remove more reference to legacy devices Remove the reference to both 3945 and 4965 in LED code Signed-off-by: Wey-Yi Guy commit ee3cd7e04ca08ff0ec1ebb96be7e64aef928f511 Author: Wey-Yi Guy Date: Fri Apr 1 16:35:10 2011 -0700 iwlagn: cleanup to remove the reference for 3945 More clean up after driver split Signed-off-by: Wey-Yi Guy commit ab4bf5ef5afce9d31cf5cf05ac80b3b01cbb24a3 Author: Wey-Yi Guy Date: Fri Apr 1 16:35:09 2011 -0700 iwlagn: remove unused 3945 define 3945 no longer apply Signed-off-by: Wey-Yi Guy commit ece3cd2e8fb119a4394dcdc6ef921e85cdd4cc69 Author: Wey-Yi Guy Date: Fri Apr 1 16:29:47 2011 -0700 iwlagn: no 3945 define needed Remove 3945 define Signed-off-by: Wey-Yi Guy commit dcf6640f0f58affa93f158d8573b6868136e3d62 Author: Wey-Yi Guy Date: Fri Apr 1 13:20:44 2011 -0700 iwlagn: PAPD read for 2000 series devices For 2000 series NICs, disable OTP refresh in order to read correct PAPD table from high OTP block Signed-off-by: Wey-Yi Guy commit a2b76b3b31568da9d281a393845f17689594ccdf Author: Johannes Berg Date: Tue Mar 29 06:29:37 2011 -0700 iwlwifi: 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: Wey-Yi Guy commit 68b993118f715cc631b62b6a50574e4701fe9ace Author: Garen Tamrazian Date: Wed Mar 30 02:29:32 2011 -0700 iwlagn: fix radar frame rejection The microcode may sometimes reject TX frames when on a radar channel even after we associated as it clears information during association and needs to receive a new beacon before allowing that channel again. This manifests itself as a TX status value of TX_STATUS_FAIL_PASSIVE_NO_RX. So in this case, stop the corresponding queue and give the frame back to mac80211 for retransmission. We start the queue again when a beacon from the AP is received which will make the regulatory enforcement in the device allow transmitting again. Signed-off-by: Garen Tamrazian Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 3ecccbcd3c67374aeee447c08fcb9e39a99f7ee5 Author: Wey-Yi Guy Date: Tue Mar 29 17:53:15 2011 -0700 iwlagn: remove un-necessary function pointer After driver split, no need to use function pointer for those event and register dump function. Signed-off-by: Wey-Yi Guy commit 1d5cc5559aaf5273cc1f9aac9b428e3a99d41de6 Author: root Date: Mon Mar 28 16:12:43 2011 -0700 iwlwifi: remove extranious macro from firmware define define of firmware filenames use extra macro to build the files name. Signed-off-by: Jay Sternberg Signed-off-by: Wey-Yi Guy commit 782d640afd15af7a1faf01cfe566ca4ac511319d Author: Michał Mirosław Date: Thu Apr 7 07:32:18 2011 +0000 net: atl*: convert to hw_features Things left as they were: - atl1: is RX checksum really enabled? - atl2: copy-paste from atl1, with-errors-on-modify I presume - atl1c: there's a bug: MTU can't be changed if device is not up Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 2ead70b8390d199ca04cd35311b51f5f3676079e Author: Gustavo F. Padovan Date: Fri Apr 1 15:13:36 2011 -0300 Bluetooth: Fix lockdep warning with skb list lock This is a regression acctually, caused by the first patch series for creating a formal strcut l2cap_chan. Signed-off-by: Gustavo F. Padovan commit 311bb895e325e5f4d708c1ed2206da8a3885c83a Author: Gustavo F. Padovan Date: Fri Mar 25 20:41:00 2011 -0300 Bluetooth: Move busy workqueue to struct l2cap_chan As part of the moving channel stuff to l2cap_chan. Signed-off-by: Gustavo F. Padovan commit f1c6775be6fc944e32e0150305d9753b9a846519 Author: Gustavo F. Padovan Date: Fri Mar 25 20:36:10 2011 -0300 Bluetooth: Move srej and busy queues to struct l2cap_chan As part of the moving channel stuff to l2cap_chan. Signed-off-by: Gustavo F. Padovan commit e92c8e70faf5e3cc22979daba2a895359aa1eab2 Author: Gustavo F. Padovan Date: Fri Apr 1 00:53:45 2011 -0300 Bluetooth: Move ERTM timers to struct l2cap_chan This also triggered a change in l2cap_send_disconn_req() parameters. Signed-off-by: Gustavo F. Padovan commit 2c03a7a49e0831646bd35d0877ec7d051d8f174b Author: Gustavo F. Padovan Date: Fri Mar 25 20:15:28 2011 -0300 Bluetooth: Move remote info to struct l2cap_chan As part of the moving channel stuff to l2cap_chan. Signed-off-by: Gustavo F. Padovan commit 6f61fd475907bf0a1470cb969ee993a31d305513 Author: Gustavo F. Padovan Date: Fri Mar 25 20:09:37 2011 -0300 Bluetooth: Move SDU related vars to struct l2cap_chan As part of the moving channel stuff to l2cap_chan. Signed-off-by: Gustavo F. Padovan commit 6a026610eee2c53ff59598905fcbaa979aec68d1 Author: Gustavo F. Padovan Date: Fri Apr 1 00:38:50 2011 -0300 Bluetooth: Move more ERTM stuff to struct l2cap_chan As part of the moving channel stuff to l2cap_chan. Signed-off-by: Gustavo F. Padovan commit 42e5c8027bad6f1591032941f0ebf4fc079405c8 Author: Gustavo F. Padovan Date: Fri Mar 25 19:58:34 2011 -0300 Bluetooth: Move of ERTM *_seq vars to struct l2cap_chan As part of the moving channel to stuff to struct l2cap_chan. Signed-off-by: Gustavo F. Padovan commit 525cd1851b9faaadf5ea33e05192b8d22f42487e Author: Gustavo F. Padovan Date: Fri Mar 25 19:43:39 2011 -0300 Bluetooth: Move conn_state to struct l2cap_chan This is part of "moving things to l2cap_chan". As one the first move it triggered a big number of changes in the funcions parameters, basically changing the struct sock param to struct l2cap_chan. Signed-off-by: Gustavo F. Padovan commit 710f9b0a423cad155144742f6497efe5163ed750 Author: Gustavo F. Padovan Date: Fri Mar 25 14:30:37 2011 -0300 Bluetooth: clean up l2cap_sock_recvmsg() Move some channel specific stuff to l2cap_core.c, this will make things more clear. Signed-off-by: Gustavo F. Padovan commit 73ffa904b78287f6acf8797e040150aa26a4af4a Author: Gustavo F. Padovan Date: Fri Mar 25 14:16:54 2011 -0300 Bluetooth: Move conf_{req,rsp} stuff to struct l2cap_chan They are also l2cap_chan specific. Signed-off-by: Gustavo F. Padovan commit fc7f8a7ed4543853a99852ca405ea71fabe78946 Author: Gustavo F. Padovan Date: Fri Mar 25 13:59:37 2011 -0300 Bluetooth: Move ident to struct l2cap_chan ident is chan property, no need to reside on socket. Signed-off-by: Gustavo F. Padovan commit 820ffdb3d25f74fbd553453f461709d52dfa72a2 Author: Gustavo F. Padovan Date: Fri Apr 1 00:35:21 2011 -0300 Bluetooth: Remove struct del_list As we use struct list_head to keep L2CAP channels list the workaround with del_list is not needed anymore. Signed-off-by: Gustavo F. Padovan commit baa7e1fa6d2870462bd744df1c6ddbd497fe86d6 Author: Gustavo F. Padovan Date: Thu Mar 31 16:17:41 2011 -0300 Bluetooth: Use struct list_head for L2CAP channels list Use a well known Kernel API is always a good idea than implement your own list. In the future we might use RCU on this list. Signed-off-by: Gustavo F. Padovan commit 48454079c2d4b9ee65c570a22c5fdfe1827996a4 Author: Gustavo F. Padovan Date: Fri Mar 25 00:22:30 2011 -0300 Bluetooth: Create struct l2cap_chan struct l2cap_chan cames to create a clear separation between what properties and data belongs to the L2CAP channel and what belongs to the socket. By now we just fold the struct sock * in struct l2cap_chan as all the channel info is struct l2cap_pinfo today. In the next commits we will see a move of channel stuff to struct l2cap_chan. Signed-off-by: Gustavo F. Padovan commit c1e48efc701b79ee4367c9a1a4e8bbc7c3586e02 Merge: 912d398 1b86a58 Author: David S. Miller Date: Thu Apr 7 14:05:23 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/benet/be_main.c commit b37e3b6d64358604960b35e8ecbb7aed22e0926e Merge: a90c7a3 bd39a27 Author: John W. Linville Date: Thu Apr 7 16:45:40 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: drivers/net/wireless/rtlwifi/efuse.c drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c net/bluetooth/mgmt.c commit a90c7a313a1c5b4fc99f987a2ae8f92ab0ae35c7 Author: Luis R. Rodriguez Date: Tue Apr 5 10:49:04 2011 -0700 cfg80211: add a timer for invalid user reg hints We have no other option but to inform userspace that we have queued up their regulatory hint request when we are given one given that nl80211 operates atomically on user requests. The best we can do is accept the request, and add a delayed work item for processing failure and cancel it if we succeeed. Upon failure we restore the regulatory settings and ignore the user input. This fixes this reported bug: https://bugzilla.kernel.org/show_bug.cgi?id=28112 Reported-by: gregoryx.alagnou@intel.com Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 146095557b01cf5ff5d66554d96cbb8133d94eb9 Author: Luis R. Rodriguez Date: Tue Apr 5 10:49:03 2011 -0700 cfg80211: fix regulatory restore upon user hints When we restore regulatory settings its possible CRDA will not reply because of a bogus user entry. In this case the bogus entry will prevent any further processing on cfg80211 for regulatory domains even if we restore regulatory settings. To prevent this we suck out all pending requests when restoring regulatory settings and add them back into the queue after we have queued up the reset work. The impact of not having this applied is that a user with privileges can issue a userspace regulatory hint while we are disasocciating and this would prevent any further processing of regulatory domains. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 02a7fa00a6d145037d549c779ad7692deb504acc Author: Johannes Berg Date: Tue Apr 5 09:42:12 2011 -0700 iwlagn: move IO functions out of line This generates a massive reduction in module size: with debug: text data bss dec hex filename 670300 13136 420 683856 a6f50 iwlagn.ko (before) 388347 13136 408 401891 621e3 iwlagn.ko (after) without debug: text data bss dec hex filename 528575 13072 420 542067 84573 iwlagn.ko (before) 294192 13072 408 307672 4b1d8 iwlagn.ko (after) This also removes all the IO debug functionality since it can easily be replaced by tracing, and makes the code unnecessarily complex. I haven't done any CPU utilisation measurements, but given that the hotpaths don't use much IO it is not likely to have a negative impact; in fact, the size reduction will reduce cache pressure which possibly improves performance. Finally, an unused function or two were removed. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 519d8abd358afad825a1b919a2421d76779f23cd Author: Johannes Berg Date: Tue Apr 5 09:42:11 2011 -0700 iwlagn: remove ISR ops The ISR (interrupt service routine) ops are now no longer necessary since they are the same for all devices this driver now handles. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 0e5884458eeadbb48ab3eb1d5f63b4a53a044a95 Author: Johannes Berg Date: Tue Apr 5 09:42:10 2011 -0700 iwlagn: remove rxb page bookkeeping We never use the value in alloc_rxb_page, so there's no point in keeping it either. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit c2974a1d18832a9fffb2eb389c3878f5c4ed92f1 Author: Johannes Berg Date: Tue Apr 5 09:42:09 2011 -0700 iwlagn: remove rev_id The rev_id variable is only printed, we don't need to store it. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit e98a130259ed6f88bc2833fa525b10453c92c047 Author: Johannes Berg Date: Tue Apr 5 09:42:08 2011 -0700 iwlagn: remove hw_rev The hw_rev variable is used only during init, so there's no need to keep it around. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit bc255930639122d788d1b6ce10d3c01cc2946398 Author: Johannes Berg Date: Tue Apr 5 09:42:07 2011 -0700 iwlagn: remove hw_wa_rev The variable is never used. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 917b6777b45ac49c436570e36eb09d9b8b84c434 Author: Johannes Berg Date: Tue Apr 5 09:42:06 2011 -0700 iwlagn: remove BSM clock setting Again, a 4965 specific code path that we no longer need in iwlagn. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 17445b8c443bb1aaf7f85bcf60676d04be1c467c Author: Johannes Berg Date: Tue Apr 5 09:42:05 2011 -0700 iwlagn: init cmd_queue earlier We know after loading the ucode whether it will support PAN or not, so we can also initialise the cmd_queue variable much earlier. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit d7d5783c6668b54111cc77005755799e94261497 Author: Johannes Berg Date: Tue Apr 5 09:42:04 2011 -0700 iwlagn: clean up alive handling Devices newer than 4965 don't actually send two different versions of the ALIVE command, so we always had a bug here since before this patch we copy more data than we got. Remove the iwl_init_alive_resp struct and don't use it. Since we also really don't need to track all the data received in ALIVE as we only use the error and log event tables later, we can also save space by just keeping those and not more data around in memory. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 3d09cdff233b5a37ce9993c533e8da1403e2da30 Author: Johannes Berg Date: Tue Apr 5 09:42:03 2011 -0700 iwlagn: fix ucode verify message My previous patch left a message talking about bootstrap, but that's clearly bogus. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 3997ff39faa184a2ff670a6792cdb89ff51cf78f Author: Johannes Berg Date: Tue Apr 5 09:42:02 2011 -0700 iwlagn: add feature flags Some new devices and microcode files will a greater variety of features, so the TLV-per-feature approach we took before will quickly make things harder to manage and increase the file size. Add a new TLV that has feature flags. Currently, it will contain: 1) a PAN feature flag, which moves from a separate TLV 2) a new BT stats bit that indicates whether the microcode image uses bluetooth statistics 3) a new MFP flag for management frame protection which can be enabled once the device/microcode supports it Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 7415952ff789b1c1878119662d4dc011ac9d261e Author: Wey-Yi Guy Date: Tue Apr 5 09:42:01 2011 -0700 iwlagn: check more error return code In alive notify, we should check return code instead of assume everything ok Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 901069c71415a76d731857ccda814e18ded062f7 Author: Wey-Yi Guy Date: Tue Apr 5 09:42:00 2011 -0700 iwlagn: change Copyright to 2011 Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 6009c39c6fc1cb988bdc90a395d9cce273afc7d5 Author: Johannes Berg Date: Tue Apr 5 09:41:59 2011 -0700 iwlagn: remove ucode_data_backup This was used only on 4965 in conjunction with the bootstrap ucode. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit e649437fd6e2bae6f7b8a36a302a1ec4faa5d906 Author: Johannes Berg Date: Tue Apr 5 09:41:58 2011 -0700 iwlagn: centralize and fix ucode restart The ucode restart has to take into account a number of things, like clearing the HCMD_ACTIVE and other status bits, and waking up the wait_command_queue. Currently, however, there are a number of places that neither do that, nor actually set the FW error bit that leads to proper restart handling, which means that in those cases things will probably just hang completely. To clean this up, make all ucode restart go through a single function, except for the cases where it's called during firmware loading. Also fix a bug in wimax coexist restart avoidance, it needs to first clear the status bits (and it has to clear the HCMD_ACTIVE one as well) and then wake up anything waiting on wait_command_queue. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 1fc352765fb461e4afafff4d650624df8ab6b6d6 Author: Johannes Berg Date: Tue Apr 5 09:41:57 2011 -0700 iwlagn: remove bootstrap code Only 4965 had a bootstrap microcode image, so the agn driver can completely ignore that and we can remove some code from it. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 35b1d92dfb361d24664381a0e4ae8ed47c771a66 Author: Johannes Berg Date: Tue Apr 5 09:41:56 2011 -0700 iwlagn: verify specific ucode When we loaded a ucode, there's no point in checking any one that is present, we know which one is supposed to be present so also verify that it is exactly the right one. That also simplifies the code and makes it faster since it doesn't have to check all. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit fb66216f9ebb146ad457829fcb62ae8f4348cda2 Author: Johannes Berg Date: Tue Apr 5 09:41:55 2011 -0700 iwlagn: simplify ucode check code The code in iwlcore_verify_inst_sparse really doesn't need to keep track of the number of errors it encountered since a single one is fatal. Also, the code in iwl_verify_inst_full is just used to print out some things, so rename it to iwl_print_inst and don't give it a return code and just make it print out the values. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 36127db02ec17828c1582bb6bc1f12160fd35d64 Author: Wey-Yi Guy Date: Tue Apr 5 09:41:54 2011 -0700 iwlagn: return send calibration result In alive notification call, return the status from iwl_send_calib_results() Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 08960dea6c736280a03cb947f445fdb94fdaa2ee Author: Johannes Berg Date: Tue Apr 5 09:41:53 2011 -0700 iwlagn: remove pointless return variables A number of places just use a variable to return it right away, which is useless, so let's remove the variables there. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 4de10b188070b1b96743b1b912843af729ebe50f Author: Wey-Yi Guy Date: Tue Apr 5 09:41:52 2011 -0700 iwlagn: remove more 3945/4965 related defines After driver split, remove unused #defines Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 7102762ef0ef330ab0601b6c3bc92bf9be5b1317 Author: Johannes Berg Date: Tue Apr 5 09:41:51 2011 -0700 iwlagn: clean up ucode loading All agn devices behave the same, so there's no need to go through function pointers for any of the ucode loading functionality. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 2dedbf58b2edbe940d370845dbf4210f1ddd2b31 Author: Johannes Berg Date: Tue Apr 5 09:41:50 2011 -0700 iwlagn: make mac80211 handlers static Now that these handlers are no longer shared between 4965 and agn, they can be static. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 3240cab3ddfb2637cfca3a078078cdeda44d0a99 Author: Johannes Berg Date: Tue Apr 5 09:41:49 2011 -0700 iwlagn: clean up some 3945/4965 remnants When the driver was split, a bunch of definitions for the 3945 and 4965 devices stayed around, but they're now useless so remove (some of) them. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 68e022dfeb548b48635888d1392f983977293573 Author: Johannes Berg Date: Tue Apr 5 09:41:48 2011 -0700 iwlagn: remove unused variable Some code was removed, but a variable it used and that is now unused stayed around, kill it. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit cebb28ba1ebb00edee4606547d81acf8db0f0532 Author: Michal Marek Date: Tue Apr 5 16:59:06 2011 +0200 rt2x00: Drop __TIME__ usage The kernel already prints its build timestamp during boot, no need to repeat it in random drivers and produce different object files each time. Signed-off-by: Michal Marek Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Cc: linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org Signed-off-by: John W. Linville commit 0321708748d8f2ecfffa4a9feafb332312e4e57f Author: Nishant Sarmukadam Date: Tue Apr 5 14:18:09 2011 +0530 mwl8k: Do not configure tx power unconditionally Instead of configuring tx power unconditionally, check for IEEE80211_CONF_CHANGE_POWER and configure it only when stack sets this flag Signed-off-by: Nishant Sarmukadam Signed-off-by: John W. Linville commit 99e4d43ad5ff5778f92ee3bc40a29ac7cd8a28f4 Author: Rajkumar Manoharan Date: Mon Apr 4 22:56:19 2011 +0530 ath9k: configure beacons based on hw opmode Current ath9k code does not handle beacon timers on opmode specific. One such example is that a STA beacon config overwrites already configured AP vif's beacon timers during scan. On multi station vif case, configure beacon timers beased on primary vif selected. This also helps while moving back to single STA vif from multi STA vifs, where the power save is enabled and hw has to be reconfigured with proper beacon and bssid/aid. Otherwise connection poll will be triggered so frequently due to beacon loss. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 4f5ef75b155955bf92adc772c6660787151fc78c Author: Rajkumar Manoharan Date: Mon Apr 4 22:56:18 2011 +0530 ath9k: Handle BSSID/AID for multiple interfaces As of now bssid/aid is overridden with recently changed vif's bss config. This may cause improper beacon updation due to bssid/aid mismatch. On station mode, select an associated sta vif as primary vif and configure that vif's bss into hw. Update the primary vif on interface change and bss info change. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 66da424177db4f4f2fa7a462db5912655aad966f Author: Rajkumar Manoharan Date: Mon Apr 4 22:56:17 2011 +0530 ath9k: Cleanup ath_vif struct Remove unused bssid from ath_vif and set av_bslot on beacon alloc/return. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 59575d1c717815d62f1b5aeac74e5e60a1b27428 Author: Rajkumar Manoharan Date: Mon Apr 4 22:56:16 2011 +0530 ath9k: deny new interface addtion on IBSS mode The present check denies the IBSS interface addtion if we already have any other vifs. But it fails to deny interface addition if IBSS was already present. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 1e5f52de216a32986a5c3cbc358dbb2620a03047 Author: Jarkko Nikula Date: Mon Apr 4 11:04:58 2011 +0300 wl1251: Add support for idle mode On Nokia N900 the wl1251 consumes the most power when the interface is up but not associated to access point (that supports PSM). In terms of battery current consumption, the consumption is ~180 mA higher when the interface is up but not associated and only ~5 mA higher when associated compared to interface down and driver not loaded cases. This patch adds support for the mac80211 idle notifications. Chip is put into idle very much the same way when entering into PSM by utilizing the Extreme Low Power (ELP) mode. I.e. idle is entered by setting necessary conditions in wl1251_ps_set_mode followed by a call to wl1251_ps_elp_sleep. It seems it is just enough the authorize ELP mode followed by CMD_DISCONNECT (thanks to Kalle Valo about the idea to use it). Without disconnect command the chip remains somewhat active and stays consuming ~20 mA. Idle mode is left by same way than PSM. The wl1251_join call is used to revert the CMD_DISCONNECT. Without it association to AP doesn't work when trying second time. With this patch the interface up but not associated case the battery current consumption is less than 1 mA higher compared to interface down case. Signed-off-by: Jarkko Nikula Acked-by: Kalle Valo Signed-off-by: John W. Linville commit a0bbb58bcb70295ff05f870c93d34f9fbe614204 Author: Jarkko Nikula Date: Mon Apr 4 11:04:57 2011 +0300 wl1251: Prepare for idle mode support RFC for WL1251 idle mode support brought a few issues that are worth to update before adding the idle mode support. Since the idle mode can reuse the code that is now used in Power Save Mode (PSM), the flag psm in struct wl1251 is changed to variable station_mode to be able to distinguish between PSM and idle modes. As the station mode is different than the power power save mode command that is sent to chip, the enum wl1251_cmd_ps_mod values are used only when communicating with the chip and new enum wl1251_station_mode values are used inside the driver. Confusing comment about psm and elp relation is removed since the PSM is actually activated by putting the chip into Entreme Low Power (ELP) mode. Signed-off-by: Jarkko Nikula Acked-by: Kalle Valo Signed-off-by: John W. Linville commit ffbd308dce898a857de76d17cc05748505cf4ece Author: Mohammed Shafi Shajakhan Date: Sun Apr 3 19:05:28 2011 +0530 mac80211: remove few obsolete flags Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit fbd5d17b8e2b418b495599c554f9c4754b7f93c9 Author: Jussi Kivilinna Date: Sat Apr 2 11:25:54 2011 +0300 zd1211rw: rename CR* macros to ZD_CR* With compat-wireless CR* macros in zd_usb.h conflict with CR macros in include/asm-generic/termbits.h. So rename CR* macros to ZD_CR*. Conversion was done with using sed and then 'over 80 character line' checkpatch.pl warnings and comment indents were fixed. Reported-by: Walter Goldens Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 26cd322bacd3d65fffef6f8418c2fdad5b42e4b5 Author: Felix Fietkau Date: Sat Apr 2 03:39:48 2011 +0200 ath9k: use the hw opmode to select the beacon timer mode Since the beacon timers are global, the individual vif type should not be used to determine the beacon timer configuration mode, use the global opmode instead. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 5e65968a10bb628b87024161c9adc8dbd886b47a Author: Felix Fietkau Date: Sat Apr 2 03:39:47 2011 +0200 ath9k: fix beacon slot processing in ad-hoc mode The recent cleanups in the beacon code fixed SWBA backoff calculation, however it did not remove a line of code that worked around the issues from the earlier version of the code. After the cleanup, the initial TSF based slot calculation now always returns 0 instead of ATH_BCBUF-1, so the previous hack that reversed the slot order needs to be removed, as ad-hoc mode does not use staggered beacons. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 2be50b8df53f2f329b7ddcc8be286ef6a7469fd2 Author: Yogesh Ashok Powar Date: Fri Apr 1 18:36:47 2011 -0700 mwifiex: remove redundant encryption_mode mapping remove MWIFIEX_ENCRYPTION_MODE_ and use WLAN_CIPHER_SUITE_ macros directly Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 2d3d0a88bd136f8e6f39bc53242712852e5d0bb2 Author: Amitkumar Karwar Date: Fri Apr 1 18:36:46 2011 -0700 mwifiex: return success in set_default_key for WPA/WPA2 When testing wpa_supplicant with 'nl80211' driver to connect to an AP with WPA/WPA2 security, we notice the followings: 1) add_key is called firstly with the key from cfg80211 2) set_defaut_key is called next set_default_key() is specific to WEP keys and should not be called in case of WPA/WPA2 security. The set_default_key() won't be called if wpa_supplicant uses "-Dwext" option, but it's been called if "-Dnl80211" option is specified. We can fix this issue by adding a check to return from set_default_key() if WEP key is not configured. Signed-off-by: Amitkumar Karwar Signed-off-by: Yogesh Ashok Powar Signed-off-by: Marc Yang Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit f4263c9857e6411ef2388868cc6c79a1602a654e Author: Paul Stewart Date: Thu Mar 31 09:25:41 2011 -0700 nl80211: Add BSS parameters to station This allows user-space monitoring of BSS parameters for the associated station. This is useful for debugging and verifying that the paramaters are as expected. [Exactly the same as before but bundled into a single message] Signed-off-by: Paul Stewart Cc: Johannes Berg Signed-off-by: John W. Linville commit 8447c163afeaa7e9f6f015088177b1c8511e0877 Author: Stanislaw Gruszka Date: Thu Mar 31 17:36:28 2011 +0200 iwlwifi: remove sync_cmd_mutex We now use priv->mutex to serialize sync command, remove old priv->sync_cmd_mutex and add assertion that priv->mutex must be locked. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit dc1a4068fce2657991c5c3b1f6849f7fc466c69f Author: Stanislaw Gruszka Date: Thu Mar 31 17:36:27 2011 +0200 iwlwifi: more priv->mutex serialization Check status bits with mutex taken, because when we wait for mutex unlock, status can change. Patch should also make remaining sync commands be send with priv->mutex taken. That will prevent execute these commands when we are currently reset firmware, what could possibly cause troubles. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 3598e1774c94e55c71b585340e7dc4538f310e3f Author: Stanislaw Gruszka Date: Thu Mar 31 17:36:26 2011 +0200 iwlwifi: fix enqueue hcmd race conditions We mark command as huge by using meta->flags from other (non huge) command, but flags can be possibly overridden, when non huge command is enqueued, what can lead to: WARNING: at lib/dma-debug.c:696 dma_debug_device_change+0x1a3/0x1f0() DMA-API: device driver has pending DMA allocations while released from device [count=1] To fix introduce additional CMD_MAPPED to mark command as mapped and serialize iwl_enqueue_hcmd() with iwl_tx_cmd_complete() using hcmd_lock. Serialization will also fix possible race conditions, because q->read_ptr, q->write_ptr are modified/used in parallel. On the way fix whitespace. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 08b8099c128d601fd675b212ef8b10397706b633 Author: Xose Vazquez Perez Date: Sun Mar 27 01:15:53 2011 +0100 wireless: rt2x00: rt{2500,73}usb.c fix duplicate ids based on the Ralink drivers: W = Windows_ralink_driver L = Linux_ralink_driver USB_IDs W_73 W_2500 L_73 L_2500 ============= ==== ====== ==== ====== 0x050d,0x7050 - - - YES 0x050d,0x705a - - YES - 0x1371,0x9022 - YES YES - 0x148f,0x2573 YES - YES - Signed-off-by: Xose Vazquez Perez Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit f3b3e36f4ecad9fd7b0ae04d7400f2153a7834eb Merge: b0006e6 db940cb Author: John W. Linville Date: Thu Apr 7 15:30:53 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6 commit b0006e69615868f3dfdfe2bd64eb11973f1208fc Author: Christian Lamparter Date: Fri Mar 25 20:21:55 2011 +0100 ar9170usb: purge obsolete driver Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit db940cb0db7c69a217661ecd49e1e6b0d680a6cc Author: Alexey Dobriyan Date: Sat Apr 2 14:19:41 2011 +0300 Bluetooth: convert net/bluetooth/ to kstrtox Convert from strict_strto*() interfaces to kstrto*() interfaces. Signed-off-by: Alexey Dobriyan Signed-off-by: Gustavo F. Padovan commit e63a15ec0f25c0f97e8f6247b97ac9b30968b6b3 Author: Gustavo F. Padovan Date: Mon Apr 4 18:56:53 2011 -0300 Bluetooth: Use GFP_KERNEL in user context The allocation in mgmt_control() code are in user context and not locked by any spinlock, so it's not recommended the use of GFP_ATOMIC there. Signed-off-by: Gustavo F. Padovan commit 1322901da5094cecd9826ec3aaade83f6452cc45 Author: Gustavo F. Padovan Date: Mon Apr 4 19:06:05 2011 -0300 Bluetooth: Don't use spin_lock_bh in user context spin_lock() and spin_unlock() are more apropiated for user context. Signed-off-by: Gustavo F. Padovan commit fada4ac33992b1f953d95584e36f6ca7860aea40 Author: Szymon Janc Date: Mon Mar 21 14:20:06 2011 +0100 Bluetooth: Use kthread API in cmtp kernel_thread() is a low-level implementation detail and EXPORT_SYMBOL(kernel_thread) is scheduled for removal. Use the API instead. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit f4d7cd4a4c25cb4a5c30a675d4cc0052c93b925a Author: Szymon Janc Date: Mon Mar 21 14:20:00 2011 +0100 Bluetooth: Use kthread API in bnep kernel_thread() is a low-level implementation detail and EXPORT_SYMBOL(kernel_thread) is scheduled for removal. Use the API instead. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit aabf6f897e44bdf3e237ada04aa8f88d77d75cac Author: Szymon Janc Date: Tue Apr 5 15:37:45 2011 +0200 Bluetooth: Use kthread API in hidp kernel_thread() is a low-level implementation detail and EXPORT_SYMBOL(kernel_thread) is scheduled for removal. Use the API instead. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit a88a9652d25a63ce10b6a5fe680d0ad8f33b9c9b Author: Johan Hedberg Date: Wed Mar 30 13:18:12 2011 +0300 Bluetooth: Add mgmt_remote_name event This patch adds a new remote_name event to the Management interface which is sent every time the name of a remote device is resolved (over BR/EDR). Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit e17acd40f6006d0a0e0b1b3f7359ba4d543011c6 Author: Johan Hedberg Date: Wed Mar 30 23:57:16 2011 +0300 Bluetooth: Add mgmt_device_found event This patch adds a device_found event to the Management interface. For now the event only maps to BR/EDR inquiry result HCI events, but in the future the plan is to also use it for the LE device discovery process. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 1e429f3842b5c9b5967a250f4daf78f92436268c Author: Gustavo F. Padovan Date: Mon Apr 4 18:25:14 2011 -0300 Bluetooth: Remove gfp_mask param from hci_reassembly() It is unnecessary, once we are always in interrupt context. Signed-off-by: Gustavo F. Padovan commit 26d59535aa08386b97ece58a27bb16fca4f066db Author: Johannes Berg Date: Fri Apr 1 13:52:48 2011 +0200 mac80211: clean up station cleanup timer We currently run this timer exactly once when a new mac80211 device is registered, but that is completely pointless since it will have no work to do at all. Therefore, remove that and also simplify some code using the timer. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 832fd35a545ecde11082d2dab74dd0aef8e0505e Author: Vasanthakumar Thiagarajan Date: Fri Apr 1 15:32:16 2011 +0530 ath9k_hw: Use appropriate rx gain table for AR9485 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 8120347de30f98982b8c75243e3b17dd1ee75740 Author: Bing Zhao Date: Thu Mar 31 19:50:14 2011 -0700 mwifiex: remove unused macros in decl.h and main.h These macros are leftover of previous cleanup patches. Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 7327890a1f42046c50030c8723bdbd9266d781bc Author: Bing Zhao Date: Wed Mar 30 18:12:45 2011 -0700 mwifiex: remove struct mwifiex_802_11_fixed_ies struct mwifiex_802_11_fixed_ies is not necessary. struct mwifiex_event_wep_icv_err is not used any more. Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 2b06bdbe073f8dff93eb476f07352df43dcdba44 Author: Marc Yang Date: Wed Mar 30 18:12:44 2011 -0700 mwifiex: cleanup power save related struct and macros remove redundant structures and unused macros Signed-off-by: Marc Yang Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 4f3f1ee9f373abfdc09bb3bed87969b7fe0fba06 Author: Marc Yang Date: Mon Mar 28 17:55:44 2011 -0700 mwifiex: remove unused macros in fw.h These definitions are no longer used after previous cleanups. Signed-off-by: Marc Yang Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit fd2e401a35500c9af63dc7ffbc545d2e3c478702 Author: Marc Yang Date: Mon Mar 28 17:55:43 2011 -0700 mwifiex: remove unused radio_on variable and macros The radio_on variable is defined but never used. Signed-off-by: Marc Yang Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit f986b6d538c9351c99108b51be9f77ac1b300b16 Author: Marc Yang Date: Mon Mar 28 17:55:42 2011 -0700 mwifiex: remove MWIFIEX_AUTH_MODE_ macros replace them with NL80211_AUTHTYPE_ macros Signed-off-by: Marc Yang Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit eecd8250e492ffc4e7b72953cda9c2f3ba0e6ccc Author: Bing Zhao Date: Mon Mar 28 17:55:41 2011 -0700 mwifiex: remove MWIFIEX_BSS_MODE_ macros replace them with NL80211_IFTYPE_ macros Also remove redundant functions mwifiex_drv_get_mode() and mwifiex_bss_ioctl_mode(). Signed-off-by: Bing Zhao Signed-off-by: Amitkumar Karwar Signed-off-by: John W. Linville commit 6a4c499e86f54ed9316a87e7ddc6b7d33adb4976 Author: Helmut Schaa Date: Mon Mar 28 13:35:51 2011 +0200 rt2x00: Add an error message when trying to send on a full queue We already tell mac80211 to stop the queue when we hit a certain threshold. Hence, it shouldn't happen at all that a frame gets queued for tx on a full queue. Add an error message for this case. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f16d2db704b873d34cec54f992637f3579e10e08 Author: Helmut Schaa Date: Mon Mar 28 13:35:21 2011 +0200 rt2x00: 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 rt2x00 should send a BlockAckReq if the transmission of an AMPDU subframe fails. Introduce a new flag TXDONE_AMPDU to indicate that this is an AMPDU subframe and pass IEEE80211_TX_STAT_AMPDU_NO_BACK to mac80211 if an AMPDU subframe failed during transmission. This fixes aggregation problems with Intel 5100 Windows STAs (and maybe others as well). Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit b35e77cf84137bbb4b6888dc90616eb0b452ea36 Author: Ivo van Doorn Date: Mon Mar 28 13:34:50 2011 +0200 rt2x00: Add support for the ZyXEL NWD-211AN USB Add new USB ID Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 351151e8ace033fe3b1977516b32a6c76e9a3f6d Author: Helmut Schaa Date: Mon Mar 28 13:34:15 2011 +0200 rt2x00: Fix STBC transmissions to STAs with Rx STBC > 1 For STBC transmissions rt2x00 used the number of RxSTBC streams the destination STA indicates in its HT capabilities as STBC value in the TXWI. However, the legacy drivers and our own comment in rt2800.h suggest that the STBC field in the TXWI only allows a value of 0 or 1. The values 2 and 3 are reserved (probably for future devices). And indeed, STBC transmissions to STAs indicating more then 1 RxSTBC stream fail when the STBC field is set to something >1. Fix this by only setting the STBC field to 1 when STBC should be used. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9e33a3553821418b2c4f53d09311476c55176b13 Author: Helmut Schaa Date: Mon Mar 28 13:33:40 2011 +0200 rt2x00: Implement tx power temperature compensation rt2800 devices should adjust their tx power in accordance with the eeproms temperature calibration values. Add a new driver callback gain_calibration that is called every 4 seconds. The rt2800 gain calibration routine simply runs the tx power configuration that takes care of calculating the temperature compensation delta. We don't need to synchronize the calls to rt2800_config_txpower as they should all happen from mac80211's single threaded workqueue. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2f2bb7e8bdc977c94cdaaf84328526555eba89b1 Author: Helmut Schaa Date: Mon Mar 28 13:33:04 2011 +0200 rt2x00: Remove obsolete rt2x00queue_align_payload Since commit d1c3a37ceeb1a5ea02991a0476355f1a1d3b3e83 ("mac80211: clarify alignment docs, fix up alignment") removed the requirement for a 4-byte aligned payload rt2x00queue_align_payload is obsolete as mac80211 will align the payload when it passes the frame to the net stack. As a result we can remove the call to rt2x00queue_align_payload in the rx path and since that's the last user we can remove rt2x00queue_align_payload altogether. One advantage is that we save some alignment operations for frames that don't need to be aligned (for example beause they are not passed to the net stack). Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fa71a160272c0eec9c04102ab2a82befb7cb107f Author: Helmut Schaa Date: Mon Mar 28 13:32:32 2011 +0200 rt2x00: Indention cleanup in rt2800lib Fix the indention in rt2800_compesate_txpower and also fix a typo in the function name rt2800_compesate_txpower -> rt2800_compensate_txpower. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2af242e19f06cfaade7ac8608c9df8af1e0fbb34 Author: Helmut Schaa Date: Mon Mar 28 13:32:01 2011 +0200 rt2x00: Don't recalculate HT40 compensation for each rate Previously the HT40 tx power compensation value was calculated for each rate. However, the calculation is independent of the tx rate and as such can be precalculated and just passed in for each rate. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 75faae8b80171b447bfc4bac448308676fb8a663 Author: Helmut Schaa Date: Mon Mar 28 13:31:30 2011 +0200 rt2x00: Restructure bw_comp calculation Move the HT40 check inside the calculation function to make it easier for a later cleanup. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit aca7305be5cd9e07f042e6bf6547e7c5635f0041 Author: Helmut Schaa Date: Mon Mar 28 13:30:59 2011 +0200 rt2x00: Remove DRIVER_SUPPORT_WATCHDOG flag We can simply check if the driver registered the watchdog callback. There's no need to have an additional flag for that. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f78987cf8bb740b7a3636c08e003f1976f860cfc Author: Helmut Schaa Date: Mon Mar 28 13:30:36 2011 +0200 rt2x00: Calculate tx status fifo size instead of hardcoding it Instead of hardcoding the tx status fifo size as 512 calculate it based on the number of tx queues and the number of entries per queue. Also round the size up to a power of 2 as kfifo would otherwise round it down. On rt2800pci this will increase the kfifo size from 512 bytes to 1024 bytes which is then able to hold the tx status for all entries in all tx queues. Furthermore, if the number of tx queues or tx entries changes in the future (use of the MGMT queue for example) the kfifo size doesn't need to be updated. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2e7798b7c12bdaab4a4aee76d6d1ab7c986234ac Author: Helmut Schaa Date: Mon Mar 28 13:30:09 2011 +0200 rt2x00: Limit rt2800pci txdone processing to 16 entries at once Instead of reporting an unlimited number of tx status reports to mac80211 stop after 16 frames and reschedule the tx status tasklet. This allows other tasklets to be run inbetween. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 166389375d5a3894aa00a9c2e490ac4b9af2a891 Author: Helmut Schaa Date: Mon Mar 28 13:29:44 2011 +0200 rt2x00: Limit rt2x00pci rxdone processing to 16 entries at once Instead of receiving an unlimited number of frames, stop after 16 entries and reschedule the rxdone tasklet. This allows other tasklets to be run inbetween. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 324732848c42bf79988479ee1b4359e15f08154b Author: Larry Finger Date: Sun Mar 27 16:19:57 2011 -0500 rtlwifi: Remove unused/unneeded variables Remove some unused variables and correct spelling errors. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 6d2bd916afe6950b50f750cd82bbb9c6ff58611f Author: Marc Yang Date: Fri Mar 25 19:47:02 2011 -0700 mwifiex: use IEEE80211_HT_CAP_ macros for 11n cap_info The hw_dot_11n_dev_cap reported by firmware hw_spec has different format than the 11n capabilities. Hence a lot of SET_ and RESET_ bit operation macros were used to convert the dev_cap format to 11n capability format. However the locally defined 11n ht_cap macros are not necessary as we can use IEEE80211_HT_CAP_ macros directly. The 32-bit dev_cap bitmap is added as comment to explain the mapping between firmware and 11n spec. Some unused macros and unnecessary adapter variables are also removed. Signed-off-by: Marc Yang Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit b93f85f0fb019f527b68569aafb836c94b89a47e Author: Bing Zhao Date: Fri Mar 25 19:47:01 2011 -0700 mwifiex: remove macro SHORT_SLOT_TIME_DISABLED and SHORT_SLOT_TIME_ENABLED. Use WLAN_CAPABILITY_SHORT_SLOT_TIME instead. Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 5f9f1812b68a2979bc97399cd4954f1c191986af Author: Felix Fietkau Date: Fri Mar 25 21:39:19 2011 +0100 mac80211: remove the dependency on crypto_blkcipher The only thing that using crypto_blkcipher with ecb does over just using arc4 directly is wrapping the encrypt/decrypt function into a for loop, looping over each individual character. To be able to do this, it pulls in around 40 kb worth of unnecessary kernel modules (at least on a MIPS embedded device). Using arc4 directly not only eliminates those dependencies, it also makes the code smaller. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 203afecaa320fa8c541ce130aed449ff53f5b4aa Author: Marc Yang Date: Thu Mar 24 20:49:39 2011 -0700 mwifiex: remove unnecessary _set_auth functions mwifiex_set_encrypt_mode() mwifiex_set_auth_mode() mwifiex_set_auth() These functions are confusing and misleading. And they are really not needed at all. Some unused definitions are also removed. Signed-off-by: Marc Yang Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 0022801c893e953ebff8e0ad00cc22716055babf Author: Yogesh Ashok Powar Date: Thu Mar 24 20:49:38 2011 -0700 mwifiex: remove helper functions for displaying 11n capabilities 'iw list' is sufficient to retrieve the information which was displayed by these functions. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 1ed76487ce115110171480deabd3cd4656f9803e Author: Felix Fietkau Date: Thu Mar 24 19:46:18 2011 +0100 mac80211: fix suppressing probe responses in ad-hoc mode The commit "mac80211: reply to directed probes in IBSS" changed ad-hoc specific code to respond to unicast probe requests, even if drv_tx_last_beacon returns false, however due to confusion over the meaning of the IEEE80211_RX_RA_MATCH flag, it also unconditionally enabled responding to multicast probe requests. Fix this by explicitly checking for a multicast destination address instead. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 2638126a7c7cce87d51ae5d3bfaca9350503c0b4 Author: Mohammed Shafi Shajakhan Date: Thu Mar 24 19:06:40 2011 +0530 ath9k_hw: remove ath9k_get_channel_edges This function is nowhere used. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 468b0d4482cadd174298e2fe9bde6a20044f90f5 Author: Mohammed Shafi Shajakhan Date: Thu Mar 24 15:49:54 2011 +0530 ath9k: remove set11n_virtualmorefrag This does not seems to be used anywhere so remove it. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit b64c6a3d1ab1bab9396e6efd2fd03479be4d0a63 Author: Mohammed Shafi Shajakhan Date: Thu Mar 24 14:36:16 2011 +0530 ath9k: cleanup few redundant macros Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 279daf64c01e391379060a6d30e9827cc0c56612 Author: Ben Greear Date: Wed Mar 23 14:04:31 2011 -0700 wifi: Add hwflags to debugfs. Aids debugging wifi behaviour. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 18d6a0f5b6693d630a8da9dfd6cac1ea4e5dccab Merge: 83860c5 7eaa6a5 Author: John W. Linville Date: Mon Apr 4 16:10:36 2011 -0400 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 083dd8b8aacfcb62d65fb53ec744090879dd8150 Merge: 95b8fba a14b289 Author: David S. Miller Date: Mon Apr 4 10:39:12 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 220b881a77eca96afdd6037dbca3441e8938228f Merge: 80a1e1d 6f5ef99 Author: Gustavo F. Padovan Date: Thu Mar 31 16:26:01 2011 -0300 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-2.6 commit 6f5ef998b7b0b1bf1471654bf6176a5419197128 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 34bd0273b631742e8d929c80e90cb7782105d8da 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 08ba53824a7fb224085a0ff73eab213cab0197e9 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 8693ac900e230c85d6fff428984a0f983330844d 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 105721328f0fa53e772592eaca17ee0023f0cc87 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 23e9fde2b344c22c5176c7fd37b52c3776ef5aba 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 88d377b6c3c28ee54cd4c76bfe6e60f2d9bf6ae1 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 80a1e1dbf62a08984d4c1bfb5a4bca38c3e1664f Author: Johan Hedberg Date: Mon Mar 28 14:07:23 2011 +0300 Bluetooth: Add local Extended Inquiry Response (EIR) support This patch adds automated creation of the local EIR data based on what 16-bit UUIDs are registered and what the device name is. This should cover the majority use cases, however things like 32/128-bit UUIDs, TX power and Device ID will need to be added later to be on par with what bluetoothd is capable of doing (without the Management interface). Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit e90165be9a4d6a1e8fa632fcae00a5294abd3981 Author: Andrei Emeltchenko Date: Fri Mar 25 11:31:41 2011 +0200 Bluetooth: check L2CAP info_rsp ident and state Information requests/responses are unbound to L2CAP channel. Patch fixes issue arising when two devices connects at the same time to each other. This way we do not process out of the context messages. We are safe dropping info_rsp since info_timer is left running. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit d1010240fa9aac93da56a683c1295e759ee69d10 Author: Gustavo F. Padovan Date: Fri Mar 25 00:39:48 2011 -0300 Bluetooth: Move bt_accept_enqueue() to outside __l2cap_chan_add bt_accept_enqueue() is not really a channel action, so do it outside. This patch is part of a set of patches to create an struct l2cap_chan to have a clear separation between the struct sock and the L2CAP channel stuff. Signed-off-by: Gustavo F. Padovan commit ce85ee13e6b5d078f4a6c3b02ba7cd0fa140c552 Author: Szymon Janc Date: Tue Mar 22 13:12:23 2011 +0100 Bluetooth: Enable support for out of band association model If remote side reports oob availability or we are pairing initiator use oob data for pairing if available. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 2763eda6ccaf126633bb3180f440c8f3589f0679 Author: Szymon Janc Date: Tue Mar 22 13:12:22 2011 +0100 Bluetooth: Add add/remove_remote_oob_data management commands This patch adds commands to add and remove remote OOB data to the managment interface. Remote data is stored in kernel and can be used by corresponding HCI commands and events when needed. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit c35938b2f56547ee77b5a038fe0db394aeac59bb Author: Szymon Janc Date: Tue Mar 22 13:12:21 2011 +0100 Bluetooth: Add read_local_oob_data management command This patch adds a command to read local OOB data to the managment interface. The command maps directly to the Read Local OOB Data HCI command. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 8fce6357a9e72c4c9c846f9951895954bfb34ad1 Author: Szymon Janc Date: Tue Mar 22 13:12:20 2011 +0100 Bluetooth: Allow for NULL data in mgmt_pending_add Since index is in mgmt_hdr it is possible to have mgmt command with no parameters that still needs to add itself to pending list. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit c68fb7ff29622a7db8264f939f94e37330c27080 Author: Szymon Janc Date: Tue Mar 22 13:12:19 2011 +0100 Bluetooth: Rename cmd to param in pending_cmd This field holds not whole command but only command specific parameters. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit e0e185efbad442a659657c152a9cd9b3fdcb43f2 Author: Szymon Janc Date: Mon Mar 21 14:20:05 2011 +0100 Bluetooth: Fix checkpatch error in cmtp.h Do not use C99 // comments. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit ffd13320aa96e07f3048ebdcc603aaf38bed0c47 Author: Szymon Janc Date: Mon Mar 21 14:20:04 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 58aac468be411f2a9b4a28f2ed8e6e2a0db04267 Author: Szymon Janc Date: Mon Mar 21 14:20:03 2011 +0100 Bluetooth: Do not use assignments in IF conditions Fix checkpatch warnings concerning assignments in if conditions. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 17f09a7e4ec5dd6a0d96498da6bf78762fba4468 Author: Szymon Janc Date: Mon Mar 21 14:20:01 2011 +0100 Bluetooth: Fix checkpatch errors, code style issues and typos in hidp Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 8c20aa9ffc5a5ef52b6148e905671a8d12b40c87 Author: Szymon Janc Date: Mon Mar 21 14:19:59 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 3aad75a128e2f2b8da31de1df4b9b9b4a8f65c66 Author: Szymon Janc Date: Mon Mar 21 14:19:58 2011 +0100 Bluetooth: Fix checkpatch errors and some code style issues in bnep Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit a3d9bd4c00f13defd4c0fdcf8b47f8764a69e54d Author: Szymon Janc Date: Mon Mar 21 14:19:57 2011 +0100 Bluetooth: Opencode macros in bnep/core.c BNEP_RX_TYPES and INCA macros have only one user each and don't provide any benefits compared to opencoding them. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 2c6d1a2eec5c49793c6760546d05515ce1b76881 Author: Gustavo F. Padovan Date: Wed Mar 23 14:38:32 2011 -0300 Bluetooth: Improve error message on wrong link type Signed-off-by: Gustavo F. Padovan commit b312b161ecb833b1bce5c4a97853f4a4f40c7901 Author: Johan Hedberg Date: Wed Mar 16 14:29:37 2011 +0200 Bluetooth: mgmt: Add support for setting the local name This patch adds a new set_local_name management command as well as a local_name_changed management event. With these user space can both change the local name as well as monitor changes to it by others. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit dc4fe30b8675033e538e2dea50be8af9c75f1b6a Author: Johan Hedberg Date: Wed Mar 16 14:29:36 2011 +0200 Bluetooth: mgmt: Add local name information to read_info reply This patch adds the name of the adapter to the reply of the read_info management command. The management messages reserve 249 bytes for the name instead of 248 (like in the HCI spec) so that there is always a guarantee that it is nul-terminated. That way it can safely be passed onto string manipulation functions. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 1f6c6378c59f3ddac9ed89a68ccefe2611300c09 Author: Johan Hedberg Date: Wed Mar 16 14:29:35 2011 +0200 Bluetooth: Add define for the maximum name length on HCI level This patch adds a clear define for the maximum device name length in HCI messages and thereby avoids magic numbers in the code. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit f0681a68dd3a32699891cd1de93459aee5af7728 Author: Gustavo F. Padovan Date: Wed Mar 16 21:06:52 2011 -0300 Bluetooth: remove unnecessary function declaration hci_notify() doesn't need declaration first. Signed-off-by: Gustavo F. Padovan commit ab392d2d6d4e2e50502985eead545b44ee58802c Author: Javier Martinez Canillas Date: Mon Mar 28 16:27:31 2011 +0000 drivers/net: Remove IRQF_SAMPLE_RANDOM flag from network drivers The IRQF_SAMPLE_RANDOM flag is marked as deprecated and will be removed. Every input point to the kernel's entropy pool have to better document the type of entropy source it is. drivers/char/random.c now implements a set of interfaces that can be used for devices to collect enviromental noise. IRQF_SAMPLE_RANDOM will be replaced with these add_*_randomness exported functions. Network drivers are not a good source of entropy. They use as a source of entropy essentially a remote host. Which means that the source of entropy can be potentially controlled by an attacker. Also, with heavy workloads the entropy decreases due to less hardware interrupts happening thanks to irq mitigation and NAPI. If a system relies in its network interface as a entropy source it has a false sense of security. Systems that don't have devices whose drivers are good sources of entropy, should either use a hardware random number generator or feed the kernel's entropy pool from userspace using other sources of entropy such as EGD, video_entropyd, timer_entropyd and audio-entropyd. Signed-off-by: Javier Martinez Canillas Signed-off-by: David S. Miller commit 83860c594f65945b1a2c99e84338e1145cd34890 Author: Felix Fietkau Date: Wed Mar 23 20:57:33 2011 +0100 ath9k_hw: remove pCap->tx_triglevel_max It has the same purpose (and value) as ah->config.max_txtrig_level Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 340d0ea774d4ff0038a068e14340b59c5a1fce2c Author: Felix Fietkau Date: Wed Mar 23 20:57:32 2011 +0100 ath9k_hw: remove ATH9K_HW_CAP_ENHANCEDPM It is not used anywhere Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 6de12a1bcef0145436e815d30a3d48b9fadb199d Author: Felix Fietkau Date: Wed Mar 23 20:57:31 2011 +0100 ath9k_hw: remove pCap->keycache_size Similar to the number of tx queue, the number of keycache entries depends on the chip and shouldn't be messed with based on EEPROM data. Remove this field and stick to using AR_KEYTABLE_SIZE Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit c429bdcf8fe033f04830a960e07c13a01f631499 Author: Felix Fietkau Date: Wed Mar 23 20:57:30 2011 +0100 ath9k_hw: remove pCap->reg_cap It is not used anywhere and seems pointless Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 0db156e9648e69c34e8e88328358a26611fd71e3 Author: Felix Fietkau Date: Wed Mar 23 20:57:29 2011 +0100 ath9k_hw: remove ah->config.ht_enable It is only used in one place, and the device id check that it's based on can be moved there as well. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f4c607dc53ece4ac15afed163292425efa060775 Author: Felix Fietkau Date: Wed Mar 23 20:57:28 2011 +0100 ath9k_hw: remove pCap->total_queues The EEPROM contains a field that can restrict the number of hardware queues, however this is not only useless (all the known chips contain the same number of hardware queues), but also potentially dangerous in case of a misprogrammed EEPROM (could trigger driver crashes), so let's just ignore it completely. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit a9b6b2569cf107fe541381e82faa0a3c47a9a7fd Author: Felix Fietkau Date: Wed Mar 23 20:57:27 2011 +0100 ath9k_hw: turn a few big macros into functions RF_BANK_SETUP, REG_WRITE_RF_ARRAY and REG_WRITE_ARRAY are way too big, so they shouldn't be inlined at every single callsite, especially since they can easily be turned into real functions. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit ca7a4deb4a1a87dbdc6e7cab0d1022a535204226 Author: Felix Fietkau Date: Wed Mar 23 20:57:26 2011 +0100 ath9k_hw: replace REG_READ+REG_WRITE with REG_RMW It's easier to read and it slightly decreases code size Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 845e03c93dda2c00ffb5c68a1f7c8efc412d7c1a Author: Felix Fietkau Date: Wed Mar 23 20:57:25 2011 +0100 ath9k_hw: add a new register op for read-mask-write Reduces the number of calls to register ops. On MIPS this reduces the ath9k_hw binary size from 321k down to 310k Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f9f84e96f6d642aa7b337c22cbb7d6f936039fda Author: Felix Fietkau Date: Wed Mar 23 20:57:24 2011 +0100 ath9k_hw: embed the ath_ops callbacks in the ath_hw struct With this change, loading the address to a register read/write function costs only one pointer dereference instead of two. On MIPS this reduces ath9k_hw binary size from 326k down to 321k. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit ec15e68ba6a505631016f230899bafbb7b8cd0d6 Author: Jouni Malinen Date: Wed Mar 23 15:29:52 2011 +0200 cfg80211: Add nl80211 event for deletion of a station entry Indicate an NL80211_CMD_DEL_STATION event when a station entry in mac80211 is deleted to match with the NL80211_CMD_NEW_STATION event that is used when the entry was added. This is needed, e.g., to allow user space to remove a peer from RSN IBSS Authenticator state machine to avoid re-authentication and re-keying delays when the peer is not reachable anymore. Signed-off-by: Jouni Malinen Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit cfdc9a8bb8d90c6aa212a5a881862599673c443d Author: Jouni Malinen Date: Wed Mar 23 14:52:19 2011 +0200 ath9k: Support RSN IBSS Add support for using RSN IBSS with ath9k. For now, this uses software crypto for group addressed frames in RSN IBSS, but that may be optimized in the future by extending the key cache design to support per-STA RX GTK. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit c944daf46a8cfa50d6c1f54d4842180d0384c594 Author: Felix Fietkau Date: Tue Mar 22 21:54:19 2011 +0100 ath9k: fix stuck beacon detection Stuck beacon detection is supposed to trigger when 9 consecutive beacons could not be sent by the hardware. When the driver runs only one active AP mode interface, it still configures the hardware beacon timer for 4 (ATH_BCBUF) beacon slots slots, which causes stuck beacon detection to be reset if ath9k_hw_stoptxdma clears the stuck frames between SWBA intervals. Fix this by not resetting the missed beacon count for empty slots and multiplying the threshold not by the maximum number of beacon slots but by the configured number of beacon interfaces. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 87c510fe2d4f193cd4eb518364a2dfa5059b1218 Author: Felix Fietkau Date: Tue Mar 22 21:54:18 2011 +0100 ath9k: trigger nfcal only after multiple missed beacons in AP mode Single missed (i.e. not transmitted) beacons in AP mode are not very rare and not necessarily an indicator of strong interference, so only trigger noise floor recalibration when multiple consecutive beacons could not be transmitted. Signed-off-by: John W. Linville commit dd347f2fb2ddb20a80e9a8285252bf208ab91398 Author: Felix Fietkau Date: Tue Mar 22 21:54:17 2011 +0100 ath9k: fix beacon timer handling issues AP mode beacon timers in ath9k are configured in milliseconds, which breaks when increasing ATH_BCBUF to 8 instead of 4 (due to rounding errors). Since the hardware timers are actually configured in microseconds, it's better to let the driver use that unit directly. To be able to do that, the beacon interval parameter abuse for passing certain flags needs to be removed. This is easy to do, because those flags are completely unnecessary anyway. ATH9K_BEACON_ENA is ignored, ATH9K_BEACON_RESET_TSF can be replaced with calling ath9k_hw_reset_tsf from the driver directly. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f39de992540cf68cc865498242f963f70f7e97b3 Author: Vasily Khoruzhick Date: Wed Mar 16 16:41:46 2011 +0200 libertas_spi: Add support for suspend/resume Add support for suspend/resume in if_spi. Signed-off-by: Vasily Khoruzhick Acked-by: Dan Williams Signed-off-by: John W. Linville commit 5e6e3a92b9a4c9416b17f468fa5c7fa2233b8b4e Author: Bing Zhao Date: Mon Mar 21 18:00:50 2011 -0700 wireless: mwifiex: initial commit for Marvell mwifiex driver This driver adds WiFi support for Marvell 802.11n based chipsets with SDIO interface. Currently only SD8787 is supported. More chipsets will be supported later. drivers/net/wireless/mwifiex/ Signed-off-by: Nishant Sarmukadam Signed-off-by: Amitkumar Karwar Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: Yogesh Ashok Powar Signed-off-by: Marc Yang Signed-off-by: Ramesh Radhakrishnan Signed-off-by: Frank Huang Signed-off-by: John W. Linville commit 903946e6e21ef4dd678acafb8881cabde9182caf Author: Luis R. Rodriguez Date: Mon Mar 21 17:27:35 2011 -0700 ath9k_hw: remove AR9485 1.0 support Only AR9485 1.1 was sold. This debloats the driver by ~14 KiB. text data bss dec hex filename 300413 624 1056 302093 49c0d drivers/net/wireless/ath/ath9k/ath9k_hw.ko text data bss dec hex filename 310285 624 1056 311965 4c29d drivers/net/wireless/ath/ath9k/ath9k_hw-old.ko $ du -b ath9k_hw* 6210541 ath9k_hw.ko 6225089 ath9k_hw-old.ko Cc: Bill Wu Cc: Paul Shaw Cc: Forbes Tsai Cc: Jesmine Chen Cc: Marvian Chen Cc: Vivek Natarajan Cc: Bernadette Yetso Cc: Sarvesh Shrivastava Acked-by: Yi-Chen Su Acked-by: Jeffrey Chung Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit be7974aa105dc47bb25013016d1fcad17da17783 Author: Helmut Schaa Date: Mon Mar 21 15:07:55 2011 +0100 mac80211: Minor optimization in tx status handling ieee80211_tx_status iterates over all tx rates the driver reports back in order to 1) mark tx rates as invalid if the driver cannot have tried that rate 2) find the actually used tx rate for the final retransmission By leaving the for loop when the first invalid rate index is found we can move the rates_idx assignment after the loop and therefore save a few assignments and conditionals. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit a9cbe96d19861755680a712b709cccac5dc6aca8 Author: Felix Fietkau Date: Sat Mar 19 13:55:43 2011 +0100 ath9k: remove the pending frames ath_txq_schedule workaround This workaround called ath_txq_schedule whenever there were still pending frames for a queue, but the queue depth was zero. Because of its its high false positive probability (e.g. with paused TIDs) and because it is in the way of other pending work (AP powersave fixes), it is better to remove this code entirely. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 598cdd5246ea158310942699e5008ac7f687ad62 Author: Felix Fietkau Date: Sat Mar 19 13:55:42 2011 +0100 ath9k_hw: force rx chainmask to 7 on AR9100 Most AR9100 devices already have a chainmask of 7 (three antennas), however on the ones that don't (rx and tx chainmask set to 5), problems with IQ mismatch calibration have been observed. This shows up as tx queue hangs (and subsequent hardware resets) if traffic is sent during this type of calibration. Forcing the rx chainmask to 7 fixes the calibration issues with no apparent negative side effects on throughput and stability. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f171760c558946c7a2e0ee310dfb968f9d4853c6 Author: Felix Fietkau Date: Sat Mar 19 13:55:41 2011 +0100 ath9k_hw: enable a BlockAck related fixup specific to AR9100 Fixes interop issues with aggregation in combination with multi-BSSID Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 6de66dd963ddd669667a81a2401f2fd6472ff55c Author: Felix Fietkau Date: Sat Mar 19 13:55:40 2011 +0100 ath9k: add support for overriding LED pin and GPIO settings from platform data Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 6fb1b1e18fe3d141c54182c5d5b3af823bed455f Author: Felix Fietkau Date: Sat Mar 19 13:55:39 2011 +0100 ath9k: add support for overriding the MAC address through platform data On some devices the correct MAC address is not in the EEPROM data, but stored somewhere else. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 691680b8335fa8995b190676f53e3bcef6477b4a Author: Felix Fietkau Date: Sat Mar 19 13:55:38 2011 +0100 ath9k: add an interface for overriding the value of specific GPIO pins Some devices control antenna settings or other things through GPIO pins of the wireless interface. Add a debugfs interface for changing those and keeping them set across card resets. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit c70cab1a45d56395db03957f6504c6b613bece5b Author: Felix Fietkau Date: Sat Mar 19 13:55:37 2011 +0100 ath9k: remove unnecessary debugfs return code checks Since the ath9k debugfs directory is cleaned up by debugfs_remove_recursive, there's no point in checking the return code of every single debugfs create line. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 716b1bf3c5040f2303d6d1d0dfee6d8851cedc9d Author: Larry Finger Date: Thu Mar 17 21:53:01 2011 -0500 rtlwifi: rtl8192c{e,u}: Remove some extraneous casts on memcpy commands Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit a0e7c6cfe2a04af450274638845802b5c384e8df Author: Nishant Sarmukadam Date: Thu Mar 17 11:58:49 2011 -0700 mwl8k: Queue ADDBA requests in respective data queues Queue ADDBA requests in respective data queues to avoid ADDBA requests and the the related data packets (to the same ra/tid) queued in the hardware to be sent out asynchronously. Signed-off-by: Nishant Sarmukadam Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 170335432ad36584a6d24fc1fd903024d221ef55 Author: Nishant Sarmukadam Date: Thu Mar 17 11:58:48 2011 -0700 mwl8k: Check outgoing rate for a station to decide if ampdu can be created If the outgoing packet rate to a particular HT station is <=6.5 Mbps, do not attempt to create an ampdu. Also, if the outgoing rate is legacy rate, do not create an ampdu. Signed-off-by: Nishant Sarmukadam Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 3aefc37ee789188f0d4488cae04ff618f4c4ddf6 Author: Nishant Sarmukadam Date: Thu Mar 17 11:58:47 2011 -0700 mwl8k: Handle the watchdog event from the firmware When an ampdu stream is on, if the firmware rate adaptation logic decides that the outgoing packet rate to the station needs to go below 6.5Mbps (non HT rate), it sends an event indicating that the ampdu stream needs to be destroyed. Handle this event in the driver and destroy the ampdu stream so that the rate can go below 6.5Mbps Signed-off-by: Nishant Sarmukadam Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 65f3ddcd08fe24490359274a8c9bf526e81357a5 Author: Nishant Sarmukadam Date: Thu Mar 17 11:58:46 2011 -0700 mwl8k: Initiate BA sessions Specifically, handle ampdu_action and attempt to start a BA session on receiving the first qos packet from mac80211 for transmission to a HT sta. While the BA session is being created, all the packets belonging to that stream will be dropped to prevent sequence number mismatch at the recipient. Contains contributions from: Yogesh Powar Pradeep Nemavat Brian Cavagnolo Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit ac109fd0427008e5b55e0e52e59c364de6d686fe Author: Brian Cavagnolo Date: Thu Mar 17 11:58:45 2011 -0700 mwl8k: add internal API for managing AMPDU streams In particular, we can now add, start, lookup, and remove streams. Based on work by Nishant Sarmukadam and Pradeep Nemavat . Signed-off-by: Pradeep Nemavat Signed-off-by: Nishant Sarmukadam Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit e600707b021efdc109e7becd467798da339ec26d Author: Brian Cavagnolo Date: Thu Mar 17 11:58:44 2011 -0700 mwl8k: differentiate between WMM queues and AMPDU queues We now have two different kinds of queues. And the number of AMPDU queues may vary. So we must be clear about which queues we are dealing with. Note that when we report the number of queues to mac80211, we only report the WMM queues. Based on work by Yogesh Powar . Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 5faa1aff08ef8d82b98ac2dfd7beb62ae6eda5e5 Author: Nishant Sarmukadam Date: Thu Mar 17 11:58:43 2011 -0700 mwl8k: add support for block ack commands Signed-off-by: Pradeep Nemavat Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 8a7a578c2e3ac463a17fe30b11ada0509658a952 Author: Brian Cavagnolo Date: Thu Mar 17 11:58:42 2011 -0700 mwl8k: update to ap firmware API version 2 Firmware APIv2 adds the following enhancements: -- capabilities are reported by the firmware -- API supports up to 8 dedicated AMPDU streams -- optional packet timestamping and expiration can be enabled. Specifically, packets that are queued in firmware for longer than 500ms will be dropped if this option is used. Based on work by "Nishant Sarmukadam" Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 73b46320209e9fe0d65aba1b8c21489278047574 Author: Brian Cavagnolo Date: Thu Mar 17 11:58:41 2011 -0700 mwl8k: refactor in preparation for APIv2 update Specifically, APIv2 will specify a variable number of AMPDU queues in the MWL8K_CMD_GET_HW_SPEC. So init the tx queues after MWL8K_CMD_GET_HW_SPEC for ap fw. Also, we make it safe to deinit queues that have not been init'd. This happens if the mwl8k_get_hw_spec_ap routine fails, for example. Signed-off-by: Nishant Sarmukadam Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit c835b21405fa551cd5af2c7bfe1c3ae129c5f8ef Author: Johannes Berg Date: Tue Mar 15 23:17:01 2011 +0100 mac80211: add comment about reordering Took me a minute to figure this out, maybe it's better documented... Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e7fc63388def06d2d1bdb6916748c92c037a42c6 Author: Rajkumar Manoharan Date: Tue Mar 15 23:11:35 2011 +0530 ath9k_hw: Speedup register ops for HTC driver Fine-tuning register write operation and avoid unnecessay delays for ath9k_htc driver, saves hw reset time which improves scanning time and also solves one of the following scenario. Sometimes the ACK is sent by STA for assoc response is not seen at AP side. So the AP continues to send retry assoc responses. At the STA side, since the assoc response was already forwarded to mac80211, it proceeded to channel change which in turns does chip reset. In most of the cases the chip reset was completed before max retries are reached at AP side. Hence STA can able to ACK the retried frames again. But in clear environment these retries are completed within shortspan of time. Since ath9k_htc consumes more time for hw reset, this latency is causing dissociation by AP due to max reties are reached. This issue was originally reported with Cisco Aironet 1250 AP in HT40 mode in noise free environment. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit b0a9ede228175c25f76314a028d305fd5b2de427 Author: Rajkumar Manoharan Date: Tue Mar 15 19:55:38 2011 +0530 ath: Speedup key set/reset ops for HTC driver By enabling buffered register write for ath9k_htc driver avoids unnecessary dissociation while rekeying phase under heavy traffic exchange. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 81544026e4cecb85a8b727d5f64cb3c8a8cb64a3 Author: Rajkumar Manoharan Date: Tue Mar 15 19:55:36 2011 +0530 ath9k_hw: Fix throughput drops in HT40 mode for AR9287 chips Doing adc gain calibration for AR9287 chips is causing throughput drops in HT40 mode. Remove ADC Gain from supported calibration list. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 6d64ab7f9240e3201fde3fd16ce4227bd795d2ab Author: Rajkumar Manoharan Date: Tue Mar 15 19:55:35 2011 +0530 ath9k_htc: Fix LED pin for AR9287 HTC device Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 22dd2fd283ea96b4d45185d3e861ef46005082f4 Author: Dan Carpenter Date: Tue Mar 15 10:03:24 2011 +0300 iwlwifi: remove duplicate initialization in __iwl_down() We initialize exit_pending twice. It's the second initialization which is correct. That was added in d745d472af "iwlwifi: cancel scan when down the device". Signed-off-by: Dan Carpenter Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 7eaa6a5e964f1ab02d849bda36950c0d30be8ce2 Author: Wey-Yi Guy Date: Tue Mar 22 08:05:38 2011 -0700 iwlagn: remove deprecated module parameters Number of deprecated module parameters need to be remove for 2.6.40 kernel Signed-off-by: Wey-Yi Guy commit f7d046f91bd165e747b9a95d089a4168b6f9796a Author: Wey-Yi Guy Date: Tue Mar 22 08:05:37 2011 -0700 iwlagn: remove reference to 3945 and 4965 After driver split, remove the unused reference to 3945 and 4965 Signed-off-by: Wey-Yi Guy commit 2a226ab67f2f9c46e534f37f867d3bf3af335d02 Author: Wey-Yi Guy Date: Tue Mar 22 08:05:36 2011 -0700 iwlagn: remove 3945 only station code After driver split, no more 3945 only station support needed. Signed-off-by: Wey-Yi Guy commit d6b8061824a03fbe915c6cf5be2b290ae44c4ec4 Author: Wey-Yi Guy Date: Mon Mar 21 16:53:38 2011 -0700 iwlwifi: remove legacy isr tasklet After driver split, no need for support legacy isr, remove it. Signed-off-by: Wey-Yi Guy commit 4263108c2a9028544cf4037fa4e72000ee456c33 Author: Daniel Halperin Date: Mon Mar 21 15:27:34 2011 -0700 iwlwifi: set default aggregation frame limit to 63 This gives much better performance at fast 3x3 rates (up to ~160 Mbps). The scheduler will still make most decisions about batch size based on available packets and RX parameters. Signed-off-by: Daniel Halperin Signed-off-by: Wey-Yi Guy commit 2520546aecc969372080448a2422b39eedb2a528 Author: Daniel Halperin Date: Fri Mar 18 18:48:55 2011 -0700 iwlwifi: add RATE_MCS_RATE_MSK Throughout the code we use rate_n_flags & 0xff to extract the lower byte of the rate_n_flags u32 that contains the information about the rate. Add a #define and remove the use of the magic number. Signed-off-by: Daniel Halperin Signed-off-by: Wey-Yi Guy commit d0eb633431ec922f8f9b2040f46d9b42a4cec193 Author: Daniel Halperin Date: Wed Mar 16 17:17:36 2011 -0700 iwlwifi: cleanup and bugfix tx aggregation code Since the driver split, there's no need for no_agg_framecnt_info since all devices have this set to false. Secondly, the compressed block ack handling code was broken. Fix this. (1) A shift less than zero simply implies that the buffer wrapped, this is expected. Remove the incorrect comment. (2) The (agg->frame_count > (64-sh)) condition can happen if the last frame is dropped. E.g., if I send 7 frames and the 6th is received but the 7th is lost, the other side may only shift the window 6, not 7 frames since the last bit is a 0. This is perfectly fine behavior and doesn't invalidate the feedback. (3) Store the feedback from a Compressed BA in the first newly received frame, rather than the start of the window. This way it will get processed by the rate selection code. Feedback stored in a non-received frame is likely to get overwritten by the retransmission. This is based on the approach taken by minstrel_ht. Signed-off-by: Daniel Halperin Signed-off-by: Wey-Yi Guy commit 374920cb0512f5938fdf1f5af4f9afa7502dd0f9 Author: Daniel Halperin Date: Wed Mar 16 19:16:36 2011 -0700 iwlwifi: limit number of attempts for highest HT rate When filling out its rate scale table, iwlwifi repeats the first HT rate IWL_HT_NUMBER_TRY times. The hardware scheduler will stop using aggregation for any frame that fails LINK_QUAL_AGG_DISABLE_START_DEF times. Currently, both these constants equal 3. If iwlwifi probes a faster rate than the link supports, all frames in a (potentially tens of frames large) batch will fail IWL_HT_NUMBER_TRY times. Because this happens to be as large as LINK_QUAL_AGG_DISABLE_START_DEF, all frames will then be sent individually. This leads to a short, but performance-degrading window where the legacy stop-and-wait MAC takes over. Bounding the initial rate by (LINK_QUAL_AGG_DISABLE_START_DEF-1) attempts makes the third try use a lower rate and hence more be likely to succeed. This somewhat mitigates the above described behavior. Signed-off-by: Daniel Halperin Signed-off-by: Wey-Yi Guy commit c8823ec1337017e23b99fb0814e2f3d62537f811 Author: Johannes Berg Date: Tue Mar 15 11:33:03 2011 -0700 iwlagn: fix aggregation queue scheduler setup iwlagn's hardware scheduler needs to be set up with the right aggregation frame limit and buffer sizes. To achieve this, we need to move the hardware queue setup to when the session becomes operational. Tested-by: Daniel Halperin Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 7ffef13d7a24654292c4641450f2794224b9eb5d Author: Johannes Berg Date: Tue Mar 15 04:59:10 2011 -0700 iwlagn: clean up TX aggregation code Since the driver split, there's no need for function pointers any more for aggregation queue setup and teardown as all devices now share the same code. Simplify this. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit d103e3448a3ecb9f81babd1f6d7f5a678e213c82 Author: Wey-Yi Guy Date: Thu Mar 10 03:17:16 2011 -0800 iwlagn: use 6030 configuration for 6035 series 6035 series of devices should use the same uCode as 6030 series, change it. Signed-off-by: Wey-Yi Guy