Generated by using: git log v2.6.35..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-wireless git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-allstable.git commit d1b113bb028999e82a8528e1484be8c23fb5a7d9 Merge: 9c5ea36 cca77b7 Author: Linus Torvalds Date: Mon Aug 23 18:30:30 2010 -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: (27 commits) netfilter: fix CONFIG_COMPAT support isdn/avm: fix build when PCMCIA is not enabled header: fix broken headers for user space e1000e: don't check for alternate MAC addr on parts that don't support it e1000e: disable ASPM L1 on 82573 ll_temac: Fix poll implementation netxen: fix a race in netxen_nic_get_stats() qlnic: fix a race in qlcnic_get_stats() irda: fix a race in irlan_eth_xmit() net: sh_eth: remove unused variable netxen: update version 4.0.74 netxen: fix inconsistent lock state vlan: Match underlying dev carrier on vlan add ibmveth: Fix opps during MTU change on an active device ehea: Fix synchronization between HW and SW send queue bnx2x: Update bnx2x version to 1.52.53-4 bnx2x: Fix PHY locking problem rds: fix a leak of kernel memory netlink: fix compat recvmsg netfilter: fix userspace header warning ... commit 09cd2b99c6cdd1e14e84c1febca2fb91e9f4e5ba Author: Changli Gao Date: Sun Aug 22 17:25:05 2010 +0000 header: fix broken headers for user space __packed is only defined in kernel space, so we should use __attribute__((packed)) for the code shared between kernel and user space. Two __attribute() annotations are replaced with __attribute__() too. Signed-off-by: Changli Gao Signed-off-by: David S. Miller commit 6a017e043a8c5e4f1e7c1152bc6477da8066f5f6 Author: Wey-Yi Guy Date: Wed Aug 18 12:53:28 2010 -0700 iwlwifi: use long monitor timer for 5300 series For 5000 series of devices, use long monitor timer to check stuck tx queues. This modification apply to all the 5000 series including 5300 and others. Cc: stable@kernel.org [2.6.35] Reported-by: drago01 Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 5db5584441c2dceb75696fb31a44ac7b9b925359 Author: Joe Perches Date: Wed Aug 11 19:11:19 2010 -0700 drivers/net/wireless: Restore upper case words in wiphy_ messages Commit c96c31e499b70964cfc88744046c998bb710e4b8 "(drivers/net/wireless: Use wiphy_)" inadvertently changed some upper case words to lower case. Restore the original case. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit e14f64c2079240082f3c5bf98d9ecf3dc6780338 Merge: 602586a e5093ae Author: Linus Torvalds Date: Tue Aug 17 18:34:37 2010 -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: net: Fix a memmove bug in dev_gro_receive() net sched: fix some kernel memory leaks netfilter: {ip,ip6,arp}_tables: avoid lockdep false positive Revert "netlink: netlink_recvmsg() fix" ipv6: remove sysctl jiffies conversion on gc_elasticity and min_adv_mss xfrm: Use GFP_ATOMIC in xfrm_compile_policy ath5k: disable ASPM L0s for all cards ath9k_htc: load proper firmware for device ID 7015 wl1251: fix trigger scan timeout usage ath9k_htc: Fix disconnect issue in HT40 mode. ath9k_htc: fix panic on packet injection using airbase-ng tool. ipw2100: register pm_qos request before registering pci driver commit 8b8ab9d5e352aae0dcae53c657b25ab61bb73f0f Author: Johannes Berg Date: Tue Aug 17 11:24:01 2010 +0200 iwlwifi: fix 3945 filter flags Applying the filter flags directly as done since commit 3474ad635db371b0d8d0ee40086f15d223d5b6a4 Author: Johannes Berg Date: Thu Apr 29 04:43:05 2010 -0700 iwlwifi: apply filter flags directly broke 3945 under some unknown circumstances, as reported by Alex. Since I want to keep the direct application of filter flags on iwlagn, duplicate the code into both 3945 and agn and remove committing the RXON that broke things from the 3945 version. Cc: stable@kernel.org [2.6.35] Reported-by: Alex Romosan Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c206a04fba2c3890bc95dc9c20ae2cf9740fae71 Author: John W. Linville Date: Fri Aug 13 18:47:33 2010 -0400 ipw2100: don't sync status queue entries These are allocated with pci_alloc_consistent, so calling pci_dma_sync_single_for_cpu is incorrect usage of the API. Remove this misuse and consequently avoid the following backtrace: WARNING: at lib/dma-debug.c:902 check_sync+0xce/0x43a() Hardware name: 2373HU6 ipw2100 0000:02:02.0: DMA-API: device driver tries to sync DMA memory it has not allocated [device address=0x0000000034e88008] [size=8 bytes] Modules linked in: microcode ipw2100(+) snd_seq_device ppdev libipw nsc_ircc snd_pcm lib80211 video output irda parport_pc cfg80211 parport thinkpad_acpi e1000 iTCO_wdt crc_ccitt snd_timer iTCO_vendor_support snd i2c_i801 pcspkr rfkill soundcore joydev snd_page_alloc yenta_socket radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded: scsi_wait_scan] Pid: 0, comm: swapper Tainted: G W 2.6.35-wl+ #8 Call Trace: [] warn_slowpath_common+0x6a/0x7f [] ? check_sync+0xce/0x43a [] warn_slowpath_fmt+0x2b/0x2f [] check_sync+0xce/0x43a [] ? print_lock_contention_bug+0x11/0xb2 [] debug_dma_sync_single_for_cpu+0x47/0x49 [] ? ehci_irq+0x31/0x331 [] ? ipw2100_irq_tasklet+0x24/0x5e9 [ipw2100] [] ? ipw2100_irq_tasklet+0x24/0x5e9 [ipw2100] [] pci_dma_sync_single_for_cpu.clone.1+0x42/0x4b [ipw2100] [] ipw2100_irq_tasklet+0x17c/0x5e9 [ipw2100] [] tasklet_action+0x78/0xcb [] __do_softirq+0xc4/0x183 [] do_softirq+0x3b/0x5f [] irq_exit+0x3a/0x6d [] do_IRQ+0x8b/0x9f [] common_interrupt+0x35/0x3c [] ? acpi_idle_enter_simple+0xfe/0x13c [] ? exit_itimers+0x2d/0x73 [] ? acpi_idle_enter_simple+0x100/0x13c [] cpuidle_idle_call+0x78/0xdc [] cpu_idle+0x9b/0xb7 [] rest_init+0xa6/0xab [] start_kernel+0x389/0x38e [] i386_start_kernel+0xc9/0xd0 Signed-off-by: John W. Linville commit 3198c68cb4e1967f59244f0a0b9f46102d617373 Author: Wey-Yi Guy Date: Fri Jul 23 13:19:40 2010 -0700 iwlwifi: use long monitor timer to avoid un-necessary reload For 5000 and 6000g2b series of devices, use long monitor timer to check stuck tx queues. .6000g2b series device, it is WiFi/BT combo device, there are some cases, tx queues are not move for a period of time because the WiFi/BT coex. .5000 series device, it is being reported firmware got reload more often than necessary, so extend the timer to avoid un-necessary reload. Signed-off-by: Wey-Yi Guy commit ce60659ad838a77d71aa817a6781659799970ae1 Author: Wey-Yi Guy Date: Fri Jul 23 13:19:39 2010 -0700 iwlwifi: long monitor timer Change the name for monitor timer, also adding define for long monitor timer; long monitor timer can be used for the type of devices require longer time to determine the uCode is stuck on tx and needed reload. Signed-off-by: Wey-Yi Guy commit 6ccf15a1a76d2ff915cdef6ae4d12d0170087118 Author: Maxim Levitsky Date: Fri Aug 13 11:27:28 2010 -0400 ath5k: disable ASPM L0s for all cards Atheros PCIe wireless cards handled by ath5k do require L0s disabled. For distributions shipping with CONFIG_PCIEASPM (this will be enabled by default in the future in 2.6.36) this will also mean both L1 and L0s will be disabled when a pre 1.1 PCIe device is detected. We do know L1 works correctly even for all ath5k pre 1.1 PCIe devices though but cannot currently undue the effect of a blacklist, for details you can read pcie_aspm_sanity_check() and see how it adjusts the device link capability. It may be possible in the future to implement some PCI API to allow drivers to override blacklists for pre 1.1 PCIe but for now it is best to accept that both L0s and L1 will be disabled completely for distributions shipping with CONFIG_PCIEASPM rather than having this issue present. Motivation for adding this new API will be to help with power consumption for some of these devices. Example of issues you'd see: - On the Acer Aspire One (AOA150, Atheros Communications Inc. AR5001 Wireless Network Adapter [168c:001c] (rev 01)) doesn't work well with ASPM enabled, the card will eventually stall on heavy traffic with often 'unsupported jumbo' warnings appearing. Disabling ASPM L0s in ath5k fixes these problems. - On the same card you would see a storm of RXORN interrupts even though medium is idle. Credit for root causing and fixing the bug goes to Jussi Kivilinna. Cc: David Quan Cc: Matthew Garrett Cc: Tim Gardner Cc: Jussi Kivilinna Cc: stable@kernel.org Signed-off-by: Luis R. Rodriguez Signed-off-by: Maxim Levitsky Signed-off-by: John W. Linville commit ca6cff1f80f30cc6313a943339361ad6f9e76548 Author: Rajkumar Manoharan Date: Fri Aug 13 18:36:40 2010 +0530 ath9k_htc: load proper firmware for device ID 7015 This patch handles the firmware loading properly for device ID 7015. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit fe0dbcc9d2e941328b3269dab102b94ad697ade5 Author: Yuri Kululin Date: Fri Aug 13 13:46:12 2010 +0400 wl1251: fix trigger scan timeout usage Use appropriate command (CMD_TRIGGER_SCAN_TO) instead of scan command (CMD_SCAN) to configure trigger scan timeout. This was broken in commit 3a98c30f3e8bb1f32b5bcb74a39647b3670de275. This fix address the bug reported here: https://bugzilla.kernel.org/show_bug.cgi?id=16554 Cc: stable@kernel.org Signed-off-by: Yuri Ershov Signed-off-by: Yuri Kululin Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 71ba186c123630ddab17667ec9ecf7e2ef211295 Author: Vivek Natarajan Date: Thu Aug 12 14:23:28 2010 +0530 ath9k_htc: Fix disconnect issue in HT40 mode. Some APs advertise that they may be HT40 capable in the capabilites but the current operating channel configuration may be only HT20. This causes disconnection as ath9k_htc sets WLAN_RC_40_FLAG despite the AP operating in HT20 mode. Hence set this flag only if the current channel configuration is HT40 enabled. Cc: stable@kernel.org Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 2f2c779583e9646097b57599f8efeb8eca7bd654 Merge: 2897c68 3c09e26 Author: Linus Torvalds Date: Fri Aug 13 10:38:12 2010 -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: (30 commits) ctcm: rename READ/WRITE defines to avoid redefinitions claw: rename READ/WRITE defines to avoid redefinitions phylib: available for any speed ethernet can: add limit for nframes and clean up signed/unsigned variables pkt_sched: Check .walk and .leaf class handlers pkt_sched: Fix sch_sfq vs tc_modify_qdisc oops caif-spi: Bugfix SPI_DATA_POS settings were inverted. caif: Bugfix - Increase default headroom size for control channel. net: make netpoll_rx return bool for !CONFIG_NETPOLL Bluetooth: Use 3-DH5 payload size for default ERTM max PDU size Bluetooth: Fix incorrect setting of remote_tx_win for L2CAP ERTM Bluetooth: Change default L2CAP ERTM retransmit timeout Bluetooth: Fix endianness issue with L2CAP MPS configuration net: Use NET_XMIT_SUCCESS where possible. isdn: mISDN: call pci_disable_device() if pci_probe() failed isdn: avm: call pci_disable_device() if pci_probe() failed isdn: avm: call pci_disable_device() if pci_probe() failed usbnet: rx_submit() should return an error code. pkt_sched: Add some basic qdisc class ops verification. Was: [PATCH] sfq: add dummy bind/unbind handles pkt_sched: sch_sfq: Add dummy unbind_tcf and put handles. Was: [PATCH] sfq: add dummy bind/unbind handles ... commit 26df0766a73a859bb93dc58e747c5028557a23fd Merge: 5802876 a6de51b Author: Linus Torvalds Date: Thu Aug 12 10:01:59 2010 -0700 Merge branch 'params' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * 'params' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (22 commits) param: don't deref arg in __same_type() checks param: update drivers/acpi/debug.c to new scheme param: use module_param in drivers/message/fusion/mptbase.c ide: use module_param_named rather than module_param_call param: update drivers/char/ipmi/ipmi_watchdog.c to new scheme param: lock if_sdio's lbs_helper_name and lbs_fw_name against sysfs changes. param: lock myri10ge_fw_name against sysfs changes. param: simple locking for sysfs-writable charp parameters param: remove unnecessary writable charp param: add kerneldoc to moduleparam.h param: locking for kernel parameters param: make param sections const. param: use free hook for charp (fix leak of charp parameters) param: add a free hook to kernel_param_ops. param: silence .init.text references from param ops Add param ops struct for hvc_iucv driver. nfs: update for module_param_named API change AppArmor: update for module_param_named API change param: use ops in struct kernel_param, rather than get and set fns directly param: move the EXPORT_SYMBOL to after the definitions. ... commit da93f10684bfba2983a70c10b5d417232b6a5245 Author: Rajkumar Manoharan Date: Wed Aug 11 20:27:43 2010 +0530 ath9k_htc: fix panic on packet injection using airbase-ng tool. This should fix the oops which occurs during the packet injection on monitor interface. EIP is at ath9k_htc_tx_start+0x69/0x220 [ath9k_htc] [] ? invoke_tx_handlers+0xa5a/0xee0 [mac80211] [] ? ath9k_htc_tx+0x44/0xe0 [ath9k_htc] [] ? __ieee80211_tx+0xf8/0x190 [mac80211] [] ? ieee80211_tx+0x9d/0x1a0 [mac80211] [] ? ieee80211_xmit+0x9c/0x1c0 [mac80211] [] ? ieee80211_monitor_start_xmit+0x85/0xb0 [mac80211] [] ? dev_hard_start_xmit+0x1ad/0x210 [] ? __alloc_skb+0x52/0x130 [] ? sch_direct_xmit+0x105/0x170 [] ? dev_queue_xmit+0x37f/0x4b0 [] ? packet_snd+0x21e/0x250 [] ? packet_sendmsg+0x32/0x40 [] ? sock_aio_write+0x113/0x130 [] ? do_sync_write+0xc4/0x100 [] ? autoremove_wake_function+0x0/0x50 [] ? security_file_permission+0x14/0x20 [] ? rw_verify_area+0x64/0xe0 [] ? handle_mm_fault+0x338/0x390 [] ? vfs_write+0x185/0x1a0 [] ? do_page_fault+0x160/0x3a0 [] ? sys_write+0x42/0x70 [] ? syscall_call+0x7/0xb Signed-off-by: Rajkumar Manoharan Cc: stable@kernel.org Signed-off-by: John W. Linville commit 2f81b47135a971a22ccad9f3cc8c68a583b93ea4 Author: John W. Linville Date: Wed Aug 11 16:11:00 2010 -0400 ipw2100: register pm_qos request before registering pci driver It is necessary to call pm_qos_add_request prior to calling pm_qos_update_request. It was revealed that ipw2100 has been doing this wrong since "pm_qos: Get rid of the allocation in pm_qos_add_request()" (commit 82f682514a5df89ffb3890627eebf0897b7a84ec) added a WARN that results in the following backtrace: WARNING: at kernel/pm_qos_params.c:264 pm_qos_update_request+0x5e/0x70() pm_qos_update_request() called for unknown object Call Trace: [] ? warn_slowpath_common+0x78/0xb0 [] ? pm_qos_update_request+0x5e/0x70 [] ? pm_qos_update_request+0x5e/0x70 [] ? warn_slowpath_fmt+0x33/0x40 [] ? pm_qos_update_request+0x5e/0x70 [] ? ipw2100_up+0x3f/0xf10 [ipw2100] [] ? vsnprintf+0xc9/0x530 [] ? ipw2100_net_init+0x2c/0x1c0 [ipw2100] [] ? register_netdevice+0x7d/0x3c0 [] ? ipw2100_irq_tasklet+0x910/0x9a0 [ipw2100] [] ? register_netdev+0x2f/0x40 [] ? ipw2100_pci_init_one+0xd21/0x1060 [ipw2100] [] ? local_pci_probe+0xb/0x10 [] ? pci_device_probe+0x69/0x90 [] ? driver_probe_device+0x74/0x180 [] ? sysfs_create_dir+0x6a/0xb0 [] ? __driver_attach+0x79/0x80 [] ? __driver_attach+0x0/0x80 [] ? bus_for_each_dev+0x52/0x80 [] ? driver_attach+0x16/0x20 [] ? __driver_attach+0x0/0x80 [] ? bus_add_driver+0x17f/0x250 [] ? pci_device_shutdown+0x0/0x20 [] ? pci_device_remove+0x0/0x40 [] ? driver_register+0x63/0x120 [] ? __pci_register_driver+0x36/0xa0 [] ? ipw2100_init+0x48/0x67 [ipw2100] [] ? do_one_initcall+0x32/0x170 [] ? __vunmap+0xb8/0xf0 [] ? ipw2100_init+0x0/0x67 [ipw2100] [] ? sys_init_module+0x161/0x1000 [] ? sys_close+0x67/0xe0 [] ? syscall_call+0x7/0xb This patch moves pm_qos_add_request prior to pci_register_driver in ipw2100 in order to avoid this problem. Reported-by: Christoph Fritz Signed-off-by: John W. Linville commit 241a6a542b908c0332ff00d967df459dbc5d372f Author: Andrew Morton Date: Tue Aug 10 18:01:06 2010 -0700 drivers/net/wireless/libertas/cfg.c: needs sched.h i386 allmodconfig: drivers/net/wireless/libertas/cfg.c: In function 'lbs_scan_worker': drivers/net/wireless/libertas/cfg.c:722: error: 'TASK_NORMAL' undeclared (first use in this function) drivers/net/wireless/libertas/cfg.c:722: error: (Each undeclared identifier is reported only once drivers/net/wireless/libertas/cfg.c:722: error: for each function it appears in.) drivers/net/wireless/libertas/cfg.c: In function 'lbs_cfg_connect': drivers/net/wireless/libertas/cfg.c:1267: error: 'TASK_INTERRUPTIBLE' undeclared (first use in this function) drivers/net/wireless/libertas/cfg.c:1267: error: implicit declaration of function 'signal_pending' drivers/net/wireless/libertas/cfg.c:1267: error: implicit declaration of function 'schedule_timeout' So wait.h has a dependency on sched.h, but doesn't include sched.h. This patch doesn't fix that. Cc: Dan Williams Cc: "John W. Linville" Cc: Ingo Molnar Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 886275ce41a9751117367fb387ed171049eb6148 Author: Rusty Russell Date: Wed Aug 11 23:04:33 2010 -0600 param: lock if_sdio's lbs_helper_name and lbs_fw_name against sysfs changes. Since it can be changed via sysfs, we need to make a copy. This most generic way of doing this is to keep a flag so we know when to free it. Signed-off-by: Rusty Russell Reviewed-by: Takashi Iwai Cc: Dan Williams Cc: John W. Linville Cc: libertas-dev@lists.infradead.org Cc: linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org commit d6d1b650ae6acce73d55dd0246de22180303ae73 Author: Rusty Russell Date: Wed Aug 11 23:04:27 2010 -0600 param: simple locking for sysfs-writable charp parameters Since the writing to sysfs can free the old one, we need to block that when we access the charp variables. Signed-off-by: Rusty Russell Reviewed-by: Takashi Iwai Tested-by: Phil Carmody Cc: Jeff Dike Cc: Dan Williams Cc: John W. Linville Cc: Jing Huang Cc: James E.J. Bottomley Cc: Greg Kroah-Hartman Cc: Johannes Berg Cc: David S. Miller Cc: user-mode-linux-devel@lists.sourceforge.net Cc: libertas-dev@lists.infradead.org Cc: linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org Cc: linux-scsi@vger.kernel.org Cc: linux-usb@vger.kernel.org commit 533b12c88d895cf42d5f439e25be2a2ea026b9e8 Merge: 94597ab db12d64 Author: John W. Linville Date: Tue Aug 10 14:55:10 2010 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6 commit cff70fae111efba80c27023772ce5265797fb514 Author: Mat Martineau Date: Thu Aug 5 15:54:23 2010 -0700 Bluetooth: Fix incorrect setting of remote_tx_win for L2CAP ERTM remote_tx_win is intended to be set on receipt of an L2CAP configuration request. The value is used to determine the size of the transmit window on the remote side of an ERTM connection, so L2CAP can stop sending frames when that remote window is full. An incorrect remote_tx_win value will cause the stack to not fully utilize the tx window (performance impact), or to overfill the remote tx window (causing dropped frames or a disconnect). This patch removes an extra setting of remote_tx_win when a configuration response is received. The transmit window has a different meaning in a response - it is an informational value less than or equal to the local tx_win. Signed-off-by: Mat Martineau Signed-off-by: Marcel Holtmann commit 86b1b26326279299c93ddb11ab4782d3896bf84c Author: Mat Martineau Date: Thu Aug 5 15:54:22 2010 -0700 Bluetooth: Fix endianness issue with L2CAP MPS configuration Incoming configuration values must be converted to native CPU order before use. This fixes a bug where a little-endian MPS value is compared to a native CPU value. On big-endian processors, this can cause ERTM and streaming mode segmentation to produce PDUs that are larger than the remote stack is expecting, or that would produce fragmented skbs that the current FCS code cannot handle. Signed-off-by: Mat Martineau Signed-off-by: Marcel Holtmann commit f6cec0ae58c17522a7bc4e2f39dae19f199ab534 Merge: 0fcf12d c4e9b56 Author: Linus Torvalds Date: Mon Aug 9 21:05:52 2010 -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: (59 commits) igbvf.txt: Add igbvf Documentation igb.txt: Add igb documentation e100/e1000*/igb*/ixgb*: Add missing read memory barrier ixgbe: fix build error with FCOE_CONFIG without DCB_CONFIG netxen: protect tx timeout recovery by rtnl lock isdn: gigaset: use after free isdn: gigaset: add missing unlock solos-pci: Fix race condition in tasklet RX handling pkt_sched: Fix sch_sfq vs tcf_bind_filter oops net: disable preemption before call smp_processor_id() tcp: no md5sig option size check bug iwlwifi: fix locking assertions iwlwifi: fix TX tracer isdn: fix information leak net: Fix napi_gro_frags vs netpoll path usbnet: remove noisy and hardly useful printk rtl8180: avoid potential NULL deref in rtl8180_beacon_work ath9k: Remove myself from the MAINTAINERS list libertas: scan before assocation if no BSSID was given libertas: fix association with some APs by using extended rates ... commit 94597ab23ea10b3bdcba534be00a9f7b35791c07 Author: Johannes Berg Date: Mon Aug 9 10:57:02 2010 -0700 iwlagn: fix rts cts protection Currently the driver will try to protect all frames, which leads to a lot of odd things like sending an RTS with a zeroed RA before multicast frames, which is clearly bogus. In order to fix all of this, we need to take a step back and see what we need to achieve: * we need RTS/CTS protection if requested by the AP for the BSS, mac80211 tells us this * in that case, CTS-to-self should only be enabled when mac80211 tells us * additionally, as a hardware workaround, on some devices we have to protect aggregated frames with RTS To achieve the first two items, set up the RXON accordingly and set the protection required flag in the transmit command when mac80211 requests protection for the frame. To achieve the last item, set the rate-control RTS-requested flag for all stations that we have aggregation sessions with, and set the protection required flag when sending aggregated frames (on those devices where this is required). Since otherwise bugs can occur, do not allow the user to override the RTS-for-aggregation setting from sysfs any more. Finally, also clean up the way all these flags get set in the driver and move everything into the device-specific functions. Cc: stable@kernel.org [2.6.35] Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit fe100acddf438591ecf3582cb57241e560da70b7 Author: Johannes Berg Date: Mon Aug 9 15:52:03 2010 +0200 cfg80211: fix locking in action frame TX Accesses to "wdev->current_bss" must be locked with the wdev lock, which action frame transmission is missing. Cc: stable@kernel.org [2.6.33+] Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a9fda88b27e71d727b6c85b3792b34a8a4bebf13 Author: John W. Linville Date: Mon Aug 9 15:14:21 2010 -0400 libertas: fix build break by including linux/sched.h CC [M] drivers/net/wireless/libertas/cfg.o /home/greearb/git/wireless-testing/drivers/net/wireless/libertas/cfg.c: In function ‘lbs_scan_worker’: /home/greearb/git/wireless-testing/drivers/net/wireless/libertas/cfg.c:722: error: ‘TASK_NORMAL’ undeclared (first use in this function) /home/greearb/git/wireless-testing/drivers/net/wireless/libertas/cfg.c:722: error: (Each undeclared identifier is reported only once /home/greearb/git/wireless-testing/drivers/net/wireless/libertas/cfg.c:722: error: for each function it appears in.) /home/greearb/git/wireless-testing/drivers/net/wireless/libertas/cfg.c: In function ‘lbs_cfg_connect’: /home/greearb/git/wireless-testing/drivers/net/wireless/libertas/cfg.c:1267: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function) /home/greearb/git/wireless-testing/drivers/net/wireless/libertas/cfg.c:1267: error: implicit declaration of function ‘signal_pending’ /home/greearb/git/wireless-testing/drivers/net/wireless/libertas/cfg.c:1267: error: implicit declaration of function ‘schedule_timeout’ Reported-by: Ben Greear Reported-by: Randy Dunlap Signed-off-by: John W. Linville commit 2f2f8f2a35d5c009eb3f8941c0dbeca46ae13994 Author: John W. Linville Date: Mon Aug 9 12:04:56 2010 -0400 Revert "p54pci: Add PCI ID for SMC2802W" This reverts commit 5f7aebd845a9d2ed42f36b7333579ec3534b4713. Apparently, that PCI ID data was incorrectly taken from the subsystem information. The actual ID matches another already known ID. Signed-off-by: John W. Linville commit e225567960db50e9810a152c8621c7a6ed94de71 Merge: 4b030d4 a24d52f Author: David S. Miller Date: Fri Aug 6 13:30:43 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 1685e633b396b0f3dabbc9fa5d65dfefe6435250 Merge: 1cfd2bd 127c03c Author: Linus Torvalds Date: Fri Aug 6 12:25:06 2010 -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: avoid buffer overflow in pcmcia_setup_isa_irq pcmcia: do not request windows if you don't need to pcmcia: insert PCMCIA device resources into resource tree pcmcia: export resource information to sysfs pcmcia: use struct resource for PCMCIA devices, part 2 pcmcia: remove memreq_t pcmcia: move local definitions out of include/pcmcia/cs.h pcmcia: do not use io_req_t when calling pcmcia_request_io() pcmcia: do not use io_req_t after call to pcmcia_request_io() pcmcia: use struct resource for PCMCIA devices pcmcia: clean up cs.h pcmcia: use pcmica_{read,write}_config_byte pcmcia: remove cs_types.h pcmcia: remove unused flag, simplify headers pcmcia: remove obsolete CS_EVENT_ definitions pcmcia: split up central event handler pcmcia: simplify event callback pcmcia: remove obsolete ioctl Conflicts in: - drivers/staging/comedi/drivers/* - drivers/staging/wlags49_h2/wl_cs.c due to dev_info_t and whitespace changes commit a24d52f390a77ce90dc8cf0cd75d27ec0a6ea3f8 Author: Johannes Berg Date: Fri Aug 6 16:17:53 2010 +0200 iwlwifi: fix locking assertions spin_is_locked() can return zero on some (UP?) configurations because locks don't exist, and that causes an endless amount of warnings. Use lockdep_assert_held() instead, which has two advantages: 1) it verifies the current task is holding the lock or mutex 2) it compiles away completely when lockdep is not enabled Cc: stable@kernel.org [2.6.34+, maybe only parts of patch] Reported-by: Thomas Meyer Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e95b743536937a72e1560c85696b425c5d1a1c18 Author: Johannes Berg Date: Fri Aug 6 16:00:48 2010 +0200 iwlwifi: fix TX tracer The TX tracing code copies with the wrong length, which will typically copy too little data. Fix this by using the correct length variable. Cc: stable@kernel.org [2.6.32+] Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8f1d2d2be73a98c21e68fe2a26f633892d4abdd1 Author: John W. Linville Date: Thu Aug 5 13:46:27 2010 -0400 rtl8180: avoid potential NULL deref in rtl8180_beacon_work ieee80211_beacon_get can return NULL... Signed-off-by: John W. Linville Cc: stable@kernel.org commit cc02681923ce09a7c8cfacc6855de259b9d4ef87 Author: Dan Williams Date: Wed Aug 4 00:43:47 2010 -0500 libertas: scan before assocation if no BSSID was given Fix this leftover TODO from the cfg80211 conversion by doing a scan if cfg80211 didn't pass in the BSSID for us. Since the scan code uses so much of the cfg80211_scan_request structure to build up the firmware command, we just fake one when the scan request is triggered internally. But we need to make sure that internal 'fake' cfg82011 scan request does not get back to cfg82011 via cfg80211_scan_done(). Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 197575393713eba035925e4bfdee407f473e5057 Author: Dan Williams Date: Thu Jul 29 23:16:01 2010 -0700 libertas: fix association with some APs by using extended rates Some APs get pissy if you don't send the firmware the extended rates in the association request's rates TLV. Found this on a Linksys WRT54G v2; it denies association with status code 18 unless you add the extended rates too. The old driver did this, but it got lost in the cfg80211 conversion. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit aebb628f39ccf67fe9ed888c7f80926fc1070ce5 Author: Dan Williams Date: Thu Jul 29 23:11:30 2010 -0700 libertas: get the right # of scanned BSSes Let's actually check the right field in the command response; and if there aren't any reported BSSes, exit early with success. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit c0068c85897f06205d4c35cf4bf9161be90690e9 Merge: 2411054 adb08ed Author: John W. Linville Date: Thu Aug 5 15:54:28 2010 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6 commit 3cfc2c42c1cbc8e238bb9c0612c0df4565e3a8b4 Merge: 5cf6571 0ea6e61 Author: Linus Torvalds Date: Wed Aug 4 15:31:02 2010 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (48 commits) Documentation: update broken web addresses. fix comment typo "choosed" -> "chosen" hostap:hostap_hw.c Fix typo in comment Fix spelling contorller -> controller in comments Kconfig.debug: FAIL_IO_TIMEOUT: typo Faul -> Fault fs/Kconfig: Fix typo Userpace -> Userspace Removing dead MACH_U300_BS26 drivers/infiniband: Remove unnecessary casts of private_data fs/ocfs2: Remove unnecessary casts of private_data libfc: use ARRAY_SIZE scsi: bfa: use ARRAY_SIZE drm: i915: use ARRAY_SIZE drm: drm_edid: use ARRAY_SIZE synclink: use ARRAY_SIZE block: cciss: use ARRAY_SIZE comment typo fixes: charater => character fix comment typos concerning "challenge" arm: plat-spear: fix typo in kerneldoc reiserfs: typo comment fix update email address ... commit 2411054ae9eb7e7ef488a39912abfc4ebadbe3ad Author: Andy Lutomirski Date: Sun Jul 25 13:14:29 2010 -0400 iwlagn: Improve aggregation failure error messages 82ca9341763107615a15da6e59b9535d49eb91c3 added scary looking but harmless error messages. Make them clearer and make the actual failure message show up with the same severity as the harmless one. Signed-off-by: Andy Lutomirski Signed-off-by: John W. Linville commit 47cb905d6b1f46bf403998f4838baa3f3b597391 Author: Kulikov Vasiliy Date: Tue Aug 3 19:43:22 2010 +0400 rt2x00: do not use PCI resources before pci_enable_device() IRQ and resource[] may not have correct values until after PCI hotplug setup occurs at pci_enable_device() time. The semantic match that finds this problem is as follows: // @@ identifier x; identifier request ~= "pci_request.*|pci_resource.*"; @@ ( * x->irq | * x->resource | * request(x, ...) ) ... *pci_enable_device(x) // Signed-off-by: Kulikov Vasiliy Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 93c08c32914264f539baf7f04cce310a0dd30a7a Author: Juuso Oikarinen Date: Tue Aug 3 08:22:25 2010 +0300 mac80211: Fix compilation warning when CONFIG_INET is not set The warning is: net/mac80211/main.c:688: warning: label ‘fail_ifa’ defined but not used Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 93c0584ca92a76bd458c7fd505b1747901315156 Author: Christoph Fritz Date: Tue Aug 3 12:54:20 2010 +0200 wireless: ipw2100: check result of kzalloc() If kzalloc() fails return with -ENOMEM from ipw2100_net_init() which is called by register_netdev. CC: Dan Carpenter Signed-off-by: Christoph Fritz Signed-off-by: John W. Linville commit c8f3b7213342d905cbb75d6c8820d9141205f3a0 Author: Jan Friedrich Date: Mon Aug 2 23:55:50 2010 +0200 ath9k: fix erased ieee80211_rx_status.mactime ath9k_rx_skb_preprocess nulls rxs and the mactime is never set again - mactime is always 0. This causes problems in IBSS mode. ieee80211_rx_bss_info uses mactime to decide if an IBSS merge is needed. Without this patch the merge is triggered by each beacon received. This can be recognized by the "beacon TSF higher than local TSF - IBSS merge with BSSID" log message accompanying each beacon. This problem was not completely fixed in commit a6d2055b02dde1067075795274672720baadd3ca and is not a stable kernel fix. It is solely intended for wireless-testing. Signed-off-by: Jan Friedrich Signed-off-by: John W. Linville commit 5f7aebd845a9d2ed42f36b7333579ec3534b4713 Author: Larry Finger Date: Sun Aug 1 15:40:04 2010 -0500 p54pci: Add PCI ID for SMC2802W The SMC2802W appears to work with p54pci. Signed-off-by: Larry Finger Tested-by: David Cozatt Signed-off-by: John W. Linville commit 754018494216e07f43c611d342d7d8bd25b22140 Author: Lorenzo Bianconi Date: Sun Aug 1 15:47:32 2010 +0200 ath9k: fix an issue in ath_atx_tid paused flag management I noticed a possible issue in the paused flag management of the ath_atx_tid data structure. In particular, in a noisy environment and under heavy load, I observed that the AGGR session establishment could fail several times consecutively causing values of the paused flag greater than one for this TID (ath_tx_pause_tid is called more than once from ath_tx_aggr_start). Considering that the session for this TID can not be established also after the mac80211 stack calls the ieee80211_agg_tx_operational() since the ath_tx_aggr_resume() lowers the paused flag only by one. This patch also replaces some BUG_ON calls with WARN_ON, as even if these unlikely conditions happen, it's not fatal enough to justify a BUG_ON. Signed-off-by: Lorenzo Bianconi Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 824b185adf86163e57892f22a878f97bc4bc69ab Author: Luis R. Rodriguez Date: Sun Aug 1 02:25:16 2010 -0400 ath9k_hw: Fix regulatory CTL index usage for AR9003 AR9003 was not relying on the CTL indexes from the EEPROM for capping the max output power. The CTL indexes from the EEPROM provide calibrated limits for output power for each tested and supported frequency. Without this the device operates at a power level which only conforms to the transmit spectrum mask as specified by IEEE Annex I.2.3. The regulatory limit by CRDA is always used but does not provide calibrated values for optimal performance, specially on band edges. Using the calibrated data from the EEPROM ensures the device operates at optimal output power while still ensuring proper regulatory compliance. The device uses the minimum of these tree values, the value from CRDA, the calibrated value from CTL indexex, and the value to conform to the IEEE transmit spectrum mask. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit bb1236115eb6fd9ab7563b6a8cfbcc6980eb3ff1 Author: Kulikov Vasiliy Date: Sat Jul 31 20:33:59 2010 +0400 net: wl12xx: do not use kfree'd memory wl1271_dump() uses cmd after kfree(cmd). Move kfree() just after wl1271_dump(). Signed-off-by: Kulikov Vasiliy Acked-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 74dee2c3e1a3dc5cd6100f110f7935dece7a3505 Author: Wey-Yi Guy Date: Sat Jul 31 08:34:12 2010 -0700 iwlagn: fix typo in ucode_bt_stats_read debugfs small typo fix in ucode_bt_stats_read debugfs file Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 735df29a0641d9d8d65117c48ee460284ffcfc05 Author: Wey-Yi Guy Date: Sat Jul 31 08:34:11 2010 -0700 iwlwifi: BA scd_flow not match condition detected It is a uCode bug which cause the tx queue id not match scd_flow in compressed block ack frame, and it need to be addressed in uCode. Currently, driver will log the information when it happen. Since it is possible happen very often and we do not want to fill the syslog, so don't enable the logging by default. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 5fc97f7789e6ff3d1698a544f863b55dba9d9cd9 Author: Johannes Berg Date: Sat Jul 31 08:34:09 2010 -0700 iwlwifi: fix compile warning When iwlwifi is compiled w/o debug, we get this warning: iwl-agn.c: In function ‘iwlagn_load_firmware’: iwl-agn.c:2014: warning: passing argument 3 of ‘iwl_print_hex_dump’ discards qualifiers from pointer target type iwl-debug.h:73: note: expected ‘void *’ but argument is of type ‘const u8 *’ because the const qualifier is missing in the inline stub. Fix this. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 4254bc1c4d7b53ac10e558dfe015725fdd693da4 Author: Felix Fietkau Date: Sat Jul 31 00:12:01 2010 +0200 ath9k_hw: fix a noise floor calibration related race condition On AR5008-AR9002, other forms of calibration must not be started while the noise floor calibration is running, as this can create invalid readings which were sometimes not even recoverable by any further calibration attempts. This patch also ensures that the result of noise floor measurements are processed faster and also allows the result of the initial calibration on reset to make it into the NF history buffer Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 20bd2a0952d01ba82a99b3f22d46e3832c255529 Author: Felix Fietkau Date: Sat Jul 31 00:12:00 2010 +0200 ath9k_hw: clean up per-channel calibration data The noise floor history buffer is currently not kept per channel, which can lead to problems when changing channels from a clean channel to a noisy one. Also when switching from HT20 to HT40, the noise floor history buffer is full of measurements, but none of them contain data for the extension channel, which it needs quite a bit of time to recover from. This patch puts all the per-channel calibration data into a single data structure, and gives the the driver control over whether that is used per-channel or even not used for some channels. For ath9k_htc, I decided to keep this per-channel in order to avoid creating regressions. For ath9k, the data is kept only for the operating channel, which saves some space. ath9k_hw takes care of wiping old data when the operating channel or its channel flags change. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 5ee0865615f65f84e6ee9174771a6716c29e08e1 Author: Felix Fietkau Date: Sat Jul 31 00:11:59 2010 +0200 ath9k: prevent calibration during off-channel activity Previously the software scan callback was used to indicate to the hardware, when it was safe to calibrate. This didn't really work properly, because it depends on a specific order of software scan callbacks vs. channel changes. Also, software scans are not the only thing that triggers off-channel activity, so it's better to use the newly added indication from mac80211 for this and not use the software scan callback for anything calibration related. This fixes at least some of the invalid noise floor readings that I've seen in AP mode on AR9160 Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit b2ccc507b70be2815a25e3c5dc23c636e128222c Author: Felix Fietkau Date: Fri Jul 30 21:02:12 2010 +0200 ath9k_hw: fix analog shift register writes on AR9003 Writes to the analog shift registers, which are issues by the initval programming function, require a 100 usec delay (similar to AR9002, but in a different register range). Signed-off-by: Felix Fietkau Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ddfef79257648e165ac49e6088d459819a02a882 Author: Felix Fietkau Date: Fri Jul 30 21:02:11 2010 +0200 ath9k: fix a crash in the PA predistortion apply function When updating the PAPRD table in hardware, PAPRD itself needs to be disabled first, otherwise the hardware can throw a data bus error, which upsets at least some platforms. Signed-off-by: Felix Fietkau Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9369746050e838c57e357f0caa552386ad65a82d Author: Felix Fietkau Date: Fri Jul 30 21:02:10 2010 +0200 ath9k_hw: fix periodic noise floor calibration on AR9003 The periodic noise floor calibration is broken on this chip family, because it keeps triggering a software-filtered noise floor calibration, but never reads the result before uploading the history buffer value to the hardware. Fix this with a call to ath9k_hw_getnf(), just like on AR9002. Signed-off-by: Felix Fietkau Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 00c86590e36bd42574821b43b5124d75f30df9dd Author: Felix Fietkau Date: Fri Jul 30 21:02:09 2010 +0200 ath9k_hw: clean up and fix initial noise floor calibration On AR9003 the initial noise floor calibration is currently triggered at the end of the reset without allowing the hardware to update the baseband settings. This could potentially make scans in noisy environments a bit more unreliable, so use the same calibration sequence that is used on AR9002. Signed-off-by: Felix Fietkau Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1601b1e56e1093d6deb8f475fafc30cc30143357 Author: Johannes Berg Date: Fri Jul 30 13:30:47 2010 +0200 mac80211: fix scan locking wrt. hw scan Releasing the scan mutex while starting scans can lead to unexpected things happening, so we shouldn't do that. Fix that and hold the mutex across the scan triggering. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 02f5ba5bac8b374bc2126920c7204c63019f28ce Author: Johannes Berg Date: Fri Jul 30 13:30:46 2010 +0200 iwlwifi: fix possible recursive locking deadlock commit f84b29ec0a1ab767679d3f2428877b65f94bc3ff Author: Johannes Berg Date: Tue May 18 02:29:13 2010 -0700 iwlwifi: queue user-initiated scan when doing internal scan introduced a potential deadlock because it calls ieee80211_scan_completed() with the priv->mutex held, but mac80211 may call back into iwlwifi which would lead to recursive locking. Move this out from under the mutex. Cc: stable@kernel.org Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6ba74014c1ab0e37af7de6f64b4eccbbae3cb9e7 Merge: 5abd9cc 3ff1c25 Author: Linus Torvalds Date: Wed Aug 4 11:47:58 2010 -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: (1443 commits) phy/marvell: add 88ec048 support igb: Program MDICNFG register prior to PHY init e1000e: correct MAC-PHY interconnect register offset for 82579 hso: Add new product ID can: Add driver for esd CAN-USB/2 device l2tp: fix export of header file for userspace can-raw: Fix skb_orphan_try handling Revert "net: remove zap_completion_queue" net: cleanup inclusion phy/marvell: add 88e1121 interface mode support u32: negative offset fix net: Fix a typo from "dev" to "ndev" igb: Use irq_synchronize per vector when using MSI-X ixgbevf: fix null pointer dereference due to filter being set for VLAN 0 e1000e: Fix irq_synchronize in MSI-X case e1000e: register pm_qos request on hardware activation ip_fragment: fix subtracting PPPOE_SES_HLEN from mtu twice net: Add getsockopt support for TCP thin-streams cxgb4: update driver version cxgb4: add new PCI IDs ... Manually fix up conflicts in: - drivers/net/e1000e/netdev.c: due to pm_qos registration infrastructure changes - drivers/net/phy/marvell.c: conflict between adding 88ec048 support and cleaning up the IDs - drivers/net/wireless/ipw2x00/ipw2100.c: trivial ipw2100_pm_qos_req conflict (registration change vs marking it static) commit f46e9913faeebcb6bd29edf795f12b60acbff171 Merge: 8d91530 8d4b9d1 Author: Linus Torvalds Date: Wed Aug 4 11:14:36 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: PM / Runtime: Add runtime PM statistics (v3) PM / Runtime: Make runtime_status attribute not debug-only (v. 2) PM: Do not use dynamically allocated objects in pm_wakeup_event() PM / Suspend: Fix ordering of calls in suspend error paths PM / Hibernate: Fix snapshot error code path PM / Hibernate: Fix hibernation_platform_enter() pm_qos: Get rid of the allocation in pm_qos_add_request() pm_qos: Reimplement using plists plist: Add plist_last PM: Make it possible to avoid races between wakeup and system sleep PNPACPI: Add support for remote wakeup PM: describe kernel policy regarding wakeup defaults (v. 2) PM / Hibernate: Fix typos in comments in kernel/power/swap.c commit adb08edea0119f7a5484a9f6a385fbcecdf85a63 Author: Ville Tervo Date: Wed Aug 4 09:43:33 2010 +0300 Bluetooth: Check result code of L2CAP information response Check result code of L2CAP information response. Otherwise it would read invalid feature mask and access invalid memory. Signed-off-by: Ville Tervo Signed-off-by: Marcel Holtmann commit 6340650400525a9ca8d86b1b4501cc50670dce0d Author: Gustavo F. Padovan Date: Tue Aug 3 23:49:29 2010 -0300 Bluetooth: Don't send RFC for Basic Mode if only it is supported If the remote side doesn't support Enhanced Retransmission Mode neither Streaming Mode, we shall not send the RFC option. Some devices that only supports Basic Mode do not understanding the RFC option. This patch fixes the regression found with these devices. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit d790d4d583aeaed9fc6f8a9f4d9f8ce6b1c15c7f Merge: 73b2c71 3a09b1b Author: Jiri Kosina Date: Wed Aug 4 15:14:38 2010 +0200 Merge branch 'master' into for-next commit 17964e9d086cd4cb15b54a71ccddd8bbacb4c00c Author: Justin P. Mattock Date: Mon Aug 2 13:50:43 2010 -0700 hostap:hostap_hw.c Fix typo in comment The patch below fixes a typo in a comment. Signed-off-by: Justin P. Mattock Signed-off-by: Jiri Kosina commit 0f52e86ded65749c6037473013ad77b2afa4f68d Author: Dominik Brodowski Date: Wed Jul 28 09:32:02 2010 +0200 pcmcia: do not request windows if you don't need to Several drivers contained dummy code to request for memory windows, even though they never made use of it. Remove all such code snippets. CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org Signed-off-by: Dominik Brodowski commit 0ca724d37af370dbf2d55dc4d6359ead558e5756 Author: Dominik Brodowski Date: Sat Jul 24 19:03:02 2010 +0200 pcmcia: use struct resource for PCMCIA devices, part 2 Use struct resource * also for iomem resources. CC: linux-mtd@lists.infradead.org CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: Jiri Kosina Signed-off-by: Dominik Brodowski commit b5cb259e7fac5536c4ddf350af6a3d6cc950e47e Author: Dominik Brodowski Date: Sat Jul 24 18:46:42 2010 +0200 pcmcia: remove memreq_t Page already had to be set to 0; Offset can easily be passed as parameter to pcmcia_map_mem_page. CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-ide@vger.kernel.org CC: linux-usb@vger.kernel.org CC: laforge@gnumonks.org CC: linux-mtd@lists.infradead.org CC: linux-bluetooth@vger.kernel.org CC: alsa-devel@alsa-project.org CC: linux-serial@vger.kernel.org CC: Michael Buesch Signed-off-by: Dominik Brodowski commit 90abdc3b973229bae98dd96649d9f7106cc177a4 Author: Dominik Brodowski Date: Sat Jul 24 17:23:51 2010 +0200 pcmcia: do not use io_req_t when calling pcmcia_request_io() Instead of io_req_t, drivers are now requested to fill out struct pcmcia_device *p_dev->resource[0,1] for up to two ioport ranges. After a call to pcmcia_request_io(), the ports found there are reserved, after calling pcmcia_request_configuration(), they may be used. CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-ide@vger.kernel.org CC: linux-usb@vger.kernel.org CC: laforge@gnumonks.org CC: linux-mtd@lists.infradead.org CC: alsa-devel@alsa-project.org CC: linux-serial@vger.kernel.org CC: Michael Buesch Acked-by: Marcel Holtmann (for drivers/bluetooth/) Signed-off-by: Dominik Brodowski commit 9a017a910346afd88ec2e065989903bf211a7d37 Author: Dominik Brodowski Date: Sat Jul 24 15:58:54 2010 +0200 pcmcia: do not use io_req_t after call to pcmcia_request_io() After pcmcia_request_io(), do not make use of the values stored in io_req_t, but instead use those found in struct pcmcia_device->resource[]. CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-ide@vger.kernel.org CC: linux-usb@vger.kernel.org CC: laforge@gnumonks.org CC: linux-mtd@lists.infradead.org CC: alsa-devel@alsa-project.org CC: linux-serial@vger.kernel.org Acked-by: Marcel Holtmann (for drivers/bluetooth/) Signed-off-by: Dominik Brodowski commit 1d5cc192d431bce2ebe9fde64054ce903200e179 Author: Dominik Brodowski Date: Sat Jul 24 12:23:21 2010 +0200 pcmcia: use pcmica_{read,write}_config_byte Use pcmcia_read_config_byte and pcmcia_write_config_byte instead of pcmcia_access_configuration_register. CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-serial@vger.kernel.org CC: Michael Buesch Signed-off-by: Dominik Brodowski commit 28e9509b1270e5cfa8bb3c5ff51f39214aa09262 Author: Gustavo F. Padovan Date: Sat Jul 31 19:57:05 2010 -0300 Bluetooth: Remove __exit from rfcomm_cleanup_ttys() rfcomm_cleanup_ttys() is also called from rfcomm_init(), so it can't have __exit. Reported-by: Mat Martineau Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit ea4bd8ba804dedefa65303b3bd105d6d2808e621 Author: David Miller Date: Fri Jul 30 21:54:49 2010 -0700 Bluetooth: Use list_head for HCI blacklist head The bdaddr in the list root is completely unused and just taking up space. Signed-off-by: David S. Miller Tested-by: Johan Hedberg Signed-off-by: Marcel Holtmann commit ac8b422838046ffc26be4874a3cbae0d313f4209 Author: Dominik Brodowski Date: Wed Jul 21 22:38:13 2010 +0200 pcmcia: remove cs_types.h Remove cs_types.h which is no longer needed: Most definitions aren't used at all, a few can be made away with, and two remaining definitions (typedefs, unfortunatley) may be moved to more specific places. CC: linux-ide@vger.kernel.org CC: linux-usb@vger.kernel.org CC: laforge@gnumonks.org CC: linux-mtd@lists.infradead.org CC: alsa-devel@alsa-project.org CC: linux-serial@vger.kernel.org Acked-by: Marcel Holtmann (for drivers/bluetooth/) Acked-by: David S. Miller Signed-off-by: Dominik Brodowski commit ae3568adf42d5d3bb3cfa505b94351c5d1ce4924 Merge: 7f3e01f b7753c8 Author: John W. Linville Date: Thu Jul 29 14:47:07 2010 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem commit b7753c8cd51dce67a0b152efb456a21ff1cc241b Author: Christian Lamparter Date: Thu Jul 29 01:28:46 2010 +0200 cfg80211: fix dev <-> wiphy typo Cc: Joe Perches Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit e5b900d228b76d445a4240d9aeb3cd8f79205a91 Author: Johannes Berg Date: Thu Jul 29 16:08:55 2010 +0200 mac80211: allow drivers to request DTIM period Some features require knowing the DTIM period before associating. This implements the ability to wait for a beacon in mac80211 before assoc to provide this value. It is optional since most likely not all drivers will need this. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d28232b461b8d54b09e59325dbac8b0913ce2049 Author: Stanislaw Gruszka Date: Thu Jul 29 11:37:41 2010 +0200 iwlwifi: fix scan abort Fix possible double priv->mutex lock introduced by commit a69b03e941abae00380fc6bc1877fb797a1b31e6 "iwlwifi: cancel scan watchdog in iwl_bg_abort_scan" . We can not call cancel_delayed_work_sync(&priv->scan_check) with priv->mutex locked because workqueue function iwl_bg_scan_check() take that lock internally. We do not need to synchronize when canceling priv->scan_check work. We can avoid races (sending double abort command or send no command at all) using STATUS_SCAN_ABORT bit. Moreover current iwl_bg_scan_check() code seems to be broken, as we should not send abort commands when currently aborting. Signed-off-by: Stanislaw Gruszka CC: stable@kernel.org Signed-off-by: John W. Linville commit ac01e948b1c27059d47249ef601036633249cb2a Author: John W. Linville Date: Wed Jul 28 17:09:41 2010 -0400 wl1271: update hw/fw version info in wiphy struct This makes the information available through ethtool... Signed-off-by: John W. Linville Acked-by: Juuso Oikarinen commit 8b28e82224321d6fdabadd7d6ddc4bd28a3b5490 Author: John W. Linville Date: Wed Jul 28 16:59:41 2010 -0400 wl1251: update hw/fw version info in wiphy struct This makes the information available through ethtool... Signed-off-by: John W. Linville Acked-by: Kalle Valo commit ece550d0e416b4146e1ec3d934f9773dbf8c7242 Author: John W. Linville Date: Wed Jul 28 16:41:06 2010 -0400 wl1271: add get_survey callback in order to get channel noise Signed-off-by: John W. Linville Acked-by: Juuso Oikarinen commit bef9cb589d37c5eb2e3fb9e529fa3933db4dda19 Author: John W. Linville Date: Wed Jul 28 15:03:42 2010 -0400 libertas_tf: add get_survey callback in order to get channel noise Signed-off-by: John W. Linville commit 19434148d16dc231026f37af7c40e81ad9342e75 Author: John W. Linville Date: Wed Jul 28 15:23:30 2010 -0400 wl1251: add get_survey callback in order to get channel noise Signed-off-by: John W. Linville Acked-by: Kalle Valo commit a55427e8284541d43630f10a6c637b28802c21b0 Author: John W. Linville Date: Wed Jul 28 14:47:49 2010 -0400 ar9170: add get_survey callback in order to get channel noise Signed-off-by: John W. Linville Acked-by: Christian Lamparter commit 0d462bbb0e20863b6c796abd779bfdb534d60278 Author: John W. Linville Date: Wed Jul 28 14:04:24 2010 -0400 mwl8k: add get_survey callback in order to get channel noise Signed-off-by: John W. Linville Acked-by: Lennert Buytenhek commit 4c85ab11ca56da1aa59b58c80cc6a356515cc645 Author: John W. Linville Date: Wed Jul 28 10:06:35 2010 -0400 ath9k: enable serialize_regmode for non-PCIE AR9160 https://bugzilla.kernel.org/show_bug.cgi?id=16476 Signed-off-by: John W. Linville Acked-by: Luis R. Rodriguez Cc: stable@kernel.org commit 4552124543141debf40a94b67155e57aa6bb34d6 Author: Felix Fietkau Date: Wed Jul 28 02:40:49 2010 +0200 mac80211: inform drivers about the off-channel status on channel changes For some drivers it can be useful to know whether the channel they're supposed to switch to is going to be used for short off-channel work or scanning, or whether the hardware is expected to stay on it for a while longer. This is important for various kinds of calibration work, which takes longer to complete and should keep some persistent state, even if the channel temporarily changes. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit a0daa0e7592ada797d6835f11529097aabc27ad2 Author: Luis R. Rodriguez Date: Tue Jul 27 16:33:08 2010 -0400 Revert "mac80211: fix sw scan bracketing" This reverts this commit. While in theory the change is correct the patch does not address current assumptions made by some drivers, one which is definitley affected is ath9k. Prior to this change the scan complete callback would be called after we returned to the home channel and configured the hardware RX filters. After this change we call the scan complete callback prior to both the hw config and the config filter. At least for ath9k this breaks quite a few assumptions on the callback, leading to disconnects to the AP after every scan making the driver pretty useless on STA mode. The goal behind this commit was to address the now understood spurious warnings from ath9k and mac80211_hwsim on scanning on two wiphys at the same time but we have now supressed these and will address this issue in the next kernel release. When fixing this for good next we must first review the other driver's dependence on this logic and perhaps consider removal of the scan complete callback all together. Cc: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 308883380c615b8b3d2c0eadb8680a921177c0b3 Author: Luis R. Rodriguez Date: Tue Jul 27 16:33:06 2010 -0400 ath9k: remove the two wiphys scanning at the same time message When issuing two consecutive scans you could often end up getting in the logs: "ath9k: Two wiphys trying to scan at the same time" This message is due to a race in mac80211 but addressing that race requires some more major changes on the driver and perhaps optimizations on mac80211 like removing the scan complete callback alltogether. Its too late to address this this kernel release so supress the complaint and annotate this needs fixing for later. Cc: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c4c322941ce0d7e2b7b8794ad70683123d9cb26a Author: Yuri Ershov Date: Tue Jun 29 15:08:08 2010 +0400 cfg80211: Update of regulatory request initiator handling In some cases there could be possible dereferencing freed pointer. The update is intended to avoid this issue. Signed-off-by: Yuri Ershov Signed-off-by: John W. Linville commit d080e2755d840ede60128cc914a070868ebabc1e Author: Yuri Ershov Date: Tue Jun 29 15:08:07 2010 +0400 nl80211: Fix memory leaks In case of errors during message composing msg should be freed after canceling. Signed-off-by: Yuri Kululin Signed-off-by: Yuri Ershov Signed-off-by: John W. Linville commit e4ab7eb0aecbe56ac280486c61cd3f0f6c42870b Author: Yuri Ershov Date: Tue Jun 29 15:08:06 2010 +0400 mac80211: Put some code under MESH macro In the function ieee80211_subif_start_xmit the logic related with meshdrlen is under CONFIG_MAC80211_MESH macro, but in one place it isn't. This is some update for this Signed-off-by: Yuri Ershov Signed-off-by: John W. Linville commit 099284bdecf6e0af78662371ed3f45b71d796aad Merge: 073730d 4ebaa4e Author: John W. Linville Date: Wed Jul 28 16:17:49 2010 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6 commit bb7e95c8fd859922c6cf3ebbb3a8546007df1748 Merge: b8bc042 5447080 Author: David S. Miller Date: Tue Jul 27 21:01:35 2010 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/bnx2x_main.c Merge bnx2x bug fixes in by hand... :-/ Signed-off-by: David S. Miller commit 4ebaa4edf8799cab19d5a0642dc95f04fd284e06 Author: Dan Carpenter Date: Fri Jul 23 12:11:04 2010 +0200 Bluetooth: Fix kfree() => kfree_skb() in hci_ath.c sk_buffs have to be freed with kfree_skb() instead of kfree(). Signed-off-by: Dan Carpenter Acked-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 2f8362afcd2da8b313ec3cc04a50af19d3592972 Author: Gustavo F. Padovan Date: Sat Jul 24 02:04:45 2010 -0300 Bluetooth: Add __init and __exit marks to RFCOMM Those annotation save memory and space on the binary. __init code is discarded just after execute and __exit code is discarded if the module is built into the kernel image or unload of modules is not allowed. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit f2b94bb9e0b8bd048331a6e9d616e918f4bcbd97 Author: Gustavo F. Padovan Date: Sat Jul 24 02:04:44 2010 -0300 Bluetooth: Add __init and __exit marks to UART drivers Those marks are useful to save space in the binary and in the memory. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit e9da101f6d0c9a8fda9f78a80365ba2a9f75603f Author: Gustavo F. Padovan Date: Sat Jul 24 01:46:57 2010 -0300 Bluetooth: Use hci_recv_stream_fragment() in UART driver Use the new hci_recv_stream_fragment() to reassembly incoming UART streams. Signed-off-by: Gustavo F. Padovan Tested-by: Ville Tervo Signed-off-by: Marcel Holtmann commit da5f6c37eee040775997191d1a1bc91c0c1e51eb Author: Gustavo F. Padovan Date: Sat Jul 24 01:34:54 2010 -0300 Bluetooth: Test 'count' value before enter the loop Testing first we avoid enter the loop when count = 0. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 0bbdf6cba0fb730ae2f2cfd5ead3d1e2e5498ddc Author: Gustavo F. Padovan Date: Sat Jul 24 01:06:05 2010 -0300 Bluetooth: Fix permission of hci_ath.c .c file shall not have the 'x' permission. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit e73439d8c0e4c522c843b8bb98c0eb5700da6b05 Author: Marcel Holtmann Date: Mon Jul 26 10:06:00 2010 -0400 Bluetooth: Defer SCO setup if mode change is pending Certain headsets such as the Motorola H350 will reject SCO and eSCO connection requests while the ACL is transitioning from sniff mode to active mode. Add synchronization so that SCO and eSCO connection requests will wait until the ACL has fully transitioned to active mode. < HCI Command: Exit Sniff Mode (0x02|0x0004) plen 2 handle 12 > HCI Event: Command Status (0x0f) plen 4 Exit Sniff Mode (0x02|0x0004) status 0x00 ncmd 1 < HCI Command: Setup Synchronous Connection (0x01|0x0028) plen 17 handle 12 voice setting 0x0040 > HCI Event: Command Status (0x0f) plen 4 Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1 > HCI Event: Number of Completed Packets (0x13) plen 5 handle 12 packets 1 > HCI Event: Mode Change (0x14) plen 6 status 0x00 handle 12 mode 0x00 interval 0 Mode: Active > HCI Event: Synchronous Connect Complete (0x2c) plen 17 status 0x10 handle 14 bdaddr 00:1A:0E:50:28:A4 type SCO Error: Connection Accept Timeout Exceeded Signed-off-by: Ron Shaffer Signed-off-by: Marcel Holtmann commit 073730d771d97bb5bbef080bd5d6d0a5af7cba7d Author: Joe Perches Date: Mon Jul 26 14:40:00 2010 -0700 wireless: Convert wiphy_debug macro to function Save a few bytes of text (allyesconfig) $ size drivers/net/wireless/built-in.o* text data bss dec hex filename 3924568 100548 871056 4896172 4ab5ac drivers/net/wireless/built-in.o.new 3926520 100548 871464 4898532 4abee4 drivers/net/wireless/built-in.o.old $ size net/wireless/core.o* text data bss dec hex filename 12843 216 3768 16827 41bb net/wireless/core.o.new 12328 216 3656 16200 3f48 net/wireless/core.o Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 903c99d8d6d055c56e7fdfba4602c05e357fa186 Author: Joe Perches Date: Mon Jul 26 14:39:59 2010 -0700 drivers/net/wireless/at76c50x-usb.c: Neaten macros Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit c96c31e499b70964cfc88744046c998bb710e4b8 Author: Joe Perches Date: Mon Jul 26 14:39:58 2010 -0700 drivers/net/wireless: Use wiphy_ Standardize the logging macros used. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit e1db74fcc3d95c8a051ec457241b5aa65a01a603 Author: Joe Perches Date: Mon Jul 26 14:39:57 2010 -0700 include/net/cfg80211.h: Add wiphy_ printk equivalents Simplify logging messages for wiphy devices Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 97c5e2756e3f0711877c5b6f2323151964229260 Author: Dan Williams Date: Tue Jul 27 13:17:03 2010 -0700 libertas: remove unused cmd_pending waitq Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit d06956b535d040c98ce7932fb34f99df8f049ecf Author: Dan Williams Date: Tue Jul 27 13:16:24 2010 -0700 libertas: rename lbs_get_cmd_ctrl_node() to lbs_get_free_cmd_node() Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 77ccdcf2e933d61176f67c4976f7ad4cbb9cb82a Author: Dan Williams Date: Tue Jul 27 13:15:45 2010 -0700 libertas: kill unused lbs_prepare_and_send_command() Remove last bits of indirect command code. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 53800f5dbf4a62126e34605be7db89702d76dec6 Author: Dan Williams Date: Tue Jul 27 13:15:01 2010 -0700 libertas: convert DEEP_SLEEP timer to a direct command Other uses were already used direct command paths. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 0bb6408777227fcf5136e28aec29438606d5ac82 Author: Dan Williams Date: Tue Jul 27 13:08:08 2010 -0700 libertas: convert PS_MODE to a direct command Powersave looks like it got broken at some point but we'll fix that up when the command submission stuff is more understandable, which this series helps to do. That said, this patch should not further break powersave. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 8196112859a6742b9e25ca5fde972a7f41f06cc3 Author: Dan Williams Date: Tue Jul 27 13:05:16 2010 -0700 libertas: remove unused indirect command response handler Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit a6bb1bcebced1eeed6a96f37cda7cbb7cbd6dae6 Author: Dan Williams Date: Tue Jul 27 13:03:46 2010 -0700 libertas: convert CMD_FWT_ACCESS to a direct command Slightly different approach here since there are so many arguments to the firmware command. Just let the caller fill them in before pushing the command to the firmware. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 52148655608b31b7e18325ae7711de3a86466136 Author: Dan Williams Date: Tue Jul 27 13:01:47 2010 -0700 libertas: convert Mesh Blinding Table access to a direct command Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 4c7c6e00f17365633638848197c44552dd353d49 Author: Dan Williams Date: Tue Jul 27 13:01:07 2010 -0700 libertas: convert register access to direct commands Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 85dfbfed34bd6372daf4934256ca7f3b251c2016 Author: Dan Williams Date: Tue Jul 27 12:59:44 2010 -0700 libertas: convert LED_GPIO_CTRL to a direct command Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit d6541c74484a5679a79a1f1df9884fc4da8d8cf6 Author: Dan Williams Date: Tue Jul 27 12:58:08 2010 -0700 libertas: remove Beacon Control For now; it's a pretty easy command to hook up and whenever OLPC figures out how they want the userspace interface to look (ie, not iwpriv commands) we can easily add it back in. Since the cfg80211 conversion it wasn't working anyway. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit db08006fc4e825e632083f2a2de827ca2121c28d Author: Dan Williams Date: Tue Jul 27 12:57:27 2010 -0700 libertas: remove unused Automatic Frequency Control command It hasn't been hooked up to anything in a long time and it's not even listed in any of the firmware documentation I have (and I have v5.1, v8, v9, and v10). Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 49a08af5b9aa91207e3654ca3c88ca4d2596601c Author: Dan Williams Date: Tue Jul 27 12:56:44 2010 -0700 libertas: remove unused indirect TPC_CFG command leftovers These were no longer used but were left around; Transmit Power Control is done through the lbs_set_tpc_cfg() function. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit cc4b9d3928d682c4a15690c2bd9ed11c2eac5921 Author: Dan Williams Date: Tue Jul 27 12:56:05 2010 -0700 libertas: convert 11D_DOMAIN_INFO to a direct command Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 9fb7663d2b832183ec7558a19426666819636a64 Author: Dan Williams Date: Tue Jul 27 12:55:21 2010 -0700 libertas: clean up RSSI command Convert to a full direct command; previous code rolled a direct command by hand but left the original indirect command code intact but disabled. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit a45b6f4f9ef7fde2321da5aaa7db0e1e793a5b1e Author: Dan Williams Date: Tue Jul 27 12:54:34 2010 -0700 libertas: clean up MONITOR_MODE command Convert to a full direct command; previous code rolled a direct command by handle but left the original indirect command code lying around. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 98ec62185cd940765a096c88a3f14147dd1d3bd4 Author: Stanislaw Gruszka Date: Tue Jul 27 10:48:24 2010 -0400 rt2500usb: disallow to set WEP key with non zero index On our hardware (050d:7050 Belkin Components F5D7050 Wireless G Adapter), setting any WEP key with non zero index, cause rx frames corruption. Note: perhaps (I did not check) this can be fixed differently - by using hw_key_idx the same as true MAC key index. But according to the comment in rt2x00mac_set_key(): "the hardware requires keys to be assigned in correct order (When key 1 is provided but key 0 is not, then the key is not found by the hardware during RX)" this will be quite problematic. Since WEP should not be used, disabling hardware crypto offload for it will not hurt much. Beside static one key WEP will still be offloaded. Signed-off-by: Stanislaw Gruszka Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit ac59b496d9fd0b7425219e8dc5d4f1f6f0083efc Author: Stanislaw Gruszka Date: Tue Jul 27 10:48:17 2010 -0400 rt2500usb: truly disable encryption when initialize Without cipher part nullify of TXRX_CSR0 register we can receive corrupted frames (removed IV or IVC), after reloading rt2500usb module with nohwcrypt=1 option, if previous some keys were configured into the hardware. Signed-off-by: Stanislaw Gruszka Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1279f5edb6d25f2a955696fdec1ac96ca5bcb121 Author: Stanislaw Gruszka Date: Tue Jul 27 10:48:10 2010 -0400 rt2500usb: write keys to proper registers Fix rt2500usb hardware encryption broken by commit 96b61bafe22b2f2abcc833d651739edb977f1b1e "rt2x00: Clean up USB vendor request buffer functions" Signed-off-by: Stanislaw Gruszka Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit aaa41ec4257ccd2e972fd505c1791cfabfcd5763 Author: Senthil Balasubramanian Date: Tue Jul 27 19:16:34 2010 +0530 ath9k: remove unused base_index from rate table. base index is not used anymore and so remove it. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 812c7c35a0fb6081e492cfa890947c54fe5844fd Author: Senthil Balasubramanian Date: Tue Jul 27 19:16:33 2010 +0530 ath9k: Fix incorrect user ratekbs of MCS15 ShortGI The user ratekbs of MCS15 ShortGI is incorrect and can not be lesser than MCS15 rate. This incorrect rate may affect switching to higher rates as the rate control algorithm always finds MCS15 is better than MCS15 ShortGI and results in lower throughput. Fix this by feeding the correct user ratekbs for MCS15 ShortGI rate. This issue affects 3 stream case very badly as the 3 stream rates are not used at all once we scale down to MCS15 from 3 stream rates. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 1d9d06a27ae579b330887724201e7ac857c827d1 Author: Senthil Balasubramanian Date: Tue Jul 27 19:16:32 2010 +0530 ath9k: Add three stream rate control support for AR938X. This patch adds 3 stream rate control support for AR938X family chipsets which supports 3 streams. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit f63b340d1bab58aac07ae1b528d58a73b76b0970 Author: Senthil Balasubramanian Date: Tue Jul 27 19:16:31 2010 +0530 ath9k: Introduce bit masks for valid and valid_single_stream. replace valid and valid_single_stream in rate table with bit masks and reorganize the code so adding 3x3 rate control would be easier. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 32162a4dab0e6a4ca7f886a01173b5f9b80843be Author: Jouni Malinen Date: Mon Jul 26 15:52:03 2010 -0700 mac80211: Fix key freeing to handle unlinked keys Key locking simplification removed key->sdata != NULL verification from ieee80211_key_free(). While that is fine for most use cases, there is one path where this function can be called with an unlinked key (i.e., key->sdata == NULL && key->local == NULL). This results in a NULL pointer dereference with the current implementation. This is known to happen at least with FT protocol when wpa_supplicant tries to configure the key before association. Avoid the issue by passing in the local pointer to ieee80211_key_free(). In addition, do not clear the key from hw_accel or debugfs if it has not yet been added. At least the hw_accel one could trigger another NULL pointer dereference. Signed-off-by: Jouni Malinen Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 1b2fb7dc71c1f8f97663c2da84fa1c8183588474 Author: John W. Linville Date: Mon May 3 16:06:47 2010 -0400 p54: Added get_survey callback in order to get channel noise Signed-off-by: John W. Linville commit 800f65bba8d2030b3fef62850e203f9f176625a8 Merge: 06b3cda b3190df Author: John W. Linville Date: Tue Jul 27 11:59:19 2010 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-commands.h commit 06b3cda0c12986f5bba578b918b188d731c4e191 Author: Ivo van Doorn Date: Sat Jul 24 19:32:25 2010 +0200 rt2x00: Fix regression for rt2500pci Since commit: commit f1aa4c541e98afa8b770a75ccaa8504d0bff44a7 Author: Ivo van Doorn Date: Tue Jun 29 21:38:55 2010 +0200 rt2x00: Write the BSSID to register when interface is added mananged mode in rt2500pci was broken, due to intf->bssid containing random data rather then the expected 00:00:00:00:00:00 This is corrected by sending the BSSID to rt2x00lib_config_intf only in AP mode where the bssid is set to a valid value. Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit d97349797fa76753c747ed8b888414fe78795439 Author: Sujith Date: Fri Jul 23 10:47:11 2010 +0530 mac80211: Don't set per-BSS QoS for monitor interfaces In AP mode, there is no need to notify the driver about QoS changes for the monitor interface that is created. The warning in ieee80211_bss_info_change_notify() would be hit otherwise. Signed-off-by: Sujith Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 487f0e010cf5b6ba504150dfb20c21fd93e3b9e6 Author: Felix Fietkau Date: Fri Jul 23 04:31:56 2010 +0200 ath9k_hw: simplify noisefloor calibration chainmask calculation The noisefloor array index always corresponds to the rx chain number it belongs to (with an offset of 3 for the extension chain). It's much simpler (and actually more correct) to directly use the chainmask to calculate the bitmask for the noisefloor array, instead of using these weird chip revision checks and hardcoded mask values. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit d9292c0db7b4e98ae6d34a662ef49a8bd127fd8f Author: Felix Fietkau Date: Fri Jul 23 04:12:19 2010 +0200 ath9k_hw: fix a small typo in the noisefloor calibration debug code In the noisefloor array, the extension channel values start at index 3 Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 866b7780fce95989dfc85f3e372635f5147e0d90 Author: Felix Fietkau Date: Fri Jul 23 04:07:48 2010 +0200 ath9k_hw: fix invalid extension channel noisefloor readings in HT20 When the hardware is configured in HT20 mode, noise floor readings for the extension channel often return invalid values, which keep the values in the NF history buffer at the hardware-specific maximum limit. Fix this by discarding the extension channel values when in HT20 mode. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 4cee78614cfa046a26c4fbf313d5bbacb3ad8efc Author: Felix Fietkau Date: Fri Jul 23 03:53:16 2010 +0200 ath9k: fix yet another buffer leak in the tx aggregation code When an aggregation session is being cleaned up, while the tx status for some frames is being processed, the TID is flushed and its buffers are sent out. Unfortunately that left the pending un-acked frames unprocessed, thus leaking buffers. Fix this by reordering the code so that those frames are processed first, before the TID is flushed. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit ec25acc46a62db98baaa9b221f33b66af09a1964 Author: Johannes Berg Date: Thu Jul 22 17:11:28 2010 +0200 mac80211: fix sta assignment I just had the following: WARNING: at drivers/net/wireless/iwlwifi/iwl-agn-tx.c:574 iwlagn_tx_skb+0x1576/0x15f0 [iwlagn]() Call Trace: [] warn_slowpath_common+0x7f/0xc0 [] warn_slowpath_null+0x1a/0x20 [] iwlagn_tx_skb+0x1576/0x15f0 [iwlagn] [] iwl_mac_tx+0x5c/0x260 [iwlagn] [] __ieee80211_tx+0x10b/0x1a0 [mac80211] [] ieee80211_tx_pending+0x186/0x2d0 [mac80211] [] tasklet_action+0x125/0x130 [] __do_softirq+0x106/0x270 [] call_softirq+0x1c/0x30 iwlagn 0000:02:00.0: Attempting to modify non-existing station 107 Note that 107 == 0x6b which is slab poison. The reason is that mac80211 passed a freed station pointer to mac80211, because as it happened iwlwifi reset itself while mac80211 was disconnecting from the network. It turns out that we do take care to look up the station pointer in ieee80211_tx_pending_skb, but then don't use it, which obviously is a bug. Fix this by removing the ieee80211_tx_h_sta handler and assigning the station pointer directly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bd75eb854300c7e09eaf067572498abdeb9d3424 Author: Dan Carpenter Date: Thu Jul 22 14:21:02 2010 +0200 libertas: precedence bug Negate has precedence over comparison so the original test was always false. (Neither 0 nor 1 are equal to NL80211_IFTYPE_MONITOR). Signed-off-by: Dan Carpenter Acked-by: Dan Williams Signed-off-by: John W. Linville commit 3be61a3851c458fb4ce394645e26e8e9670c796a Author: Johannes Berg Date: Thu Jul 22 13:59:15 2010 +0200 cfg80211: fix IBSS default management key When wireless extensions are used to control an encrypted IBSS, we erroneously can try to set the default management key. Fix this. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 66c524210ab9217528b01b63c43903545e03a58c Author: Johannes Berg Date: Thu Jul 22 13:58:51 2010 +0200 mac80211: remove bogus rcu_read_lock() Another remnant of the previous key locking scheme needs to be removed -- this causes a warning otherwise as ieee80211_set_default_mgmt_key will acquire a mutex. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f9f9b6e3e3128e2b4d01a6e5ed0bb73cbb9a0a37 Author: Dan Carpenter Date: Thu Jul 22 13:26:50 2010 +0200 wireless: remove unneeded variable from regulatory_hint_11d() The "rd" variable isn't needed any more since 4f366c5dabcb "wireless: only use alpha2 regulatory information from country IE" Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 7e988014cd6dec991f095305256f57168b5610e8 Author: Dan Carpenter Date: Thu Jul 22 13:14:19 2010 +0200 mac80211: freeing the wrong variable The intent was to free "msp->ratelist" here. "msp->sample_table" is always NULL at this point. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 68e8f2fae03cde0ba841325e2660b55fe49bf4b9 Author: Vasanthakumar Thiagarajan Date: Thu Jul 22 02:24:11 2010 -0700 ath9k: Fix inconsistency between txq->stopped and the actual queue state Sometimes txq state(txq->stopped) can be marked as started but the actual queue may not be started (in ATH_WIPHY_SCAN state, for example). Fix this. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 2189d13f6cfc58627a01d6a91591e59a2fa62902 Author: Dan Carpenter Date: Thu Jul 22 10:52:02 2010 +0200 ath5k: snprintf() returns largish values snprintf() returns the number of characters that would have been written (not counting the NUL character). So we can't use it as the limiter to simple_read_from_buffer() without capping it first at sizeof(buf). Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 9746010bd3c825d364b783b327990d25962657dd Author: Dan Carpenter Date: Thu Jul 22 10:50:28 2010 +0200 ath9k: snprintf() returns largish values The snprintf() function returns the number of characters that would have been written (not counting the NUL character on the end). It could potentially be larger than the size of the buffer. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 929ebd30e4f982a1d2817f70154e7441f5714118 Author: Julia Lawall Date: Sat May 15 23:16:39 2010 +0200 drivers/net/wireless/wl12xx: Use kmemdup Use kmemdup when some other buffer is immediately copied into the allocated region. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression from,to,size,flag; statement S; @@ - to = \(kmalloc\|kzalloc\)(size,flag); + to = kmemdup(from,size,flag); if (to==NULL || ...) S - memcpy(to, from, size); // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit 3289a8368c294726659588d044e354dd3bcf44b3 Author: John W. Linville Date: Thu Jul 22 16:31:48 2010 -0400 lib80211: remove unused host_build_iv option Signed-off-by: John W. Linville commit ea65145da88e9fa04cb15c7a2a550ad1d3fde02a Author: John W. Linville Date: Thu Jul 22 15:43:13 2010 -0400 minstrel: don't complain about feedback for unrequested rates "It's not problematic if minstrel gets feedback for rates that it doesn't have in its list, it should just ignore it. - Felix" Signed-off-by: John W. Linville Cc: Felix Fietkau commit 00fc90c886220efe8b634d3f2a04713fcebbe2c0 Author: John W. Linville Date: Thu Jul 22 15:36:02 2010 -0400 minstrel_ht: remove unnecessary NULL check in minstrel_ht_update_caps If sta is NULL, we will have problems long before we get here... Reported-by: Dan Carpenter Signed-off-by: John W. Linville Cc: Felix Fietkau commit a6e492b9b5d323ca391312b981a5017e450132c0 Author: John W. Linville Date: Thu Jul 22 15:24:56 2010 -0400 iwlwifi: assume vif is NULL for internal scans and non-NULL otherwise The current practice of checking vif for NULL in one place but not another seems to confuse some static checkers, smatch in particular. Since vif will only be NULL in the case of internal scans, adjust the checks accordingly. Reported-by: Dan Carpenter Signed-off-by: John W. Linville commit 28eb3e5acfddf1e1c8892df9901e4f32f7f537eb Author: John W. Linville Date: Wed Jul 21 16:36:06 2010 -0400 rtl8180: silence "dubious: x | !y" sparse warning CHECK drivers/net/wireless/rtl818x/rtl8180_rtl8225.c drivers/net/wireless/rtl818x/rtl8180_rtl8225.c:53:33: warning: dubious: x | !y The existing code is clever and works fine, but it's not worth even a single line of Sparse warning SPAM... Signed-off-by: John W. Linville commit 8b73fb8e29e9ae0458d36cc0dc25e2717587dfd4 Author: John W. Linville Date: Wed Jul 21 16:26:40 2010 -0400 rtl8180: improve signal reporting for actual rtl8180 hardware Adapted from Realtek-provided driver... Signed-off-by: John W. Linville Tested-by: Pauli Nieminen commit 1ab36d68e37faa431d99a07cbfb477a48879934e Author: John W. Linville Date: Wed Jul 21 12:25:10 2010 -0400 wl1251: fix sparse-generated warnings CHECK drivers/net/wireless/wl12xx/wl1251_tx.c drivers/net/wireless/wl12xx/wl1251_tx.c:118:32: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1251_tx.c:118:32: expected unsigned short [unsigned] [usertype] frag_threshold drivers/net/wireless/wl12xx/wl1251_tx.c:118:32: got restricted __le16 [usertype] drivers/net/wireless/wl12xx/wl1251_tx.c:164:24: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1251_tx.c:164:24: expected unsigned short [unsigned] [usertype] length drivers/net/wireless/wl12xx/wl1251_tx.c:164:24: got restricted __le16 [usertype] drivers/net/wireless/wl12xx/wl1251_tx.c:166:22: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1251_tx.c:166:22: expected unsigned short [unsigned] [usertype] rate drivers/net/wireless/wl12xx/wl1251_tx.c:166:22: got restricted __le16 [usertype] drivers/net/wireless/wl12xx/wl1251_tx.c:167:29: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1251_tx.c:167:29: expected unsigned int [unsigned] [usertype] expiry_time drivers/net/wireless/wl12xx/wl1251_tx.c:167:29: got restricted __le32 [usertype] drivers/net/wireless/wl12xx/wl1251_tx.c:200:43: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/wl12xx/wl1251_tx.c:200:43: expected restricted __le16 [usertype] fc drivers/net/wireless/wl12xx/wl1251_tx.c:200:43: got unsigned short [unsigned] [assigned] [usertype] fc CHECK drivers/net/wireless/wl12xx/wl1251_cmd.c drivers/net/wireless/wl12xx/wl1251_cmd.c:428:39: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1251_cmd.c:428:39: expected unsigned int [unsigned] [usertype] rx_config_options drivers/net/wireless/wl12xx/wl1251_cmd.c:428:39: got restricted __le32 [usertype] drivers/net/wireless/wl12xx/wl1251_cmd.c:429:39: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1251_cmd.c:429:39: expected unsigned int [unsigned] [usertype] rx_filter_options drivers/net/wireless/wl12xx/wl1251_cmd.c:429:39: got restricted __le32 [usertype] drivers/net/wireless/wl12xx/wl1251_cmd.c:435:29: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1251_cmd.c:435:29: expected unsigned short [unsigned] [usertype] tx_rate drivers/net/wireless/wl12xx/wl1251_cmd.c:435:29: got restricted __le16 [usertype] drivers/net/wireless/wl12xx/wl1251_cmd.c:439:47: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1251_cmd.c:439:47: expected unsigned int [unsigned] [usertype] min_duration drivers/net/wireless/wl12xx/wl1251_cmd.c:439:47: got restricted __le32 [usertype] drivers/net/wireless/wl12xx/wl1251_cmd.c:441:47: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1251_cmd.c:441:47: expected unsigned int [unsigned] [usertype] max_duration drivers/net/wireless/wl12xx/wl1251_cmd.c:441:47: got restricted __le32 [usertype] CHECK drivers/net/wireless/wl12xx/wl1251_boot.c drivers/net/wireless/wl12xx/wl1251_boot.c:228:22: warning: symbol 'interrupt' shadows an earlier one /home/linville/git/wireless-next-2.6/arch/x86/include/asm/hw_irq.h:132:13: originally declared here Signed-off-by: John W. Linville commit da22f795cefb7c9f8a7bc6f22b1c16f1ff15a392 Author: John W. Linville Date: Mon Jul 26 15:04:12 2010 -0400 iwlagn: use __packed on new structure definitions "iwlagn: add statistic notification structure for WiFi/BT devices" added several new '__attribute__ ((packed))' lines. Change them to the generic __packed. Signed-off-by: John W. Linville commit 2a88e7e559f2358f4e1422d0b0c0278a74136581 Merge: 344e0f6 7a17a33 Author: David S. Miller Date: Fri Jul 23 14:03:38 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-commands.h commit 882d829a23756dd827d8ed30000f73f1b035ad29 Author: Andy Shevchenko Date: Fri Jul 23 03:18:09 2010 +0000 wireless: use newly introduced hex_to_bin() Signed-off-by: Andy Shevchenko Cc: Corey Thomas Cc: "John W. Linville" Cc: linux-wireless@vger.kernel.org Signed-off-by: David S. Miller commit 1bd14eaf9e2e790c79c6060b9c630afddc67dfac Author: Johannes Berg Date: Thu Jul 15 11:48:21 2010 -0700 iwlwifi: remove spurious semicolons defines shouldn't be terminated with a semicolon, the code using them should supply it. Luckily these are not used in a context where it matters. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 6abbe554bab8ab908b3963577e14dc2e716fd485 Author: Johannes Berg Date: Thu Jul 15 05:59:07 2010 -0700 iwlwifi: reduce beacon fill conditions Since the ibss_beacon variable will only be filled in the appropriate modes, there's no reason to be checking the mode again. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit c6fa17ed3fadaf056173c409c0877df428a152ec Author: Wey-Yi Guy Date: Thu Jul 15 05:58:30 2010 -0700 iwlwifi: read multiple MAC addresses Some devices may have multiple MAC addresses in their EEPROM, read them and advertise them to cfg80211. Signed-off-by: Wey-Yi Guy Signed-off-by: Johannes Berg commit 0bc5774f4e1df0204e68bfcd84e122d430dcf35c Author: Johannes Berg Date: Thu Jul 15 05:57:48 2010 -0700 iwlwifi: make iwl_mac_beacon_update static This function is only needed in the same file it is defined in, i.e. iwl-core.c Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 704da534af1e366214f790b381fed73ba6c5d37b Author: Johannes Berg Date: Wed Jul 14 09:34:50 2010 -0700 iwlagn: fix firmware loading TLV error path gcc complains about the firmware loading: iwl-agn.c: In function ‘iwlagn_load_firmware’: iwl-agn.c:1860: warning: ‘tlv_len’ may be used uninitialized in this function iwl-agn.c:1861: warning: ‘tlv_type’ may be used uninitialized in this function iwl-agn.c:1862: warning: ‘tlv_data’ may be used uninitialized in this function This is almost correct but we do do break out of the TLV parsing loop when setting ret. However, the code is hard to follow, and clearly even the compiler is having issues with it too. Additionally, however, the current code is wrong. If there is a TLV length check error, the code will report invalid TLV after parsing: ... because "len" will still be non-zero as we broke out of the loop. So to remove the warning and fix that issue, make the code easier to read by doing length checking with an error label. As a result, we can completely remove the "ret" variable. Also, while at it, remove the "fixed_tlv_size" variable since each TLV type has its own specified length, it just happens that we have only variable length, flags (0 length) and u32 TLVs right now. It should still be checked with more explicit length checks to make it easier to understand. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 6a822d060c439bb700f2369767105f49135b94f8 Author: Wey-Yi Guy Date: Tue Jul 13 17:13:15 2010 -0700 iwlwifi: add TLV to specify the size of phy calibration table Different devices have different size of phy calibration table; add new TLV to specify the size. If the TLV is not part of uCode header, the default table size will be used to make sure the backward compatibilities. Signed-off-by: Wey-Yi Guy commit ffb7d896b3bc21e09d77fed45b52b2ff4ce213e5 Author: Wey-Yi Guy Date: Wed Jul 14 08:09:55 2010 -0700 iwlagn: add bluetooth stats to debugfs For WiFi/BT combo devices, add bluetooth statistics counter read function to debugfs. Signed-off-by: Wey-Yi Guy commit 7980fba54ec42f7c206b2bb469baeb3a0a2e8a93 Author: Wey-Yi Guy Date: Wed Jul 14 08:08:57 2010 -0700 iwlagn: Add support for bluetooth statistics notification WiFi/BT combo devices has different statistics notification structure, adding the support here to make sure the structure align correctly. Signed-off-by: Wey-Yi Guy commit af8ee0553b4ce077319190cde680d74ad18ddfad Author: Wey-Yi Guy Date: Wed Jul 14 08:08:05 2010 -0700 iwlagn: add .cfg flag to idenfity the need for bt statistics Only WiFi/BT combo devices need to use bluetooth version of statistics notification; adding the flag in .cfg file to indicate the need for using different data structure. Signed-off-by: Wey-Yi Guy commit 325322ee34d726bff922853d509e135c8d262e2f Author: Wey-Yi Guy Date: Wed Jul 14 08:07:27 2010 -0700 iwlagn: add statistic notification structure for WiFi/BT devices If its WiFi/BT combo device, the statistics notification sent by uCode will include the additional BT related statistics counters. Adding new data structure to support the new layout. Signed-off-by: Wey-Yi Guy commit 7a17a33c0da37f8d24222c967550d19dabf13617 Author: Johannes Berg Date: Wed Jul 21 11:30:27 2010 +0200 mac80211: proper IBSS locking IBSS has never had locking, instead relying on some memory barriers etc. That's hard to get right, and I think we had it wrong too until the previous patch. Since this is not performance sensitive, it doesn't make sense to have the maintenance overhead of that, so add proper locking. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bc05d19f4b884b1dbbce48912710ae3f972c89d2 Author: Johannes Berg Date: Wed Jul 21 10:52:40 2010 +0200 mac80211: fix IBSS lockdep complaint Bob reported a lockdep complaint originating in the mac80211 IBSS code due to the common work struct patch. The reason is that the IBSS and station mode code have different locking orders for the cfg80211 wdev lock and the work struct (where "locking" implies running/canceling). Fix this by simply not canceling the work in the IBSS code, it is not necessary since when the REQ_RUN bit is cleared, the work will run without effect if it runs. When the interface is set down, it is flushed anyway, so there's no concern about it running after memory has been invalidated either. This fixes https://bugzilla.kernel.org/show_bug.cgi?id=16419 Additionally, looking into this I noticed that there's a small window while the IBSS is torn down in which the work may be rescheduled and the REQ_RUN bit be set again after leave() has cleared it when a scan finishes at exactly the same time. Avoid that by setting the ssid_len to zero before clearing REQ_RUN which signals to the scan finish code that this interface is not active. Reported-by: Bob Copeland Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9dca9c490146e787472bc05b264e043311a4c67b Author: Johannes Berg Date: Wed Jul 21 10:09:25 2010 +0200 mac80211: refuse shared key auth when WEP is unavailable When WEP is not available, we should reject shared key authentication because it could never succeed. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5a652052fedbd7869572c757dd2ffc2ed420c69d Author: Maxime Bizon Date: Wed Jul 21 17:21:38 2010 +0200 cfg80211: fix race between sysfs and cfg80211 device_add() is called before adding the phy to the cfg80211 device list. So if a userspace program uses sysfs uevents to detect new phy devices, and queries nl80211 to get phy info, it can get ENODEV even though the phy exists in sysfs. An easy workaround is to hold the cfg80211 mutex until the phy is present in sysfs/cfg80211/debugfs. Signed-off-by: Maxime Bizon Signed-off-by: John W. Linville commit acd82aa868c2133149370c18d85f8005fbf5611e Author: Larry Finger Date: Wed Jul 21 11:48:05 2010 -0500 b43: silence phy_n sparse warnings drivers/net/wireless/b43/phy_n.c:512:53: warning: cast truncates bits from constant value (ffff0fff becomes fff) drivers/net/wireless/b43/phy_n.c:765:66: warning: cast truncates bits from constant value (ffff7fff becomes 7fff) drivers/net/wireless/b43/phy_n.c:1012:38: warning: cast truncates bits from constant value (ffff00ff becomes ff) drivers/net/wireless/b43/phy_n.c:1119:38: warning: cast truncates bits from constant value (ffff0fff becomes fff) drivers/net/wireless/b43/phy_n.c:2458:56: warning: cast truncates bits from constant value (ffff7fff becomes 7fff) drivers/net/wireless/b43/phy_n.c:2933:38: warning: cast truncates bits from constant value (ffff0fff becomes fff) drivers/net/wireless/b43/phy_n.c:3294:57: warning: cast truncates bits from constant value (ffff3fff becomes 3fff) Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 41950bdfb5c530ba9b67037cc4c836677e750b6e Author: John W. Linville Date: Wed Jul 21 11:37:19 2010 -0400 b43: silence most sparse warnings CHECK drivers/net/wireless/b43/main.c drivers/net/wireless/b43/main.c:111:5: warning: symbol 'b43_modparam_pio' was not declared. Should it be static? CHECK drivers/net/wireless/b43/phy_g.c drivers/net/wireless/b43/phy_g.c:975:56: warning: cast truncates bits from constant value (ffff7fff becomes 7fff) CHECK drivers/net/wireless/b43/phy_lp.c drivers/net/wireless/b43/phy_lp.c:2701:6: warning: symbol 'b43_lpphy_op_switch_analog' was not declared. Should it be static? drivers/net/wireless/b43/phy_lp.c:1148:30: warning: cast truncates bits from constant value (ffff1fff becomes 1fff) drivers/net/wireless/b43/phy_lp.c:1525:30: warning: cast truncates bits from constant value (ffff1fff becomes 1fff) drivers/net/wireless/b43/phy_lp.c:1529:30: warning: cast truncates bits from constant value (ffff1fff becomes 1fff) CHECK drivers/net/wireless/b43/wa.c drivers/net/wireless/b43/wa.c:385:60: warning: cast truncates bits from constant value (ffff00ff becomes ff) drivers/net/wireless/b43/wa.c:403:55: warning: cast truncates bits from constant value (ffff00ff becomes ff) drivers/net/wireless/b43/wa.c:405:55: warning: cast truncates bits from constant value (ffff00ff becomes ff) drivers/net/wireless/b43/wa.c:415:71: warning: cast truncates bits from constant value (ffff0fff becomes fff) AFAICT, none of these amount to real bugs. But this reduces warning spam from sparse w/o significantly affecting readability of the code (IMHO). Signed-off-by: John W. Linville commit b3190df628617c7a4f188a9465aeabe1f5761933 Author: Suraj Sumangala Date: Mon Jul 19 12:34:07 2010 +0530 Bluetooth: Support for Atheros AR300x serial chip Implements Atheros AR300x serial HCI protocol. This protocol extends H4 serial protocol to implement enhanced power management features supported by Atheros AR300x serial Bluetooth chipsets. Signed-off-by: Suraj Sumangala Signed-off-by: Marcel Holtmann commit 81ca405aee7e4a1a432c3887bc83ae798fd2cccd Author: Gustavo F. Padovan Date: Mon Jul 19 13:54:05 2010 -0300 Bluetooth: Use __packed annotation for drivers Use the __packed annotation instead of the __attribute__((packed)). Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit d1c4a17d58a6dfacb48935aa430aa986559a885f Author: Gustavo F. Padovan Date: Sun Jul 18 16:25:54 2010 -0300 Bluetooth: Enable L2CAP Extended features by default Change the enable_ertm param to disable_ertm and default value to 0. That means that L2CAP Extended features are enabled by default now. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 893ef9711286d01763f3c175385d70076d5f9546 Author: Gustavo F. Padovan Date: Sun Jul 18 15:13:37 2010 -0300 Bluetooth: Fix typo in hci_event.c memmory -> memory Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 08b8b6c454092ae19cea82787b86ee9596ae1951 Author: Gustavo F. Padovan Date: Fri Jul 16 17:20:33 2010 -0300 Bluetooth: Move bit-field variable in USB driver to data->flags did_iso_resume keeps only a bit-field value, so moving that to a proper flags place. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 5d8868ff3d11e3fc5a5c07477f281a16c71714a3 Author: Gustavo F. Padovan Date: Fri Jul 16 16:18:39 2010 -0300 Bluetooth: Add Google's copyright to L2CAP Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 9981151086385eecc2febf4ba95a14593f834b3d Author: Suraj Sumangala Date: Wed Jul 14 13:02:19 2010 +0530 Bluetooth: Implemented HCI frame reassembly for RX from stream Implemented frame reassembly implementation for reassembling fragments received from stream. Signed-off-by: Suraj Sumangala Signed-off-by: Marcel Holtmann commit f39a3c06404d01ef2ce47e821bc778dfb1836df9 Author: Suraj Sumangala Date: Wed Jul 14 13:02:18 2010 +0530 Bluetooth: Modified hci_recv_fragment() to use hci_reassembly helper Modified packet based reassembly function hci_recv_fragment() to use hci_reassembly() Signed-off-by: Suraj Sumangala Signed-off-by: Marcel Holtmann commit 33e882a5f2301a23a85ef2994e30fd9f48d39d9b Author: Suraj Sumangala Date: Wed Jul 14 13:02:17 2010 +0530 Bluetooth: Implement hci_reassembly helper to reassemble RX packets Implements feature to reassemble received HCI frames from any input stream Signed-off-by: Suraj Sumangala Signed-off-by: Marcel Holtmann commit cd4c53919ed50b0d532f106aeb76e79077bece98 Author: Suraj Sumangala Date: Wed Jul 14 13:02:16 2010 +0530 Bluetooth: Add one more buffer for HCI stream reassembly Additional reassembly buffer to keep track of stream reasembly Signed-off-by: Suraj Sumangala Signed-off-by: Marcel Holtmann commit 0a79f67445de50ca0a8dc1d34f3cc406d89c28b2 Author: Cyril Lacoux Date: Wed Jul 14 10:29:27 2010 +0400 Bluetooth: Added support for controller shipped with iMac i5 Device class is ff(vend.) instead of e0(wlcon). Output from command `usb-devices`: T: Bus=01 Lev=03 Prnt=03 Port=00 Cnt=01 Dev#= 6 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=05ac ProdID=8215 Rev=01.82 S: Manufacturer=Apple Inc. S: Product=Bluetooth USB Host Controller S: SerialNumber=7C6D62936607 C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=00 Driver=(none) Signed-off-by: Cyril Lacoux Signed-off-by: Marcel Holtmann commit dd135240e8e10295f7e7cdf347800df6e1841437 Author: Gustavo F. Padovan Date: Tue Jul 13 11:57:12 2010 -0300 Bluetooth: Update L2CAP version information We did some changes on the L2CAP configuration process and its behaviour is bit different now. That justifies a updated on the L2CAP version. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit ce5706bd69be6b25715ed6cd48a210b5080032bc Author: Gustavo F. Padovan Date: Tue Jul 13 11:57:11 2010 -0300 Bluetooth: Add Copyright notice to L2CAP Copyright for the time I worked on L2CAP during the Google Summer of Code program. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit be60b94030339b89c2bcff18c76882f0a4c01ce6 Author: Joe Perches Date: Mon Jul 12 13:49:57 2010 -0700 Bluetooth: Remove unnecessary casts of private_data in drivers Signed-off-by: Joe Perches Signed-off-by: Marcel Holtmann commit 63c7d09cd52fe23ad2baee26bcc10a590944cfa4 Author: Johan Hedberg Date: Mon Jul 12 11:37:04 2010 -0300 Bluetooth: Add HCIUARTSETFLAGS and HCIUARTGETFLAGS ioctls This patch introduces two new ioctls: HCIUARTSETFLAGS and HCIUARTGETFLAGS. The only flag available for now is HCI_UART_RAW_DEVICE which allows to initialize a UART device into RAW mode from userspace. This is particularly useful for experimenting with Bluetooth controllers that don't yet have proper support in BlueZ. Signed-off-by: Johan Hedberg Signed-off-by: Marcel Holtmann commit 47731de789749c9ed3c54751db28fd9c9eeaf019 Author: Gustavo F. Padovan Date: Fri Jul 9 16:38:35 2010 -0300 Bluetooth: Keep code under column 80 Purely a cosmetic change, it doesn't change the code flow. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 89746b856c88af9e5019e84615d88e002fb54dc3 Author: Gustavo F. Padovan Date: Fri Jul 9 16:38:34 2010 -0300 Bluetooth: Fix bug in kzalloc allocation size Probably a typo error. We were using the wrong struct to get size. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit e9aeb2ddd441f0c8699ff04c499d7213730a0f04 Author: Gustavo F. Padovan Date: Thu Jul 8 20:08:18 2010 -0300 Bluetooth: Send ConfigReq after send a ConnectionRsp The extended L2CAP features requires that one should initiate a ConfigReq after send the ConnectionRsp. This patch changes the behaviour of the configuration process of our stack. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 963cf687e825f7a59817f145a1ea19bdc224a18f Author: João Paulo Rechi Vita Date: Tue Jun 22 13:56:28 2010 -0300 Bluetooth: Fix error return on L2CAP-HCI interface. L2CAP only deals with ACL links. EINVAL should be returned otherwise. Signed-off-by: João Paulo Rechi Vita Acked-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 7a560e5c99dc5f03e2c0dbe05ed20008af5d0bcf Author: João Paulo Rechi Vita Date: Tue Jun 22 13:56:27 2010 -0300 Bluetooth: Fix error value for wrong FCS. Signed-off-by: João Paulo Rechi Vita Acked-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 57d3b22bf56579bb1ab2d6f5020d372c99a7afae Author: João Paulo Rechi Vita Date: Tue Jun 22 13:56:26 2010 -0300 Bluetooth: Fix error return for l2cap_connect_rsp(). Signed-off-by: João Paulo Rechi Vita Acked-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit bc766db2ef3700ae74bdfc88d74b771b97971a24 Author: João Paulo Rechi Vita Date: Tue Jun 22 13:56:25 2010 -0300 Bluetooth: Fix error return value on sendmsg. When the socket is in a bad state EBADFD is more appropriate then EINVAL. Signed-off-by: João Paulo Rechi Vita Acked-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit f9dd11b03c5c3cd6bdf2e503400bbc922c898974 Author: João Paulo Rechi Vita Date: Tue Jun 22 13:56:24 2010 -0300 Bluetooth: Fix error return value on sendmsg. When we try to send a message bigger than the outgoing MTU value EMSGSIZE (message too long) should be returned. Signed-off-by: João Paulo Rechi Vita Acked-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 305682e8377b0f560d4b885c169a72e6a62331e9 Author: João Paulo Rechi Vita Date: Tue Jun 22 13:56:23 2010 -0300 Bluetooth: Make l2cap_streaming_send() void. It doesn't make sense to have a return value since we always set it to 0. Signed-off-by: João Paulo Rechi Vita Acked-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 8b0dc6dc827fb71efd6c9dfb5c4172b7b5c96cee Author: João Paulo Rechi Vita Date: Tue Jun 22 13:56:22 2010 -0300 Bluetooth: Fix l2cap_sock_connect error return. Return a proper error value if socket is already connected. Signed-off-by: João Paulo Rechi Vita Acked-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 712132eb541e4a76afad97898dc0ce6b6c0032d8 Author: Gustavo F. Padovan Date: Mon Jun 21 19:39:50 2010 -0300 Bluetooth: Improve ERTM local busy handling Now we also check if can push skb userspace just after receive a new skb instead of only wait the l2cap_busy_work wake up from time to time to check the local busy condition. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 218bb9dfd21472128f86b38ad2eab123205c2991 Author: Gustavo F. Padovan Date: Mon Jun 21 18:53:22 2010 -0300 Bluetooth: Add backlog queue to ERTM code backlog queue is the canonical mechanism to avoid race conditions due interrupts in bottom half context. After the socket lock is released the net core take care of push all skb in its backlog queue. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit e0f66218b3a7d0bcf37ca95186123c257fda0ba5 Author: Gustavo F. Padovan Date: Mon Jun 21 18:50:49 2010 -0300 Bluetooth: Remove the send_lock spinlock from ERTM Using a lock to deal with the ERTM race condition - interruption with new data from the hci layer - is wrong. We should use the native skb backlog queue. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 8cb8e6f1684be13b51f8429b15f39c140326b327 Author: Gustavo F. Padovan Date: Mon Jun 14 02:26:15 2010 -0300 Bluetooth: Don't accept ConfigReq if we aren't in the BT_CONFIG state If such event happens we shall reply with a Command Reject, because we are not expecting any configure request. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit cf6c2c0b9f47ee3cd12684b905725c8376d52135 Author: Gustavo F. Padovan Date: Mon Jun 7 20:54:45 2010 -0300 Bluetooth: Disconnect early if mode is not supported When mode is mandatory we shall not send connect request and report this to the userspace as well. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 2ba13ed678775195e8255b4e503c59d48b615bd8 Author: Gustavo F. Padovan Date: Wed Jun 9 16:39:05 2010 -0300 Bluetooth: Remove check for supported mode Since now we have checks for the supported mode before on l2cap_info_rsp we can remove the check for it here. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 6c2ea7a8f5fea67fa20e5825401b8fce5a78dbf6 Author: Gustavo F. Padovan Date: Tue Jun 8 20:08:49 2010 -0300 Bluetooth: Refuse ConfigRsp with different mode If our mode is Basic Mode we have to refuse any ConfigRsp that proposes a different mode. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 625477523b4e656fbcc5ec2a8ca7a1beb39b1caf Author: Gustavo F. Padovan Date: Tue Jun 8 20:05:31 2010 -0300 Bluetooth: Actively send request for Basic Mode The Profile Tuning Suite requires that we send a RFC containing the Basic Mode configuration when requesting Basic Mode. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit ae12d52efd492ee6634c34322302ac754ff8cde8 Author: Gustavo F. Padovan Date: Tue Jun 8 19:29:00 2010 -0300 Bluetooth: Prefer Basic Mode on receipt of ConfigReq If we choose to use Basic Mode then we have to refuse the received mode and propose Basic Mode again. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 742e519b0db4a470008118b48f0baea6126e2122 Author: Gustavo F. Padovan Date: Tue Jun 8 19:09:48 2010 -0300 Bluetooth: Disconnect the channel if we don't want the proposed mode If the device is a STATE 2 then it should disconnect the channel if the remote device propose a mode different from its mandatory mode. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 85eb53c6f719523dde9e0658823dffd2664d4d1c Author: Gustavo F. Padovan Date: Thu Jun 3 18:43:28 2010 -0300 Bluetooth: Change the way we set ERTM mode as mandatory If the socket type is SOCK_STREAM we set Enhanced Retransmisson Mode or Streaming Mode as mandatory. That means that we will close the channel if the other side doesn't support or request the the mandatory mode. Basic mode can't be set as mandatory. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 64988868637304330f7df20d08b965592312c531 Author: Gustavo F. Padovan Date: Mon May 10 14:54:14 2010 -0300 Bluetooth: Tweaks to l2cap_send_i_or_rr_or_rnr() flow l2cap_send_sframe() already set the F-bit if we set L2CAP_CONN_SEND_FBIT and unset L2CAP_CONN_SEND_FBIT after send the F-bit. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 0e98958d4f827f814444757e0376546b462dfe6f Author: Gustavo F. Padovan Date: Mon Apr 19 14:45:38 2010 -0300 Bluetooth: Add debug output to ERTM code Use the dynamic debug to output info about ERTM protocol stuff. The following script can be used to enable debug for ERTM: DEBUGFS="/sys/kernel/debug/dynamic_debug/control" echo -n 'func l2cap_send_disconn_req +p' > $DEBUGFS echo -n 'func l2cap_monitor_timeout +p' > $DEBUGFS echo -n 'func l2cap_retrans_timeout +p' > $DEBUGFS echo -n 'func l2cap_busy_work +p' > $DEBUGFS echo -n 'func l2cap_push_rx_skb +p' > $DEBUGFS echo -n 'func l2cap_data_channel_iframe +p' > $DEBUGFS echo -n 'func l2cap_data_channel_rrframe +p' > $DEBUGFS echo -n 'func l2cap_data_channel_rejframe +p' > $DEBUGFS echo -n 'func l2cap_data_channel_srejframe +p' > $DEBUGFS echo -n 'func l2cap_data_channel_rnrframe +p' > $DEBUGFS Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 9b108fc0cf4e79c34a7d5626f5c2c4c529ef6d3f Author: Gustavo F. Padovan Date: Thu May 20 16:21:53 2010 -0300 Bluetooth: Fix ERTM error reporting to the userspace If any error occurs during transfers we have to tell userspace that something wrong happened. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 4ea727ef9d507413f15da0de401d8a50b125649a Author: Gustavo F. Padovan Date: Thu Jun 3 16:34:20 2010 -0300 Bluetooth: Fix missing retransmission action with RR(P=1) The Bluetooth SIG Profile Tuning Suite Software uses the CSA1 spec to run the L2CAP tests. The new 3.0 spec has a missing Retransmit-I-Frames action when the Remote side is Busy. We still start the retransmission timer if Remote is Busy and unacked frames > 0. We do everything we did before this change plus the Retransmission of I-frames. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 260000896750690b774d4343294ae5cbff1423e5 Author: Gustavo F. Padovan Date: Tue May 11 22:02:00 2010 -0300 Bluetooth: Check packet FCS earlier This way, if FCS is enabled and the packet is corrupted, we just drop it without read it len, which could be corrupted. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 45d65c46acc39945219eeb3752367ee80ed82799 Author: Gustavo F. Padovan Date: Mon Jun 7 19:21:30 2010 -0300 Bluetooth: Check the tx_window size on setsockopt We have to check if the proposed tx_window value is not greater that maximum value supported. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 3cb123d1c03a0510d3c325bfaa971ce4df1e050d Author: Gustavo F. Padovan Date: Sat May 29 02:24:35 2010 -0300 Bluetooth: Fix handle of received P-bit ERTM spec mandates that after receive a P-bit we shall send an F-bit in response. This patch fixes this for retransmitted packets, on retransmitting we were missing to check for a pending F-bit to be sent. Also we were missing some annotation to send a F-bit. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 2ece3684b4037ad2394de795d67abbe412ab5e2f Author: Gustavo F. Padovan Date: Wed Jun 16 17:21:44 2010 -0300 Bluetooth: Update buffer_seq before retransmit frames Updating buffer_seq first make us able to ack the last I-frame received. This is also a requirement of the Profile Tuning Suite software. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 7fe9b298c98fdfecf3b0efb4c971b7696d091ae9 Author: Gustavo F. Padovan Date: Wed May 12 18:32:04 2010 -0300 Bluetooth: Stop ack_timer if ERTM enters in Local Busy or SREJ_SENT The ack_timer is implemation specific, disabling it in such situation avoids some potencial errors in the ERTM protocol. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit f8df39f1810b02f877c1ba1eed8e0710019e3b48 Author: Julia Lawall Date: Thu May 13 22:02:03 2010 +0200 Bluetooth: Use kzalloc for drivers Use kzalloc rather than the combination of kmalloc and memset. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression x,size,flags; statement S; @@ -x = kmalloc(size,flags); +x = kzalloc(size,flags); if (x == NULL) S -memset(x, 0, size); // Signed-off-by: Julia Lawall Acked-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 5ee283c063a236b19e4582c675a2d8d615d5809c Author: Julia Lawall Date: Sat May 15 23:19:15 2010 +0200 Bluetooth: Use kmemdup for drivers Use kmemdup when some other buffer is immediately copied into the allocated region. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression from,to,size,flag; statement S; @@ - to = \(kmalloc\|kzalloc\)(size,flag); + to = kmemdup(from,size,flag); if (to==NULL || ...) S - memcpy(to, from, size); // Signed-off-by: Julia Lawall Acked-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit d1d10d783089cc26a14be92fc12fccda9aa6593a Author: Amitkumar Karwar Date: Thu May 27 16:38:37 2010 -0700 Bluetooth: Process interrupt in main thread of btmrvl driver as well When driver is sending a command or data and the firmware is also sending a sleep event, sometimes it is observed that driver will continue to send the command/data to firmware right after processing sleep event. Once sleep event is processed driver is not supposed to send anything because firmware is in sleep state after that. Previously interrupt processing was done in SDIO interrupt callback handler. Now it is done in btmrvl driver main thread to solve the cross-sending properly. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit 2d0a03460a8a0c611843500735096ff799aa8510 Author: Ron Shaffer Date: Fri May 28 11:53:46 2010 -0400 Bluetooth: Reassigned copyright to Code Aurora Forum Qualcomm, Inc. has reassigned rights to Code Aurora Forum. Accordingly, as files are modified by Code Aurora Forum members, the copyright statement will be updated. Signed-off-by: Ron Shaffer Signed-off-by: Marcel Holtmann commit 7452d24cfb91e84f9be61beda5ad68d2a56d0938 Author: Justin P. Mattock Date: Mon Jun 14 18:26:40 2010 -0700 Bluetooth: Fix warning: variable 'tty' set but not used The patch below fixes a warning message when using gcc 4.6.0. CC [M] drivers/bluetooth/hci_ldisc.o drivers/bluetooth/hci_ldisc.c: In function 'hci_uart_send_frame': drivers/bluetooth/hci_ldisc.c:213:21: warning: variable 'tty' set but not used Signed-off-by: Justin P. Mattock Reviewed-By: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 278be27fc401119c985235ee549dc229d85e6bf5 Author: Kulikov Vasiliy Date: Mon Jul 5 12:01:22 2010 +0400 Bluetooth: Silence warning in btmrvl SDIO driver Clone checking of ret to simplify the code. This patch silences a compiler warning: drivers/bluetooth/btmrvl_sdio.c: In function ‘btmrvl_sdio_verify_fw_download’: drivers/bluetooth/btmrvl_sdio.c:80: warning: ‘fws1’ may be used uninitialized in this function drivers/bluetooth/btmrvl_sdio.c:80: note: ‘fws1’ was declared here Signed-off-by: Kulikov Vasiliy Reviewed-by: Dan Carpenter Signed-off-by: Marcel Holtmann commit 32c2ece5eaec296482077dadc3edd5baa7bd1097 Author: Johan Hedberg Date: Tue May 18 13:54:49 2010 +0200 Bluetooth: Add debugfs support for showing the blacklist This patch adds a debugfs blacklist entry for each HCI device which can be used to list the current content of the blacklist. Signed-off-by: Johan Hedberg Signed-off-by: Marcel Holtmann commit f03585689fdff4ae256edd45a35bc2dd83d3684a Author: Johan Hedberg Date: Tue May 18 13:20:32 2010 +0200 Bluetooth: Add blacklist support for incoming connections In some circumstances it could be desirable to reject incoming connections on the baseband level. This patch adds this feature through two new ioctl's: HCIBLOCKADDR and HCIUNBLOCKADDR. Both take a simple Bluetooth address as a parameter. BDADDR_ANY can be used with HCIUNBLOCKADDR to remove all devices from the blacklist. Signed-off-by: Johan Hedberg Signed-off-by: Marcel Holtmann commit 95ffa97827371ede501615d9bd048eb5b49e8fe1 Author: Gustavo F. Padovan Date: Fri Jun 18 20:37:33 2010 -0300 Bluetooth: Fix L2CAP control bit field corruption When resending an I-frame, ERTM was reusing the control bits from the last time it was sent, that was causing a corruption in the new control field due to it dirty fields. This patches extracts only the SAR bits from the old field and reuse it to resend the packet, the others bits should be reset and receive the updated value. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit c13ffa620f15cb28d18268a773464cf51550fa9f Author: Gustavo F. Padovan Date: Thu May 13 20:50:12 2010 -0300 Bluetooth: Proper shutdown ERTM when closing the channel Fix a crash regarding the Monitor Timeout, it was running even after the shutdown of the ACL connection, which doesn't make sense. The same code also fixes another issue, before this patch L2CAP was sending many Disconnections Requests while we have to send only one. The issues are related to each other, a expired Monitor Timeout can trigger a Disconnection Request and then we may have a crash if the link was already deleted. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 51893f88dd916efead5e24a212c907b2cd35e160 Author: Nathan Holstein Date: Wed Jun 9 15:46:25 2010 -0400 Bluetooth: Fix bug with ERTM minimum packet length ERTM and streaming mode L2CAP sockets have no minimum packet length. Only basic mode connections have minimum length. Instead, validate the packet containing all necessary control, FCS, and SAR fields. The patch fixes the drop of valid packets with length lower than 4. Signed-off-by: Nathan Holstein Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit bfbacc11550a785caf082f3ccfcd7ecf882e09a4 Author: João Paulo Rechi Vita Date: Mon May 31 18:35:44 2010 -0300 Bluetooth: Fix SREJ_QUEUE corruption in L2CAP Since all TxSeq values are modulo, we shall not compare them directly. We have to compare their offset inside the TxWindow instead. Signed-off-by: João Paulo Rechi Vita Acked-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 6e2b6722abaa3f6042357e11f465488b7c12f94c Author: Gustavo F. Padovan Date: Tue Jun 1 18:52:58 2010 -0300 Bluetooth: Fix bug in l2cap_ertm_send() behavior This patch makes l2cap_ertm_send() similar to the Send-Data action of the ERTM spec. We shall not check for RemoteBusy or WAIT_F state inside l2cap_ertm_send(). Such checks were causing a bug in the retransmission logic of ERTM and making ERTM stalls until the ACL is dropped. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit bc1b1f8bee63966649dd5ac7d10d31a6556bf19b Author: Gustavo F. Padovan Date: Tue May 11 22:14:00 2010 -0300 Bluetooth: Only check SAR bits if frame is an I-frame The SAR bits doesn't make sense for an S-frame. It doesn't use SAR. Checking SAR for a S-frames can lead to L2CAP errors, it could close the channel with an invalid packet length, since we was removing the 2 of the of any frame that match SAR start bits, without check if it is an I-frame. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 8ff50ec04a7ecdbba6e0a5423cf6f2c5f7fc605e Author: Gustavo F. Padovan Date: Mon May 10 19:34:11 2010 -0300 Bluetooth: Fix bug with ERTM vars increment All ERTM operations regarding the txWindow should be modulo 64, otherwise we confuse the ERTM logic and connections will break. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit f6337c771126420c348b702e012262cfb5f0d56e Author: Gustavo F. Padovan Date: Mon May 10 18:32:04 2010 -0300 Bluetooth: Fix drop of packets with invalid req_seq/tx_seq We shall not use an unsigned var since we are expecting negatives value there. Using unsigned causes ERTM connection to close due to invalid ReqSeq numbers. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 0b31c85ce78d3646ac1e90d62969e7cd8cfd8b15 Author: Gustavo F. Padovan Date: Mon May 10 14:26:11 2010 -0300 Bluetooth: Remove L2CAP Extended Features from Kconfig This reverts commit 84fb0a6334af0ccad3544f6972c055d90fbb9fbe which adds the L2CAP Extended Features to the Kconfig, that is actually not needed. One can use other mechanisms to enable L2CAP Extended Features. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit fd059b9bd0af2e217f29d5a34e1c71039d26af8c Author: Gustavo F. Padovan Date: Mon May 10 14:22:56 2010 -0300 Bluetooth: Remove max_tx and tx_window module paramenters from L2CAP We don't need these parameters anymore since we have socket options for them. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 11fe883936980fe242869d671092a466cf1db3e3 Merge: 70d4bf6 573201f Author: David S. Miller Date: Tue Jul 20 18:25:24 2010 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/vhost/net.c net/bridge/br_device.c Fix merge conflict in drivers/vhost/net.c with guidance from Stephen Rothwell. Revert the effects of net-2.6 commit 573201f36fd9c7c6d5218cdcd9948cee700b277d since net-next-2.6 has fixes that make bridge netpoll work properly thus we don't need it disabled. Signed-off-by: David S. Miller commit 8b74964c73ca9eed7078388d871cc7fae973cb63 Author: John W. Linville Date: Mon Jul 19 16:35:20 2010 -0400 rtl8180: improve signal reporting for rtl8185 hardware The existing code seemed to be somewhat based on the datasheet, but varied substantially from the vendor-provided driver. This mirrors the handling of the rtl8185 case from that driver, but still neglects the specifics for the rtl8180 hardware. Those details are a bit muddled... Signed-off-by: John W. Linville commit b603742f49c3ec922522602e18ac22e8f6835132 Author: John W. Linville Date: Tue Jul 20 13:55:00 2010 -0400 mwl8k: correct/silence sparse warnings drivers/net/wireless/mwl8k.c:1541:21: warning: incorrect type in assignment (different base types) drivers/net/wireless/mwl8k.c:1541:21: expected restricted __le16 [usertype] result drivers/net/wireless/mwl8k.c:1541:21: got int drivers/net/wireless/mwl8k.c:1575:42: expected unsigned short [unsigned] [usertype] cmd drivers/net/wireless/mwl8k.c:1575:42: got restricted __le16 [usertype] code drivers/net/wireless/mwl8k.c:1587:50: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/mwl8k.c:1587:50: expected unsigned short [unsigned] [usertype] cmd drivers/net/wireless/mwl8k.c:1587:50: got restricted __le16 [usertype] code drivers/net/wireless/mwl8k.c:1592:50: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/mwl8k.c:1592:50: expected unsigned short [unsigned] [usertype] cmd drivers/net/wireless/mwl8k.c:1592:50: got restricted __le16 [usertype] code drivers/net/wireless/mwl8k.c:1845:27: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/mwl8k.c:1845:27: expected unsigned int [unsigned] [usertype] drivers/net/wireless/mwl8k.c:1845:27: got restricted __le32 [usertype] drivers/net/wireless/mwl8k.c:1848:27: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/mwl8k.c:1848:27: expected unsigned int [unsigned] [usertype] drivers/net/wireless/mwl8k.c:1848:27: got restricted __le32 [usertype] drivers/net/wireless/mwl8k.c:1851:27: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/mwl8k.c:1851:27: expected unsigned int [unsigned] [usertype] drivers/net/wireless/mwl8k.c:1851:27: got restricted __le32 [usertype] drivers/net/wireless/mwl8k.c:1854:27: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/mwl8k.c:1854:27: expected unsigned int [unsigned] [usertype] drivers/net/wireless/mwl8k.c:1854:27: got restricted __le32 [usertype] drivers/net/wireless/mwl8k.c:1857:27: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/mwl8k.c:1857:27: expected unsigned int [unsigned] [usertype] drivers/net/wireless/mwl8k.c:1857:27: got restricted __le32 [usertype] drivers/net/wireless/mwl8k.c:1860:27: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/mwl8k.c:1860:27: expected unsigned int [unsigned] [usertype] drivers/net/wireless/mwl8k.c:1860:27: got restricted __le32 [usertype] drivers/net/wireless/mwl8k.c:3055:20: warning: incorrect type in assignment (different base types) drivers/net/wireless/mwl8k.c:3055:20: expected restricted __le16 [usertype] ht_caps drivers/net/wireless/mwl8k.c:3055:20: got unsigned short [unsigned] [usertype] cap At least the last one looks like a real bug... Signed-off-by: John W. Linville Acked-by: Lennert Buytenhek commit 34782e9e1e58810183f2c1201124e45314b37130 Author: John W. Linville Date: Tue Jul 20 15:12:04 2010 -0400 wireless: remove unnecessary reg_same_country_ie_hint "Might as well remove reg_same_country_ie_hint() completely since we already dealt with suspend/resume through the regulatory hint disconnect." -- Luis Reported-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 16124541321e3c4030973b34b3f013605f052679 Author: John W. Linville Date: Tue Jul 20 14:21:48 2010 -0400 rt2x00: correct sparse warning in rt2x00debug.c CHECK drivers/net/wireless/rt2x00/rt2x00debug.c drivers/net/wireless/rt2x00/rt2x00debug.c:193:28: warning: incorrect type in assignment (different base types) drivers/net/wireless/rt2x00/rt2x00debug.c:193:28: expected restricted __le32 [usertype] chip_rev drivers/net/wireless/rt2x00/rt2x00debug.c:193:28: got restricted __le16 [usertype] Signed-off-by: John W. Linville Acked-by: Ivo van Doorn commit cc40cc56f4e271c51ba5b7cf9d7ae5f955dc7e2d Author: John W. Linville Date: Tue Jul 20 14:14:03 2010 -0400 libipw: correct sparse warnings and mark some variables static CHECK drivers/net/wireless/ipw2x00/libipw_module.c drivers/net/wireless/ipw2x00/libipw_module.c:65:21: warning: symbol 'libipw_config_ops' was not declared. Should it be static? drivers/net/wireless/ipw2x00/libipw_module.c:66:6: warning: symbol 'libipw_wiphy_privid' was not declared. Should it be static? CHECK drivers/net/wireless/ipw2x00/libipw_wx.c drivers/net/wireless/ipw2x00/libipw_wx.c:415:17: warning: symbol 'ssid' shadows an earlier one drivers/net/wireless/ipw2x00/libipw_wx.c:324:9: originally declared here Signed-off-by: John W. Linville commit d267be307a3345ef06889511cad2aa1fecc83db7 Author: John W. Linville Date: Tue Jul 20 14:11:51 2010 -0400 ipw2100: mark ipw2100_pm_qos_req static CHECK drivers/net/wireless/ipw2x00/ipw2100.c drivers/net/wireless/ipw2x00/ipw2100.c:177:28: warning: symbol 'ipw2100_pm_qos_req' was not declared. Should it be static? Signed-off-by: John W. Linville commit a3d3da14fb0c8dcfac374543fd7fedda05e9d4fd Author: John W. Linville Date: Tue Jul 20 13:15:31 2010 -0400 ath9k: correct sparse identified endian bug in ath_paprd_calibrate drivers/net/wireless/ath/ath9k/main.c:282:26: warning: incorrect type in assignment (different base types) drivers/net/wireless/ath/ath9k/main.c:282:26: expected restricted __le16 [usertype] duration_id drivers/net/wireless/ath/ath9k/main.c:282:26: got int Signed-off-by: John W. Linville commit 20925feee9e46c07ffe315b88c5cee61064a3ede Author: John W. Linville Date: Tue Jul 20 12:32:52 2010 -0400 wireless: mark cfg80211_is_all_idle as static CHECK net/wireless/sme.c net/wireless/sme.c:38:6: warning: symbol 'cfg80211_is_all_idle' was not declared. Should it be static? It is not used elsewhere, so mark it static. Signed-off-by: John W. Linville commit 2ea6fb6d1eb4d06af5ad2114d1f1f22a6067adac Author: John W. Linville Date: Tue Jul 20 12:29:14 2010 -0400 wireless: correct sparse warning in generated regdb.c CHECK net/wireless/regdb.c net/wireless/regdb.c:8:34: warning: symbol 'reg_regdb' was not declared. Should it be static? net/wireless/regdb.c:11:5: warning: symbol 'reg_regdb_size' was not declared. Should it be static? Simply include the also generated regdb.h. Signed-off-by: John W. Linville commit c28991a02caec1f3bfe4638ccf4e494c3e9418a3 Author: John W. Linville Date: Tue Jul 20 12:22:40 2010 -0400 wireless: correct sparse warning in wext-compat.c CHECK net/wireless/wext-compat.c net/wireless/wext-compat.c:1434:5: warning: symbol 'cfg80211_wext_siwpmksa' was not declared. Should it be static? Add declaration in cfg80211.h. Also add an EXPORT_SYMBOL_GPL, since all the peer functions have it. Signed-off-by: John W. Linville commit 3f6ff6bacdec217c98a60910c4804d11ce859820 Author: John W. Linville Date: Tue Jul 20 12:09:11 2010 -0400 wireless: correct sparse warning in lib80211_crypt_tkip.c CHECK net/wireless/lib80211_crypt_tkip.c net/wireless/lib80211_crypt_tkip.c:581:27: warning: cast to restricted __le16 Caused by dereferencing a "u8 *" and passing it to le16_to_cpu... Signed-off-by: John W. Linville commit 4f366c5dabcb936dd5754a35188bd699181fe1ce Author: John W. Linville Date: Thu Jul 15 14:57:33 2010 -0400 wireless: only use alpha2 regulatory information from country IE The meaning and/or usage of the country IE is somewhat poorly defined. In practice, this means that regulatory rulesets in a country IE are often incomplete and might be untrustworthy. This removes the code associated with interpreting those rulesets while preserving respect for country "alpha2" codes also contained in the country IE. Signed-off-by: John W. Linville commit 53e9b1de6840d9047f768878adcbd1d116f72aca Author: David Gnedt Date: Mon Jul 19 20:44:02 2010 +0200 mac80211: set carrier on for monitor interfaces on ieee80211_open If a station interface is reused as monitor interface it is possible that the carrier is still set to off. This breaks packet injection on that monitor interface. Force the carrier on in monitor interface initialisation like it is also done for other interface types (e.g. adhoc, mesh point, ap). Signed-off-by: David Gnedt Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 4ced3f74dae18715920cb680098ec7ff4345d0a3 Author: Johannes Berg Date: Mon Jul 19 16:39:04 2010 +0200 mac80211: move QoS-enable to BSS info Ever since commit e1b3ec1a2a336c328c336cfa5485a5f0484cc90d Author: Stanislaw Gruszka Date: Mon Mar 29 12:18:34 2010 +0200 mac80211: explicitly disable/enable QoS mac80211 is telling drivers, in particular iwlwifi, whether QoS is enabled or not. However, this is only relevant for station mode, since only then will any device send nullfunc frames and need to know whether they should be QoS frames or not. In other modes, there are (currently) no frames the device is supposed to send. When you now consider virtual interfaces, it becomes apparent that the current mechanism is inadequate since it enables/disables QoS on a global scale, where for nullfunc frames it has to be on a per-interface scale. Due to the above considerations, we can change the way mac80211 advertises the QoS state to drivers to only ever advertise it as "off" in station mode, and make it a per-BSS setting. Tested-by: Stanislaw Gruszka Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 875ae5f68883c75aad826e715df8ec0619551a07 Author: Felix Fietkau Date: Sat Jul 17 15:59:07 2010 +0200 mac80211: fix aggregation action frame handling with AP VLANs When aggregation related action frames are enqueued for further work, and they originate from a STA that is part of an AP VLAN, they are currently enqueued for the AP interface. This breaks the sta_info_get() lookup in the actual work function, and because of that, aggregation sessions are not established for this STA. Fix this by replacing the sta_info_get call with a call to sta_info_get_bss. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 25d1fbfdd98e6547f2ba3e36787f20d251019591 Author: Uwe Kleine-König Date: Tue Jul 13 11:27:58 2010 +0200 fix comment typos concerning "challenge" Signed-off-by: Uwe Kleine-König Signed-off-by: Jiri Kosina commit 82f682514a5df89ffb3890627eebf0897b7a84ec Author: James Bottomley Date: Mon Jul 5 22:53:06 2010 +0200 pm_qos: Get rid of the allocation in pm_qos_add_request() All current users of pm_qos_add_request() have the ability to supply the memory required by the pm_qos routines, so make them do this and eliminate the kmalloc() with pm_qos_add_request(). This has the double benefit of making the call never fail and allowing it to be called from atomic context. Signed-off-by: James Bottomley Signed-off-by: mark gross Signed-off-by: Rafael J. Wysocki commit b807b8a16bee27eb93a3393c173ce209a992ef18 Author: Wey-Yi Guy Date: Wed Jul 7 08:26:45 2010 -0700 iwlwifi: "recover_from_tx_stall" function for 4965 "Recover from tx stall" function is available for all devices except 4965, here add the functionality to 4965. Signed-off-by: Wey-Yi Guy commit 9cae611ff2184878daa162b5322e9a9443ae3b47 Author: Wey-Yi Guy Date: Tue Jul 6 10:39:33 2010 -0700 iwlwifi: more statistics counter for agn in debugfs Display "wait_for_silence_timeout_cnt" for _agn devices in debugfs as part of uCode statistics Signed-off-by: Wey-Yi Guy commit 7c094c5cc4d28062abf0d33ca022dbea6c522558 Author: Wey-Yi Guy Date: Tue Jul 6 10:39:32 2010 -0700 iwlwifi: additional statistic debug counter Add wait_for_silence_timeout_cnt to statistics_dbg structure Signed-off-by: Wey-Yi Guy commit 088c87262bbc39a01ebcd70817d35616785908b1 Author: John W. Linville Date: Thu Jul 15 16:16:17 2010 -0400 mac80211: improve error checking if WEP fails to init Do this by poisoning the values of wep_tx_tfm and wep_rx_tfm if either crypto allocation fails. Reported-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 48d5548fc5e5ad79ca98a287b67f403834929739 Author: Dan Carpenter Date: Thu Jul 15 10:23:10 2010 +0200 orinoco_usb: potential null dereference Smatch complains that "upriv->read_urb" gets dereferenced before checking for NULL. It turns out that it's possible for "upriv->read_urb" to be NULL so I added checks around the dereferences. Also I remove an "if (upriv->bap_buf != NULL)" check because "kfree(NULL) is OK. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 9171acc7e094b3ca88e624f39891a4f3bf9d083c Author: Luis R. Rodriguez Date: Wed Jul 14 20:08:41 2010 -0400 ath9k_hw: Fix AR9003 MPDU delimeter CRC check for middle subframes An A-MPDU may contain several subframes each containing its own CRC for the data. Each subframe also has a respective CRC for the MPDU length and 4 reserved bits (aka delimeter CRC). AR9003 will ACK frames that have a valid data CRC but have failed to pass the CRC for the MPDU length, if and only if the subframe is not the last subframe in an A-MPDU and if an OFDM phy OFDM reset error has been caught. Discarding those subframes results in packet loss under heavy stress conditions, an example being UDP video. Since the frames are ACK'd by hardware we need to let these frames through and process them as valid frames. Cc: Tushit Jain Cc: Kyungwan Nam Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 15804e3e9de52f1baefad34233424488b5672853 Author: Christian Lamparter Date: Fri Jul 16 13:01:24 2010 +0200 mac80211: skip HT parsing if HW does not support HT This patch will also fix the odd freeze which occurred when minstrel_ht connects to an 802.11n network with legacy hardware. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 9edd9520a2c664c6d72dca68adddd243d00006e8 Author: Luis R. Rodriguez Date: Tue Jul 13 21:27:25 2010 -0400 ath9k_htc: make ath9k_htc_tx_aggr_oper() static This fixes this sparse complaint: CHECK drivers/net/wireless/ath/ath9k/htc_drv_main.c drivers/net/wireless/ath/ath9k/htc_drv_main.c:441:5: warning: symbol 'ath9k_htc_tx_aggr_oper' was not declared. Should it be static? Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0e954099b7910524b7fae831fbf2933bd25cb6d0 Author: John W. Linville Date: Wed Jul 14 10:37:32 2010 -0400 iwlwifi: convert new uses of __attribute__ ((packed)) to __packed Signed-off-by: John W. Linville commit beabe91462919efaf4a97b5001d564027a894728 Author: John W. Linville Date: Wed Jul 14 10:37:03 2010 -0400 libertas: convert new uses of __attribute__ ((packed)) to __packed Signed-off-by: John W. Linville commit b3f194e54bdbaa4d508488cab24d23c376e235a2 Author: Bruno Randolf Date: Wed Jul 14 10:53:29 2010 +0900 ath5k: clean up rxlink handling There were a few places where the sc->rxlink pointer was set to NULL "just in case". This helps nothing - quite to the contrary it is problematic since it can create self-linked rx descriptors in the middle of the list of receive buffers. Here is an example how this could happen (thanks Bob!): cpu 0: cpu 1: ath5k_rx_stop ath5k_tasklet_rx sc->rxlink = NULL; /* just in case */ // following doesn't link used // buffer to prev. ath5k_rxbuf_setup() In the case of ath5k_rx_stop() and ath5k_stop_locked() buffers/descriptors are not changed so rxlink should not be changed as well. In ath5k_intr() we seem to try to work around a hardware bug, as the comment (which is copied 1:1 from the HAL) suggests. I don't see how this could help. Also the HAL does not set rxlink in this case (So where does this code come from? It has been there since the first import of ath5k). Changed to just increment a statistics counter. After this patch rxlink is only set to NULL before we initialize rx descriptors and updated when the descriptors are linked together. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 450464def78c94018d997ae6f823578499cdf879 Author: Bob Copeland Date: Tue Jul 13 11:32:41 2010 -0400 ath5k: disable tasklets during reset Based on a patch from Bruno Randolf, attempting useful work while we are resetting the chip just leads to interface lockups and bad descriptor data, and possibly DMAing to freed buffers. Let's suspend all tasklets while reprogramming the registers in the card to avoid such problems. In the future we can convert the tasklets to threaded interrupt handlers to simplify things. Signed-off-by: Bob Copeland Acked-by: Bruno Randolf Signed-off-by: John W. Linville commit 5faaff747710dfb79d5aa72b9faface94ad4b3f3 Author: Bob Copeland Date: Tue Jul 13 11:32:40 2010 -0400 ath5k: move reset to mac80211 workqueue We currently trigger a reset via a tasklet when certain error conditions are detected so that the card will (eventually) restart. Unfortunately this makes locking complicated since reset can also be called in process context (e.g. for channel change). Currently nothing protects against concurrent resets, which can be the source of corruption bugs. Reset takes too long to spinlock the whole thing, so this patch moves deferred resets into the mac80211 workqueue to enable use of sc->lock mutex. Signed-off-by: Bob Copeland Acked-by: Bruno Randolf Signed-off-by: John W. Linville commit da5747eb89eb1511dcfc1d8b32c70370616eac92 Author: Felix Fietkau Date: Tue Jul 13 14:52:30 2010 +0200 ath9k_hw: remove initvals for hardware which was never sold According to documentation, The following chip revisions were never sold: - AR9280 v1.0 - AR9285 v1.0 - AR9285 v1.1 - AR9287 v1.0 Removing initvals specific to these chip revisions saves around 30k in binary size (tested on MIPS). Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit ff4bf917cd4d355f23eea5812a11be5711dcfb8c Author: Kulikov Vasiliy Date: Tue Jul 13 15:23:33 2010 +0400 wireless: airo: delete netdev from list after it is freed We must call del_airo_dev() before free_netdev() since we call add_airo_dev() exactly after alloc_netdev(). Signed-off-by: Kulikov Vasiliy Signed-off-by: John W. Linville commit ccb6c1360f8dd43303c659db718e7e0b24175db5 Author: Johannes Berg Date: Tue Jul 13 10:55:38 2010 +0200 cfg80211: don't get expired BSSes When kernel-internal users use cfg80211_get_bss() to get a reference to a BSS struct, they may end up getting one that would have been removed from the list if there had been any userspace access to the list. This leads to inconsistencies and problems. Fix it by making cfg80211_get_bss() ignore BSSes that cfg80211_bss_expire() would remove. Fixes http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2180 Cc: stable@kernel.org Reported-by: Jiajia Zheng Tested-by: Jiajia Zheng Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 31e79a5954b78fbed15de2c8974d5a2b6019199a Author: Felix Fietkau Date: Mon Jul 12 23:16:34 2010 +0200 ath9k: another fix for the A-MPDU buffer leak The patch 'ath9k: fix a buffer leak in A-MPDU completion' addressed the issue of running out of buffers/descriptors in the tx path if a STA is deleted while tx status feedback is still pending. The remaining issue is that the skbs of the buffers are not reclaimed, leaving a memory leak. This patch fixes this issue by running the buffers through ath_tx_complete_buf(), ensuring that the pending frames counter is also updated. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 57674308d00b5ebb639ce53d388e61728e0c7f72 Author: Joe Perches Date: Mon Jul 12 13:50:06 2010 -0700 drivers/net/wireless: Remove unnecessary casts of private_data Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 447a42c2feb1091f217c1d50000d8cddf39addb5 Author: Rajkumar Manoharan Date: Thu Jul 8 12:12:29 2010 +0530 ath9k: fix panic while cleaning up virtaul wifis num_sec_wiphy means max secondary wifis that the driver can accomudate. So cancelling wiphy work should be based on the presence of secondary wifis. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 6eb90d46c59a75ceeccfef7c6c6705fb64b593dc Author: Pavel Roskin Date: Tue Jul 6 12:51:27 2010 -0400 ath9k: remove unneeded calculation of minimal calibration power Remove tMinCalPower from ath9k_hw_set_def_power_cal_table(), as it's never used. Remove corresponding arguments of the functions calculating that value. Original patch by Prarit Bhargava Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 982723df56ceb6fb0f1e821e4898e58069a1f163 Author: Vivek Natarajan Date: Wed Jun 23 12:08:29 2010 +0530 ath9k: Fix the LED behaviour in idle unassociated state. LED should be ON when the radio is put into FULL SLEEP mode during the idle unassociated state. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit e300d955debdadf599c36e47eb0bc16f5976215c Merge: 242647b 815868e Author: John W. Linville Date: Tue Jul 13 15:57:29 2010 -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/wl12xx/wl1271_cmd.h commit 815868e7b5c207ba42d5b317ccc51f8112732268 Merge: 084cb0f f803696 Author: John W. Linville Date: Tue Jul 13 15:31:51 2010 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit bbacee13f4382137db24d5904609c49bbef09d5c Author: Felix Fietkau Date: Sun Jul 11 15:44:42 2010 +0200 ath9k: merge noisefloor load implementations AR5008+ and AR9003 currently use two separate implementations of the ath9k_hw_loadnf function. There are three main differences: - PHY registers for AR9003 are different - AR9003 always uses 3 chains, earlier versions are more selective - The AR9003 variant contains a fix for NF load timeouts This patch merges the two implementations into one, storing the register array in the ath_hw struct. The fix for NF load timeouts is not just relevant for AR9003, but also important for earlier hardware, so it's better to just keep one common implementation. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit b11b160defc48e4daa283f785192ea3a23a51f8e Author: Felix Fietkau Date: Sun Jul 11 12:48:44 2010 +0200 ath9k: validate the TID in the tx status information Occasionally the hardware can send out tx status information with the wrong TID. In that case, the BA status cannot be trusted and the aggregate must be retransmitted. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit e5cbef96cf8bf9967605a1b75b115f4b7efa7bc4 Author: Felix Fietkau Date: Sun Jul 11 12:48:43 2010 +0200 ath9k_hw: report the TID in the tx status on AR5008-AR9002 Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 9cc2f3e881dcda5466c55ffe8dd0a9d1433469cb Author: Felix Fietkau Date: Sun Jul 11 12:48:42 2010 +0200 ath9k_hw: prevent a fast channel change after a rx DMA stuck issue If the receive path gets stuck, a full hardware reset is necessary to recover from it. If this happens during a scan, the whole scan might fail, as each channel change bypasses the full reset sequence. Fix this by resetting the fast channel change flag if stopping the receive path fails. This will reduce the number of error messages that look like this: ath: DMA failed to stop in 10 ms AR_CR=0x00000024 AR_DIAG_SW=0x40000020 Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 03b4776c408d2f4bf3a5d204e223724d154716d1 Author: Felix Fietkau Date: Sun Jul 11 12:48:41 2010 +0200 ath9k_hw: fix an off-by-one error in the PDADC boundaries calculation PDADC values were only generated for values surrounding the target index, however not for the target index itself, leading to a minor error in the generated curve. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 23399016d9583d799ca98ce443a1410b13c3e96e Author: Felix Fietkau Date: Sun Jul 11 12:48:40 2010 +0200 ath9k_hw: fix a sign error in the IQ calibration code Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 601e0cb165e65dc185b31fe7ebd2c0169ea47306 Author: Felix Fietkau Date: Sun Jul 11 12:48:39 2010 +0200 ath9k_hw: fix antenna diversity on AR9285 On AR9285, the antenna switch configuration register uses more than just 16 bits. Because of an arbitrary mask applied to the EEPROM value that stores this configuration, diversity was broken in some cases, leading to a significant degradation in signal strength. Fix this by changing the callback to return a 32 bit value and remove the arbitrary mask. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit e796643eaf0889c346e6b69c5afe777c327b1919 Author: Ivo van Doorn Date: Sun Jul 11 12:31:23 2010 +0200 rt2x00: Move driver callback functions into the ops structure All callback functions are gathered in rt2x00dev->ops except for the callback functions which are used in rt2800lib to acces rt2800pci/usb. Move the priv pointer from rt2x00dev to rt2x00dev->ops and rename it to drv to make it obvious that it is the driver callback structure. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f31c9a8c1380e20e95d06925f2e42baf61af4db7 Author: Ivo van Doorn Date: Sun Jul 11 12:30:37 2010 +0200 rt2x00: Move common firmware loading into rt2800lib Large parts of the firmware initialization are shared between rt2800pci and rt2800usb. Move this code into rt2800lib. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ab8966ddc2f7fa3e631efa7478ea2c76d6c9942f Author: Helmut Schaa Date: Sun Jul 11 12:30:13 2010 +0200 rt2x00: Add missing TSF sync mode for AP operation Currently rt2x00 uses the TSF_SYNC_BEACON mode for all beaconing interface types. However, TSF_SYNC_BEACON is meant for IBSS networks and thus implements TSF merging in the hardware. Rename TSF_SYNC_BEACON to TSF_SYNC_ADHOC to better express its purpose and introduce the missing TSF sync mode TSF_SYNC_AP_NONE which should be used for beaconing modes that don't need TSF merging. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8544df327c4c1c2bc6f2f6bf2997980d0d9a29f0 Author: Helmut Schaa Date: Sun Jul 11 12:29:49 2010 +0200 rt2x00: Don't initialize beacon interval to 0 on rt2800 devices Activating the TBTT interrupt when a beacon interval of 0 is configured results in an interrupt storm causing the machine to hang. Hence, initialize the beacon interval to a reasonable default of 100TUs. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ab0ed4aba80f430fafd842cee8d74f6b40493483 Author: Helmut Schaa Date: Sun Jul 11 12:29:26 2010 +0200 rt2x00: Remove set_tim callback from PCI drivers Using the set_tim callback without managing the DTIM count and the broad- and multicast buffering in hw, fw or the driver results in wrong DTIM count values being sent out in beacons. Since all PCI drivers fetch new beacons periodically and hence get an updated TIM we can just remove the set_tim callback from these. The rt2x00 USB drivers don't update the beacon periodically and thus rely on the set_tim callback to get a correct TIM for beacon transmission. USB devices still suffer from the DTIM count being wrong under some circumstances but removing the set_tim callback from these would cause more harm then good. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e783619ea8f1fb9fccec4931b0cf956de0ed1019 Author: Helmut Schaa Date: Sun Jul 11 12:28:54 2010 +0200 rt2x00: Use separate mac80211_ops for rt2800pci and rt2800usb Use separate mac80211_ops for rt2800pci and rt2800usb in preparation for further fixes. This shouldn't introduce functional changes. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9f926fb57a2eb14d58ea6d6699544f9ccd0df8c7 Author: Helmut Schaa Date: Sun Jul 11 12:28:23 2010 +0200 rt2x00: Use pretbtt irq for fetching beacons on rt2800pci Updating the beacon on pre tbtt instead of beacondone allows much lower latency in regard to TIM updates. Hence, use the pre tbtt interrupt for updating the beacon in rt2800pci (older devices don't provide a pre tbtt interrupt). Also, add a new driver flag to indicate if a driver has pre tbtt support or not and implement the according behavior in rt2x00lib. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 07896fe2f4df3802a224a2ee1aad1c7345d2513c Author: Helmut Schaa Date: Sun Jul 11 12:27:58 2010 +0200 rt2x00: Implement broad- and multicast buffering Although mac80211 buffers broad- and mutlicast frames for us in AP mode we still have to send them out after a DTIM beacon. Implement this behavior by sending out the buffered frames when the beacondone interrupt is processed. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4dee32f51b0beba25a70e8011652858c6e55f792 Author: Helmut Schaa Date: Sun Jul 11 12:27:26 2010 +0200 rt2x00: Allow beacon update without scheduling a work Since all rt2x00 PCI drivers use threaded interrupts now we don't need to schedule a work just to update the beacon. The only place where the beacon still gets updated in atomic context is from the set_tim callback. Hence, move the work scheduling there. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 78e256c9a3717bcae2e9ed05c9ec7bed7bf2c55d Author: Helmut Schaa Date: Sun Jul 11 12:26:48 2010 +0200 rt2x00: Convert rt2x00 to use threaded interrupts Use threaded interrupts for all rt2x00 PCI devices. This has several generic advantages: - Reduce the time we spend in hard irq context - Use non-atmic mac80211 functions for rx/tx Furthermore implementing broad- and multicast buffering will be much easier in process context while maintaining low latency and updating the beacon just before transmission (pre tbtt interrupt) can also be done in process context. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 50e888eae23dc062cb52a7538e85a5960ce1d91c Author: Ivo van Doorn Date: Sun Jul 11 12:26:12 2010 +0200 rt2x00: Make rt2800_write_beacon only export to GPL rt2800_write_beacon is the only function which uses EXPORT_SYMBOL instead of EXPORT_SYMBOL_GPL. All symbols in rt2x00 should however use the GPL restricted export. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit c965c74bbc650e5466d2f3e32bd28112ebcdd00c Author: Ivo van Doorn Date: Sun Jul 11 12:25:46 2010 +0200 rt2x00: Implement watchdog monitoring Implement watchdog monitoring for USB devices (PCI support can be added later). This will determine if URBs being uploaded to the hardware are actually returning. Both rt2500usb and rt2800usb have shown that URBs being uploaded can remain hanging without being released by the hardware. By using this watchdog, a queue can be reset when this occurs. For rt2800usb it has been tested that the connection is preserved even though this interruption. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 223dcc26591aa8e4a6bf623164b775b5bd89c9e1 Author: Ivo van Doorn Date: Sun Jul 11 12:25:17 2010 +0200 rt2x00: Fix vgc_level_reg handling Currently vgc_level_reg and vgc_level are equal to eachother, while the purpose of vgc_level_reg is the value last written to the register and is remembered through link tuning resets. The vgc_level is the currently active level, which is reset during link tuning resets. The usage of these variables depends on the drivers, some drivers need both, while others need only one of the two. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit d8147f9d9ed6abfa105234a21f05af4a4839eb80 Author: Ivo van Doorn Date: Sun Jul 11 12:24:47 2010 +0200 rt2x00: Disable link tuning while scanning While scanning the link tuner must be disabled. Otherwise it will interfere with receiving all beacons for each channel due to changing sensitivity levels. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 27df2a9ce9ea6a77b9959cf5cc03ee85324aced9 Author: Ivo van Doorn Date: Sun Jul 11 12:24:22 2010 +0200 rt2x00: Rename CONFIG_DISABLE_LINK_TUNING Rename CONFIG_DISABLE_LINK_TUNING to DRIVER_SUPPORT_LINK_TUNING Link tuning support is not only based on EEPROM decisions, but also if the device actually supports it. Currently only rt2500usb doesn't support link tuning because of hardware problems. But rt2800usb is also suspected of having problems with link tuning. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 748619220651a33c260ed6c0a7648e69324edd74 Author: Ivo van Doorn Date: Sun Jul 11 12:23:50 2010 +0200 rt2x00: Convert AGC value from descriptor to RSSI (dBm) The RSSI values in the RXWI descriptor aren't true RSSI values. Instead they are more like the AGC values similar to rt61pci. And as such, it needs the same conversion before it can be passed to rt2x00lib/mac80211. This requires the struct queue_entry to be passed to rt2800_process_rxwi rather then the skb structure which is contained in the queue_entry. This is required to obtain the lna_gain information from the rt2x00_dev structure. This fixes connection problems when using wpa_supplicant which would try to connect to the worst AP's rather then the best ones. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5e846004914d2295e020edd48a828b653323f93e Author: Helmut Schaa Date: Sun Jul 11 12:23:09 2010 +0200 rt2x00: Limit txpower by eeprom values Limit the txpower per rate by the approriate values in the eeprom. This avoids too high txpower values resulting in bad tx performance. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8b967e41e0f75328150b7cddf79de4ee57616f01 Author: Dan Carpenter Date: Sun Jul 11 00:10:42 2010 +0200 hostap: fixup strlen() math In hostap_add_interface() we do: sprintf(dev->name, "%s%s", prefix, name); dev->name has IFNAMSIZ (16) characters. prefix is local->dev->name. name is "wds%d" strlen() returns the number of characters in the string not counting the NULL so if we have a string with 11 characters we get "12345678901wds%d" which is 16 characters and a NULL so we're past the end of the array. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit b85aeb51805265b9f826857e5c5d9c0cd70dda55 Author: Kulikov Vasiliy Date: Sat Jul 10 16:28:57 2010 +0400 adm8211: fix memory leak We must free priv->eeprom allocated in adm8211_read_eeprom(). Signed-off-by: Kulikov Vasiliy Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4c92831d99827971cf2854cfa7f884213099428f Author: Dan Carpenter Date: Sat Jul 10 10:53:38 2010 +0200 prism54: call BUG_ON() earlier This test is off by one because strlen() doesn't include the NULL terminator. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 72e93e9161a917017f6c3cac216d813088ec2d1f Author: Luciano Coelho Date: Fri Jul 9 14:10:58 2010 +0300 wl1271: use __packed annotation This patch changes __attribute__ ((packed)) annotations to __packed in wl1271 code that was introduced in a recent patch in wireless-testing. Cc: Stephen Rothwell Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 1311843c58ca606bab8bfe4cf6c0fe50deb9986d Author: Amitkumar Karwar Date: Thu Jul 8 06:43:48 2010 +0530 libertas: Added support for host sleep feature Existing "ethtool -s ethX wol X" command configures hostsleep parameters, but those are activated only during suspend/resume, there is no way to configure host sleep without actual suspend. This patch adds debugfs command to enable/disable host sleep based on already configured host sleep parameters using wol command. Signed-off-by: Amitkumar Karwar Signed-off-by: Kiran Divekar Signed-off-by: John W. Linville commit 643f82e32f14faf0d0944c804203a6681b6b0a1e Author: Johannes Berg Date: Mon Jul 12 14:46:43 2010 +0200 cfg80211: ignore spurious deauth Ever since mac80211/drivers are no longer fully in charge of keeping track of the auth status, trying to make them do so will fail. Instead of warning and reporting the deauthentication to userspace, cfg80211 must simply ignore it so that spurious deauthentications, e.g. before starting authentication, aren't seen by userspace as actual deauthentications. Cc: stable@kernel.org Reported-by: Paul Stewart Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9726f347f82b0ce802530deb00ee2dde369e1d2f Author: Emmanuel Grumbach Date: Tue Jun 29 11:29:49 2010 -0700 iwlagn: fix the bit mask of a FH register in stop Tx DMA flow When we stop the Tx DMA channels, we poll bits 16:31 in FH_TSSR_RX_STATUS_REG. From 4965 and up, only the bits 16:26 are legal. Bits 27:31 are not used and are always unset. Polling them will lead to fail on timeout but since the timeout is quite small, the stall was not felt. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 41691de32664f06507c24cea499b307624e3183e Author: Wey-Yi Guy Date: Thu Jul 1 16:45:58 2010 -0700 iwlagn: more generic description for iwlagn devices Intel Wireless WiFi Next Gen AGN support two major categories: 1. Intel Wireless WiFi 4965 AGN device 2. Intel Wireless-N/Advanced-N/Ultimate-N family Signed-off-by: Wey-Yi Guy commit 4b58645ce68c5fd446bff0c847ff9385cd204680 Author: Jay Sternberg Date: Fri Jul 2 15:49:10 2010 -0700 iwlwifi: correct descriptions of advanced ucode errors ucode errors were redefined in new ucode images and all new errors were showing as advanced sysasserts which was misleading. new errors are not sequential so additional lookup table added. errors do not overlap so both are used to support older and newer ucode images. Signed-off-by: Jay Sternberg Signed-off-by: Wey-Yi Guy commit 0326433995ad43b64ebabdd2390a5d11f33f025b Author: Shanyu Zhao Date: Tue Jun 29 17:27:27 2010 -0700 iwlwifi: enable 6050 series Gen2 devices To enable 6050 series Gen 2 devices: 1) new PCI_IDs are added; 2) new EEPROM version and calibration version numbers defined; 3) new hardware REV number defined; Signed-off-by: Shanyu Zhao Signed-off-by: Wey-Yi Guy commit 3cc7b544bde2f87da84a0bd3a8e2cd17a3024442 Author: Luciano Coelho Date: Thu Jul 8 17:50:08 2010 +0300 wl1271: use per-channel max tx power passed by mac80211 when scanning We were always using the max transmit power when scanning. Now we use the values passed to the driver by the mac80211 stack, so that we comply with regulations. Signed-off-by: Luciano Coelho Reviewed-by: Saravanan Dhanabal Signed-off-by: John W. Linville commit 08688d6b1a85484cc8e4a920afc60ffa6559999d Author: Luciano Coelho Date: Thu Jul 8 17:50:07 2010 +0300 wl1271: rewritten scanning code This patch is a complete rewrite of the scanning code. It now includes a state machine to scan all four possible sets of channels independently: 2.4GHz active, 2.4GHz passive, 5GHz active and 5GHz passive. The wl1271 firmware doesn't allow these sets to be mixed, so up to several scan commands have to be issued. This patch also allows scanning more than 24 channels per set, by breaking the sets into smaller parts if needed (the firmware can scan a maximum of 24 channels at a time). Previously, the scanning code was erroneously scanning all channels possible actively, not complying with the CRDA values. This is also fixed with this patch. Signed-off-by: Luciano Coelho Reviewed-by: Saravanan Dhanabal Signed-off-by: John W. Linville commit 34dd2aaac4a4b908c093980a9894fd878aeb6deb Author: Luciano Coelho Date: Thu Jul 8 17:50:06 2010 +0300 wl1271: moved scan operations to a separate file The scanning code is going to get a bit more complex, with proper support for active/passive scans together with 2.4GHz and 5GHz. In the future, also a new type of scan (periodic scan) will be added. When all this is implemented, the code is going to be much more complex, so we'd better separate it into a separate file. This patch doesn't have any impact on functionality. Signed-off-by: Luciano Coelho Reviewed-by: Saravanan Dhanabal Signed-off-by: John W. Linville commit f532be6d48a12cd1b27c4efa38d22e0cbfa512d1 Author: Juuso Oikarinen Date: Thu Jul 8 17:50:05 2010 +0300 wl1271: Update interface to temporarily disable dynamic PS The mac80211 interface to temporarily disable dynamic PS changed, make corresponding changes to the driver. Signed-off-by: Juuso Oikarinen Reviewed-by: Saravanan Dhanabal Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 9a547bf9a83ce7211d4290956d9fca8044a409de Author: Juuso Oikarinen Date: Thu Jul 8 17:50:04 2010 +0300 wl1271: Fix warning when disconnecting and ad-hoc network Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 8d2ef7bd76f222b068a3fd534fe5fdb8c9543ba0 Author: Juuso Oikarinen Date: Thu Jul 8 17:50:03 2010 +0300 wl1271: Disable dynamic PS based on BT co-ext sense events This patch requests mac80211 to disable dynamic PSM based on sense events coming from the firmware. Effectively, whenever there is bluetooth traffic, the mac80211 is forced into full PSM mode. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit ca52a5ebbb7caff2995214a6ca41a36c5210b0bd Author: Juuso Oikarinen Date: Thu Jul 8 17:50:02 2010 +0300 wl1271: Update hardware ARP filtering configuration handling The interface for hardware ARP configuration changed in the mac80211. Change driver accordingly. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit e6b190ff3c2f4e4859502c41fa17b5c595e82000 Author: Luciano Coelho Date: Thu Jul 8 17:50:01 2010 +0300 wl1271: read fem manufacturer value from nvs We should read the fem manufacturer value from the NVS, so we can modify it easily and use a consistent value throughout the configuration. Previously we had to set the FEM value in the NVS and in the driver's initialization parameters. This patch removes the latter. Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 90494a90bea010af47547880634e0f1c52824a7d Author: Juuso Oikarinen Date: Thu Jul 8 17:50:00 2010 +0300 wl1271: Work around AP's with broken ps-poll functionality Some AP's (such as Zyxel Prestige 600) have totally broken ps-poll functionality. When powersave is enabled, these AP's will set the TIM bit for a STA in beacons, but when the STA responds with a ps-poll, the AP does not respond with data. The wl1271 firmware is able to send an indication to the host, when this problem occurs. This patch adds implementation, which temporarily disables power-save in response to this indication, allowing the AP to transmit whatever data it has buffered for the STA / whatever data is inbound at that time. This patch does not make these AP's work reliably in PSM, but improves the chances of inbound data getting through. The side effect of this patch is increased power consumption when using a faulty AP. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 849923f43ca681cc86a401178db31acb60e79f3b Author: Juuso Oikarinen Date: Thu Jul 8 17:49:59 2010 +0300 wl1271: Use all basic rates for ps-poll, instead of just the slowest This improves ps-poll handling in WLAN PSM. It also improves performance, including WLAN-BT co-existence reliability. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit eb887dfd8837bf0a2538418c02b3992fb9ff1f28 Author: Juuso Oikarinen Date: Thu Jul 8 17:49:58 2010 +0300 wl1271: Use the ARP configuration function from mac80211 This patch updates the driver to use the ARP configuration function from the mac80211. Also, clean up IPv6 support from the ACX function as ARP is not used with that protocol version. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit bbbb538e337a3eb2166d5a20307b93822bdacc4f Author: Juuso Oikarinen Date: Thu Jul 8 17:49:57 2010 +0300 wl1271: Add TSF handling Add functionality to pass the current TSF (mac time) to the mac80211. This is needed for ad-hoc merging. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit ab2807efcfd2dd646a2ca8d71585e26cda3fc0c1 Author: Juuso Oikarinen Date: Thu Jul 8 17:49:56 2010 +0300 wl1271: Remove calibration from join command This patch removes the calibration performed on the first join command. The reasoning is that this is unnecessary as devices get their calibration data via the NVS file, and because the commands break BT coexistence. This is actually safe, because of the implementation the calibration was executed on the first JOIN anyway, after an ifdown/ifup the devices have relied on the NVS for calibration anyway (== most of the time.) Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 3473187d2459a078e00e5fac8aafc30af69c57fa Author: John W. Linville Date: Wed Jul 7 15:07:49 2010 -0400 mac80211: remove wep dependency The current mac80211 code assumes that WEP is always available. If WEP fails to initialize, ieee80211_register_hw will always fail. In some cases (e.g. FIPS certification), the cryptography used by WEP is unavailable. However, in such cases there is no good reason why CCMP encryption (or even no link level encryption) cannot be used. So, this patch removes mac80211's assumption that WEP (and TKIP) will always be available for use. Signed-off-by: John W. Linville commit 597e608a8492d662736c9bc6aa507dbf1cadc17d Merge: acbc0f0 33b665e Author: David S. Miller Date: Wed Jul 7 15:59:38 2010 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 73e194639d90594d06d0c10019c0ab4638869135 Author: Felix Fietkau Date: Wed Jul 7 19:42:09 2010 +0200 ath9k: fix a buffer leak in A-MPDU completion When ath_tx_complete_aggr() is called, it's responsible for returning all buffers in the linked list. This was not done when the STA lookup failed, leading to a race condition that could leak a few buffers when a STA just disconnected. Fix this by immediately returning all buffers to the free list in this case. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 2b40994cabd2f545d5c11d3a65dcee6f6f9155f8 Author: Felix Fietkau Date: Wed Jul 7 19:42:08 2010 +0200 ath9k: fix a potential buffer leak in the STA teardown path It looks like it might be possible for a TID to be paused, while still holding some queued buffers, however ath_tx_node_cleanup currently only iterates over active TIDs. Fix this by always checking every allocated TID for the STA that is being cleaned up. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 60ea385ff279a18790a432d57a8302562aaa0f8d Author: Jiri Slaby Date: Wed Jul 7 15:02:46 2010 +0200 NET: nl80211, fix lock imbalance and netdev referencing Stanse found that nl80211_set_wiphy imporperly handles a lock and netdev reference and contains unreachable code. It is because there return statement isntead of assignment to result variable. Fix that. Signed-off-by: Jiri Slaby Cc: Johannes Berg Cc: "John W. Linville" Cc: "David S. Miller" Cc: Jouni Malinen Cc: Samuel Ortiz Cc: linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org Signed-off-by: John W. Linville commit f148cfdd9bc29c133d5728d8e98815ba8c01752e Author: Ameya Palande Date: Mon Jul 5 17:12:38 2010 +0300 wl12xx: Use MODULE_ALIAS macro at correct postion for SPI bus (Changed title, was "wl1251: Use MODULE_ALIAS macro at correct postion for SPI bus". -- JWL) Signed-off-by: Ameya Palande Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit a2c9fc971d9ff11643d9c7b7c0af0e8ced7d895e Merge: ecc3d5a c8312fa Author: John W. Linville Date: Tue Jul 6 14:19:01 2010 -0400 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit c8312facd99b4cd05998fe3440926b667a896c9e Author: Wey-Yi Guy Date: Mon Jun 28 13:05:17 2010 -0700 iwlwifi: adding enhance sensitivity table entries For newer devices (6000g2a and 6000g2b), the sensitivity table send to uCode require additional table entries to help sensitivity calibration. All the additional entries has fix data for now, but do expect the value will be change in the future when device become more stable. Signed-off-by: Wey-Yi Guy commit bf3c7fddf9dffb0e5c76da3a94b8f5817a72f92c Author: Wey-Yi Guy Date: Thu Jun 24 14:08:05 2010 -0700 iwlwifi: generic parameter define for _agn device Code clean up to change name from having 5000 as part of name which easy to confuse and think it is for 5000 series devices to more generic _agn name since it is being used by multiple _agn devices. No functional changes. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 4bf49a90bc0bda131ef353cca631025849f36b4e Author: Wey-Yi Guy Date: Thu Jun 24 13:18:36 2010 -0700 iwlwifi: debugfs file for txfifo command testing Add debugfs file for REPLY_TXFIFO_FLUSH host command testing. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 6555063666fea1fc81a14396aca53ab021ccb4f2 Author: Wey-Yi Guy Date: Thu Jun 24 13:18:35 2010 -0700 iwlwifi: add support for device tx flush request "Flush" request can come from two different sources, it can either from mac80211, or from device when the operation is needed. Here adding the support for device issue "flush" request. When receive tx complete with status is TX_STATUS_FAIL_RFKILL_FLUSH, issue REPLY_TXFIFO_FLUSH command to uCode to flush out all the tx frames in queues. In this condition, since mac80211 has no knowledge of "flush" operation, driver need to stop all the tx queues and wait for the operation completed before wake up the queues for frames transmission. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 716c74b00717ad9caedb4a46059fb64a3da99808 Author: Wey-Yi Guy Date: Thu Jun 24 13:22:36 2010 -0700 iwlwifi: add mac80211 flush callback support Adding flush callback support in the driver. Two type of flush can be issued by mac80211: 1. drop = true: frame drop is ok, issue REPLY_TXFIFO_FLUSH host command to uCode to drop all the frames in tx fifo queues; then return the control back to mac80211 2. drop = false: wait for either all the frames in tx fifo queues been transmitted, or timeout; then return the control back to mac80211 If the flush request coming from mac80211, mac80211 will make sure there are no additional frames push down to driver before flush operation is completed. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 947279eefb77f79015a79b032eb825a065ab035f Author: Wey-Yi Guy Date: Thu Jun 24 13:18:33 2010 -0700 iwlwifi: tx fifo queue flush command Add host command and structure for tx fifo queue flush Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit ad8d8333b12d46f26093eab796cb309ec1a1f5f9 Author: Wey-Yi Guy Date: Tue Jun 22 14:31:45 2010 -0700 iwlwifi: add debug print for parsing firmware TLV When parsing TLV during loading firmware, if encounter any TLV error, log the error message to help debugging. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit c04f9f220300da83f71698fa7be24714152faf0d Author: Wey-Yi Guy Date: Mon Jun 21 16:52:55 2010 -0700 iwlwifi: fix fw_restart module parameter fw_restart module parameter was broken by the recent check for stuck queue patch, driver check the fx_restart module parameter before reload the firmware; but the stuck queue timer kick in after firmware error and reload the firmware even fw_restart=0. In this case, driver should not reload the firmware, it is important to help debugging uCode error. The only case we can ignore the module parameter is when user request firmware reload from debugfs, which can bypass the checking and perform firmware reload all the time. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit ecc3d5ae17e62ce1250abf16ff523c677bf19e2f Author: Ming Lei Date: Thu Jul 1 23:19:50 2010 +0800 minstrel_ht: fix check for downgrading of top2 rate The check should be against current top2 rate, instead of current top rate. Signed-off-by: Ming Lei Acked-by: Felix Fietkau Signed-off-by: John W. Linville commit 009271f9187d61c638bb4f3db9ab172c5065e542 Author: Ming Lei Date: Thu Jul 1 23:18:42 2010 +0800 minstrel_ht: fix updating rate with best probability The throughput should be considered when updating rate with best probability. Signed-off-by: Ming Lei Acked-by: Felix Fietkau Signed-off-by: John W. Linville commit 8e67ca7c9266a4f920d70d3a2cbf03a597d28ea7 Author: Felix Fietkau Date: Fri Jul 2 14:45:22 2010 +0200 ath9k: fix crash with WEP in ad-hoc mode Commit eed8e22f0133e8278b1f8079fcb452f1f9692f9d added support for using multicast key lookup to support per-vif/sta keys for AP and ad-hoc. Unfortunately, it also introduced a crash in ad-hoc mode when the sta pointer is NULL, which happens when setting up an interface with WEP keys. This patch fixes it by falling back to the assigned key index. Signed-off-by: Felix Fietkau Reported-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 347809fc2c99da5b89f1c014f3e5a0f85c04803c Author: Felix Fietkau Date: Fri Jul 2 00:09:52 2010 +0200 ath9k: fix false positives in the baseband hang check ath9k_hw_check_alive() occasionally returns false, as the hardware is still processing data in a specific state. Fix this issue by repeating the test a few times with longer delay inbetween attempts. This gets rid of excessive hardware resets that appear frequently on some AR9132 based devices, but could also happen on AR9280. Signed-off-by: Felix Fietkau Reported-by: Björn Smedman Cc: stable@kernel.org Signed-off-by: John W. Linville commit 54bd5006b03ee980f6067b4d61c3605b5a5e1d4a Author: Felix Fietkau Date: Fri Jul 2 00:09:51 2010 +0200 ath9k_hw: clean up the noise floor calibration code to reduce code duplication Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f2552e28375cb34073a2f940ee9a8439c37d9ec2 Author: Felix Fietkau Date: Fri Jul 2 00:09:50 2010 +0200 ath9k_hw: sanitize noise floor values properly on all chips This refactors the noise floor range checks to make them generic, and adds proper ranges for each supported chip type. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit ba17bc5e55ba541d2a8765fca53b6883b667ab21 Author: Felix Fietkau Date: Fri Jul 2 00:09:49 2010 +0200 ath9k_hw: sync initvals for ar9001 and ar9002 with Atheros This includes the following changes/fixes: - a bugfix for stuck beacon issues - timing changes for improved performance - AGC setting improvements - fixes for high temperature issues on some chips Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 2e1f25662ba06c40f9f2097927274f1712d9b7a7 Author: Felix Fietkau Date: Fri Jul 2 00:09:48 2010 +0200 ath9k_hw: reformat the ar5008, ar9001 and ar9002 initvals to match ar9003 This format is generated by the initval tool, available at: git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/initvals-tool.git Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f504f5f63a4d1d1372043a3aa3d64342a705caa3 Author: Felix Fietkau Date: Fri Jul 2 00:09:47 2010 +0200 ath9k_hw: fix a few inconsistencies in initval array names Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 05318bc905467237d4aa68a701f6e92a2b332218 Merge: ea812ca 88c1f4f Author: David S. Miller Date: Thu Jul 1 17:34:14 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 Conflicts: drivers/net/wireless/libertas/host.h commit 88c1f4f6dffe66e2fed8e7e3276e091ee850bed0 Author: Sujith Date: Wed Jun 30 14:46:31 2010 +0530 ath9k_htc: Add LED support for AR7010 Signed-off-by: Sujith Signed-off-by: John W. Linville commit 92b50c4b5b01d0ba4efcff9e85f7a76b620fe789 Author: Helmut Schaa Date: Wed Jun 30 08:48:42 2010 +0200 mac82011: Allow selection of minstrel_ht as default rc algorithm Allow selection of minstrel_ht as default rate control algorithm. At the moment minstrel_ht can only be requested by the driver code but not selected as default in make menuconfig. Fix this by using minstrel_ht when minstrel was selected as default and minstrel_ht is available. This change won't affect legacy devices as minstrel_ht falls back to minstrel in that case. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit f860d526eb2939a1c37128900b5af2b6f3ff7f20 Author: Felix Fietkau Date: Wed Jun 30 02:07:48 2010 +0200 ath9k: fix TSF after reset on AR913x When issuing a reset, the TSF value is lost in the hardware because of the 913x specific cold reset. As with some AR9280 cards, the TSF needs to be preserved in software here. Additionally, there's an issue that frequently prevents a successful TSF write directly after the chip reset. In this case, repeating the TSF write after the initval-writes usually works. This patch detects failed TSF writes and recovers from them, taking into account the delay caused by the initval writes. Signed-off-by: Felix Fietkau Reported-by: Björn Smedman Cc: stable@kernel.org Signed-off-by: John W. Linville commit 4e9e58c6bf6512a1812556188b67bada6a09c0e8 Author: Ivo van Doorn Date: Tue Jun 29 21:49:50 2010 +0200 rt2x00: Fix compile warning when debug disabled CC [M] drivers/net/wireless/rt2x00/rt2800lib.o drivers/net/wireless/rt2x00/rt2800lib.c: In function 'rt2800_ampdu_action': drivers/net/wireless/rt2x00/rt2800lib.c:2821: warning: unused variable 'rt2x00dev' Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit efc7d36f0d100eb2f2db33bc287fa17646bdcd7d Author: Ivo van Doorn Date: Tue Jun 29 21:49:26 2010 +0200 rt2x00: Always set BBP_CSR_CFG_BBP_RW_MODE to 1 Latest rt2870 legacy driver also sets BBP_CSR_CFG_BBP_RW_MODE to 1 when reading or writing the EEPROM. This means we can make the BBP reading and writing completely equal on all platforms. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e22557f2e3bdf0b56c2592c9aeb50f17945f71b0 Author: Ivo van Doorn Date: Tue Jun 29 21:49:05 2010 +0200 rt2x00: Fix antenna initialization Legacy driver indicates that BBP1_TX_ANTENNA must be set to 0 for TXPATH values of 1 and 3. So the previous statement that nothing should be done for TXPATH = 3, is false. Furthermore, remove the false BBP3_RX_ANTENNA initialization when TXPATH is 1 for PCI and SOC devices. This field will always be overridden in the next switch statement, making this initialization bogus. History of this line indicates it was there from the beginning, and was once caught as typo. Instead of replacing the line with the correct line, the correct line was added... Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit aa674631efabfb21f573137da9b84ff905ba66d8 Author: Ivo van Doorn Date: Tue Jun 29 21:48:37 2010 +0200 rt2x00: Fix IEEE80211_HT_CAP_RX_STBC assignment IEEE80211_HT_CAP_RX_STBC is a 2 bit flag, and should thus never be set as normal flag. Instead we must read the number of RX paths from the EEPROM and set the IEEE80211_HT_CAP_RX_STBC with the correct value (using the same logic as the number of TX streams). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fdb87251229be046b2b61fd15320320f7b66853b Author: Helmut Schaa Date: Tue Jun 29 21:48:06 2010 +0200 rt2x00: fix beacon reset on rt2800 When an interface is removed the according beacon entry should be reset. The current approach to only clear the first word is not enough to stop the device from sending out the beacon, hence resulting in beacons being sent out for already removed interfaces. Fix this by invalidating the entire TXWI in front of the beacon instead of only the first word. Also clear all beacons during startup in the same way. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8654b79f9cad1095c905d407193f1230d073786d Author: Helmut Schaa Date: Tue Jun 29 21:47:37 2010 +0200 rt2x00: Disable link tuning in AP mode Since the link tuning is based on average RSSI values taken from all received frames it doesn't make sense to enable it in AP mode where every associated station provides independent RSSI values. Furthermore the legacy drivers don't enable link tuning in AP mode as well. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fa43750f00dc1699b24f5b441ab5fa79157a6b1f Author: Helmut Schaa Date: Tue Jun 29 21:47:10 2010 +0200 rt2x00: Fix beacon updates in rt61pci Fix rt61pci beacon updates in the same way as rt2800pci. rt61pci didn't update the beacon template after each beacon interval, resulting in the DTIM count being incorrect (if DTIM period > 1). Fix this by calling rt2x00lib_beacondone after the current beacon was sent out. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ad90319bc3bf604bccf55a3c952d9b68d12c5072 Author: Helmut Schaa Date: Tue Jun 29 21:46:43 2010 +0200 rt2x00: Fix beacon updates in rt2800pci rt2800pci didn't update the beacon template after each beacon interval, resulting in the DTIM count being incorrect (if DTIM period > 1). Fix this by calling rt2x00lib_beacondone after the current beacon was sent out. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit d440cb9eb1c9c44a811f0b23dff684347d1016e0 Author: Ivo van Doorn Date: Tue Jun 29 21:45:31 2010 +0200 rt2x00: Enable multiBSS in rt2800 MAC_BSSID_DW1_BSS_ID_MASK must be set to the mask 3, to enable 8 BSSID's. The MAC_BSSID_DW1_BSS_BCN_NUM is initialized to 7 to enable the 8 beacons. Signed-off-by: Ivo van Doorn Tested-by: Helmut Schaa Signed-off-by: John W. Linville commit ec2d1791a04e6f25cc55f87ddf6eaa51b2a811f7 Author: Gertjan van Wingerde Date: Tue Jun 29 21:44:50 2010 +0200 rt2x00: Align rt2800 EEPROM validation to Ralink vendor driver. Align with the latest versions of the Ralink legacy driver(s). Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 20f8b139a3834db1545454b4392aa73dcf595c9f Author: Gertjan van Wingerde Date: Tue Jun 29 21:44:18 2010 +0200 rt2x00: Correctly detect 93C86 EEPROMs in rt2800pci. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9cf4cb05c9634eda4b51db1f55fecdec4a145a57 Author: Gertjan van Wingerde Date: Tue Jun 29 21:43:03 2010 +0200 rt2x00: Split of TXWI writing to write_tx_data callback in rt2800usb. Align with the way PCI devices are handled, even though it is not strictly necessary. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 76dd5ddf2372c1b2673a79bd077b4afe0bb2828d Author: Gertjan van Wingerde Date: Tue Jun 29 21:42:23 2010 +0200 rt2x00: Rename driver write_tx_datadesc callback function. Now that the {usb,pci} specific write_tx_data functions are no longer present we can rename the write_tx_datadesc callback function back to its old name. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e513a0b6f1bf8e1b59b0e1382d4e7ef3d344d535 Author: Gertjan van Wingerde Date: Tue Jun 29 21:41:40 2010 +0200 rt2x00: Move common txdone handling to rt2x00lib_txdone. Now that the write_tx_data functions are merged, also merge the relevant parts of the txdone handling into common code, rather than {usb,pci} specific code. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 78eea11b0e6ae5771bc19cc46984f1cdcbbb6ba1 Author: Gertjan van Wingerde Date: Tue Jun 29 21:41:05 2010 +0200 rt2x00: Merge PCI and USB versions of write_tx_data into single function. Now that rt2x00pci_write_tx_data and rt2x00usb_write_tx_data are similar we can merge them in a single function in rt2x00queue.c. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fe7256971fbaeac868c35c2dbd34a7bbbdc0622b Author: Gertjan van Wingerde Date: Tue Jun 29 21:40:34 2010 +0200 rt2x00: Move filling of TX URB to rt2x00usb_kick_tx_entry function. There is no need to fill the TX URB this early, and moving it to the rt2x00usb_kick_tx_entry function allows us to merge the PCI and USB variants of the write_tx_data function. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 398ab9ea74f06eb98e4b28c2e9b43bf43e8730ab Author: Gertjan van Wingerde Date: Tue Jun 29 21:40:02 2010 +0200 rt2x00: Fix frame dumping for USB devices. We forgot to clear the SKBDESC_DESC_IN_SKB when the descriptor was removed from the front of the skb. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1ed7a17a8eb4e60b9e25d9d0eaec19ac704d4f9b Author: Ivo van Doorn Date: Tue Jun 29 21:39:29 2010 +0200 rt2x00: Remove unneeded variable The update_bssid is set only when BSS_CHANGED_BSSID is used, but the check if that field is true is done later in the function but also only when BSS_CHANGED_BSSID is set. This makes the variable useless, as it can never result in a negative check. Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit f1aa4c541e98afa8b770a75ccaa8504d0bff44a7 Author: Ivo van Doorn Date: Tue Jun 29 21:38:55 2010 +0200 rt2x00: Write the BSSID to register when interface is added For the Master mode case, we initialized the BSSID as the MAC address, but never wrote it into the registers. This causes Hardware crypto to break in Master mode when receiving frames which require the BSSID to be filled in. This is safe for STA mode since the BSSID will be initialized to 00:00:00:00:00 at this point, but will be set to the correct value later when the device associates. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 1df90809f79b765fd4e8868c2b182d948f198a17 Author: Helmut Schaa Date: Tue Jun 29 21:38:12 2010 +0200 rt2x00: Implement tx mpdu aggregation In order to implement tx mpdu aggregation we only have to implement the ampdu_action callback such that mac80211 allows negotiation of blockack sessions. The hardware will handle everything on its own as long as the ampdu flag in the TXWI struct is set up correctly and we translate the tx status correctly. For now, refuse requests to start rx aggregation. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f35376a44f7655bcb9a9abea1fbffcde1b80be55 Author: John W. Linville Date: Tue Jun 29 15:24:05 2010 -0400 ath9k: make ath9k_hw_keysetmac static Reported-by: Johannes Berg Signed-off-by: John W. Linville commit 99aeed9cde404365f9f72da25518068cbbc40b89 Author: John W. Linville Date: Tue Jun 29 15:20:49 2010 -0400 ath9k: remove unused function ath9k_hw_keyisvalid Reported-by: Johannes Berg Signed-off-by: John W. Linville commit c466d4efb86bb5aa327d6e43f62781a9faabfdae Author: John W. Linville Date: Tue Jun 29 14:51:23 2010 -0400 mac80211: add basic tracing to drv_get_survey Reported-by: Johannes Berg Signed-off-by: John W. Linville commit ff3074a4dd6c0963e6a7eaac48175a62f589c143 Author: John W. Linville Date: Tue Jun 29 13:55:04 2010 -0400 mac80211: remove unnecessary check in ieee80211_dump_survey This check is duplicated in drv_get_survey. Reported-by: Johannes Berg Signed-off-by: John W. Linville commit 38bdb650f902d275d6b2f9c2d8247fd960525583 Author: Felix Fietkau Date: Fri Jun 25 01:44:33 2010 +0200 mac80211: fix the for_each_sta_info macro Because of an ambiguity in the for_each_sta_info macro, it can currently only be used if the third parameter is set to 'sta'. Fix this by renaming the parameter to '_sta'. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 78c4653a2274479547e259e1f416d2b3d04c42a8 Author: Felix Fietkau Date: Fri Jun 25 01:26:16 2010 +0200 ath9k: fix retry count for A-MPDU rate control status reports The 'bf_retries' field of the ath_buf structure was used for both software retries (AMPDU subframes) and hardware retries (legacy frames). This led to a wrong retry count being reported for the A-MPDU rate control stats. This patch changes the code to no longer use bf_retries for reporting retry counts, but instead always using the real on-chip retry count from the ath_tx_status. Additionally, if the first subframe of an A-MPDU was not acked, the tx status report is submitted along with the first acked subframe, which may not contain the correct rates in the tx info. This is easily corrected by saving the tx rate info before looping over subframes, and then copying it back once the A-MPDU status report is submitted. In my tests this change improves throughput visibly. Signed-off-by: Felix Fietkau Reported-by: Björn Smedman Cc: stable@kernel.org Signed-off-by: John W. Linville commit 6665b54e79d52c813914481783d82398ca2451f6 Author: Bruno Randolf Date: Mon Jun 28 11:01:48 2010 +0900 ath5k: fix antenna div gc for <= AR5K_SREV_PHY_2413 In commit 39d5b2c83ca8904b6826a0713263a4e5a9c0730a "ath5k: update AR5K_PHY_RESTART_DIV_GC values to match masks" i introduced a regression on PHY chips older than AR5K_SREV_PHY_5413, which caused signal values to be about 10dB less that before. This patch reverts the AR5K_PHY_RESTART_DIV_GC values to the same values which were effectively used before (without the bitmask mistake). This brings signal levels back to normal on these PHY chips. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 55d02a47deaa5c4616e9e70e227ea833e263b858 Author: Magnus Damm Date: Fri Jun 25 18:32:54 2010 +0900 b43: Add SDIO_DEVICE() for EW-CG1102GC This patch enables the EW-CG1102GC SDIO card in the b43 driver. b43-sdio mmc0:0001:1: Chip ID 14e4:4318 ssb: Core 0 found: ChipCommon (cc 0x800, rev 0x0D, vendor 0x4243) ssb: Core 1 found: IEEE 802.11 (cc 0x812, rev 0x09, vendor 0x4243) ssb: Core 2 found: PCI (cc 0x804, rev 0x0C, vendor 0x4243) ssb: Core 3 found: PCMCIA (cc 0x80D, rev 0x07, vendor 0x4243) b43-phy0: Broadcom 4318 WLAN found (core revision 9) b43-phy0 debug: Found PHY: Analog 3, Type 2, Revision 7 b43-phy0 debug: Found Radio: Manuf 0x17F, Version 0x2050, Revision 8 Tested with openfwwf-5.2 using a SuperH SDHI host controller. Signed-off-by: Magnus Damm Signed-off-by: John W. Linville commit 5ed3bc7288487bd4f891f420a07319e0b538b4fe Author: John W. Linville Date: Thu Jun 24 14:38:30 2010 -0400 mac80211: use netif_receive_skb in ieee80211_tx_status callpath This avoids the extra queueing from calling netif_rx. Signed-off-by: John W. Linville commit 5548a8a1138c96e3e6f803c9f2c1f9389c2f0ee6 Author: John W. Linville Date: Thu Jun 24 14:25:56 2010 -0400 mac80211: use netif_receive_skb in ieee80211_rx callpath This avoids the extra queueing from calling netif_rx. Signed-off-by: John W. Linville commit 679db794679baae96ce0a2257daaeaedef4e8352 Author: Wey-Yi Guy Date: Mon Jun 21 12:15:17 2010 -0700 iwlwifi: add disable rf calibration support for 6000g2a and 6000g2b Radio calibration (chain noise and sensitivity) should be allowed to be disabled from debugfs if compiled with CONFIG_IWLWIFI_DEBUGFS. For both 6000g2a and 6000g2b, the parameters are missing in "cfg", which cause user can not disable the radio calibration manually; add the support to allow the operation. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 2b2129f15919e4921894f8d2af4834dc854977cd Author: Reinette Chatre Date: Fri Jun 18 16:40:21 2010 -0700 iwlagn: reduce severity of disconnected antennas warning This message is encountered regularly and we need to take a closer look at the circumstances under which it is printed before presenting errors to users. Signed-off-by: Reinette Chatre commit cfecc6b492162fb49209a83dc207f182b87ea27a Author: Wey-Yi Guy Date: Fri Jun 18 11:33:15 2010 -0700 iwlwifi: turn on RTS/CTS after aggregation become operational If RTS/CTS protection is needed for HT, wait until get operational notification from mac80211, then inform uCode to switch to RTS/CTS through RXON command. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 0ab84cff8befbea342576cd6dc21026d5c9244df Author: Johannes Berg Date: Fri Jun 18 01:38:56 2010 -0700 iwlwifi: read rfkill during resume When resuming from hibernate or suspend, the status of the rfkill switch isn't known since it might have been toggled while the system was asleep. Therefore, we need to read out the status at resume time to make sure the system knows about an up-to-date status. Reported-by: Mark Tung Tested-by: Mark Tung Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 278c2f6faafebe28b9776918ce5fbaef9795c141 Author: Daniel Halperin Date: Mon Jun 14 13:10:29 2010 -0700 iwlwifi: update LQ for bcast station on channel change The rate table in the bcast LQ is computed only when the station is allocated, and chooses the lowest rate for the band. Because of when this occurs, this is the 2.4 GHz band and uses the 0x420a (CCK, 1 Mbps) rate. In 5 GHz beaconing mode, this rate will prevent beacons from being sent and any other packets from being received. We can fix this by re-initializing the bcast station's LQ command when the channel is changed. Signed-off-by: Daniel Halperin Signed-off-by: Reinette Chatre commit 680788aca3dcc24b932eb7a4219ab921ac5bf2d0 Author: Wey-Yi Guy Date: Thu Jun 17 15:25:00 2010 -0700 iwlwifi: add a mechanism to disable plcp error checking For some devices, especially the upcoming new devices, the plcp error rate is different. Before the correct error rate can be determine, also for the debugging purpose; add the mechanism to disable plcp error checking which cause radio reset happen. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 178d1596073e81927a24221dba6c55ae0048a207 Author: Wey-Yi Guy Date: Tue Jun 15 16:14:53 2010 -0700 iwlwifi: enable DC calibration based on config parameter Different devices have different calibration requirement, some need DC calibration and some don't; make it a cfg parameter for easy management. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 4e3243f549540235d180e446715a14c1b5827902 Author: Wey-Yi Guy Date: Fri Jun 18 11:33:16 2010 -0700 iwlwifi: name change from signal protection flag This bit need to be set for both RTS/CTS or CTS-to-self protection, if CTS-to-self is used, then uCode will check the RXON_FLG_SELF_CTS_EN status. Change the name from TX_CMD_FLG_RTS_CTS_MSK to TX_CMD_FLAG_PROT_REQUIRE_MSK to match the behavior of the bit setting. Also update comments to reflect which hardware uses which of the TX command flags. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit e691e19e05c2cef72cd7f81bcae4195c81d4bf51 Merge: 47399f1 062bee4 Author: Reinette Chatre Date: Fri Jun 25 14:47:02 2010 -0700 Merge branch 'wireless-2.6' into wireless-next-2.6 commit 47399f1a7d2059c89df7a1116024d0cd9bc240fa Author: Vasanthakumar Thiagarajan Date: Thu Jun 24 04:09:27 2010 -0700 ath9k: Wakeup the chip in an appropriate place in ath_paprd_calibrate() Move ath9k_ps_wakeup() down just before accessing hw registers. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 78a181725162c33cdc8907c3c224bd8b6b628f0e Author: Vasanthakumar Thiagarajan Date: Thu Jun 24 02:42:46 2010 -0700 ath9k: Remove unused paprd_txok Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ca369eb494e45a3e3b8960775f88125fe1fbb0f2 Author: Vasanthakumar Thiagarajan Date: Thu Jun 24 02:42:44 2010 -0700 ath9k: Fix bug in paprd It is possbile that the transmission of paprd test frame might not get completed in 100ms if tx is stuck. Freeing this skb upon timeout in ath_paprd_calibrate() will result in accessing already freed memory when the associated pending buffer is drained in txq. This patch fixes this issue. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 75f64dd54a185150ebfc45e99351c890d4a2252f Author: Ondrej Zary Date: Wed Jun 23 12:57:15 2010 +0200 rt2500usb: fallback to SW encryption for TKIP+AES HW crypto in rt2500usb does not seem to support keys with different ciphers, which breaks TKIP+AES mode. Fall back to software encryption to fix it. This should fix long-standing problems with rt2500usb and WPA, such as: http://rt2x00.serialmonkey.com/phpBB/viewtopic.php?f=4&t=4834 https://bugzilla.redhat.com/show_bug.cgi?id=484888 Also tested that it does not break WEP, TKIP-only and AES-only modes. Signed-off-by: Ondrej Zary Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 98d2ff8bec82fc35fe2008a187a5fef9241dab10 Author: Juuso Oikarinen Date: Wed Jun 23 12:12:38 2010 +0300 nl80211: Add option to adjust transmit power This patch adds transmit power setting type and transmit power level attributes to NL80211_CMD_SET_WIPHY in order to facilitate adjusting of the transmit power level of the device. The added attributes allow selection of automatic, limited or fixed transmit power level, with the level definable in signed mBm format. Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit fa61cf70a6ae1089e459e4b59b2e8d8e90d8535e Author: Juuso Oikarinen Date: Wed Jun 23 12:12:37 2010 +0300 cfg80211/mac80211: Update set_tx_power to use mBm instead of dBm units In preparation for a TX power setting interface in the nl80211, change the .set_tx_power function to use mBm units instead of dBm for greater accuracy and smaller power levels. Also, already in advance move the tx_power_setting enumeration to nl80211. This change affects the .tx_set_power function prototype. As a result, the corresponding changes are needed to modules using it. These are mac80211, iwmc3200wifi and rndis_wlan. Cc: Samuel Ortiz Cc: Jussi Kivilinna Signed-off-by: Juuso Oikarinen Acked-by: Samuel Ortiz Acked-by: Jussi Kivilinna Signed-off-by: John W. Linville commit a185045c8da1ec6627236b4ade0d949b15da43b3 Author: Sebastian Smolorz Date: Tue Jun 22 16:55:17 2010 +0200 at76c50x-usb: Extract bssid from authentication frame The driver at76c50x-usb is unable to authenticate with an AP since kernel 2.6.31 for the following reason: The join command of the firmware needs to be sent with the right bssid before any transmission can start. Before kernel 2.6.31 mac80211 informed its drivers about the changing bssid early enough for at76c50x-usb but during the development of 2.6.31 mac80211's behaviour changed. Now a new bssid is set after the association. This patch changes the tx routine of the driver at76c50x-usb in such a way that a new bssid is extracted from an authentication frame and the join command with that bssid is processed. Signed-off-by: Sebastian Smolorz Signed-off-by: John W. Linville commit 41b4b289adaaf53e563a2cde17c45c492608edb0 Author: Sebastian Smolorz Date: Tue Jun 22 16:53:37 2010 +0200 at76c50x-usb: Move function at76_join() several lines up This patch does a simple code move of at76_join() so that at76_mac80211_tx() follows at76_join() in the driver's source file. This is a preparatory patch for the following patch where we need to call at76_join() from at76_mac80211_tx() in order to authenticate successfully with a bssid. Signed-off-by: Sebastian Smolorz Signed-off-by: John W. Linville commit c937019761a758f2749b1f3a032b7a91fb044753 Author: John W. Linville Date: Mon Jun 21 17:14:07 2010 -0400 mac80211: avoid scheduling while atomic in mesh_rx_plink_frame While mesh_rx_plink_frame holds sta->lock... mesh_rx_plink_frame -> mesh_plink_inc_estab_count -> ieee80211_bss_info_change_notify ...but ieee80211_bss_info_change_notify is allowed to sleep. A driver taking advantage of that allowance can cause a scheduling while atomic bug. Similar paths exist for mesh_plink_dec_estab_count, so work around those as well. http://bugzilla.kernel.org/show_bug.cgi?id=16099 Also, correct a minor kerneldoc comment error (mismatched function names). Signed-off-by: John W. Linville Cc: stable@kernel.org commit de66bfd85c817146825eaafb39d5872463c09e8c Author: John W. Linville Date: Thu Jun 24 13:03:14 2010 -0400 minstrel_ht: move minstrel_mcs_groups declaration to header file Signed-off-by: John W. Linville Acked-by: Felix Fietkau commit 670b7f11ff1f8492f51716474cf582f55a2247ba Author: John W. Linville Date: Thu Jun 24 11:26:31 2010 -0400 wireless: mark reg_mutex as static Signed-off-by: John W. Linville commit d5ece2150a8a1715fea3272e057c45d98edb78ea Author: John W. Linville Date: Thu Jun 24 11:18:38 2010 -0400 minstrel_ht: make *idx unsigned in minstrel_downgrade_rate net/mac80211/rc80211_minstrel_ht.c:440:46: warning: incorrect type in argument 2 (different signedness) net/mac80211/rc80211_minstrel_ht.c:440:46: expected int *idx net/mac80211/rc80211_minstrel_ht.c:440:46: got unsigned int * net/mac80211/rc80211_minstrel_ht.c:446:46: warning: incorrect type in argument 2 (different signedness) net/mac80211/rc80211_minstrel_ht.c:446:46: expected int *idx net/mac80211/rc80211_minstrel_ht.c:446:46: got unsigned int * Signed-off-by: John W. Linville Acked-by: Felix Fietkau commit 292b4df62a5a05a077269535d24eaabc8831c79d Author: John W. Linville Date: Thu Jun 24 11:13:56 2010 -0400 mac80211: don't shadow mgmt variable in ieee80211_rx_h_action net/mac80211/rx.c:2059:39: warning: symbol 'mgmt' shadows an earlier one net/mac80211/rx.c:1916:31: originally declared here Signed-off-by: John W. Linville commit a3275e24aa97fe303c66e4ab06a67b12730a8c2f Author: John W. Linville Date: Thu Jun 24 11:08:37 2010 -0400 rtl8180: mark rtl8180_beacon_work static Signed-off-by: John W. Linville commit 8244132ea89cdd128003f5b9980fab50d8d36d72 Merge: 7b2ff18 38000a9 Author: David S. Miller Date: Wed Jun 23 18:26:27 2010 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/ipv4/ip_output.c commit d0ee0ebe17cbeeccdf1e76e9f048c21f56f41e45 Author: John W. Linville Date: Wed Jun 23 14:20:45 2010 -0400 ath9k: declare MODULE_FIRMWARE for ath9k_htc Signed-off-by: John W. Linville commit 25ac8b0d06c4b3e26c7c4c18dc5c3fcc40be58a2 Author: John W. Linville Date: Wed Jun 23 10:33:45 2010 -0400 libertas: mark lbs_ret_802_11d_domain_info static Probably little risk of namespace polution, but good practice... :-) Signed-off-by: John W. Linville commit 9a75c2ff6d539da0a565b5d64605031950b0853e Author: Vivek Natarajan Date: Tue Jun 22 11:52:37 2010 +0530 ath9k: Add a module parameter to disable led blinking. Some vendors require the LED to be ON always irrespective of any radio activity. Introducing a module parameter to disable blinking, so that one can choose between always on or led blink during activity. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit ee031112d9eef5508f765ebc90ab488e01db002e Author: Luis R. Rodriguez Date: Mon Jun 21 18:38:51 2010 -0400 ath9k_hw: add an extra delay when reseting AR_RTC_RESET Without this we could start trying to work with the device without it being fully functional yet and loose some packets upon resume. Cc: Aeolus Yang Cc: Madhan Jaganathan signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d5c4d1930ce16b79990f8bb049d090eafd1fedde Author: Luis R. Rodriguez Date: Mon Jun 21 18:38:50 2010 -0400 ath9k_hw: dynamically choose the SERDES array for low power The array we use will vary depending on whether or not we are to go to lower power or not. The default values (iniPcieSerdes) are a copy or what go into the registers through the INI files. Cc: Aeolus Yang Cc: Madhan Jaganathan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6a0ec30ad4acae63a81526ca8c157f718904993b Author: Luis R. Rodriguez Date: Mon Jun 21 18:38:49 2010 -0400 ath9k_hw: add pcieSerDesWrite to disable SERDES ASPM tweaks This can be useful during testing of new ASPM tweaks which often have to be done through the PCI Serializer-Deserializer (SERDES). Cc: Aeolus Yang Cc: Madhan Jaganathan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 653fe371226fcbcc41b4662d35d2207648a6075d Author: Luis R. Rodriguez Date: Mon Jun 21 18:38:48 2010 -0400 ath9k_hw: move LowPower array writes to ar9003_hw_configpcipowersave() The LowPower array writes disables the PLL when ASPM is enabled. The host driver makes quite a few calls to ath9k_hw_configpcipowersave() and these same calls also need to ensure the PLL is off when they issue it. Cc: Aeolus Yang Cc: Madhan Jaganathan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9a658d2b5c222b62919ab47b11c907c731ac180a Author: Luis R. Rodriguez Date: Mon Jun 21 18:38:47 2010 -0400 ath9k_hw: fix ASPM setting for AR9003 The AR_WA register should not be read when in sleep state so add a variable we can stash its value into for when we need to set it. Additionally the AR_WA_D3_TO_L1_DISABLE_REAL (bit 16) needs to be removed. Cc: Aeolus Yang Cc: Madhan Jaganathan signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1047d5edd4838f27dc86f24676178f2249c446ea Author: Kiran Divekar Date: Fri Jun 4 23:20:42 2010 -0700 Libertas: Added 11d support using cfg80211 Added 11d support for libertas driver using cfg80211. This is based on Holger Shurig's initial work to add cfg80211 support libertas. (https://patchwork.kernel.org/patch/64286/) Please let us know, if there are any improvements comments. Code is added to send 11d enable command to firmware while initialisation and pass 11d specific information to firmware when notifier handler is called by cfg80211. Signed-off-by: Amitkumar Karwar Signed-off-by: Kiran Divekar Signed-off-by: John W. Linville commit e4fe4eafa41cf951fb8fe2b9725ae84c599668d8 Author: Kiran Divekar Date: Fri Jun 4 23:20:37 2010 -0700 Libertas: fix WARN_ON issues in cfg80211 support In following scenarios WARN_ON() in cfg80211 code was triggered. a) Driver unload or card removal. b) Disconnect from infra network c) Adhoc start/join d) Adhoc stop Added following fixes to avoid WARN_ON() in cfg80211 code. a) Ensured that cfg80211_disconnected() function defined in cfg80211 code will be called only in infra mode. b) Solved timing issue by moving cfg80211_disconnected() call inside lbs_cfg_disconnect(). c) Updated "wdev->ssid" in driver code after Adhoc join/start d) Removed unnecessory cfg80211_disconnected() call in lbs_remove_card. Signed-off-by: Amitkumar Karwar Signed-off-by: Kiran Divekar Signed-off-by: John W. Linville commit e86dc1ca4676445d9f0dfe35104efe0eb8a2f566 Author: Kiran Divekar Date: Mon Jun 14 22:01:26 2010 +0530 Libertas: cfg80211 support Holger Schurig's patch (https://patchwork.kernel.org/patch/64286/) is rebased to latest wireless-testing tree. (Includes patches from me originally posted as "libertas: fix build error due to undefined symbol" and "libertas: unmangle capability value". -- JWL) Signed-off-by: Amitkumar Karwar Signed-off-by: Kiran Divekar Tested-by: Amitkumar Karwar Signed-off-by: John W. Linville commit f90754c15f47063671aea55268a9dd6a37b51492 Author: Juuso Oikarinen Date: Mon Jun 21 08:59:39 2010 +0300 mac80211: Add interface for driver to temporarily disable dynamic ps This mechanism introduced in this patch applies (at least) for hardware designs using a single shared antenna for both WLAN and BT. In these designs, the antenna must be toggled between WLAN and BT. In those hardware, managing WLAN co-existence with Bluetooth requires WLAN full power save whenever there is Bluetooth activity in order for WLAN to be able to periodically relinquish the antenna to be used for BT. This is because BT can only access the shared antenna when WLAN is idle or asleep. Some hardware, for instance the wl1271, are able to indicate to the host whenever there is BT traffic. In essence, the hardware will send an indication to the host whenever there is, for example, SCO traffic or A2DP traffic, and will send another indication when the traffic is over. The hardware gets information of Bluetooth traffic via hardware co-existence control lines - these lines are used to negotiate the shared antenna ownership. The hardware will give the antenna to BT whenever WLAN is sleeping. This patch adds the interface to mac80211 to facilitate temporarily disabling of dynamic power save as per request of the WLAN driver. This interface will immediately force WLAN to full powersave, hence allowing BT coexistence as described above. In these kind of shared antenna desings, when WLAN powersave is fully disabled, Bluetooth will not work simultaneously with WLAN at all. This patch does not address that problem. This interface will not change PSM state, so if PSM is disabled it will remain so. Solving this problem requires knowledge about BT state, and is best done in user-space. Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit fb63bc41772259701a827e9a6117219a7393554f Author: Gertjan van Wingerde Date: Sun Jun 20 20:28:07 2010 +0200 mac80211: Fix compile warning in scan.c. Fix the following compile warning: CC [M] net/mac80211/scan.o net/mac80211/scan.c: In function 'ieee80211_request_internal_scan': net/mac80211/scan.c:749:23: warning: comparison between 'enum nl80211_band' and 'enum ieee80211_band' caused by the local variable band not being of the proper 'ieee80211_band' type. Signed-off-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit bb64d95e539fe09230d42b4634ac712ca5cb700b Author: Larry Finger Date: Sat Jun 19 08:29:08 2010 -0500 b43: Clarify logged message after fatal DMA error and switch to PIO mode The message following fatal DMA errors fails to indicate properly that the driver has switched to PIO mode. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 051cb98686ab84a89b713cb69093445ce6a95b3d Author: Wey-Yi Guy Date: Mon Jun 14 17:13:14 2010 -0700 iwlwifi: remove non-exist reference Remove the reference to non-exist function in iwlcore Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 936e8a734fea8f18d0d90846bb726fd5bd7e128b Author: Wey-Yi Guy Date: Mon Jun 14 17:09:56 2010 -0700 iwlwifi: code cleanup to remove un-necessary "goto" Break out of loop and log the error message when encounter error; this is better approach than using "goto". Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit f84ac08db25f60a6973cac1a90f392b286054e2f Author: Wey-Yi Guy Date: Mon Jun 14 17:09:55 2010 -0700 iwlwifi: move calibration from iwlcore to iwlagn All the calibrations are "agn" only functions, move from iwlcore to iwlagn. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit f3aebeeebc9a18aa548f8c1da18f6cda28d8b732 Author: Wey-Yi Guy Date: Mon Jun 14 17:09:54 2010 -0700 iwlwifi: move _agn statistics related structure agn and 3945 has different statistics_notif data structure; since 3945 has it statistics_notif data structure inside the _3945 portion of iwl_priv, it make sense to move the agn statistics_notif into _agn portion. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 278fc73c0c6014bc2f55bce898bdeaa322bf4aba Author: Wey-Yi Guy Date: Mon Jun 14 17:09:53 2010 -0700 iwlwifi: move agn specific rx related code to iwl-agn-rx.c To avoid having unnecessary functions in iwlcore.ko, those that are not shared by agn and 3945, move agn specific rx related code to iwl-agn-rx.c. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 8756371589e7d3ad15f1a385e1c09f5ae706b75e Author: Jay Sternberg Date: Mon Jun 14 14:40:40 2010 -0700 iwlwifi: display ucode SW Error in hex errors are defined in hex but displayed as decimal. displaying as hex debugging easier and eliminated having to manually convert. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre commit 09034cb77ec8530728dd672db7580faeaa29df10 Author: Johannes Berg Date: Mon Jun 14 08:32:38 2010 -0700 iwlwifi: return ucode errors from station management When station management calls to ucode return an error we could previously do nothing, but now that almost all calls are synchronous we can actually let the error bubble up. Use EIO as the error as it best indicates a problem with the device. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit e666674eec98752d82388ae009e9039a62e744e7 Author: Johannes Berg Date: Mon Jun 14 08:32:24 2010 -0700 iwlwifi: use sync commands for keys Key management can use sync commands instead of asynchronous ones to have better error checking. Also add checks that the commands all should have the mutex held. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 4620fefa59d8aeae400b21d60d9a86aa11ebffa7 Author: Johannes Berg Date: Wed Jun 16 03:30:27 2010 -0700 iwlagn: use mutex for aggregation Now that the ampdu_action callback can sleep, we can use the mutex to properly protect the aggregation data, and return useful errors if they should happen. Also, add some sleep and mutex debugging so we won't call any of the functions that now require being able to sleep and/or the mutex to be held in an invalid context. Signed-off-by: Johannes Berg Acked-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 543708be320d7df692d24b349ca01a947b340764 Author: Johannes Berg Date: Fri Jun 18 12:32:20 2010 +0200 mac80211: fix sw scan bracketing Currently, detection in hwsim and ath9k can detect that two sw scans are in flight at the same time, which isn't really true. It is caused by a race condition, because the scan complete callback is called too late, after the lock has been dropped, so that a new scan can be started before it is called. It is also called too early semantically, as it is currently called _after_ the return to the operating channel -- it should be before so that drivers know this is the operating channel again. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8223d2f540c96f46f762fbd93f59a08bb80601c1 Author: Johannes Berg Date: Fri Jun 18 12:31:56 2010 +0200 mac80211_hwsim: fix fake_hw_scan Since mac80211 will not set the max_scan parameters if hw scan is enabled, hwsim needs to do it so that cfg80211 won't reject the scan. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2fcc9f731b598a6c70dca277776c66c9cf9d7a3b Author: Uwe Kleine-König Date: Fri Jun 18 09:38:55 2010 +0200 wireless: move regulatory_init to .init.text regulatory_init is only called by cfg80211_init which is in .init.text, too. Signed-off-by: Uwe Kleine-König Signed-off-by: John W. Linville commit f884e3879b7a098565e963e771cb342b67b1f5cd Author: Uwe Kleine-König Date: Fri Jun 18 09:38:54 2010 +0200 cfg80211: move cfg80211_exit to .exit.text cfg80211_exit is only used as module_exit function, so it can go to .exit.text saving a few bytes when CONFIG_CFG80211=y. Signed-off-by: Uwe Kleine-König Signed-off-by: John W. Linville commit 4e63f768c3b85ae2b3ea6251231fd5cc46ec598d Author: Sujith Date: Thu Jun 17 10:29:01 2010 +0530 ath9k_htc: Update supported product list This patch adds USB IDs for some more supported devices. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 1baf8a90bd5ad61bc0c55521cc097586531e7eb7 Author: Justin P. Mattock Date: Tue Jun 15 22:33:51 2010 -0700 wireless:hostap_ap.c Fix warning: variable 'fc' set but not used The below patch fixes a warning message when compiling with gcc 4.6.0 CC [M] drivers/net/wireless/hostap/hostap_ap.o drivers/net/wireless/hostap/hostap_ap.c: In function 'hostap_ap_tx_cb_assoc': drivers/net/wireless/hostap/hostap_ap.c:691:6: warning: variable 'fc' set but not used Signed-off-by: Justin P. Mattock Signed-off-by: John W. Linville commit deda484cd7aacecb5e372f9f649a9b7a9eaebf30 Author: Justin P. Mattock Date: Tue Jun 15 22:33:50 2010 -0700 wireless:hostap_main.c warning: variable 'iface' set but not used The patch below fixes a warning message Im seeing with gcc 4.6.0 CC [M] drivers/net/wireless/hostap/hostap_main.o drivers/net/wireless/hostap/hostap_main.c: In function 'hostap_set_multicast_list_queue': drivers/net/wireless/hostap/hostap_main.c:744:27: warning: variable 'iface' set but not used Signed-off-by: Justin P. Mattock Signed-off-by: John W. Linville commit bb9c03d8a6893517737b16fdbeb54be3c73b3023 Merge: 4de5782 abf52f8 Author: David S. Miller Date: Thu Jun 17 14:19:06 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit abf52f86aa0a49a7377350cafa8f218c4cd227e7 Merge: 6a0076e 021570e Author: John W. Linville Date: Thu Jun 17 16:21:14 2010 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: net/mac80211/mlme.c commit 6a0076e02a884e86c762a7b63cb50c2e30067491 Author: Bruno Randolf Date: Wed Jun 16 19:12:39 2010 +0900 ath5k: report PHY error frames only for chips which need it Only report PHY error frames for ANI on chipsets which do not have PHY error counters in hardware. Signed-off-by: Bruno Randolf Acked-by: Bob Copeland Signed-off-by: John W. Linville commit 8786123b51984c518436911048668f9673f30cdf Author: Bruno Randolf Date: Wed Jun 16 19:12:34 2010 +0900 ath5k: review RX descriptor functions Reviewed RX descriptor functions against the HAL sources. Some minor changes: - check size before making changes to the descriptor - whitespace - add comments about 5210 timestamps. this needs to be adressed later! - FIFO overrun error only available on 5210 - rs_phyerr should not be OR'ed - clear the whole ath5k_rx_status structure before using, instead of zeroing specific fields. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 1884a3678c97c953dcfc2ee17bd43e354514d657 Author: Bruno Randolf Date: Wed Jun 16 19:12:28 2010 +0900 ath5k: take descriptor differences between 5210 and 5211 into account There are some differences between 5210 and 5211 descriptors which we did not take into account before. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 2237e928840c9a1d8bc5143daf28c419d9ca0bda Author: Bruno Randolf Date: Wed Jun 16 19:12:22 2010 +0900 ath5k: update 5210/5211 frame types Update 5210 frame types to match the HAL. We have to apply the same bitshift to the constants as we use later. Add 5211 specific frame types. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 03417bc605ef03cd851f13e36581cf2e1304755d Author: Bruno Randolf Date: Wed Jun 16 19:12:17 2010 +0900 ath5k: review and add comments for descriptors I carefully reviewed desh.h against the HAL sources. Added comments and made differences between 5210, 5211 and 5212 more clear by adding _521x to the defines which are specific to that chipset. Renamed some defines. No functional changes. Signed-off-by: Bruno Randolf Acked-by: Bob Copeland Signed-off-by: John W. Linville commit 62412a8f0ded6e5741c67c24f9e7c5b2bc33e042 Author: Bruno Randolf Date: Wed Jun 16 19:12:12 2010 +0900 ath5k: remove pointless rx error overlay struct ath5k_hw_rx_error was only used once, where we could easily just use ath5k_hw_rx_status as well, so remove it. Signed-off-by: Bruno Randolf Acked-by: Bob Copeland Signed-off-by: John W. Linville commit 2847109f73ac1b1e2d7517f9eac7f00c4e60b917 Author: Bruno Randolf Date: Wed Jun 16 19:12:07 2010 +0900 ath5k: cosmetic changes in ath5k_hw_proc_5212_rx_status() Just whitespace and indentation. Signed-off-by: Bruno Randolf Acked-by: Bob Copeland Signed-off-by: John W. Linville commit a66681935455bfbb95dfe42aa3182e3f5b1ff1b4 Author: Bruno Randolf Date: Wed Jun 16 19:12:01 2010 +0900 ath5k: use direct function calls for descriptors when possible Use direct function calls for ath5k_hw_setup_rx_desc() and ath5k_hw_setup_mrr_tx_desc() instead of a function pointer which always pointed to the same function in the case of ath5k_hw_setup_rx_desc() and which is easily unified in the case of ath5k_hw_setup_mrr_tx_desc(). Also simplify the initialization function for the remaining function pointers. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 02a78b42f84b61c689a22f4429d73f92a972bc83 Author: Bruno Randolf Date: Wed Jun 16 19:11:56 2010 +0900 ath5k: move checks and stats into new function Create a new function ath5k_receive_frame_ok() which checks for errors, updates error statistics and tells us if we want to further "receive" this frame or not. This way we can avoid a goto and have a cleaner separation between buffer handling and other things. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 8a89f063e79bcbd38d01bb25948840fe909e62cd Author: Bruno Randolf Date: Wed Jun 16 19:11:51 2010 +0900 ath5k: split descriptor handling and frame receive Move frame reception into it's own function to have a clearer separation between buffer and descriptor handling and things that are done when we actually receive a frame. Signed-off-by: Bruno Randolf Acked-by: Bob Copeland Signed-off-by: John W. Linville commit b16062facbf9952d9d69621a6bf87e1188973ccd Author: Bruno Randolf Date: Wed Jun 16 19:11:46 2010 +0900 ath5k: unify rx descriptor error handling There is no reason for a special handling (return) here, just break like we do with the checks before. Signed-off-by: Bruno Randolf Acked-by: Bob Copeland Signed-off-by: John W. Linville commit 39d63f2a3f95dce96e65f88c0a4560c3ca857a5f Author: Bruno Randolf Date: Wed Jun 16 19:11:41 2010 +0900 ath5k: reset more pointers after we free skbs After we free skbs for receive or transmit descriptors, make sure we have no pointers to the now invalid memory address. Signed-off-by: Bruno Randolf Acked-by: Bob Copeland Signed-off-by: John W. Linville commit 0452d4a508d7701d37ecf5d018f38e3422acb5d2 Author: Bruno Randolf Date: Wed Jun 16 19:11:35 2010 +0900 ath5k: print more errors when decriptor setup fails Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 265faadd6a01b9462bbc3ead26a3e32a717525c5 Author: Bruno Randolf Date: Wed Jun 16 19:11:30 2010 +0900 ath5k: fix rx descriptor debugging In the debug ouptut rx_status_0 was printed twice instead of rx_status_1. Also make the debug message more clear. Signed-off-by: Bruno Randolf Acked-by: Bob Copeland Signed-off-by: John W. Linville commit beade6363cbb5308ba9918d7547aa574ae08a8bd Author: Bruno Randolf Date: Wed Jun 16 19:11:25 2010 +0900 ath5k: fix some comment typos Fix comment about dma sizes, brackets were missing. Replace 'insure' with 'ensure'. Signed-off-by: Bruno Randolf Acked-by: Bob Copeland Signed-off-by: John W. Linville commit 9e4e43f20f808babd1b4ecd65266748ed1673c1e Author: Bruno Randolf Date: Wed Jun 16 19:11:17 2010 +0900 ath5k: rename ath5k_txbuf_free() to ath5k_txbuf_free_skb() Rename ath5k_txbuf_free() to ath5k_txbuf_free_skb() since this is what it does: it frees the skb and not the buf. Same for ath5k_rxbuf_free(). Signed-off-by: Bruno Randolf Acked-by: Bob Copeland Signed-off-by: John W. Linville commit 8d67a0310f7cba4796e5d5df99ed59408ac0b767 Author: Bruno Randolf Date: Wed Jun 16 19:11:12 2010 +0900 ath5k: more debug prints for resets Add a debug print for every case of reset. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit c086abae5baa2df449ea5247011e8b7d52bb13f4 Author: ubuntu@tjworld.net Date: Mon Mar 23 20:29:28 2009 +0000 ipw2200: Enable LED by default BugLink: http://bugs.launchpad.net/bugs/21367 Enable LED by default and update the MODULE_PARM_DESC. The original reason for defaulting to disabled was documented in 2005 and noted, "The LED code has been reported to hang some systems when running ifconfig and is therefore disabled by default." This no longer appears applicable and users have been requesting this be enabled for several years. Signed-off-by: TJ Signed-off-by: Tim Gardner Signed-off-by: Andy Whitcroft Acked-by: Stefan Bader Signed-off-by: Leann Ogasawara Signed-off-by: John W. Linville commit 7484bdc0569b3f9ddced42ed8d29de640135d9df Author: Leann Ogasawara Date: Tue Jun 15 14:01:51 2010 -0700 p54usb: Comment out duplicate Medion MD40900 device id The Medion MD40900 device id [0x0cde, 0x0006] is defined twice. Comment out the duplicate. Originally-by: Ben Collins Signed-off-by: Leann Ogasawara Signed-off-by: John W. Linville commit 3d3b33bd991890603fdfb4877d708cbc01d2acb2 Author: John W. Linville Date: Wed Jun 16 14:41:36 2010 -0400 zd1211rw: change ZD_REGDOMAIN_JAPAN_* naming ZD_REGDOMAIN_JAPAN_ADD and ZD_REGDOMAIN_JAPAN_GW_US54GXS seem a little verbose to me... Signed-off-by: John W. Linville commit 71184ba482f800254f0a825e3c8b1752a1a7a36d Author: Kouhei Sutou Date: Wed Jun 16 21:53:59 2010 +0900 zd1211rw: add 0x49 -> JP regulatory domain map 0x49 is used by PLANEX GW-US54GXS (2019:5303). Signed-off-by: Kouhei Sutou Signed-off-by: John W. Linville commit d7ca21393d39cb2e73dfc4c516e7be37ba01789e Author: Sujith Date: Tue Jun 15 10:24:37 2010 +0530 ath9k_htc: Fix ampdu_action callback Now that ampdu_action() can sleep, remove all the driver hacks and just issue WMI commands to the target. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 9a2af8892a74573cec4bea2149843a93442a12de Author: Luis R. Rodriguez Date: Mon Jun 14 20:17:36 2010 -0400 ath9k_hw: avoid setting cwmin/cwmax to 0 for IBSS for AR9003 IBSS requires the cwmin and cwmax to be respected when we reset the txqueues on AR9003 otherwise the distribution of beacons will be balanced towards the AR9003 card first preventing equal contention for air time for other peers on the IBSS. Without this IBSS will work but only the AR9003 card will be be issuing beacons on the IBSS. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e4a0ab3487d847ce8044a2d49f82391ea7d6489e Author: Ivo van Doorn Date: Mon Jun 14 22:14:19 2010 +0200 rt2x00: Synchronize WCID initialization with legacy driver Legacy rt2870 driver handles WCID differently then we expected, the BSSID and Cipher value are 3 bit values, while the 4th bit should be set elsewhere in an extended field. After this, rt2800usb reports frames have been decrypted successfully, indicating that the Hardware decryption now is working correctly. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 04f1e34d3c4ce8db05524cf527659eed1635ab20 Author: Ivo van Doorn Date: Mon Jun 14 22:13:56 2010 +0200 rt2x00: Enable HW crypto by default Hardware cryptography seems to be working on a 11G network with WPA/WPA2 cryptography enabled. WEP still needs to be tested... Signed-of-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit e6474c3c6d4839c73f363a0f44a347d804534758 Author: Ivo van Doorn Date: Mon Jun 14 22:13:37 2010 +0200 rt2x00: Limit TX done looping to number of TX ring entries Similar to rt2800pci, remove the check for duplicate register reading, and instead limit the for-loop to the maximum number of TX entries inside a queue. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit a5ea2f0255fe48af4864b41385fc28b4bc785ba6 Author: Ivo van Doorn Date: Mon Jun 14 22:13:15 2010 +0200 rt2x00: Update author rt2800lib rt2800lib has been under development of the rt2x00 project, so add it to the author string for the module information. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit e1b4d7b735c564444d0db668a65c547ad1d29058 Author: Ivo van Doorn Date: Mon Jun 14 22:12:54 2010 +0200 rt2x00: Enable fallback rates for rt61pci and rt73usb Explicitly enable the usage of fallback rates for the transmission of frames with rt61pci and rt73usb hardware. Note that for txdone reporting, only rt61pci is capable of reporting the fallback rates, for USB it is not possible to determine the number of retries. However the device will use the fallback rates, so it might still help in the performance. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 3d2bc1036a64bc015671283833430035f7dbbed0 Author: Helmut Schaa Date: Mon Jun 14 22:12:26 2010 +0200 rt2x00: Fix tx status reporting when falling back to the lowest rate In some corner cases the reported tx rates/retries didn't match the really used ones. The hardware lowers the tx rate on each consecutive retry by 1 (but won't fall back from MCS to legacy rates) _until_ it reaches the lowest one. In case the frame wasn't sent succesful the number of retries is 7 and if a rate index <7 was used the previous code reported negative rate indexes which were then ignored by the rate control algorithm and mac80211. Instead, report the remaining number of retries to have happened with the lowest rate (index 0). This should give the rate control algorithm slightly more accurate information about the used tx rates/retries. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3f2bee249926194313f7001bdfedb9c9634a48fc Author: Helmut Schaa Date: Mon Jun 14 22:12:01 2010 +0200 rt2x00: provide mac80211 a suitable max_rates value Set up max_rates and max_rate_tries with suitable values even if we do not support the whole functionality. As rt2800 has a global fallback table we cannot specify more then one tx rate per frame but since the hw will try several different rates (based on the fallback table) we should still initialize max_rates to the maximum number of rates we are going to try. Otherwise mac80211 will truncate our reported tx rates and the rc algortihm will end up with incorrect data choosing unsuitable rates for tx. This improves throughput on rt2800 devices considerable. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a3f84ca4b8dc31d0034a8b23194a4470766c938c Author: Helmut Schaa Date: Mon Jun 14 22:11:32 2010 +0200 rt2x00: Fix typo in rt2800_config_txpower Fix typo in rt2800_config_txpower. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3afa626a05a1d9fceedb397a66e85c13e3ff2c26 Author: Helmut Schaa Date: Mon Jun 14 22:11:09 2010 +0200 rt2x00: Fix TX_STA_FIFO handling Currently rt2800pci will read TX_STA_FIFO until the previously read value matches the current value. However, it is obvious that TX_STA_FIFO only contains values that can easily be the same for multiple consecutive frames (especially when communicating with only one other STA). Hence, we often ended up with reading only the first entry and ignoring the rest. One result was that when the TX_STA_FIFO contained multiple entires, only the first one was read and properly handled while the others remained in the tx queue. Thus, drop this check but introduce a maximum number of reads. All legacy drivers use the size of the tx ring as limit but state that the TX_STA_FIFO has only 16 entries. So, let's just stick with the tx ring size for now. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 52b58facff34318e8d98617480fc188edfc71386 Author: Helmut Schaa Date: Mon Jun 14 22:10:42 2010 +0200 rt2x00: Add comment about BBP1_TX_POWER Add a comment about the meaning of BBP1_TX_POWER stating all possible values. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2606e4223e21c047521cdd3f849db59c2ef99e6a Author: Helmut Schaa Date: Mon Jun 14 22:10:09 2010 +0200 rt2x00: Fix IEEE80211_TX_CTL_MORE_FRAMES handling IEEE80211_TX_CTL_MORE_FRAMES indicates that more frames are queued for tx but has nothing to do with fragmentation. Hence, don't set ENTRY_TXD_MORE_FRAG but only ENTRY_TXD_BURST to not kick the tx queues immediately. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ecb7cab59a2b8c0ec1aab6ac903def1d5a81d32b Author: Helmut Schaa Date: Mon Jun 14 22:09:41 2010 +0200 rt2x00: only set TXDONE_FALLBACK in rt2800pci if the frame was retried TXDONE_FALLBACK expresses that fallback rates were used for retries. Hence, it only makes sense to set the flag if retries > 0. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fd6dcb883a0e34de90c64a9352c5225066ee7d72 Author: Helmut Schaa Date: Mon Jun 14 22:09:09 2010 +0200 rt2x00: don't use TXDONE_FALLBACK as success indicator TXDONE_FALLBACK doesn't express if the frame was sent successful or not. It only tells us that the hw used fallback rates for retries. Hence, don't use TXDONE_FALLBACK as success indicator. Before this patch we reported success to the rate control algorithm which was wrong in a number of cases and might have lead to improper tx rate selections. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 46678b197a4a61f9c3701fb346b93acbf2ea9c61 Author: Helmut Schaa Date: Mon Jun 14 22:08:30 2010 +0200 rt2x00: clarify meaning of txdone flags Update the documentation of the available txdone flags to better express how they 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 9190252c952a33efa1ceff4ef35188f8a27b81cb Author: Jouni Malinen Date: Fri Jun 11 10:27:33 2010 -0700 mac80211: Use a separate CCMP PN receive counter for management frames When management frame protection (IEEE 802.11w) is used, we must use a separate counter for tracking received CCMP packet number for the management frames. The previously used NUM_RX_DATA_QUEUESth queue was shared with data frames when QoS was not used and that can cause problems in detecting replays incorrectly for robust management frames. Add a new counter just for robust management frames to avoid this issue. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 05e48e8e437148298f4673e1efe81f9ead5f41d7 Author: Jouni Malinen Date: Mon Jun 14 11:55:56 2010 -0700 mac80211: Protect Deauthentication frame when using MFP When management frame protection (IEEE 802.11w) is used, Deauthentication frame needs to be protected when the pairwise key is configured. mac80211 was removing the station entry (and its keys) before actually sending out the Deauthentication frame. Fix this by reordering the code to send the frame before the station entry gets removed. This matches an earlier change that handled the Disassociation frame processing, but missed Deauthentication frames. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit ff61638105db6f5832ef8700436ba6aa6d3a2fda Author: Juuso Oikarinen Date: Wed Jun 9 09:51:52 2010 +0300 mac80211: Fix ps-qos network latency handling The ps-qos latency handling is broken. It uses predetermined latency values to select specific dynamic PS timeouts. With common AP configurations, these values overlap with beacon interval and are therefore essentially useless (for network latencies less than the beacon interval, PSM is disabled.) This patch remedies the problem by replacing the predetermined network latency values with one high value (1900ms) which is used to go trigger full psm. For backwards compatibility, the value 2000ms is still mapped to a dynamic ps timeout of 100ms. Currently also the mac80211 internal value for storing user space configured dynamic PSM values is incorrectly in the driver visible ieee80211_conf struct. Move it to the ieee80211_local struct. Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit f350a0a87374418635689471606454abc7beaa3a Author: Jiri Pirko Date: Tue Jun 15 06:50:45 2010 +0000 bridge: use rx_handler_data pointer to store net_bridge_port pointer Register net_bridge_port pointer as rx_handler data pointer. As br_port is removed from struct net_device, another netdev priv_flag is added to indicate the device serves as a bridge port. Also rcuized pointers are now correctly dereferenced in br_fdb.c and in netfilter parts. Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 685429623f88d84f98bd5daffc3c427c408740d4 Author: Juuso Oikarinen Date: Wed Jun 9 13:43:26 2010 +0300 mac80211: Fix circular locking dependency in ARP filter handling There is a circular locking dependency when configuring the hardware ARP filters on association, occurring when flushing the mac80211 workqueue. This is what happens: [ 92.026800] ======================================================= [ 92.030507] [ INFO: possible circular locking dependency detected ] [ 92.030507] 2.6.34-04781-g2b2c009 #85 [ 92.030507] ------------------------------------------------------- [ 92.030507] modprobe/5225 is trying to acquire lock: [ 92.030507] ((wiphy_name(local->hw.wiphy))){+.+.+.}, at: [] flush_workq ueue+0x0/0xb0 [ 92.030507] [ 92.030507] but task is already holding lock: [ 92.030507] (rtnl_mutex){+.+.+.}, at: [] rtnl_lock+0x12/0x20 [ 92.030507] [ 92.030507] which lock already depends on the new lock. [ 92.030507] [ 92.030507] [ 92.030507] the existing dependency chain (in reverse order) is: [ 92.030507] [ 92.030507] -> #2 (rtnl_mutex){+.+.+.}: [ 92.030507] [] lock_acquire+0xdb/0x110 [ 92.030507] [] mutex_lock_nested+0x44/0x300 [ 92.030507] [] rtnl_lock+0x12/0x20 [ 92.030507] [] ieee80211_assoc_done+0x6c/0xe0 [mac80211] [ 92.030507] [] ieee80211_work_work+0x31d/0x1280 [mac80211] [ 92.030507] -> #1 ((&local->work_work)){+.+.+.}: [ 92.030507] [] lock_acquire+0xdb/0x110 [ 92.030507] [] worker_thread+0x22a/0x370 [ 92.030507] [] kthread+0x96/0xb0 [ 92.030507] [] kernel_thread_helper+0x4/0x10 [ 92.030507] [ 92.030507] -> #0 ((wiphy_name(local->hw.wiphy))){+.+.+.}: [ 92.030507] [] __lock_acquire+0x1c0c/0x1d50 [ 92.030507] [] lock_acquire+0xdb/0x110 [ 92.030507] [] flush_workqueue+0x4e/0xb0 [ 92.030507] [] ieee80211_stop_device+0x2b/0xb0 [mac80211] [ 92.030507] [] ieee80211_stop+0x3e5/0x680 [mac80211] The locking in this case is quite complex. Fix the problem by rewriting the way the hardware ARP filter list is handled - i.e. make a copy of the address list to the bss_conf struct, and provide that list to the hardware driver when needed. The current patch will enable filtering also in promiscuous mode. This may need to be changed in the future. Reported-by: Reinette Chatre Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 5ea096c0c85e80335889539899af9a4717976e0b Author: Teemu Paasikivi Date: Mon Jun 14 12:55:33 2010 +0300 mac80211: remove BSS from cfg80211 list when leaving IBSS Remove BSS from cfg80211 BSS list if we are only member in IBSS when leaving it. Signed-off-by: Teemu Paasikivi Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 392cfdb10dab6c7dfa5fed18d8a44d7453d42196 Author: Teemu Paasikivi Date: Mon Jun 14 12:55:32 2010 +0300 mac80211: Set changed basic rates flag Add changed basic rates flag to bss_changed while joinig ibss network. This patch is split from the patch containing support for setting basic rates when creating ibss network. Original patch was posted by Johannes Berg on the linux-wireless posting list. Signed-off-by: Johannes Berg Signed-off-by: Teemu Paasikivi Signed-off-by: John W. Linville commit fbd2c8dcbc69616d2e15b8a269a86b3a05d45aea Author: Teemu Paasikivi Date: Mon Jun 14 12:55:31 2010 +0300 mac80211: Set basic rates while joining ibss network This patch adds support to nl80211 and mac80211 to set basic rates when joining/creating ibss network. Original patch was posted by Johannes Berg on the linux-wireless posting list. Signed-off-by: Johannes Berg Signed-off-by: Teemu Paasikivi Signed-off-by: John W. Linville commit 7b9a4b001971c89f35d55180867753a612d17458 Author: Felix Fietkau Date: Sat Jun 12 17:22:34 2010 +0200 ath9k_hw: remove ATH9K_CAP_DS This capability check is no longer used, so it can be removed along with the now-obsolete ath9k_hw_getcapability function. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 3553727cfa950ab472131b7688905e60154fdab1 Author: Felix Fietkau Date: Sat Jun 12 17:22:33 2010 +0200 ath9k/ath9k_htc: remove redundand checks for dual-stream tx support mac80211 already masks the HT sta capabilities based on hardware support Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 16f2411fcb76253c690e3420fbcf3f0208eeaa51 Author: Felix Fietkau Date: Sat Jun 12 17:22:32 2010 +0200 ath9k_hw: remove ATH9K_CAP_MCAST_KEYSRCH The driver always sets this to enabled, but this can be simplified with a small change to ah->sta_id1_defaults instead. This change also removes the now-obsolete ath9k_hw_setcapability function. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f32a488463d1b2048a7797a5b618be65a1dfabad Author: Felix Fietkau Date: Sat Jun 12 17:22:31 2010 +0200 ath9k_hw: remove ATH9K_CAP_TKIP_SPLIT This is only used as a workaround for an issue in one specific hw revision. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 71fca6e983ebbf70b2d1089c66f0ec945ae16dc0 Author: Felix Fietkau Date: Sat Jun 12 17:22:30 2010 +0200 ath9k_hw: remove ATH9K_CAP_TKIP_MIC TKIP MIC support is always enabled anyway. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 9cc3271faa3967754ca1d6ac982e91e347c55489 Author: Felix Fietkau Date: Sat Jun 12 17:22:29 2010 +0200 ath9k_hw: remove ATH9K_CAP_TXPOW replace calls that read this capability with accesses to ath9k_hw's regulatory data. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 716f7fc5b83ec04c53274a4810a723747e12f910 Author: Felix Fietkau Date: Sat Jun 12 17:22:28 2010 +0200 ath9k_hw: remove ATH9K_CAP_CIPHER All of the ciphers that are tested for are always supported Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 0efabd51230f38278d8feea42e843e3ed64694bd Author: Luis R. Rodriguez Date: Sat Jun 12 00:34:02 2010 -0400 ath9k: enable AR9003 PCI IDs All AR9003 features are now complete so enable AR9003 support. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9f42c2b667691f6ad29842302c66c864e7eb326c Author: Felix Fietkau Date: Sat Jun 12 00:34:01 2010 -0400 ath9k: implement PA predistortion support Signed-off-by: Felix Fietkau Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 717f6bedcd2d3d39624437e1de7067c90ec931f0 Author: Felix Fietkau Date: Sat Jun 12 00:34:00 2010 -0400 ath9k_hw: add functions for controlling PA predistortion calibration Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 4935250ac14d9aac7d98411bdead2e33a9fadeac Author: Felix Fietkau Date: Sat Jun 12 00:33:59 2010 -0400 ath9k_hw: add support for parsing PA predistortion related EEPROM fields Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit ab33449895a6690a3e5fcfa8391fdeb1be65c320 Author: Felix Fietkau Date: Sat Jun 12 00:33:58 2010 -0400 ath9k_hw: add register definitions related to PA predistortion Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 96d159d03c5b849fa39dc7305e04ebf374085e4a Author: Felix Fietkau Date: Sat Jun 12 00:33:57 2010 -0400 ath9k_hw: remove a useless function for setting the mac address ath9k_hw_setmac() only copies the mac address it is called with into common->macaddr, yet in all call sites, the supplied mac address pointer is already common->macaddr. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 41f3e54d72cbf435f9ad04e02a10cd4597384841 Author: Felix Fietkau Date: Sat Jun 12 00:33:56 2010 -0400 ath9k: add a debugfs entry for ignoring CCA on the extension channel in HT40 Debugfs requires a u32 for bool knobs though so we turn the ath9k_hw knob into a u32 as well. Signed-off-by: Felix Fietkau Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 97923b14a5a13e6d59b07eccfbb71f4981c00cb0 Author: Felix Fietkau Date: Sat Jun 12 00:33:55 2010 -0400 ath9k: fix queue stopping threshold ath9k tries to prevent WMM queue tx buffer starvation caused by traffic on different queues by limiting the number of pending frames in a tx queue (tracked in the ath_buf structure). This had a leak issue, because the a skb can be reassigned to a different ath_buf in the tx path, causing the pending frame counter to become inaccurate. To fix this, track the number of frames in an array in the softc, using the mac80211 queue mapping as index. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit a6d2055b02dde1067075795274672720baadd3ca Author: Felix Fietkau Date: Sat Jun 12 00:33:54 2010 -0400 ath9k: fix extending the rx timestamp with the hardware TSF AR5416 and all newer chipsets use a 32 bit rx timestamp, so there is no need to keep the 15 bit timestamp extending logic around. This patch removes ath9k_hw_extend_tsf (replaced by a call to ath9k_hw_gettsf64), and reduces the frequency of TSF reads, which can improve performance in some cases. This change also has the side effect of making rx timestamps more accurate. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit ebe297c35d5e7137a2d626b49b4c8c4c0ab4f242 Author: Felix Fietkau Date: Sat Jun 12 00:33:53 2010 -0400 ath9k: make ath_get_hal_qnum static Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 9623009d2d0a228253d084cac4fda38c9807a4c2 Author: Felix Fietkau Date: Sat Jun 12 00:33:52 2010 -0400 ath9k: remove declarations of some nonexistant functions Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 1d2231e2e27a7df6a3dc7827d244b7736b7d164a Author: Felix Fietkau Date: Sat Jun 12 00:33:51 2010 -0400 ath9k: remove duplicate WMM AC definitions Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit e8c35a77e3408171852bde4914b650cf5b83e0d1 Author: Felix Fietkau Date: Sat Jun 12 00:33:50 2010 -0400 ath9k_htc: use common WMM AC definitions instead of ath9k ones Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 293f2ba897183872c182a4a3cf1996a1f547d7ee Author: Felix Fietkau Date: Sat Jun 12 00:33:49 2010 -0400 ath9k: fix mac80211 queue lookup for waking up queues ath_get_mac80211_qnum() expects the queue 'subtype' (internal ID for the WMM AC) as argument when looking up the mac80211 queue, however ath_wake_mac80211_queue provides txq->axq_qnum instead, which contains the hardware queue number. Fix this by keeping track of the WMM class ID in the txq data structure. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 1cc5c4b56ef684b89afa577f70675d9dd025fb0c Author: Luis R. Rodriguez Date: Sat Jun 12 00:33:48 2010 -0400 ath9k_hw: update 5 GHz tx gain tables for femless and high power PA This updates the initvals for AR9003 to adjust the 5 GHz tx gain tables for femless and high power PA. References: Osprey 2.0 header file ver 72 Osprey 2.2 header file ver 20 Checksums: $ ./initvals -f ar9003-2p0 0x00000000c2bfa7d5 ar9300_2p0_radio_postamble 0x00000000ada2b114 ar9300Modes_lowest_ob_db_tx_gain_table_2p0 0x00000000e0bc2c84 ar9300Modes_fast_clock_2p0 0x00000000056eaf74 ar9300_2p0_radio_core 0x0000000000000000 ar9300Common_rx_gain_table_merlin_2p0 0x0000000078658fb5 ar9300_2p0_mac_postamble 0x0000000023235333 ar9300_2p0_soc_postamble 0x0000000054d41904 ar9200_merlin_2p0_radio_core 0x00000000748572cf ar9300_2p0_baseband_postamble 0x000000009aa5a0a4 ar9300_2p0_baseband_core 0x000000003dffa526 ar9300Modes_high_power_tx_gain_table_2p0 0x000000001cfda724 ar9300Modes_high_ob_db_tx_gain_table_2p0 0x0000000011302700 ar9300Common_rx_gain_table_2p0 0x00000000e3eab114 ar9300Modes_low_ob_db_tx_gain_table_2p0 0x00000000c9d66d40 ar9300_2p0_mac_core 0x000000001e1d0800 ar9300Common_wo_xlna_rx_gain_table_2p0 0x00000000a0c54980 ar9300_2p0_soc_preamble 0x00000000292e2544 ar9300PciePhy_pll_on_clkreq_disable_L1_2p0 0x000000002d3e2544 ar9300PciePhy_clkreq_enable_L1_2p0 0x00000000293e2544 ar9300PciePhy_clkreq_disable_L1_2p0 $ ./initvals -f ar9003-2p2 0x00000000c2bfa7d5 ar9300_2p2_radio_postamble 0x00000000ada2b114 ar9300Modes_lowest_ob_db_tx_gain_table_2p2 0x00000000e0bc2c84 ar9300Modes_fast_clock_2p2 0x00000000056eaf74 ar9300_2p2_radio_core 0x0000000000000000 ar9300Common_rx_gain_table_merlin_2p2 0x0000000078658fb5 ar9300_2p2_mac_postamble 0x0000000023235333 ar9300_2p2_soc_postamble 0x0000000054d41904 ar9200_merlin_2p2_radio_core 0x000000008475a084 ar9300_2p2_baseband_postamble 0x000000009aaafd90 ar9300_2p2_baseband_core 0x000000003dffa526 ar9300Modes_high_power_tx_gain_table_2p2 0x000000001cfda724 ar9300Modes_high_ob_db_tx_gain_table_2p2 0x0000000011302700 ar9300Common_rx_gain_table_2p2 0x00000000a9a2b114 ar9300Modes_low_ob_db_tx_gain_table_2p2 0x00000000a9d66d40 ar9300_2p2_mac_core 0x000000001e1d0800 ar9300Common_wo_xlna_rx_gain_table_2p2 0x00000000a0c531c8 ar9300_2p2_soc_preamble 0x00000000292e2544 ar9300PciePhy_pll_on_clkreq_disable_L1_2p2 0x000000002d3e2544 ar9300PciePhy_clkreq_enable_L1_2p2 0x00000000293e2544 ar9300PciePhy_clkreq_disable_L1_2p2 Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 644c78c95a9b0e3ed2728bc3995cde24b6f0cf2e Author: Luis R. Rodriguez Date: Sat Jun 12 00:33:47 2010 -0400 ath9k_hw: reduce delay on programming INI on AR9003 All AR9003 devices are PCI-E only, the extra delay here is not required and only reduces the delay for loading the initial register values by at least 14ms. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 03c725183bfa1328995f28e0d0e9c49e1e6ae730 Author: Luis R. Rodriguez Date: Sat Jun 12 00:33:46 2010 -0400 ath9k_hw: enable ANI for AR9003 AR9003 has been tested with the new ANI implementation and so ANI can now be enabled for that family. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e36b27aff1b10c81c53990b28da4ab6ab0ed0761 Author: Luis R. Rodriguez Date: Sat Jun 12 00:33:45 2010 -0400 ath9k: add new ANI implementation for AR9003 This adds support for ANI for AR9003. The implementation for ANI for AR9003 is slightly different than the one used for the older chipset families. It can technically be used for the older families as well but this is not yet fully tested so we only enable the new ANI for the AR5008, AR9001 and AR9002 families with a module parameter, force_new_ani. The old ANI implementation is left intact. Details of the new ANI implemention: * ANI adjustment logic is now table driven so that each ANI level setting is parameterized. This makes adjustments much more deterministic than the old procedure based logic and allows adjustments to be made incrementally to several parameters per level. * ANI register settings are now relative to INI values; so ANI param zero level == INI value. Appropriate floor and ceiling values are obeyed when adjustments are combined with INI values. * ANI processing is done once per second rather that every 100ms. The poll interval is now a set upon hardware initialization and can be picked up by the core driver. * OFDM error and CCK error processing are made in a round robin fashion rather than allowing all OFDM adjustments to be made before CCK adjustments. * ANI adjusts MRC CCK off in the presence of high CCK errors * When adjusting spur immunity (SI) and OFDM weak signal detection, ANI now sets register values for the extension channel too * When adjusting FIR step (ST), ANI now sets register for FIR step low too * FIR step adjustments now allow for an extra level of immunity for extremely noisy environments * The old Noise immunity setting (NI), which changes coarse low, size desired, etc have been removed. Changing these settings could affect up RIFS RX as well. * CCK weak signal adjustment is no longer used * ANI no longer enables phy error interrupts; in all cases phy hw counting registers are used instead * The phy error count (overflow) interrupts are also no longer used for ANI adjustments. All ANI adjustments are made via the polling routine and no adjustments are possible in the ISR context anymore * A history settings buffer is now correctly used for each channel; channel settings are initialized with the defaults but later changes are restored when returning back to that channel * When scanning, ANI is disabled settings are returned to (INI) defaults. * OFDM phy error thresholds are now 400 & 1000 (errors/second units) for low/high water marks, providing increased stability/hysteresis when changing levels. * Similarly CCK phy error thresholds are now 300 & 600 (errors/second) Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 40346b66799b7d382e61bbb68a6b6bbdd20f320e Author: Luis R. Rodriguez Date: Sat Jun 12 00:33:44 2010 -0400 ath9k_hw: inform ANI calibration when scanning The new ANI implementation will use this to skip ANI calibration upon a scan. This cannot be ported to the older ANI implementation unless default ANI values from the ANI are also used upon a scan. This is essentially what one of the things thenew ANI does. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7ca710d58ee9018e4f18bdeb5b6e5dc50097ce14 Author: Luis R. Rodriguez Date: Sat Jun 12 00:33:43 2010 -0400 ath9k_hw: add register definitions for the new ANI Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ac0bb76791ce2550e3c0a658408c344e1e231e3d Author: Luis R. Rodriguez Date: Sat Jun 12 00:33:42 2010 -0400 ath9k_hw: allow for spliting up ANI operations by family The AR9003 hardware family will use a slightly modified ANI implementation which has not yet been tested on the other hardware families. To allow for this new ANI implementation a few ANI calls need to be abstracted away. This patch just allows for each hardware family to declare their own ANI ops and annotates the current ANI implementation as old. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6e97f0fb4dc8e95cd7507f3ae89841a79bac0193 Author: Luis R. Rodriguez Date: Sat Jun 12 00:33:41 2010 -0400 ath9k_hw: clear MIB interrupt causes when skipping ANI adjustments We get an MIB interrupt when we hit certain PHY error counter thresholds. If ANI is disabled but the MIB interrupt is enabled we'll keep around the old MIB interrupt causes. Since ath9k disables the MIB interrupt when ANI is disabled this is not a fix, but more of a sanity fix in case we ever need the MIB interrupt enabled but disabling ANI. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 37e5bf6535a4d697fb9fa6f268a8354a612cbc00 Author: Luis R. Rodriguez Date: Sat Jun 12 00:33:40 2010 -0400 ath9k_hw: fix clock rate calculations for ANI The clock rate was assumed to be static but it actually changes depending on the mode of operation, correct this to help improve the calcuation of the listenTime for ANI. This change will help adjust ANI more accurately on different PHY thresholds. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7337725609d5b9ef053011d32727cbe7e8b33563 Author: Luis R. Rodriguez Date: Sat Jun 12 00:33:39 2010 -0400 ath9k_hw: move clock definitions from hw.c to hw.h These will be used by the ANI code next. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4efc76bdbf9bfd2b8624c4dd52b9d8ffed176b31 Author: Johannes Berg Date: Thu Jun 10 10:56:20 2010 +0200 mac80211: bracket driver tracing Currently, driver tracing is sometimes invoked after and sometimes before the actual driver callback. This is fine as long as the driver has no tracing itself, but as soon as it does it gets confusing. To make traces containing such information easier to read, introduce a return tracer in mac80211 that essentially brackets any driver tracing, and invoke the real trace before the driver's callback, only showing the return value, if any, afterwards. Since tracing records the process, there's no problem with overlapping calls if that should happen. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8b58ff832df9222e1fb3c58ae7f745f95569b55e Author: Johannes Berg Date: Thu Jun 10 10:21:51 2010 +0200 mac80211: fix mgmt frame accounting The recent change to processing action frames from the management frame queue had already broken action frame accounting, and my rework didn't help either. So add back accounting and simplify the code with a label rather than duplicating it, and also add accounting for management frames. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 73a72a81d27b71f9ace31668d2dd7f3ac1c8228e Author: Johannes Berg Date: Thu Jun 10 10:21:50 2010 +0200 mac80211: update aggregation documentation Even before the recent changes, the documentation for TX aggregation was somewhat out of date. Update it and also add documentation for the RX side. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 85ad181ea78861f69b007599cec9e6ba33fcdf8a Author: Johannes Berg Date: Thu Jun 10 10:21:49 2010 +0200 mac80211: allow drivers to sleep in ampdu_action Allow drivers to sleep, and indicate this in the documentation. ath9k has some locking I don't understand, so keep it safe and disable BHs in it, all other drivers look fine with the context change. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cfcdbde35e2b621cf56bedc38a3a81e8c28addb9 Author: Johannes Berg Date: Thu Jun 10 10:21:48 2010 +0200 mac80211: change TX aggregation locking To prepare for allowing drivers to sleep in ampdu_action, change the locking in the TX aggregation code to use the mutex the RX part already uses. The spinlock is still necessary around some code to avoid races with TX, but now we can also synchronize_net() to avoid getting an inconsistent sequence number. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 83a5cbf73a13d0c8be019b22afec4407e4285aed Author: Johannes Berg Date: Thu Jun 10 10:21:47 2010 +0200 mac80211: defer TX agg session teardown to work Since we want the code to be able to sleep in the future, it must not be called from the timer directly. To achieve that, simply call the function drivers would call, and also use RCU in the timer to get the struct so we don't need to rely on the spinlock in the future. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a93e364430de7f7a5f4eedd604ad1ab3d825dde5 Author: Johannes Berg Date: Thu Jun 10 10:21:46 2010 +0200 mac80211: change RX aggregation locking To prepare for allowing drivers to sleep in ampdu_action, change the locking in the RX aggregation code to use a mutex, so that it would already allow drivers to sleep. But explicitly disable BHs around the callback for now since the TX part cannot yet sleep, and drivers' locking might require it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f955ebb44798e0058c987a0817810d2542e87349 Author: Johannes Berg Date: Thu Jun 10 10:21:45 2010 +0200 mac80211: fix RX aggregation timer I noticed that when there was _no_ traffic at all on a given aggregation session, it would never time out. This won't happen unless you forced creating a session, but fix it anyway. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7c3b1dd8f483bf4bcb9776cd9cd3b37dd327d7ea Author: Johannes Berg Date: Thu Jun 10 10:21:44 2010 +0200 mac80211: defer RX agg session teardown to work Since we want the code to be able to sleep in the future, it must not be called from the timer directly. To prepare, move it out into the aggregation work. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 67c282c00c9c06733aae229662d209957f6d23a7 Author: Johannes Berg Date: Thu Jun 10 10:21:43 2010 +0200 mac80211: move BA session work Move the block-ack session works into common code, since it will be needed for RX agg too in the next patches. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0ab337032a0dfcd5f2527d3306d3deeba5f95b59 Author: Johannes Berg Date: Thu Jun 10 10:21:42 2010 +0200 mac80211: make TX aggregation start/stop request async When the driver or rate control requests starting or stopping an aggregation session, that currently causes a direct callback into the driver, which could potentially cause locking problems. Also, the functions need to be callable from contexts that cannot sleep, and thus will interfere with making the ampdu_action callback sleeping. To address these issues, add a new work item for each station that will process any start or stop requests out of line. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a6a67db2bc89d2b1ff07e0817f11235c20d2c329 Author: Johannes Berg Date: Thu Jun 10 10:21:41 2010 +0200 mac80211: refcount aggregation queue stop mac80211 currently maintains the ampdu_lock to avoid starting a queue due to one aggregation session while another aggregation session needs the queue stopped. We can do better, however, and instead refcount the queue stops for this particular purpose, thus removing the need for the lock. This will help making ampdu_action able to sleep. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5d22c89b9bea17a0e48e7534a9b237885e2c0809 Author: Johannes Berg Date: Thu Jun 10 10:21:40 2010 +0200 mac80211: remove non-irqsafe aggregation callbacks The non-irqsafe aggregation start/stop done callbacks are currently only used by ath9k_htc, and can cause callbacks into the driver again. This might lead to locking issues, which will only get worse as we modify locking. To avoid trouble, remove the non-irqsafe versions and change ath9k_htc to use those instead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a622ab72b4dcfdf53e24b16e9530cb876979a00c Author: Johannes Berg Date: Thu Jun 10 10:21:39 2010 +0200 mac80211: use RCU for TX aggregation Currently we allocate some memory for each TX aggregation session and additionally keep a state bitmap indicating the state it is in. By using RCU to protect the pointer, moving the state into the structure and some locking trickery we can avoid locking when the TX agg session is fully operational. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a87f736d942c86255e3088c606f0e3eab6bbf784 Author: Johannes Berg Date: Thu Jun 10 10:21:38 2010 +0200 mac80211: use RCU for RX aggregation Currently we allocate some memory for each RX aggregation session and additionally keep a flag indicating whether or not it is valid. By using RCU to protect the pointer and making sure that the memory is fully set up before it becomes visible to the RX path, we can remove the need for the bool that indicates validity, as well as for locking on the RX path since it is always synchronised against itself, and we can guarantee that all other modifications are done when the structure is not visible to the RX path. The net result is that since we remove locking requirements from the RX path, we can in the future use any kind of lock for the setup and teardown code paths. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c1475ca99edcc7216ddc45838ab2c3281c14ba22 Author: Johannes Berg Date: Thu Jun 10 10:21:37 2010 +0200 mac80211: move aggregation callback processing This moves the aggregation callback processing to the per-sdata skb queue and a work function rather than the tasklet. Unfortunately, this means that it extends the pkt_type hack to that skb queue. However, it will enable making ampdu_action API changes gradually, my current plan is to get rid of this again by forcing drivers to only return from ampdu_action() when everything is done, thus removing the callbacks completely. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 344eec67c7b8557234e149d254bca2ae9614d61e Author: Johannes Berg Date: Thu Jun 10 10:21:36 2010 +0200 mac80211: move blockack stop due to fragmentation There's a corner case where we receive a fragmented frame during a blockack session, in which case we will terminate that session. To simplify future work in this area that will culminate in allowing the driver callbacks for aggregation to sleep, move the processing of this case out of the RX path into the interface work. This will simplify future work because the new place for this code doesn't require that the function will always be atomic, which the RX path needs. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bed7ee6e44cb7633a4f9821688a6c7ae977615ed Author: Johannes Berg Date: Thu Jun 10 10:21:35 2010 +0200 mac80211: always process blockack action from workqueue To prepare for making the ampdu_action callback sleep, make mac80211 always process blockack action frames from the skb queue. This gets rid of the current special case for managed mode interfaces as well. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 77a121c3a88eb00a4b5e753d083dbb7d49fefb0a Author: Johannes Berg Date: Thu Jun 10 10:21:34 2010 +0200 mac80211: pull mgmt frame rx into rx handler Some code is duplicated between ibss, mesh and managed mode regarding the queueing of management frames. Since all modes now use a common skb queue and a common work function, we can pull the queueing code into the rx handler directly and remove the duplicated length checks etc. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 36b3a628a4e85d002ee8813ebd2a5caef6d3c1a7 Author: Johannes Berg Date: Thu Jun 10 10:21:33 2010 +0200 mac80211: common work skb freeing All the management processing functions free the skb after they are done, so this can be done in the new common code instead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1fa57d017366fb26b58af110a38b36a4f0214a62 Author: Johannes Berg Date: Thu Jun 10 10:21:32 2010 +0200 mac80211: use common work function Even with the previous patch, IBSS, managed and mesh modes all attach their own work function to the shared work struct, which means some duplicated code. Change that to only have a frame processing function and a further work function for each of them and share some common code. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 64592c8fc0e99d445fc3fdedddeb6088e20086f1 Author: Johannes Berg Date: Thu Jun 10 10:21:31 2010 +0200 mac80211: use common work struct IBSS, managed and mesh modes all have their own work struct, and in the future we want to also use it in other modes to process frames from the now common skb queue. This also makes the skb queue and work safe to use from other interface types. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 35f20c14a103ca2c7062999e934a513b83d84de6 Author: Johannes Berg Date: Thu Jun 10 10:21:30 2010 +0200 mac80211: use common skb queue IBSS, managed and mesh modes all have an skb queue, and in the future we want to also use it in other modes, so make them all use a common skb queue already. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2a419056c15478d2df3f3e9d4fa64e34eb1faa7d Author: Johannes Berg Date: Thu Jun 10 10:21:29 2010 +0200 mac80211: simplify station/aggregation code A number of places use RCU locking for accessing the station list, even though they do not need to. Use mutex locking instead to prepare for the locking changes I want to make. The mlme code is also using a WLAN_STA_DISASSOC flag that has the same meaning as WLAN_STA_BLOCK_BA, so use that. While doing so, combine places where we loop over stations twice, and optimise away some of the loops by checking if the hardware supports aggregation at all first. Also fix a more theoretical race condition: right now we could resume, set up an aggregation session, and right after tear it down again due to the code that is needed for hardware reconfiguration here. Also mark add a comment to that code marking it as a workaround. Finally, remove a pointless aggregation disabling loop when an interface is stopped, directly after that we remove all stations from it which will also disable all aggregation sessions that may still be active, and does so in a race-free way unlike the current loop that doesn't block new sessions. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9d38d85de0270e3927bffab94973a9c78d1dc800 Author: Johannes Berg Date: Wed Jun 9 17:20:33 2010 +0200 cfg80211/mac80211: allow action frame TX/RX in IBSS When in IBSS mode, currently action frame TX and RX cannot be used. Allow using it to talk to any peer, or for public action frames. Also, while at it, restructure the code in mac80211 to make it easier to add this for other interface types in the future. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit aa9746af8fa26d28d442a7415c701eb5dfeb7a2a Author: Johannes Berg Date: Wed Jun 9 01:46:32 2010 -0700 iwlwifi: print warning about disconnected antennas When we detect that not all antennas are properly connected, we simply disable the associated chains, but never notify the user at all. Print out a warning so it is obvious that happened and we know where to start looking for related issues. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 2fb291eea70353618fe10d94f05d16caf51f435f Author: Emmanuel Grumbach Date: Mon Jun 7 13:21:47 2010 -0700 iwlwifi: rename iwl4965_rx_mpdu_res_start iwl4965_rx_mpdu_res_start is not 4695 specific, so rename it to more general name iwl_rx_mpdu_res_start. Signed-off-by: Emmanuel Grumbach Signed-off-by: Reinette Chatre commit d5b25c904755676d2de00cfcc24515ef554cb2bf Author: Emmanuel Grumbach Date: Mon Jun 7 13:21:46 2010 -0700 iwlwifi: rename rxq->dma_addr Rename rxq->dma_addr to rxq->bd_dma to better emphasize that the physical address stands for the receive buffer descriptor's address. Signed-off-by: Emmanuel Grumbach Signed-off-by: Reinette Chatre commit 815e629bfe97d59d8da3aa65dd92bb8a6439699a Author: Wey-Yi Guy Date: Thu Jun 3 10:14:01 2010 -0700 iwlwifi: cancel run time calibration work when going down Cancel scheduled run time calibration work when interface is going down. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit f5cc6a224d9f41d963fa4cee35d3db2559e8015d Author: Dor Shaish Date: Tue Jun 1 00:04:08 2010 -0700 iwlwifi: Fix null pointer referencing in iwl_dbgfs_rx_queue_read. Test for null pointer prior to access. Print "Not Allocated" if null pointer. Signed-off-by: Dor Shaish Signed-off-by: Emmanuel Grumbach Signed-off-by: Reinette Chatre commit f4989d9befbeeaa2c070fc251edd75e8ffc6deef Author: Johannes Berg Date: Fri May 28 04:08:30 2010 -0700 iwlwifi: trace full RX The length contained in the status word doesn't include the status word's length itself, so we need to account for that for tracing. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 62522d36d74a843e78d17f2dffc90468c6762803 Merge: a71fba9 e79aa86 Author: David S. Miller Date: Fri Jun 11 13:32:31 2010 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 14599f1e341ee219abdd15f4eee5872d6f2d29f1 Merge: d8d1f30 832c10f Author: David S. Miller Date: Fri Jun 11 11:34:06 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 Conflicts: drivers/net/wireless/wl12xx/wl1271.h drivers/net/wireless/wl12xx/wl1271_cmd.h commit 832c10fd733893f86c63bde1c65b005d5a2fe346 Author: Grazvydas Ignotas Date: Tue Jun 8 14:33:31 2010 +0300 wl1251: fix ELP_CTRL register reads Reading the ELP_CTRL register with sdio_readb causes problems because hardware seems to be performing a write using stuff bits in the request (those bits contain write data in write request). This indicates that it actually expects RAW (read after write) type of request, so perform that when reading ELP_CTRL instead. Also cache last written value so we know what to write when doing RAW request. Because of the above it was not possible to wake the chip from ELP power saving mode, PM had to be disabled to have the driver usable in SDIO mode. After this patch PM is functional. For backporting to 2.6.34 or earlier, this patch depends on 6c1f716e8154ee9315534782b9b1eedea0559a24, which adds the required SDIO funcion. Signed-off-by: Grazvydas Ignotas Acked-by: Kalle Valo Signed-off-by: John W. Linville commit abe37c4b84502d6931e04e94c9c2c45b4da8c889 Author: Johannes Berg Date: Mon Jun 7 11:12:27 2010 +0200 wireless: fix kernel-doc Fix a whole bunch of kernel-doc warnings and errors that crop up when running it on mac80211 and cfg80211; the latter isn't normally done so lots of bit-rot happened. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 90b726097ba0dcc1f9725182513e669a30e77db5 Author: Juuso Oikarinen Date: Mon Jun 7 10:52:12 2010 +0300 mac80211: Add netif state checking to ieee80211_ifa_changed There's a window for ieee80211_ifa_changed() to get called whilst the managed mode mutex has not been initialized when opening and stopping the interface. Currently this causes a kernel BUG like the following: [ 132.460013] kernel BUG at /home/wifi/iwlwifi-2.6/net/mac80211/main.c:380! [ 132.460013] invalid opcode: 0000 [#1] SMP The mutex is initialized during open(), hence once netif_running() is true, the mutex should be valid. Fix by adding a netif_running() check to the function. Reported-by: Reinette Chatre Signed-off-by: Juuso Oikarinen Tested-by: Reinette Chatre Signed-off-by: John W. Linville commit 3cfd43f484c8d4bcb38db83f7be19fbd4ac8440c Author: Bruno Randolf Date: Mon Jun 7 13:11:40 2010 +0900 ath5k: add debugfs file for queue debugging Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 20fbed21e934355ee00850f6dead22be3147893f Author: Bruno Randolf Date: Mon Jun 7 13:11:35 2010 +0900 ath5k: no need to save/restore the default antenna Since ath5k_hw_set_antenna_mode() always writes the default antenna register and is called at the end of reset, there is no need to separately save and restore the default antenna. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 0ca74027ac709f99aae1805e593c95843dd18234 Author: Bruno Randolf Date: Mon Jun 7 13:11:30 2010 +0900 ath5k: new function for setting the antenna switch table Collect all pieces concering the antenna switch table into one function. Previously it was split up between ath5k_hw_reset() and ath5k_hw_commit_eeprom_settings(). Also we need to set the antenna switch table when ath5k_hw_set_antenna_mode() is called manually (by "iw phy0 antenna set", for example). I'm not sure if we need to set the switchtable at the same place in ath5k_hw_reset() as it was before - it is set later thru ath5k_hw_set_antenna_mode() anyways - but i leave it there to avoid problems(?). Plus print switchtable registers in the debugfs file. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 39d5b2c83ca8904b6826a0713263a4e5a9c0730a Author: Bruno Randolf Date: Mon Jun 7 13:11:25 2010 +0900 ath5k: update AR5K_PHY_RESTART_DIV_GC values to match masks #define AR5K_PHY_RESTART_DIV_GC 0x001c0000 is 3 bit wide. The previous values of 0xc and 0x8 are 4bit wide and bigger than the mask. Writing 0 and 1 to AR5K_PHY_RESTART_DIV_GC is consistent with the comments and initvals we have in the HAL. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 84efa0e7aab9f41451bdf4bff5e2414bb59c6a93 Author: Sascha Silbe Date: Sat Jun 5 13:30:12 2010 +0200 libertas: Fix ethtool reporting no WOL options supported if WOL is not already active This patch fixes the libertas driver incorrectly reporting that Wake-on-LAN is not supported if Wake-on-LAN is currently disabled. Signed-off-by: Sascha Silbe Acked-by: Dan Williams Signed-off-by: John W. Linville commit a5fdbcad0a3f461d43f7b801f8fc176cd2840704 Author: Prarit Bhargava Date: Thu May 27 14:14:54 2010 -0400 ath: Fix uninitialized variable warnings Fixes 'make -j24 CONFIG_DEBUG_SECTION_MISMATCH=y' warning: drivers/net/wireless/ath/ath9k/eeprom_4k.c: In function ‘ath9k_hw_get_4k_gain_boundaries_pdadcs.clone.1’: drivers/net/wireless/ath/ath9k/eeprom_4k.c:311: error: ‘minPwrT4’ may be used uninitialized in this function drivers/net/wireless/ath/ath9k/eeprom_9287.c: In function ‘ath9k_hw_get_AR9287_gain_boundaries_pdadcs’: drivers/net/wireless/ath/ath9k/eeprom_9287.c:302: error: ‘minPwrT4’ may be used uninitialized in this function drivers/net/wireless/ath/ath9k/eeprom_def.c: In function ‘ath9k_hw_get_def_gain_boundaries_pdadcs.clone.0’: drivers/net/wireless/ath/ath9k/eeprom_def.c:679: error: ‘minPwrT4’ may be used uninitialized in this function Signed-off-by: Prarit Bhargava Signed-off-by: John W. Linville commit 9d88477c41904127ab9ae1f3b5b4a39bf6474043 Merge: 11b7c60 35dd050 Author: John W. Linville Date: Mon Jun 7 15:13:46 2010 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-core.h commit 11b7c60988e5fbabb4e150612931cc068559af16 Author: John W. Linville Date: Mon Jun 7 15:02:17 2010 -0400 mac80211: fix lock leak w/ ARP filtering and w/o CONFIG_INET "mac80211: make ARP filtering depend on CONFIG_INET" introduced this potential locking leak. Reported-by: Juuso Oikarinen Signed-off-by: John W. Linville commit dc1dfe47445d45b3076ea940dda8f46a4b96e386 Author: John W. Linville Date: Mon Jun 7 14:16:11 2010 -0400 iwlwifi: fix-up botched revert In the revert of "iwlwifi: move _agn statistics related structure", I need to use CONFIG_IWLWIFI_DEBUGFS instead of CONFIG_IWLWIFI_DEBUG in the private structure definition. Without this patch, it is possible to get this: drivers/net/wireless/iwlwifi/iwl-rx.c: In function 'iwl_accumulative_statistics': drivers/net/wireless/iwlwifi/iwl-rx.c:304: error: 'struct iwl_priv' has no member named 'accum_statistics' drivers/net/wireless/iwlwifi/iwl-rx.c:305: error: 'struct iwl_priv' has no member named 'delta_statistics' drivers/net/wireless/iwlwifi/iwl-rx.c:306: error: 'struct iwl_priv' has no member named 'max_delta' drivers/net/wireless/iwlwifi/iwl-rx.c:321: error: 'struct iwl_priv' has no member named 'accum_statistics' drivers/net/wireless/iwlwifi/iwl-rx.c:323: error: 'struct iwl_priv' has no member named 'accum_statistics' drivers/net/wireless/iwlwifi/iwl-rx.c:325: error: 'struct iwl_priv' has no member named 'accum_statistics' drivers/net/wireless/iwlwifi/iwl-rx.c:327: error: 'struct iwl_priv' has no member named 'accum_statistics' drivers/net/wireless/iwlwifi/iwl-rx.c:329: error: 'struct iwl_priv' has no member named 'accum_statistics' drivers/net/wireless/iwlwifi/iwl-rx.c:331: error: 'struct iwl_priv' has no member named 'accum_statistics' drivers/net/wireless/iwlwifi/iwl-rx.c: In function 'iwl_reply_statistics': drivers/net/wireless/iwlwifi/iwl-rx.c:484: error: 'struct iwl_priv' has no member named 'accum_statistics' drivers/net/wireless/iwlwifi/iwl-rx.c:486: error: 'struct iwl_priv' has no member named 'delta_statistics' drivers/net/wireless/iwlwifi/iwl-rx.c:488: error: 'struct iwl_priv' has no member named 'max_delta' Reported-by: Randy Dunlap Signed-off-by: John W. Linville commit eedc765ca4b19a41cf0b921a492ac08d640060d1 Merge: e59d44d 024a07b Author: David S. Miller Date: Sun Jun 6 17:42:02 2010 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/sfc/net_driver.h drivers/net/sfc/siena.c commit f668da2f150948a961d359c65b5e9d62da1290e2 Author: Daniel Halperin Date: Tue May 25 10:22:49 2010 -0700 iwlwifi: fix wrapping when handling aggregated batches Fairly complex code in iwlagn_tx_status_reply_tx handle the status reports for aggregated packet batches sent by the NIC. This code aims to handle the case where the NIC retransmits failed packets from a previous batch; the status information for these packets can sometimes be inserted in the middle of a batch and are actually not in order by sequence number! (I verified this can happen with printk's in the function.) The code in question adaptively identifies the "first" frame of the batch, taking into account that it may not be the one corresponding to the first agg status report, and also handles the case when the set of sent packets wraps the 256-character entry buffer. It generates the agg->bitmap field of sent packets which is later compared to the BlockAck response from the receiver to see which frames of those sent in this batch were ACKed. A small logic error (wrapping by 0xff==255 instead of 0x100==256) was causing the agg->bitmap to be set incorrectly. Fix this wrapping code, and add extensive comments to clarify what is going on. Signed-off-by: Daniel Halperin Signed-off-by: Reinette Chatre commit 02cd8dee6e10d6ab7161a3c6f36a60f8894fafdd Author: Daniel Halperin Date: Mon May 24 18:41:30 2010 -0700 iwlwifi: parse block ack responses correctly Compressed BlockAck frames store the ACKs/NACKs in a 64-bit bitmap that starts at the sequence number of the first frame sent in the aggregated batch. Note that this is a selective ACKnowledgement following selective retransmission; e.g., if frames 1,4-5 in a batch are ACKed then the next transmission will include frames 2-3,6-10 (7 frames). In this latter case, the Compressed BlockAck will not have all meaningful information in the low order bits -- the semantically meaningful bits of the BA will be 0x1f3 (where the low-order frame is seq 2). The driver code originally just looked at the lower (in this case, 7) bits of the BlockAck. In this case, the lower 7 bits of 0x1f3 => only 5 packets, maximum, could ever be ACKed. In reality it should be looking at all of the bits, filtered by those corresponding to packets that were actually sent. This flaw meant that the number of correctly ACked packets could be significantly underreported and might result in asynchronous state between TX and RX sides as well as driver and uCode. Fix this and also add a shortcut that doesn't require the code to loop through all 64 bits of the bitmap but rather stops when no higher packets are ACKed. In my experiments this fix greatly reduces throughput swing, making throughput stable and high. It is also likely related to some of the stalls observed in aggregation mode and maybe some of the buffer underruns observed, e.g., http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=1968 http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2098 http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2018 Signed-off-by: Daniel Halperin Signed-off-by: Reinette Chatre commit 18ab9f1ea615a1beae2ef3364e732a990e02d9ea Author: Wey-Yi Guy Date: Sat May 22 12:21:12 2010 -0700 iwlwifi: remove unused parameter framecnt_to_us is not used, remove it Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit f84b29ec0a1ab767679d3f2428877b65f94bc3ff Author: Johannes Berg Date: Tue May 18 02:29:13 2010 -0700 iwlwifi: queue user-initiated scan when doing internal scan The internal scanning created a problem where when userspace tries to scan, the scan gets rejected. Instead of doing that, queue up the user-initiated scan when doing an internal scan. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 0e1654fa2b91324ab91019c7dfabf3518aca54dd Author: Johannes Berg Date: Tue May 18 02:48:36 2010 -0700 iwlwifi: generic scan TX antenna forcing In "iwlwifi: make scan antenna forcing more generic" I introduced generic scan RX antenna forcing, which here I rename to make it more evident. Also add scan TX antenna forcing, since I will need that as well. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 3839f7ce6dc749e3170e1bfa656cfac748528117 Author: Wey-Yi Guy Date: Tue May 18 09:18:06 2010 -0700 iwlwifi: do not use huge command buffer for channel switch Channel switch host command do not need to allocate huge command buffer since its size is already included in the iwl_device_cmd structure. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit ff0d91c3eea6e25b47258349b455671f98f1b0cd Author: Johannes Berg Date: Mon May 17 02:37:34 2010 -0700 iwlwifi: reduce memory allocation Currently, the driver allocates up to 19 skb pointers for each TFD, of which we have 256 per queue. This means that for each TX queue, we allocate 19k/38k (an order 4 or 5 allocation on 32/64 bit respectively) just for each queue's "txb" array, which contains only the SKB pointers. However, due to the way we use these pointers only the first one can ever be assigned. When the driver was initially written, the idea was that it could be passed multiple SKBs for each TFD and attach all those to implement gather DMA. However, due to constraints in the userspace API and lack of TCP/IP level checksumming in the device, this is in fact not possible. And even if it were, the SKBs would be chained, and we wouldn't need to keep pointers to each anyway. Change this to only keep track of one SKB per TFD, and thereby reduce memory consumption to just one pointer per TFD, which is an order 0 allocation per transmit queue. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 519c7c416870c6e71e9553786a529d89f55ef395 Author: Johannes Berg Date: Mon May 17 02:37:33 2010 -0700 iwlwifi: kzalloc txb array When we allocate queues, we currently don't use kzalloc() right now. When we then free those queues again without having used all entries, we may end up trying to free random pointers found in the txb array since it was never initialised. This fixes it simply by using kzalloc(). Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 6f80240e0a738a6c5cef005291a90522959f3ba2 Author: Johannes Berg Date: Mon May 17 02:37:32 2010 -0700 iwlagn: fix bug in txq freeing The iwl_hw_txq_free_tfd() function can be called from contexts with IRQs disabled, so it must not call dev_kfree_skb() but rather dev_kfree_skb_any() instead. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 4f5fa2376f3ca46fa497632844872a6f4e224c09 Author: Johannes Berg Date: Mon May 17 02:37:31 2010 -0700 iwl3945: fix bugs in txq freeing When we free a txq that had no txb array allocated, we still try to access it. Fix that, and also free all SKBs that may be in the txb array (although it can just be a single one). Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit fc66be2a808724d61134e420ef9d7082653c72eb Author: Wey-Yi Guy Date: Fri May 14 16:21:55 2010 -0700 iwlwifi: remove inaccurate comment REPLY_REMOVE_STA command is used Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 3779db10f6f7de0455dd898a877a0336068f82ed Author: Johannes Berg Date: Fri May 14 06:25:58 2010 -0700 iwlwifi: remove priv->mac_addr This variable is now no longer used, so it can be removed completely. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit f8525e553210a1545615bde5b203b1913470079f Author: Wey-Yi Guy Date: Wed May 5 11:31:38 2010 -0700 iwlwifi: beacon internal time unit use TIME_UNIT define for beacon internal calculation Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 79d07325502e73508f917475bc1617b60979dd94 Author: Wey-Yi Guy Date: Thu May 6 08:54:11 2010 -0700 iwlwifi: support channel switch offload in driver Support channel switch in driver as a separated mac80211 callback function instead of part of mac_config callback; by moving to this approach, uCode can have more control of channel switch timing. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit a0ee74cf080389aee4fbf198ffa7e85b3480b661 Author: Wey-Yi Guy Date: Thu May 6 08:54:10 2010 -0700 iwlwifi: beacon format related helper function Move the ucode beacon formation related helper function from 3945 to iwlcore, so both _3945 and _agn devices can utilize those functions. When driver pass the beacon related timing information to uCode in both spectrum measurement and channel switch commands, the beacon timing parameter require in uCode beacon format; those helper functions will do the conversation from uSec to the correct uCode format Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit ae0bce029e3b96d3ba2cc868bc6a65a125666ab8 Author: Wey-Yi Guy Date: Fri May 7 15:31:05 2010 -0700 iwlwifi: remove unused parameter in iwl_priv restrict_refcnt is no longer used, remove it from iwl_priv structure Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit f43084498b42c11054a8218b445ff6491c35bcdc Author: Shanyu Zhao Date: Tue May 11 15:25:03 2010 -0700 iwlwifi: do not clear data after chain noise calib Chain noise calibration data are cleared after the calibration is done in iwlagn_gain_computation() and iwl4965_gain_computation(). This cause the debugfs entries for those data useless. To provide valid debugging info, clear those data right before starting the calibration instead. Signed-off-by: Shanyu Zhao Signed-off-by: Reinette Chatre commit 86cc652dfe57f365533cf2e64e08ff37a510d42e Author: Johannes Berg Date: Wed May 12 03:33:13 2010 -0700 iwlwifi: remove debug frame dumping This can now be much better achieved using tracing and post-processing of the trace, rather than doing the processing in place in the driver, so remove a lot of code. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 3a0b9aad0a8166e9fb23d420fdc08ee2820d4c39 Author: Johannes Berg Date: Wed May 12 03:33:12 2010 -0700 iwlwifi: use virtual interface address for scan For probe request frames sent during scan, we should use the virtual interface's mac address that the scan was initiated on to avoid issues when the wrong address is used. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 7684c4083114e0f0cc02f3a7cbef27b1e29381cd Author: Johannes Berg Date: Wed May 12 03:33:11 2010 -0700 iwlwifi: set MAC address in RXON from interface When we do not have an interface, priv->mac_addr is all zeroes, so the memcpy() is not useful as the RXON buffer has been cleared previously. Therefore, use the interface's address that we are setting up the RXON for, if available. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 30eabc1736c79d9b617887042ebebc0141a14170 Author: Johannes Berg Date: Wed May 12 03:33:10 2010 -0700 iwlwifi: remove mac_addr assignment priv->mac_addr is the address of the operating interface, not the permanent MAC address. They are usually the same, but the user can override the operating address, so we shouldn't set the variable to the permanent one, it is assigned when an interface is added. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 6dea887f2b39e9a858f05e84483da0f4d5b35024 Author: Johannes Berg Date: Wed May 12 03:33:09 2010 -0700 iwlwifi: remove unused wlap_bssid_addr assignment There's no microcode that actually uses this variable, and it is reserved for functionality that the driver doesn't support anyway, so we shouldn't be setting it. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 041fa0cdf1c1edc2b9efa08c28cc8193e68b1f8f Author: Johannes Berg Date: Wed May 12 03:33:08 2010 -0700 iwlwifi: remove useless node_addr assignments iwl_connection_init_rx_config() will already have set up the entire RXON command, so these assignments are duplicate. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 718e8898af2c523b1785f025350c34c59750734d Author: FUJITA Tomonori Date: Thu Jun 3 19:37:36 2010 -0700 b43: replace the ssb_dma API with the generic DMA API Signed-off-by: FUJITA Tomonori Cc: Stefano Brivio Cc: John W. Linville Acked-by: Michael Buesch Acked-by: David S. Miller Acked-by: Larry Finger Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 4e8031328be3e19de937354b76a9e69878c3101e Author: FUJITA Tomonori Date: Thu Jun 3 19:37:33 2010 -0700 b43legacy: replace the ssb_dma API with the generic DMA API Signed-off-by: FUJITA Tomonori Cc: Larry Finger Cc: Stefano Brivio Cc: John W. Linville Acked-by: Michael Buesch Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 2e724443f328cca90aa3b62d65852a5d7f5223f7 Author: FUJITA Tomonori Date: Thu Jun 3 14:19:20 2010 +0900 iwlwifi: use the DMA state API instead of the pci equivalents This can be cleanly applied to wireless-2.6 and iwlwifi git trees. = From: FUJITA Tomonori Subject: [PATCH] iwlwifi: use the DMA state API instead of the pci equivalents This replace the PCI DMA state API (include/linux/pci-dma.h) with the DMA equivalents since the PCI DMA state API will be obsolete. No functional change. For further information about the background: http://marc.info/?l=linux-netdev&m=127037540020276&w=2 Signed-off-by: FUJITA Tomonori Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 9e55ba7bc2ab2395831d1daec39d4e9edff83885 Author: Vasanthakumar Thiagarajan Date: Wed Jun 2 17:22:47 2010 -0700 ath9k: Fix bug in rate table The following commit added an entry in 11na and 11ng rate table but missed to update its rate count field. This inconsistency between the rate count and the actual number of rates in the table will leave out the final rate entry (mcs15 with half gi in ht40) while forming the valid rate indices. Not having mcs15+shortGI in ht40 will have a performance impact (on max throughput) of about 10% both in nght40 and naht40 mode. Author: Vasanthakumar Thiagarajan Date: Thu May 13 18:42:38 2010 -0700 ath9k: Enable Short GI in 20 Mhz for ar9287 and later chips This patch enables short GI rx at all rates and tx at mcs15 for 20 Mhz channel width also. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 6267dc709c6ef1c0926e18ff2859238992dea658 Author: Sujith Date: Wed Jun 2 15:53:54 2010 +0530 ath9k_htc: Configure credit size for AR7010 For non-AR9271 chips, the credit size is different and has to be configured appropriately. Signed-off-by: Sujith Signed-off-by: John W. Linville commit ea46e644e80bd4ac778964afd998df4f666486d4 Author: Sujith Date: Wed Jun 2 15:53:50 2010 +0530 ath9k_htc: Setup 5GHz channels AR7010 is dual-band. Setup the channels and rateset for 5GHz band. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 29d9075e1c577cb9affd7859c87e41f12ae270f2 Author: Sujith Date: Wed Jun 2 15:53:43 2010 +0530 ath9k_htc: Configure dual stream rates The rate information on the target has to be updated for 2-stream devices, along with the correct chainmask. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 6debecad452d3bbe5affc0a21bc0bb452f867cd8 Author: Sujith Date: Wed Jun 2 15:53:40 2010 +0530 ath9k_htc: Setup HT capabilites for 2-stream devices The supported MCS rate set has to be setup properly for 2-stream devices. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 61389f3ed49968746327aef0454b2f27e88e0f8d Author: Sujith Date: Wed Jun 2 15:53:37 2010 +0530 ath9k_common: Move count_streams to common module This can be used by ath9k_htc. Signed-off-by: Sujith Signed-off-by: John W. Linville commit b176286276f85e10e8ab3342730c5e39e1ce460b Author: Sujith Date: Wed Jun 2 15:53:34 2010 +0530 ath9k_htc: Add support for AR7010 Add the USB device IDs for AR7010 and handle firmware loading properly. Signed-off-by: Sujith Signed-off-by: John W. Linville commit cbba8cd101c1230284ee46629c841481f7c34b68 Author: Sujith Date: Wed Jun 2 15:53:31 2010 +0530 ath9k_hw: Configure byte swap for non AR9271 chips This patch fixes programming the byte swap registers for chipsets other than AR9271. This is needed for AR7010. Signed-off-by: Sujith Signed-off-by: John W. Linville commit ce43cee5319a6bdcd75aef7a61bbb8b905628b75 Author: Sujith Date: Wed Jun 2 15:53:30 2010 +0530 ath9k: Determine Firmware on probe Do not assign the FW name to driver_info but determine it dynamically on device probe. This facilitates adding new firmware. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 5f1e83dbc3bddd97ef4a431fdca10dbdf4809f69 Author: Luke-Jr Date: Tue Jun 1 21:16:53 2010 -0500 p54spi: replace internal "cx3110x" name with "p54spi" While the comment removed in this patch claims board_n800.c uses "cx3110x", it was never merged to mainline like this. Mainlined board files for Nokia N8x0 devices are expected "p54spi", and thus don't work because the modalias is "cx3110x". To my knowledge, these devices are the only real-world use of p54spi, and will not work without this change. Tested against my Nokia N810. Signed-off-by: Luke Dashjr Signed-off-by: John W. Linville commit 38a6cc7538d3c44b76f9dcea607a171adcc0208e Author: Sujith Date: Wed May 19 11:32:30 2010 +0530 mac80211: Remove deprecated sta_notify commands STA_NOTIFY_ADD and STA_NOTIFY_REMOVE have no users anymore, and station addition/removal are indicated to drivers using sta_add() and sta_remove(), which can sleep. Signed-off-by: Sujith Acked-by: Johannes Berg Signed-off-by: John W. Linville commit abd984e6117e72e17073fd0a81a477e43b4580f5 Author: Sujith Date: Tue May 18 15:26:04 2010 +0530 ath9k_htc: Use proper station add/remove callbacks sta_add/sta_remove are the callbacks that can sleep. Use them instead of sta_notify. Signed-off-by: Sujith Signed-off-by: John W. Linville commit ce9426d1908001fb2f7b0152fbe4184bbc0c7b68 Author: Ming Lei Date: Sat May 15 18:25:40 2010 +0800 ath9k: fix dma sync in rx path If buffer is to be accessed by cpu after dma is over, but between dma mapping and dma unmapping, we should use dma_sync_single_for_cpu to sync the buffer between cpu with device. And dma_sync_single_for_device is used to let device gain the buffer again. v2: Felix pointed out dma_sync_single_for_device is needed to return buffer to device if an unsuccessful status bit check is found. Signed-off-by: Ming Lei Acked-by: Felix Fietkau Signed-off-by: John W. Linville commit 26b36cfefaf2be98b225e3c1a399edb0daf52ddd Author: John W. Linville Date: Fri Jun 4 14:25:44 2010 -0400 mac80211: make ARP filtering depend on CONFIG_INET Signed-off-by: John W. Linville commit 2826bcd844e05dcbef9b9284bddb7fe88e8d314f Author: Felix Fietkau Date: Wed Jun 2 02:57:34 2010 +0200 mac80211: reduce debugfs code size This patch reduces the binary size by around 25k (measured on MIPS, with CONFIG_MAC80211_DEBUG_COUNTERS enabled). Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 84642d6bdde9164b7905fba03c0691a806788e0c Author: Felix Fietkau Date: Tue Jun 1 21:33:13 2010 +0200 ath9k: fix queue stop/start based on the number of pending frames Because there is a limited number of tx buffers available, once the queue has been filled to a certain point, ath9k needs to stop accepting new frames from mac80211. In order to prevent a full WMM queue from stopping another queue with fewer frames, this patch limits the number of queued frames to a quarter of the total available tx buffers, minus some reserved frames to be used for other purposes (e.g. beacons). Because tx buffers are reserved for frames when they're staged in software queues as well, the actual queue depth cannot be used for this, so this patch stores a reference to the tx queue in the ath_buf struct and keeps track of the total number of pending frames. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 764580f577a46adce6ad6717a9b34aa8e3a09159 Author: Sujith Date: Tue Jun 1 15:14:19 2010 +0530 ath9k_htc: Fix fair beacon distribution This patch fixes beacon distribution in IBSS mode by configuring the hardware beacon queue properly. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 21d5130b8cb8e19a3e69e704aa29d918624fce49 Author: Sujith Date: Tue Jun 1 15:14:18 2010 +0530 ath9k_htc: Handle host RX disable The MIB counters used by ANI have to be disabled on the host because the FW doesn't do it on the target side. Also, flush the receive buffers before initializing RX on the target. Signed-off-by: Sujith Signed-off-by: John W. Linville commit e9201f09ad4c6ef5f5b28d20b114a47bf57e72a3 Author: Sujith Date: Tue Jun 1 15:14:17 2010 +0530 ath9k_htc: Handle monitor interface removal The monitor interface instance on the target has to be removed before setting it to FULLSLEEP. Handle this properly. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 23367769af90b63231cce6d70a39f1700ca5c03d Author: Sujith Date: Tue Jun 1 15:14:16 2010 +0530 ath9k_htc: Fix locking for ps_idle ps_idle is protected by the htc_pm_lock mutex. Use it to protect the variable. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 3901737e25a85052e9650547f95aede62abc999b Author: Sujith Date: Tue Jun 1 15:14:15 2010 +0530 ath9k_htc: Remove useless cancel_work_sync There is no need to cancel the PS work when disassociation happens. The work handlers are cancelled in the stop() callback. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 4a34a8c19cc84d9ff99d542f7b1524cbd1bb705a Author: Sujith Date: Tue Jun 1 15:14:14 2010 +0530 ath9k_htc: Fix bug in handling CONF_IDLE Disable the radio only when mac80211 indicates it, through the IEEE80211_CONF_CHANGE_IDLE flag. Not handling this properly will result in multiple calls to radio_disable() even though the radio is already idle. Signed-off-by: Sujith Signed-off-by: John W. Linville commit cb551df2028017c71b07db9537efb90abcf9cc7d Author: Sujith Date: Tue Jun 1 15:14:12 2010 +0530 ath9k_htc: Add PS wrappers The HW has to be awake when registers are accessed. Ensure this is so by using the PS wrappers at appropriate places. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 881ac6a53587acb12b009a3053830295688f2c70 Author: Sujith Date: Tue Jun 1 15:14:11 2010 +0530 ath9k_htc: Revamp CONF_IDLE handling This patch revamps IDLE power save handling in the driver. Two separate functions (radio enable/disable) are introduced, because the semantics of radio handling is just not the same as the start()/stop() callbacks. For example, the HW must not be disabled, instead, the PHY has to be disabled in radio_disable(). Also, the HW has to be reset properly in radio enable/disable and certain registers have to be programmed only once, in the start() callback. The radio_enable() routine doesn't need the PS wrappers since we set the HW power mode to AWAKE anyway before calling it. Signed-off-by: Sujith Signed-off-by: John W. Linville commit e9141f71f4734584bc9704e1266090abe98e1859 Author: Sujith Date: Tue Jun 1 15:14:10 2010 +0530 ath9k_hw: Fix async fifo for AR9287 Async fifo is now enabled only for versions 1.3 and above. Enable it in the appropriate place, in the reset routine, instead of process_ini(). Signed-off-by: Sujith Signed-off-by: John W. Linville commit 15ae733b25b7d74e9ef14eab8414447204bdcc1b Author: Sujith Date: Tue Jun 1 15:14:09 2010 +0530 ath9k_hw: Update the PCI WAR register This patch updates the PCI power save handling code, fixing ASPM hangs and handling device state D3 properly. The WAR register is programmed with the correct values now. Signed-off-by: Sujith Signed-off-by: John W. Linville commit a55f858852e4345d0a31af593c46738ca8614bff Author: Sujith Date: Tue Jun 1 15:14:07 2010 +0530 ath9k_hw: Cleanup TX power calculation for AR9287 * Add a few comments, and move the updation of max_power_level to a helper routine. This is also done by non-4K based chipsets, this will be fixed in a separate patch. * Remove two WARs which are required for old AR5416 chipsets, and are not needed for AR9287. * Fix indentation and make things readable. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 79d7f4bcf8519abbea46d909ff01a1358b431e1d Author: Sujith Date: Tue Jun 1 15:14:06 2010 +0530 ath9k_hw: Optimize ath9k_hw_ar9287_set_board_values Rather than doing a series of RMWs, calculate the value to be written to the register in question and do a single REGWRITE. This improves bringup time. This depends on the analog_shiftreg configuration option, which is currently buggy. For AP mode, a delay of 100us has to be the default. For station mode, this knob has to be enabled on a per-case basis, though it is a little unclear on when to enable a delay. This can be fixed later though. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 16c94ac6cf9727b686e16b8d5dedfd282ab3a9ee Author: Sujith Date: Tue Jun 1 15:14:04 2010 +0530 ath9k_hw: Cleanup eeprom_9287.c * Fix whitespace damage. * Remove unused debug messages. * Introduce a macro NUM_EEP_WORDS. * Convert AR9287 to lowercase in function names. Signed-off-by: Sujith Signed-off-by: John W. Linville commit ad0e2b5a00dbec303e4682b403bb6703d11dcdb2 Author: Johannes Berg Date: Tue Jun 1 10:19:19 2010 +0200 mac80211: simplify key locking Since I recently made station management able to sleep, I can now rework key management as well; since it will no longer need a spinlock and can also use a mutex instead, a bunch of code to allow drivers' set_key to sleep while key management is protected by a spinlock can now be removed. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit efe4c457a1d4e56840c42bf2e409dc04e8ad4304 Author: Joe Perches Date: Mon May 31 20:23:15 2010 -0700 drivers/net/wireless/ipw2x00/ipw2100.c: Remove unnecessary kmalloc casts Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit fcea60070fe8fa48df579f155ec7bc20a868f7dc Author: Johannes Berg Date: Mon May 31 11:40:23 2010 +0200 mac80211: move plink state For some odd reason, the plink_state enum is declared in the middle between aggregation related structures. Move it down to make the file easier to read. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 08daecaead42b85b69b33d7d8429a93dfbf75b58 Author: Johannes Berg Date: Sun May 30 14:53:43 2010 +0200 mac80211: drop control frames after processing After ieee80211_rx_h_ctrl() processing we only want to process management (including action) frames, so there's no point in letting control frames continue. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e0961f112cd88176acc6d1af6ca6352f85cdf993 Author: Johannes Berg Date: Fri May 28 14:48:52 2010 +0200 mac80211: remove useless work starting Ever since we use only cfg80211 for configuration, there is no configuration that could be pending at this point, cfg80211 will have the configuration that is pending and apply it afterwards. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 761ab470364b550c9b1a5e1e31be51d415aaf42b Author: Johannes Berg Date: Fri May 28 14:24:19 2010 +0200 mac80211: move WEP weak IV check I suspect the compiler will do this optimisation anyway, but it seems cleaner to move this into the WEP switch case. Also make rx_h_decrypt use a local variable for the frame_control so that we don't need to reload the hdr variable for this after linearizing. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6a8579d0e62c0eac428184ce45e86bc46677724a Author: Johannes Berg Date: Thu May 27 14:41:07 2010 +0200 mac80211: clean up ieee80211_stop_tx_ba_session There's no sense in letting anything but internal mac80211 functions set the initiator to anything but WLAN_BACK_INITIATOR, since WLAN_BACK_RECIPIENT is only valid when we have received a frame from the peer, which we react to directly in mac80211. The debugfs code I recently added got this wrong as well. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2b2c009ecf71f4c66ff8420b63dddbc9737e04e3 Author: Juuso Oikarinen Date: Thu May 27 15:32:13 2010 +0300 mac80211: Add support for hardware ARP query filtering Some hardware allow extended filtering of ARP frames not intended for the host. To perform such filtering, the hardware needs to know the current IP address(es) of the host, bound to its interface. Add support for ARP filtering to mac80211 by adding a new op to the driver interface, allowing to configure the current IP addresses. This op is called upon association with the currently configured address(es), and when associated whenever the IP address(es) change. This patch adds configuration of IPv4 addresses only, as IPv6 addresses don't need ARP filtering. Signed-off-by: Juuso Oikarinen Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 095dfdb0c479661f437b24b85e31f0d0b841eab6 Author: Johannes Berg Date: Wed May 26 17:19:25 2010 +0200 mac80211: remove tx status ampdu_ack_map There's a single use of this struct member, but as it is write-only it clearly not necessary. Thus we can free up some space here, even if we don't need it right now it seems pointless to carry around the variable. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3a4d4aa2d38e5305b5e93dffdc9dd2f975129328 Author: Johannes Berg Date: Wed May 26 16:41:40 2010 +0200 mac80211: remove bogus mod_timer() call The IBSS code has a bogus mod_timer(..., 0) call, we shouldn't ever pass a constant value to the function since any constant value could be in the future or the past. However, invoking the timer here is not necessary at all, since we just finished scanning and just need to have the IBSS code run again from the workqueue later, so factor out the work starting and use that instead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1f03baad4d0516f4bd3a4728d71ff00b01be930d Author: Felix Fietkau Date: Tue May 25 19:42:46 2010 +0200 ath9k: use the key handling code from ath9k_common instead of duplicating it Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit eed8e22f0133e8278b1f8079fcb452f1f9692f9d Author: Felix Fietkau Date: Tue May 25 19:42:45 2010 +0200 ath9k_common: use allocated key cache entries for multi BSS crypto support This patch replaces the buggy 'ath9k: Group Key fix for VAPs' change. For AP mode group keys, use the BSSID as lookup mac address, with the multicast keysearch bit set. For IBSS mode, use the peer's MAC address with multicast keysearch. For STA mode, keep using the group key slots. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 1d0bb42d5eee20bd70f237d0a32cfe3b079849e2 Author: Felix Fietkau Date: Tue May 25 19:42:44 2010 +0200 ath9k_hw: add multicast key search support If a MAC address for a key table entry is flagged with the multicast bit (0x01), indicate to the hardware that multicast lookup instead of unicast lookup should be used. The multicast bit itself never makes it to the actual keytable entry register, as it is shifted out. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 2daf6c157500b832687f675e323879e3a4c3fe27 Author: John W. Linville Date: Thu Jun 3 13:55:37 2010 -0400 Revert "iwlwifi: move _agn statistics related structure" This reverts commit a2064b7a4a22d118087898e4308670da7ac07911. when CONFIG_IWLAGN=n: drivers/net/wireless/iwlwifi/iwl-rx.c:254: error: 'struct iwl_priv' has no member named '_agn' drivers/net/wireless/iwlwifi/iwl-rx.c:303: error: 'struct iwl_priv' has no member named '_agn' drivers/net/wireless/iwlwifi/iwl-rx.c:304: error: 'struct iwl_priv' has no member named '_agn' drivers/net/wireless/iwlwifi/iwl-rx.c:305: error: 'struct iwl_priv' has no member named '_agn' drivers/net/wireless/iwlwifi/iwl-rx.c:306: error: 'struct iwl_priv' has no member named '_agn' and many more. Conflicts: drivers/net/wireless/iwlwifi/iwl-agn-debugfs.c drivers/net/wireless/iwlwifi/iwl-debugfs.c drivers/net/wireless/iwlwifi/iwl-dev.h drivers/net/wireless/iwlwifi/iwl-rx.c Reported-by: Randy Dunlap Signed-off-by: John W. Linville commit bc10502dba37d3b210efd9f3867212298f13b78e Author: Eric Dumazet Date: Thu Jun 3 03:21:52 2010 -0700 net: use __packed annotation cleanup patch. Use new __packed annotation in net/ and include/ (except netfilter) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ba2d3587912f82d1ab4367975b1df460db60fb1e Author: Eric Dumazet Date: Wed Jun 2 18:10:09 2010 +0000 drivers/net: use __packed annotation cleanup patch. Use new __packed annotation in drivers/net/ Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 6e387aa420bb8cd2bde522352c7930a1bfc24b0c Author: Helmut Schaa Date: Thu Jun 3 10:52:17 2010 +0200 rt2x00: Remove suspicious register write Remove suspicious register write as the reg variable is never filled with an TX_SW_CFG2 associated value before. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn commit df7f4ebe75d04faf6d1eb3b910659199002c7476 Author: Helmut Schaa Date: Thu Jun 3 10:52:15 2010 +0200 rt2x00: fix use of mcs rates In case of mcs rates txrate->idx contains the mcs index to be used for transmission. Previously the mcs values dedicated for legacy rates where used for mcs transmissions which resulted in the use of mcs 0 in a number of cases (e.g. for all mcs rates >= 15 as rt2x00 does not register legacy rates with indexes >= 15). Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn commit c295a81d0553ab91b196f392ff2c7378ab9d94c4 Author: Helmut Schaa Date: Thu Jun 3 10:52:13 2010 +0200 rt2x00: Update TX_SW_CFG initvals for 305x SoC Update TX_SW_CFG initvals for 305x SoC to match with the appropriate legacy driver. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn commit bd96bd6b1280f6f4dd988272e10ad5a2c3abef43 Author: Ivo van Doorn Date: Thu Jun 3 10:52:11 2010 +0200 rt2x00: Use IEEE80211_TX_CTL_STBC flag Use the IEEE80211_TX_CTL_STBC flag to determine the correct value to be used for the STBC field in the TX descriptor Signed-off-by: Ivo van Doorn commit 22cabaa6b84dc617dda096641c359eebfb32b6cc Author: Helmut Schaa Date: Thu Jun 3 10:52:10 2010 +0200 rt2x00: rt2800: disable TX STBC for 1 stream devices Disable TX STBC for 1 stream devices as a minimum of 2 streams is needed for TX STBC. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn commit 06443e46c65915d74b03fe1de10c00748e4706ee Author: Gertjan van Wingerde Date: Thu Jun 3 10:52:08 2010 +0200 rt2x00: Fix HT40 operation in rt2800. Closer inspection of the legacy Ralink driver reveals that in case of HT40+ or HT40- we must adjust the frequency settings that we program to the device. Implement the same adjustment in the rt2x00 code. With this HT40 seems to work for all devices supported by rt2800pci and rt2800usb. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn commit 532bc2d5244bd32d321da457d8e3919a1ed00c2e Author: Gertjan van Wingerde Date: Thu Jun 3 10:52:06 2010 +0200 rt2x00: Sync rt2800 MCU boot signal with Ralink driver. Latest versions of the Ralink rt2800 family drivers use 0 as the token value, not 0xff. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn commit e3a896b9924d6dcd88ad16186d7ec77f32d12ef8 Author: Gertjan van Wingerde Date: Thu Jun 3 10:52:04 2010 +0200 rt2x00: Move PCI/USB specific register initializations to rt2800{pci,usb}. This prevents us having common code depend on PCI or USB specific code. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn commit 8440c292798a6a7dc70356df80de84e0082bd99d Author: Gertjan van Wingerde Date: Thu Jun 3 10:52:02 2010 +0200 rt2x00: Simplify check for external LNA in rt2800_init_rfcsr. Instead of parsing the EEPROM information, use the flag that was set during device initialization. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn commit 6e1fdd11b1b3febca3554dbca5f6a80ba0a7c285 Author: Gertjan van Wingerde Date: Thu Jun 3 10:52:00 2010 +0200 rt2x00: Introduce separate interface type for PCI-express. Needed later for PCI-express specific code in rt2800pci. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn commit 785c3c06fb8f4bc3a8bb6ff39e8f6a70f889bde9 Author: Gertjan van Wingerde Date: Thu Jun 3 10:51:59 2010 +0200 rt2x00: Move all register definitions for rt2800 to rt2800.h. There is no point on having them separated across 3 files. At the same time rename USB_CYC_CFG to its proper name US_CYC_CNT (as per the datasheet). Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn commit 5ed8f4582ae70cea53a86196411bd675e28e6a76 Author: Gertjan van Wingerde Date: Thu Jun 3 10:51:57 2010 +0200 rt2x00: Remove RT2870 chipset identification. There is no evidence, either in adapters or in the Ralink code, that such a device actually exists. All so-call RT2870 adapter identify themselves as RT2860. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn commit f0194b2d5d01b99555fd8a6e42281809086f1ab1 Author: Gertjan van Wingerde Date: Thu Jun 3 10:51:53 2010 +0200 rt2x00: Centralize rt2800 beacon writing. The beacon writing functions of rt2800pci and rt2800usb are now identical. Move them to rt2800lib to only have one central function. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn commit 96b61bafe22b2f2abcc833d651739edb977f1b1e Author: Gertjan van Wingerde Date: Thu Jun 3 10:51:51 2010 +0200 rt2x00: Clean up USB vendor request buffer functions. There is no need to force the separation between a buffer USB vendor request that does fit the CSR cache and one that doesn't onto the callers. This is something that the rt2x00usb_vendor_request_buff function can figure out by itself. Combine the rt2x00usb_vendor_request_buff and rt2x00usb_vendor_request_large_buff functions into a single one, as both of them were equivalent for small buffers anyway. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn commit a903ae004a766a675ff063b88b168bd411e7760c Author: Gertjan van Wingerde Date: Thu Jun 3 10:51:50 2010 +0200 rt2x00: Fix rt2800usb TX descriptor writing. The recent changes to skb handling introduced a bug in the rt2800usb TX descriptor writing whereby the length of the USB packet wasn't calculated correctly. Found via code inspection, as the devices themselves didn't seem to mind. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn commit 0b8004aa12d13ec750d102ba4082a95f0107c649 Author: Gertjan van Wingerde Date: Thu Jun 3 10:51:45 2010 +0200 rt2x00: Properly reserve room for descriptors in skbs. Instead of fiddling with the skb->data pointer and thereby risking out of bounds accesses, properly reserve the space needed in an skb for descriptors. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: Ivo van Doorn commit baaffe67b5b33e4215409669226ef623cb65e15c Author: Gertjan van Wingerde Date: Thu Jun 3 10:51:43 2010 +0200 rt2x00: Reverse calling order of bus write_tx_desc and driver write_tx_desc. For rt2800 reverse the calling order of rt2x00pci_write_data and rt2800pci_write_data. Currently rt2800pci_write_data calls rt2x00pci_write_data as there can be only 1 driver callback function specified by the driver. Reverse this calling order by introducing a new driver callback function, called write_tx_datadesc, which is called from the bus-specific write_tx_data functions. Preparation for futher cleanups in the skb data handling of rt2x00. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn commit 5c3b685c79f38ac6b909b3650f3dad3993614cfb Author: Gertjan van Wingerde Date: Thu Jun 3 10:51:41 2010 +0200 rt2x00: Push beacon TX descriptor writing to drivers. Not all the devices require a TX descriptor to be written (i.e. rt2800 device don't require them). Push down the creation of the TX descriptor to the device drivers so that they can decide for themselves whether a TX descriptor is to be created. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn commit ed3305b4bb1fadff22e2f254bccfb3301e0b6b4f Author: John W. Linville Date: Wed Jun 2 16:53:58 2010 -0400 ath9k_htc: fix build error when ATH9K_HTC_DEBUGFS not enabled Signed-off-by: John W. Linville commit 4fb26fa9ae043810eb99c22364d23ffc3b271b8d Author: Juuso Oikarinen Date: Mon May 24 11:18:20 2010 +0300 wl1271: Fix scan parameter handling for 5GHz The 5GHz bands were scanned without the proper IE's in place, preventing proper 5GHz scanning. This patches fixes the problem by storing a pointer to the scan request (with the IE's) for all iterations of scan. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 5da54f94992b35fd58ad5b569abe8ca04048f8f1 Author: Juuso Oikarinen Date: Mon May 24 11:18:19 2010 +0300 wl1271: Use proper rates for PSM entry/exit null-funcs for 5GHz A fixed 1 mbps rate was used for the PSM entry/exit null-func frames. Fix this by using the basic rates instead. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit f820bc19af2afd34182e66ce9877d9fb87acef6a Author: Luciano Coelho Date: Mon May 24 11:18:18 2010 +0300 wl1271: the core wl1271 module shouldn't depend on SPI_MASTER The core wl1271 module can also be used with SDIO, so it should not depend on SPI_MASTER. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 781608c41386b560b501404233fc43d8ef100c71 Author: Juuso Oikarinen Date: Mon May 24 11:18:17 2010 +0300 wl1271: Flush TX buffers to air before going to idle The mac80211 changes to idle almost immediately after transmitting some frames, such as deauth etc. When going to idle, the wl1271 is disconnected, which causes TX frames already on buffers, but not yet transmitted, to be deleted. To make sure deauth frames reach the air, allow the TX buffers to flush before proceeding to idle. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 0d58cbff2495fda8b2389719d30da694d3077a87 Author: Juuso Oikarinen Date: Mon May 24 11:18:16 2010 +0300 wl1271: Idle handling into own function As there is more and more stuff triggered by going in and out of idle, create a separate function for handling that. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit db81956cc4a6780e9aeb1e85993096e67dcb0cd3 Author: Juuso Oikarinen Date: Mon May 24 11:18:15 2010 +0300 wl1271: Prevent dropping of TX frames in joins The wl1271 uses a session counter in CMD_JOIN and TX frame descriptors. This counter is used to determine which frames to drop when the CMD_JOIN is executed. The driver executes CMD_JOIN multiple times upon association and sometimes disassociation, and we don't want any frames to get lost. Fix this by incrementing the session counter only when leaving idle (not every CMD_JOIN as before.) Also, remove the TX flush flag from the CMD_JOIN options. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 43163f0f8a11822607c36249c6f55f0613e0d73d Author: Dan Carpenter Date: Sat May 22 22:33:11 2010 +0200 ath9k: cleanup: remove unneeded null check We dereference "wmi" on the line before and also when we initialize "ah". This check has always been after a dereference since the first commit a couple months ago. Looking through the code, it looks like "wmi" can't actually be null here so I just removed the check. Signed-off-by: Dan Carpenter Acked-by: Sujith Signed-off-by: John W. Linville commit a906b060b069d84e9d2b7fe60cc7a7f893be4c0c Author: Julia Lawall Date: Sat May 22 10:25:44 2010 +0200 drivers/net/wireless/prism54: Use memdup_user Use memdup_user when user data is immediately copied into the allocated region. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression from,to,size,flag; position p; identifier l1,l2; @@ - to = \(kmalloc@p\|kzalloc@p\)(size,flag); + to = memdup_user(from,size); if ( - to==NULL + IS_ERR(to) || ...) { <+... when != goto l1; - -ENOMEM + PTR_ERR(to) ...+> } - if (copy_from_user(to, from, size) != 0) { - <+... when != goto l2; - -EFAULT - ...+> - } // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit b7b1b512287d6917d4976a4ee0e7d72c4edf52eb Author: Vasanthakumar Thiagarajan Date: Thu May 20 14:34:48 2010 -0700 ath9k: Fix bug in validating received data length for edma The rx status length should also be taken into account while validating the length of a received frame. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 5c6dd921776946d12cbbae8ab92c5d6773b25810 Author: Vasanthakumar Thiagarajan Date: Thu May 20 14:34:47 2010 -0700 ath9k: Fix bug in accessing skb->data of rx frame for edma Skip the rx status portion in skb->data before accessing ieee80211 frame header. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 9f167f6480c87e22ce1b934cc839d1786b373b70 Author: Vasanthakumar Thiagarajan Date: Thu May 20 14:34:46 2010 -0700 ath9k: Clean up few function parameters in recv.c ath9k_rx_skb_preprocess() needs only ieee80211 frame header, pass only frame headers instead of skb to that function. Also remove ineffective frame dump in ath9k_process_rate(). Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 93ef24b29bb6d6d50763c44c0debec4a9547fc58 Author: Sujith Date: Thu May 20 15:34:40 2010 +0530 ath9k: Move driver specific structures A bunch of data structures are present in the common module, which are internal to ath9k. Move them to ath9k.h Signed-off-by: Sujith Signed-off-by: John W. Linville commit d435700fcdf03646ff070b35ea19dd5501c4b946 Author: Sujith Date: Thu May 20 15:34:38 2010 +0530 ath9k: Move ath9k specific RX code to driver This patch relocates RX processing code from the common module to ath9k. This reduces the size of the common module which is also used by ath9k_htc. Signed-off-by: Sujith Signed-off-by: John W. Linville commit a0ea949358579c22019202c6876d61087a79361f Author: Tobias Klauser Date: Thu May 20 10:38:11 2010 +0200 drivers/net/wireless: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Acked-by: Reinette Chatre Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit c5395b67437b47c4a4c0686d3db99be9327ef67e Author: Luis R. Rodriguez Date: Wed May 19 16:45:50 2010 -0400 ath9k_hw: Enable TX IQ calibration on AR9003 To enable it we now disable and re-enable the PHY chips after TX IQ calibration. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 252aa631f88080920a7083ac5a5844ffc5463629 Author: Johannes Berg Date: Wed May 19 12:17:12 2010 +0200 cfg80211: make action channel type optional When sending action frames, we want to verify that we do that on the correct channel. However, checking the channel type in addition can get in the way, since the channel type could change on the fly during an association, and it's not useful to have the channel type anyway since it has no effect on the transmission. Therefore, make it optional to specify so that if wanted, it can still be checked, but is not required. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4f424867dd4752d457458fec29ca57ce5d7dc4ac Author: Bruno Randolf Date: Wed May 19 10:31:42 2010 +0900 ath5k: print error message if ANI levels are out of range Since we have sysfs to manually set the ANI levels, we should print errors to the kernel log if the values are out of bounds. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 9537a1623359fd24ec95ba1fe60528c70e84b2a2 Author: Bruno Randolf Date: Wed May 19 10:31:37 2010 +0900 ath5k: always calculate ANI listen time Calculate 'listen' time also when automatic ANI is off, since this and the "busy" time is useful information also in manual mode. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 40ca22eafeb61ee1419dd7c4c2698459183c582c Author: Bruno Randolf Date: Wed May 19 10:31:32 2010 +0900 ath5k: add sysfs files for ANI parameters /sys/class/ieee80211/phy0/device/ani/ani_mode /sys/class/ieee80211/phy0/device/ani/noise_immunity_level /sys/class/ieee80211/phy0/device/ani/spur_level /sys/class/ieee80211/phy0/device/ani/firstep_level /sys/class/ieee80211/phy0/device/ani/ofdm_weak_signal_detection /sys/class/ieee80211/phy0/device/ani/cck_weak_signal_detection /sys/class/ieee80211/phy0/device/ani/noise_immunity_level_max /sys/class/ieee80211/phy0/device/ani/spur_level_max /sys/class/ieee80211/phy0/device/ani/firstep_level_max sysfs has a lot of symlinks, so you can find the files also in other locations, like (by PCI ID) /sys/devices/pci0000:00/0000:00:11.0/ani and others. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 6673e2e8e040e319e0505f31580b7f1dbb5862e4 Author: Bruno Randolf Date: Wed May 19 10:31:26 2010 +0900 ath5k: use ath5k_softc as driver data It's our "private driver data"... It's used more often and hw is the mac80211 part. This makes more sense with the next (sysfs) patch. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 30bd3a3092c17dbfa18f042ca0815758e8d34e65 Author: Bruno Randolf Date: Wed May 19 10:31:21 2010 +0900 ath5k: clarify logic when to enable spur mitigation filter The old code logically did not make sense and seems to have been confused by the fact that we could have newer EEPROMs on older hardware. In any case the spur mitigation filter was set if the srev was >= AR5K_SREV_AR5424. Spur info is available only from EEPROM versions bigger than 5.3 but but the EEPOM routines will use static values for older versions, so that should be o.k. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 230fc4f3b2fa72980787a5f86c850f02bb193187 Author: Bruno Randolf Date: Wed May 19 10:31:16 2010 +0900 ath5k: remove ATH_TRACE macro Now that we have ftrace, it is not needed any more. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit afe86286a166881d2ae7ce4469036735254d1263 Author: Bruno Randolf Date: Wed May 19 10:31:10 2010 +0900 ath5k: run NF calibration only every 60 seconds Since NF calibration interferes with TX and RX and also has been the cause of other problems (when it's run concurrently with ath5k_reset) we want to run it less often - every 60 seconds for now. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 0e8e02dddc528f1c650ba13bb3b61e818c39dd2f Author: Bruno Randolf Date: Wed May 19 10:31:05 2010 +0900 ath5k: Stop queues only for NF calibration As far as we know, only NF calibration interferes with RX/TX so we can leave the queues enabled for the other calibrations. BTW: Stopping the queues is not enough for avoiding transmissions, since there might be packets in the queue + beacons are also sent regularly! But i leave it like this until we have a better solution (stopping TX DMA?). Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 9e04a7eb1fdf37bc8bc0d0f59e5fb737926f0152 Author: Bruno Randolf Date: Wed May 19 10:31:00 2010 +0900 ath5k: move noise floor calibration into tasklet Seperate noise floor calibration from other PHY calibration and move it to the tasklet. This is the first step to more separation of different calibrations. Also move out ath5k_hw_request_rfgain_probe(ah) so we have one clean function for I/Q calibration on 5111x parts. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit ac55952633c11761187d233619f0d1048154a8a5 Author: Bruno Randolf Date: Wed May 19 10:30:55 2010 +0900 ath5k: initialize calibration timers Initialize calibration timers on reset, since otherwise they might be in the future and the calibration tasklet might not be scheduled for a long time. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 3d1ca47eba76a31ad134e5c4d841234f5a6a92c3 Author: Jussi Kivilinna Date: Tue May 18 11:27:31 2010 +0300 rndis_wlan: increase assocbuf size and validate association info offsets from driver Buffer size for get_association_info was limited to WEXT event size. Since association info no longer is sent through WEXT, this limit is not needed. Code also did not check if data get truncated, memory outside buffer might be addressed. Fix all these. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit d5d1154ffdc87b618518629fce44d51834df0f2e Author: Vasanthakumar Thiagarajan Date: Mon May 17 18:57:56 2010 -0700 ath9k_hw: Enable auto sleep for ar9003 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit fdf766224795cc638a459f50156ad27c3ea26e7a Author: Vasanthakumar Thiagarajan Date: Mon May 17 18:57:55 2010 -0700 ath9k: Fix power save with auto sleeping Rx should not be disabed/disabled when hw supports auto sleeping. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit de0f648dc769daabd0842a8dcf439d5f1f23e07f Author: Vasanthakumar Thiagarajan Date: Mon May 17 18:57:54 2010 -0700 ath9k: Make sure null func frame is acked before going into PS for ar9003 Add missing code to handle nullfunc frame completion in ath_tx_edma_tasklet(). Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 77c2061d10a408d0220c2b0e7faefe52d9c41008 Author: Walter Goldens Date: Tue May 18 04:44:54 2010 -0700 wireless: fix several minor description typos Signed-off-by: Walter Goldens Signed-off-by: John W. Linville commit aed8e1f9910b216ab3e14cb286c431c870f9b78f Author: Helmut Schaa Date: Mon May 17 17:30:59 2010 +0200 cfg80211: don't refuse HT20 channels on devices that don't support HT40 Don't refuse HT20 channels on devices that don't support HT40. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 17525f96aeeed156bd4a6dee21816100f77b0c71 Author: Sujith Date: Mon May 17 12:01:21 2010 +0530 ath9k_htc: Enable RX STBC for AR9271 Signed-off-by: Sujith Signed-off-by: John W. Linville commit b4dec5e8f5c02f75d8c08dd377193f73b553bfe2 Author: Sujith Date: Mon May 17 12:01:19 2010 +0530 ath9k_htc: Enable SGI in HT20 for AR9271 Signed-off-by: Sujith Signed-off-by: John W. Linville commit 2c76ef89b05654457555a1458ccf2aa8eec5fc50 Author: Sujith Date: Mon May 17 12:01:18 2010 +0530 ath9k_htc: Update HT configuration properly Use BSS_CHANGED_HT to handle HT parameter changes. The rate information on the target has to be updated to handle changes in HT configuration. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0d425a7d7bc7bc834fe04e15e88b61bc34331a98 Author: Sujith Date: Mon May 17 12:01:16 2010 +0530 ath9k_htc: Cleanup rate initialization This patch removes a large chunk of code dealing with rate management within the driver and simplifying things by removing the hacky method of calculating HT changes. A subsequent patch would fix this by just using BSS_CHANGED_HT from mac80211. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 01574c4b46d08e62d509118ad209983c00ade898 Author: Sujith Date: Mon May 17 12:01:13 2010 +0530 ath9k_htc: Initvals update for AR9271 Update from internal systems engineering team. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 1d66fa777d674da3a5172dcdd930f8928b1904c6 Author: Julia Lawall Date: Sat May 15 23:24:07 2010 +0200 drivers/net/wireless/orinoco: Use kmemdup Use kmemdup when some other buffer is immediately copied into the allocated region. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression from,to,size,flag; statement S; @@ - to = \(kmalloc\|kzalloc\)(size,flag); + to = kmemdup(from,size,flag); if (to==NULL || ...) S - memcpy(to, from, size); // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit 27b81bbed881ae93e8c23c216129cdeee86d4051 Author: Julia Lawall Date: Sat May 15 23:22:55 2010 +0200 drivers/net/wireless/p54: Use kmemdup Use kmemdup when some other buffer is immediately copied into the allocated region. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression from,to,size,flag; statement S; @@ - to = \(kmalloc\|kzalloc\)(size,flag); + to = kmemdup(from,size,flag); if (to==NULL || ...) S - memcpy(to, from, size); // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit d3e5033d5f8609fd6cc19ee28d8f103885eb6596 Author: Julia Lawall Date: Sat May 15 23:21:01 2010 +0200 drivers/net/wireless/ipw2x00: Use kmemdup Use kmemdup when some other buffer is immediately copied into the allocated region. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression from,to,size,flag; statement S; @@ - to = \(kmalloc\|kzalloc\)(size,flag); + to = kmemdup(from,size,flag); if (to==NULL || ...) S - memcpy(to, from, size); // Signed-off-by: Julia Lawall Acked-by: Zhu Yi Signed-off-by: John W. Linville commit a61aac7cf1af1549d03cb8e7549c5427fabc6f5e Author: Julia Lawall Date: Sat May 15 23:20:26 2010 +0200 drivers/net/wireless/b43: Use kmemdup Use kmemdup when some other buffer is immediately copied into the allocated region. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression from,to,size,flag; statement S; @@ - to = \(kmalloc\|kzalloc\)(size,flag); + to = kmemdup(from,size,flag); if (to==NULL || ...) S - memcpy(to, from, size); // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit a465a2cc6eb55908a70e386b729293e9d9e4726e Author: Julia Lawall Date: Sat May 15 23:17:19 2010 +0200 drivers/net/wireless/ath/ath9k: Use kmemdup Use kmemdup when some other buffer is immediately copied into the allocated region. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression from,to,size,flag; statement S; @@ - to = \(kmalloc\|kzalloc\)(size,flag); + to = kmemdup(from,size,flag); if (to==NULL || ...) S - memcpy(to, from, size); // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit ff020726a7e963c3b9fb71825b3c33885022a8f0 Author: Julia Lawall Date: Sat May 15 23:16:58 2010 +0200 drivers/net/wireless/iwmc3200wifi: Use kmemdup Use kmemdup when some other buffer is immediately copied into the allocated region. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression from,to,size,flag; statement S; @@ - to = \(kmalloc\|kzalloc\)(size,flag); + to = kmemdup(from,size,flag); if (to==NULL || ...) S - memcpy(to, from, size); // Signed-off-by: Julia Lawall Acked-by: Samuel Ortiz Signed-off-by: John W. Linville commit 02730029530e7ca2a4d413d6afa67bbc9548c8c2 Author: Julia Lawall Date: Sat May 15 23:16:03 2010 +0200 drivers/net/wireless/libertas_tf: Use kmemdup Use kmemdup when some other buffer is immediately copied into the allocated region. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression from,to,size,flag; statement S; @@ - to = \(kmalloc\|kzalloc\)(size,flag); + to = kmemdup(from,size,flag); if (to==NULL || ...) S - memcpy(to, from, size); // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit 80caf6017ace944035210ca2bba7abeb85eb0c5c Author: Julia Lawall Date: Sat May 15 23:15:10 2010 +0200 drivers/net/wireless/wl12xx: Use kmemdup Use kmemdup when some other buffer is immediately copied into the allocated region. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression from,to,size,flag; statement S; @@ - to = \(kmalloc\|kzalloc\)(size,flag); + to = kmemdup(from,size,flag); if (to==NULL || ...) S - memcpy(to, from, size); // Signed-off-by: Julia Lawall Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 731a9b2a024714a3fa070b014744d02b9a96b3b6 Author: Julia Lawall Date: Sat May 15 23:12:28 2010 +0200 drivers/net/wireless/libertas: Use kmemdup Use kmemdup when some other buffer is immediately copied into the allocated region. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression from,to,size,flag; statement S; @@ - to = \(kmalloc\|kzalloc\)(size,flag); + to = kmemdup(from,size,flag); if (to==NULL || ...) S - memcpy(to, from, size); // Signed-off-by: Julia Lawall Acked-by: Dan Williams Signed-off-by: John W. Linville commit 04236066e00ab20c6745569268d67a980bd06abd Author: Dan Carpenter Date: Fri May 14 15:25:39 2010 +0200 ath9k/debug: fixup the return codes Changed -EINVAL to -EFAULT if copy_to_user() failed. Changed 0 to -ENOMEM if allocations failed. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 2b87f3aac04818f720956e2b70f9b04fc8e2c794 Author: Dan Carpenter Date: Fri May 14 15:24:37 2010 +0200 ath9k/debug: improve the snprintf() handling The snprintf() function returns the number of bytes that *would* have been written (not counting the NULL terminator) and that can potentally be more than the size of the buffer. In this patch if there were one liners where string clearly fits into the buffer, then I changed snprintf to sprintf(). It's confusing to use the return value of snprintf() as a limitter without verifying that it's smaller than size. This is what initially caught my attention here. If we use the return value of sprintf() instead future code auditors will assume we've verified that it fits already. Also I did find some places where it made sense to use the return value after we've verified that it is smaller than the buffer size. Finally the read_file_rcstat() function added an explicit NULL terminator before calling snprintf(). That's unnecessary because snprintf() will add the null terminator automatically. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 56824223ac97ca845652c59bed9ce139e100261b Author: Ming Lei Date: Fri May 14 21:15:38 2010 +0800 ath9k: fix dma direction for map/unmap in ath_rx_tasklet For edma, we should use DMA_BIDIRECTIONAL, or else use DMA_FROM_DEVICE. Signed-off-by: Ming Lei Signed-off-by: John W. Linville commit 66fceb69b72ff7e9cd8da2ca70033982d5376e0e Author: Amitkumar Karwar Date: Wed May 19 03:24:38 2010 -0700 libertas: Added callback functions to support SDIO suspend/resume. In suspend() host sleep is activated using already configured host sleep parameters through wol command, and in resume() host sleep is cancelled. Earlier priv->fw_ready flag used to reset and set in suspend and resume handler respectively. Since after suspend only host goes into sleep state and firmware is always ready, those changes in flag state are removed. Signed-off-by: Amitkumar Karwar Signed-off-by: John W. Linville commit a7da74fc88bff6f82f8255f2def49907f82f4c61 Author: Juuso Oikarinen Date: Fri May 14 10:46:23 2010 +0300 wl1271: Add support for NVS files with 5GHz band parameters This patch adds support for NVS files with 5GHz band parameters. The change is done in a backward compatible manner - if 11a is not enabled in the driver, the driver will allow also old NVS files to be loaded. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit eb70eb723b489dd4e233e22e47d993f59858cdd8 Author: Juuso Oikarinen Date: Fri May 14 10:46:22 2010 +0300 wl1271: Update handling of the NVS file / INI parameters This patch updates the handling of the NVS file INI-section, trying to make it slightly more generic, and exposing the parameters being set. This is done in preparation for 5GHz parameters. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit ff37d9a9ce493743cfc4665edb05fbbdabca78ee Author: Sujith Date: Fri May 14 11:18:59 2010 +0530 ath9k_htc: Increase credit size This is the maximum supported by the firmware. Signed-off-by: Sujith Signed-off-by: John W. Linville commit b80841c91f42dc048a60bff5e1614a619f725e38 Author: Sujith Date: Fri May 14 11:18:57 2010 +0530 ath9k_htc: Remove HW queue translation There is no need to determine the HW queue for each packet that is transmitted. The endpoint can be chosen directly based on the queue type that mac80211 sends down. Signed-off-by: Sujith Signed-off-by: John W. Linville commit ca74b83b66dbd289a395c6243695d746c76676cc Author: Sujith Date: Fri May 14 11:18:56 2010 +0530 ath9k_htc: Initialize beacon/CAB queues This patch initializes the beacon and CAB HW queues when the driver is loaded. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 2edb4583c6a581e1e48af259db2a2d467d11551d Author: Sujith Date: Fri May 14 11:18:54 2010 +0530 ath9k_htc: Add queue statistics to xmit debugfs file Signed-off-by: Sujith Signed-off-by: John W. Linville commit 6473d24d5b6b76bb5fd16914709a619a00c44d28 Author: Vasanthakumar Thiagarajan Date: Thu May 13 18:42:38 2010 -0700 ath9k: Enable Short GI in 20 Mhz for ar9287 and later chips This patch enables short GI rx at all rates and tx at mcs15 for 20 Mhz channel width also. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 6ac478cf05662911242957e8f765c623be23cf2a Author: Julia Lawall Date: Thu May 13 22:02:56 2010 +0200 drivers/net/wireless/orinoco: Use kzalloc Use kzalloc rather than the combination of kmalloc and memset. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression x,size,flags; statement S; @@ -x = kmalloc(size,flags); +x = kzalloc(size,flags); if (x == NULL) S -memset(x, 0, size); // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit 08578b8f16ca551499c54f2cd229df3e58c8f381 Author: Luis R. Rodriguez Date: Thu May 13 13:33:44 2010 -0400 ath9k: enable the baseband watchdog events for AR9003 This enables the baseband watchdog events for the AR9003 family on ath9k. Upon an a baseband watchdog interrupt we reset the hardware, this should address corner case conditions where normal operation can stall. Enable ATH_DBG_RESET to be able to review details of the bb watchdog interrupt once it happens. If you're curious how often this happens just grep the debugfs interrupt file. Cc: Sam Ng Cc: Paul Shaw Cc: Don Breslin Cc: Cliff Holden commit aea702b70ae0964c16e17944e4a5ce2c2b038ced Author: Luis R. Rodriguez Date: Thu May 13 13:33:43 2010 -0400 ath9k_hw: add support for the AR9003 baseband watchdog The baseband watchdog will monitor blocks of the baseband through timers and will issue an interrupt when things are detected to be stalled. It is only available on the AR9003 family. Cc: Sam Ng Cc: Paul Shaw Cc: Don Breslin Cc: Cliff Holden Signed-off-by: John W. Linville commit ec8aa669b8393b6789b1954d587c63264af7ff99 Author: Felix Fietkau Date: Thu May 13 16:48:03 2010 +0200 mac80211: add the minstrel_ht rate control algorithm Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit b4df47081b67bce9dcb7b84b551588c7402a330a Author: Gertjan van Wingerde Date: Thu May 13 13:16:36 2010 +0200 rt2x00: Move rt2x00debug_dump_frame declaration to rt2x00.h. This allows rt2x00debug_dump_frame to be used from everywhere. This is preparation for beacon writing clean ups. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 19b87173bef84079e0974833b4adacfb353f5c4a Author: Ohad Ben-Cohen Date: Thu May 13 12:43:24 2010 +0300 wl1271: remove sdio ARM dependency Make it possible to use wl1271's SDIO interface on non-ARM platforms. Fully tested on a x86 platform, compile-tested on ARM. Signed-off-by: Ohad Ben-Cohen Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit 9a13b1e7f696020d7a9f0cf8dd551468f7e10884 Author: Luis R. Rodriguez Date: Wed May 12 21:15:06 2010 -0400 ath9k_hw: rename the ar9003_initvals.h to ar9003_2p0_initvals.h Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7284635d2dbc0e055d14bc488c69f8c1d2822ae7 Author: Luis R. Rodriguez Date: Wed May 12 21:15:05 2010 -0400 ath9k_hw: add support for the AR9003 2.2 The checksums of the initvals are: initvals -f ar9003-2p2 0x00000000c2bfa7d5 ar9300_2p2_radio_postamble 0x00000000ada2b114 ar9300Modes_lowest_ob_db_tx_gain_table_2p2 0x00000000e0bc2c84 ar9300Modes_fast_clock_2p2 0x00000000056eaf74 ar9300_2p2_radio_core 0x0000000000000000 ar9300Common_rx_gain_table_merlin_2p2 0x0000000078658fb5 ar9300_2p2_mac_postamble 0x0000000023235333 ar9300_2p2_soc_postamble 0x0000000054d41904 ar9200_merlin_2p2_radio_core 0x000000008475a084 ar9300_2p2_baseband_postamble 0x000000009aaafd90 ar9300_2p2_baseband_core 0x000000003df9a326 ar9300Modes_high_power_tx_gain_table_2p2 0x000000001cfba124 ar9300Modes_high_ob_db_tx_gain_table_2p2 0x0000000011302700 ar9300Common_rx_gain_table_2p2 0x00000000a9a2b114 ar9300Modes_low_ob_db_tx_gain_table_2p2 0x00000000a9d66d40 ar9300_2p2_mac_core 0x000000001e1d0800 ar9300Common_wo_xlna_rx_gain_table_2p2 0x00000000a0c531c8 ar9300_2p2_soc_preamble 0x00000000292e2544 ar9300PciePhy_pll_on_clkreq_disable_L1_2p2 0x000000002d3e2544 ar9300PciePhy_clkreq_enable_L1_2p2 0x00000000293e2544 ar9300PciePhy_clkreq_disable_L1_2p2 Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 53b1b3e1f0feaa57b82d3dc344d887fe3eecc90b Author: FUJITA Tomonori Date: Fri Apr 2 13:10:38 2010 +0900 mwl8k: use the dma state API instead of the pci equivalents The DMA API is preferred. No functional change. Signed-off-by: FUJITA Tomonori Acked-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 1c62c72b1a3c4478fb9069503d20c41b1f385ca1 Merge: da1fdb0 9f6e1ba Author: John W. Linville Date: Wed Jun 2 15:36:51 2010 -0400 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit c2d9ba9bce8d7323ca96f239e1f505c14d6244fb Author: Eric Dumazet Date: Tue Jun 1 06:51:19 2010 +0000 net: CONFIG_NET_NS reduction Use read_pnet() and write_pnet() to reduce number of ifdef CONFIG_NET_NS Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8f574b35f22fbb9b5e5f1d11ad6b55b6f35f4533 Author: Jie Yang Date: Tue Jun 1 00:28:12 2010 -0700 atl1c: Add AR8151 v2 support and change L0s/L1 routine Add AR8151 v2.0 Gigabit 1000 support Change jumbo frame size to 6K Update L0s/L1 rountine when link speed is 100M or 1G, set L1 link timer to 4 for l1d_2 and l2c_b2 set L1 link timer to 7 for l2c_b, set L1 link timer to 0xF for others. Update atl1c_suspend routine just refactory the function, add atl1c_phy_power_saving routine, when Wake On Lan enable, this func will be called to save power, it will reautoneg PHY to 10/100M speed depend on the link partners link capability. Update atl1c_configure_des_ring do not use l2c_b default SRAM configuration. Signed-off-by: Jie Yang Signed-off-by: David S. Miller commit 92b4522f72916ff2675060e29e4b24cf26ab59ce Merge: 67a3e12 2903037 Author: David S. Miller Date: Mon May 31 00:10:35 2010 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 9f6e1bafac4f3c58c8a670496adcc4d313d3c7f7 Author: Shanyu Zhao Date: Tue May 11 15:21:54 2010 -0700 iwlwifi: add new PCI IDs for 6000g2 devices Add new PCI IDs for 6000 Series Gen2 devices and also defines a new sku of device: 6000g2b 2x2 bgn. Signed-off-by: Shanyu Zhao Signed-off-by: Reinette Chatre commit db41dd27a079ec498fab9dc788094375ea0d1761 Author: Wey-Yi Guy Date: Mon May 10 14:15:25 2010 -0700 iwlwifi: move ucode related function to iwl-agn-ucode.c Cleanup the code and move all the uCode related functions specific to _agn devices to iwl-agn-ucode.c Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit c213d745b25b24b68f790fe55fc0a2159218a079 Author: Johannes Berg Date: Thu May 6 12:21:40 2010 -0700 iwlwifi: use proper short slot/preamble settings The short preamble setting might change on the fly, and then we already use the right mac80211 variable. However, in other places we don't, which is especially wrong in the AP code since in that case the assoc_capability is invalid. Also, the IBSS special case is not needed since "use_short_slot" will be properly cleared, but the "assoc_capability" might be invalid (which must be the reason for the special case). Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit d73e4923d1b3311dda4cd1bd5d3596d75af1d1c3 Author: Johannes Berg Date: Thu May 6 12:18:41 2010 -0700 iwlwifi: split debug and debugfs options It may be desirable in some systems to have insight into the driver via debugfs, but not affect its operation via the debug logging code that is inserted everywhere when DEBUG is configured. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 5a2a780cb142f16f33c948af5f3d588099b59df6 Author: Wey-Yi Guy Date: Thu May 6 12:10:42 2010 -0700 iwlwifi: modify out-dated comments Some comments in iwl-dev.h still refer to 4965 but used by all the _agn devices. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit bd93cbedfc4b280a0eeb6665ad310c3cc96cd669 Author: Wey-Yi Guy Date: Thu May 6 11:51:32 2010 -0700 iwlwifi: code cleanup for _agn devices Move configuration structure for _agn devices from iwl-dev.h to iwl-agn.h. Those data structures are for _agn devices and should be keep for _agn devices only. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 1808972f16adba592ceb10a47dee42ef8ee39cee Author: Shanyu Zhao Date: Thu May 6 10:15:21 2010 -0700 iwlwifi: enable remaining 6000 Gen2 devices This patch enables all remaining 6000 series Gen2 devices. To work-around a firmware crash problem, we disable sending bt coex command for 6000g2b series devices. Signed-off-by: Jay Sternberg Signed-off-by: Shanyu Zhao Signed-off-by: Reinette Chatre commit b2e640d4851abfe6b03fc91597d0b8378c629907 Author: Johannes Berg Date: Wed May 5 23:24:54 2010 -0700 iwlagn: use firmware event/error log information In order to debug problems before the ALIVE notification is received, new firmware files contain the event/error log information in the file. Use that information. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 9c5ac091b269912cd30fade987f4bc615ef3be90 Author: Reinette Chatre Date: Wed May 5 02:26:06 2010 -0700 iwlwifi: fix and add missing sta_lock usage There are a few places where sta_lock is used, but the station information protected by it is accessed outside of the lock. Address this in two ways, if the access won't sleep then just move the access into the lock, if the access can sleep then copy the needed station information to the stack to be accessed without risk of it changing while access in progress. Additionally, a number of other places access station station information without holding the sta_lock, fix those as well. Signed-off-by: Reinette Chatre Signed-off-by: Johannes Berg commit 94adfaa406420ae035b1b760e3d5015775fe7b7c Author: Johannes Berg Date: Mon May 3 08:02:43 2010 -0700 iwlwifi: remove IWL_MULTICAST_ID This constant is not used, and incorrect, since the broadcast ID must be used for multicast too. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit da73511d4316c4e3efe903e123286c5b55a1999f Author: Johannes Berg Date: Mon May 3 01:25:24 2010 -0700 iwlwifi: improve station debugfs The stations debugfs entry doesn't even show the stations' MAC addresses Also, the TID information is formatted very oddly, and misses the important tfds_in_queue variable. Fix this to make the file more useful. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 1ff504e07c0fb64a1ceca17d60cb2d82dc134f05 Author: Johannes Berg Date: Mon May 3 01:22:42 2010 -0700 iwlwifi: move iwl_free_tfds_in_queue to iwlagn This function is only used by the agn drivers, so doesn't have to be in core and exported. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit f862a2367b429d46d12362fea07d844c2bf55969 Author: Johannes Berg Date: Mon May 3 01:20:52 2010 -0700 iwl3945: remove sequence number assignment Unlike agn, where the sequence numbers must match with the TFD index, the driver for 3945 devices can use the sequence numbers provided by mac80211 for QoS frames. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit c9696b2b6c36704dbd1eb51fd4465704a395a6ff Author: Johannes Berg Date: Mon May 3 01:17:57 2010 -0700 iwlwifi: don't crash on firmware file missing info If a firmware file misses one of the required instruction or data pieces, the driver currently crashes. Let it gracefully refuse that firmware file instead. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 1d60a79ed516edcc62c5f74e4223d21e10a5cc14 Author: Wey-Yi Guy Date: Fri Apr 30 14:21:49 2010 -0700 iwlwifi: separate statistics flag function for agn & 3945 Since agn and 3945 have different statistics_notif data structure, each should has its own statistics_flag function. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit a2064b7a4a22d118087898e4308670da7ac07911 Author: Wey-Yi Guy Date: Fri Apr 30 14:21:48 2010 -0700 iwlwifi: move _agn statistics related structure agn and 3945 has different statistics_notif data structure; since 3945 has it statistics_notif data structure inside the _3945 portion of iwl_priv, it make sense to move the agn statistics_notif into _agn portion. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 0af8bcae6f44aa440e51b1925635fb835cd68058 Author: Johannes Berg Date: Fri Apr 30 14:08:00 2010 -0700 iwlwifi: introduce iwl_sta_id_or_broadcast There are now five places where we need to look up the station ID, but the sta pointer may be NULL due to mac80211 passing that to indicate a certain special state. Replace all these by a new inline function, called iwl_sta_id_or_broadcast(), and add documentation about when to use it. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre