Generated by using: git log v2.6.34..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 a376bca61096c7a79393e8125b7ad4757ccff19c Merge: 1a041a2 5447080 Author: Linus Torvalds Date: Tue Jul 27 09:21:00 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: s2io: fixing DBG_PRINT() macro ath9k: fix dma direction for map/unmap in ath_rx_tasklet net: dev_forward_skb should call nf_reset net sched: fix race in mirred device removal tun: avoid BUG, dump packet on GSO errors bonding: set device in RLB ARP packet handler wimax/i2400m: Add PID & VID for Intel WiMAX 6250 ipv6: Don't add routes to ipv6 disabled interfaces. net: Fix skb_copy_expand() handling of ->csum_start net: Fix corruption of skb csum field in pskb_expand_head() of net/core/skbuff.c macvtap: Limit packet queue length ixgbe/igb: catch invalid VF settings bnx2x: Advance a module version bnx2x: Protect statistics ramrod and sequence number bnx2x: Protect a SM state change wireless: use netif_rx_ni in ieee80211_send_layer2_update commit a9ad99a612763803b995ce551ca43b20beb1f888 Merge: c736eef f792af2 Author: David S. Miller Date: Mon Jul 26 13:26:09 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit f792af250de54309e4bc9f238db3623ead0a4507 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. This is found to address "BUG at arch/x86/mm/physaddr.c:5" as described here: http://lkml.org/lkml/2010/7/14/21 Signed-off-by: Ming Lei Signed-off-by: John W. Linville commit 516bd664153d76f5c814633cee6500e2ff8e861b Merge: 844b9a8 573201f Author: Linus Torvalds Date: Tue Jul 20 16:26:42 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: (24 commits) bridge: Partially disable netpoll support tcp: fix crash in tcp_xmit_retransmit_queue IPv6: fix CoA check in RH2 input handler (mip6_rthdr_input()) ibmveth: lost IRQ while closing/opening device leads to service loss rt2x00: Fix lockdep warning in rt2x00lib_probe_dev() vhost: avoid pr_err on condition guest can trigger ipmr: Don't leak memory if fib lookup fails. vhost-net: avoid flush under lock net: fix problem in reading sock TX queue net/core: neighbour update Oops net: skb_tx_hash() fix relative to skb_orphan_try() rfs: call sock_rps_record_flow() in tcp_splice_read() xfrm: do not assume that template resolving always returns xfrms hostap_pci: set dev->base_addr during probe axnet_cs: use spin_lock_irqsave in ax_interrupt dsa: Fix Kconfig dependencies. act_nat: not all of the ICMP packets need an IP header payload r8169: incorrect identifier for a 8168dp Phonet: fix skb leak in pipe endpoint accept() Bluetooth: Update sec_level/auth_type for already existing connections ... commit 06ee1c261360545c97fd836fff9dbd10ebd9301b Author: John W. Linville Date: Mon Jul 19 11:52:59 2010 -0400 wireless: use netif_rx_ni in ieee80211_send_layer2_update These synthetic frames are all triggered from userland requests in process context. https://bugzilla.kernel.org/show_bug.cgi?id=16412 Signed-off-by: John W. Linville commit b508998f665ee6d6a15eae11be258c3e94c33562 Merge: d9a9dc6 9acd56d Author: David S. Miller Date: Mon Jul 19 12:38:51 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 9acd56d3f2a05191ee369cbdd8c37dd547aa19b8 Author: Stephen Boyd Date: Fri Jul 16 09:50:10 2010 -0700 rt2x00: Fix lockdep warning in rt2x00lib_probe_dev() The rt2x00dev->intf_work workqueue is never initialized when a driver is probed for a non-existent device (in this case rt2500usb). On such a path we call rt2x00lib_remove_dev() to free any resources initialized during the probe before we use INIT_WORK to initialize the workqueue. This causes lockdep to get confused since the lock used in the workqueue hasn't been initialized yet but is now being acquired during cancel_work_sync() called by rt2x00lib_remove_dev(). Fix this by initializing the workqueue first before we attempt to probe the device. This should make lockdep happy and avoid breaking any assumptions about how the library cleans up after a probe fails. phy0 -> rt2x00lib_probe_dev: Error - Failed to allocate device. INFO: trying to register non-static key. the code is fine but needs lockdep annotation. turning off the locking correctness validator. Pid: 2027, comm: modprobe Not tainted 2.6.35-rc5+ #60 Call Trace: [] register_lock_class+0x152/0x31f [] ? usb_control_msg+0xd5/0x111 [] __lock_acquire+0xce/0xcf4 [] ? trace_hardirqs_off+0xd/0xf [] ? _raw_spin_unlock_irqrestore+0x33/0x41 [] lock_acquire+0xd1/0xf7 [] ? __cancel_work_timer+0x99/0x17e [] __cancel_work_timer+0xd0/0x17e [] ? __cancel_work_timer+0x99/0x17e [] cancel_work_sync+0xb/0xd [] rt2x00lib_remove_dev+0x25/0xb0 [rt2x00lib] [] rt2x00lib_probe_dev+0x380/0x3ed [rt2x00lib] [] ? __raw_spin_lock_init+0x31/0x52 [] ? T.676+0xe/0x10 [rt2x00usb] [] rt2x00usb_probe+0x121/0x15e [rt2x00usb] [] usb_probe_interface+0x151/0x19e [] driver_probe_device+0xa7/0x136 [] __driver_attach+0x4a/0x66 [] ? __driver_attach+0x0/0x66 [] bus_for_each_dev+0x54/0x89 [] driver_attach+0x19/0x1b [] bus_add_driver+0xb4/0x204 [] driver_register+0x98/0x109 [] usb_register_driver+0xb2/0x173 [] ? rt2500usb_init+0x0/0x20 [rt2500usb] [] rt2500usb_init+0x1e/0x20 [rt2500usb] [] do_one_initcall+0x6d/0x17a [] sys_init_module+0x9c/0x1e0 [] system_call_fastpath+0x16/0x1b Signed-off-by: Stephen Boyd Signed-off-by: John W. Linville commit 0f4da2d77e1bf424ac36424081afc22cbfc3ff2b Author: John W. Linville Date: Tue Jul 13 14:06:32 2010 -0400 hostap_pci: set dev->base_addr during probe "hostap: Protect against initialization interrupt" (which reinstated "wireless: hostap, fix oops due to early probing interrupt") reintroduced Bug 16111. This is because hostap_pci wasn't setting dev->base_addr, which is now checked in prism2_interrupt. As a result, initialization was failing for PCI-based hostap devices. This corrects that oversight. Signed-off-by: John W. Linville commit c4363d6acd8d2ec9156f6469c742351e5d122489 Merge: 17c9929 f803696 Author: David S. Miller Date: Mon Jul 12 15:17:29 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 045309820afe047920a50de25634dab46a1e851d Author: Ville Tervo Date: Tue Jun 15 15:56:05 2010 +0300 Bluetooth: Update sec_level/auth_type for already existing connections Update auth level for already existing connections if it is lower than required by new connection. Signed-off-by: Ville Tervo Reviewed-by: Emeltchenko Andrei Signed-off-by: Luciano Coelho Signed-off-by: Andrei Emeltchenko Signed-off-by: Marcel Holtmann commit da213f41cdd445d3df468f8fe7f24fe4f4c48508 Author: Johan Hedberg Date: Fri Jun 18 11:08:56 2010 +0300 Bluetooth: Reset the security level after an authentication failure When authentication fails for a connection the assumed security level should be set back to BT_SECURITY_LOW so that subsequent connect attempts over the same link don't falsely assume that security is adequate enough. Signed-off-by: Johan Hedberg Signed-off-by: Marcel Holtmann commit e501d0553a7580fcc6654d7f58a5f061d31d00af Author: Andrei Emeltchenko Date: Thu Jul 8 12:14:41 2010 +0300 Bluetooth: Check L2CAP pending status before sending connect request Due to race condition in L2CAP state machine L2CAP Connection Request may be sent twice for SDP with the same source channel id. Problems reported connecting to Apple products, some carkit, Blackberry phones. ... 2010-06-07 21:18:03.651031 < ACL data: handle 1 flags 0x02 dlen 12 L2CAP(s): Connect req: psm 1 scid 0x0040 2010-06-07 21:18:03.653473 > HCI Event: Number of Completed Packets (0x13) plen 5 handle 1 packets 1 2010-06-07 21:18:03.653808 > HCI Event: Auth Complete (0x06) plen 3 status 0x00 handle 1 2010-06-07 21:18:03.653869 < ACL data: handle 1 flags 0x02 dlen 12 L2CAP(s): Connect req: psm 1 scid 0x0040 ... Patch uses L2CAP_CONF_CONNECT_PEND flag to mark that L2CAP Connection Request has been sent already. Modified version of patch from Ville Tervo. Signed-off-by: Andrei Emeltchenko Signed-off-by: Marcel Holtmann commit 2aa72f612144a0a7d4b0b22ae7c122692ac6a013 Merge: 78178c7 33b665e Author: Linus Torvalds Date: Wed Jul 7 19:56:00 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: (35 commits) NET: SB1250: Initialize .owner vxge: show startup message with KERN_INFO ll_temac: Fix missing iounmaps bridge: Clear IPCB before possible entry into IP stack bridge br_multicast: BUG: unable to handle kernel NULL pointer dereference net: Fix definition of netif_vdbg() when VERBOSE_DEBUG is defined net/ne: fix memory leak in ne_drv_probe() xfrm: fix xfrm by MARK logic virtio_net: fix oom handling on tx virtio_net: do not reschedule rx refill forever s2io: resolve statistics issues linux/net.h: fix kernel-doc warnings net: decreasing real_num_tx_queues needs to flush qdisc sched: qdisc_reset_all_tx is calling qdisc_reset without qdisc_lock qlge: fix a eeh handler to not add a pending timer qlge: Replacing add_timer() to mod_timer() usbnet: Set parent device early for netdev_printk() net: Revert "rndis_host: Poll status channel before control channel" netfilter: ip6t_REJECT: fix a dst leak in ipv6 REJECT drivers: bluetooth: bluecard_cs.c: Fixed include error, changed to linux/io.h ... commit f8036965ccec4d786d8bf09bf57b793542cb3dce Author: Rajkumar Manoharan Date: Wed Jul 7 15:19:18 2010 +0530 ath9k_htc: fix memory leak in ath9k_hif_usb_alloc_urbs Failure cases within ath9k_hif_usb_alloc_urbs are failed to release allocated memory. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit e4c064728ca358622918fa69ab2bb05f5a2090a8 Author: Reinette Chatre Date: Mon Jun 21 14:23:47 2010 -0700 iwlwifi: remove key information during device restart When there is a firmware error or the firmware is reloaded for some other reason we currently clear all station information, including keys associated with them. A problem is that we do not clear some other information regarding keys that are not stored in the station structs. The consequence of this is that when the device is reconfigured after the firmware reload we can, among other things, run out of key indices. This fixes: https://bugzilla.kernel.org/show_bug.cgi?id=16232 http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2221 Signed-off-by: Reinette Chatre Reviewed-by: Johannes Berg commit c89827e0e9346c039aed9b63c14096c2d36796b1 Author: Cody Rester Date: Thu Jul 1 21:27:44 2010 -0700 drivers: bluetooth: bluecard_cs.c: Fixed include error, changed to linux/io.h Fixed include error, changed to linux/io.h Signed-off-by: Cody Rester Acked-by: Gustavo F. Padovan Signed-off-by: David S. Miller commit dd1589a431e90f9ff587e640c67101a565e52bba Author: David Howells Date: Wed Jun 30 13:10:09 2010 -0700 Bluetooth: Fix abuse of the preincrement operator Fix abuse of the preincrement operator as detected when building with gcc 4.6.0: CC [M] drivers/bluetooth/hci_bcsp.o drivers/bluetooth/hci_bcsp.c: In function 'bcsp_prepare_pkt': drivers/bluetooth/hci_bcsp.c:247:20: warning: operation on 'bcsp->msgq_txseq' may be undefined Reported-by: Justin P. Mattock Signed-off-by: David Howells Acked-by: Gustavo F. Padovan Signed-off-by: David S. Miller commit 08e554b17bfdc2682599c8c2770b088a0187a405 Merge: 4efd7e8 062bee4 Author: David S. Miller Date: Wed Jun 30 12:04:58 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 31cafd958932a90174118ad062fdc37ffb6bf31c Merge: e7865c2 e2f5b04 Author: Linus Torvalds Date: Sun Jun 27 11:28:02 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: (52 commits) phylib: Add autoload support for the LXT973 phy. ISDN: hysdn, fix potential NULL dereference vxge: fix memory leak in vxge_alloc_msix() error path isdn/gigaset: correct CAPI connection state storage isdn/gigaset: encode HLC and BC together isdn/gigaset: correct CAPI DATA_B3 Delivery Confirmation isdn/gigaset: correct CAPI voice connection encoding isdn/gigaset: honor CAPI application's buffer size request cpmac: do not leak struct net_device on phy_connect errors smc91c92_cs: fix the problem that lan & modem does not work simultaneously ipv6: fix NULL reference in proxy neighbor discovery Bluetooth: Bring back var 'i' increment xfrm: check bundle policy existance before dereferencing it sky2: enable rx/tx in sky2_phy_reinit() cnic: Disable statistics initialization for eth clients that do not support statistics net: add dependency on fw class module to qlcnic and netxen_nic snmp: fix SNMP_ADD_STATS() hso: remove setting of low_latency flag udp: Fix bogus UFO packet generation lasi82596: fix netdev_mc_count conversion ... commit 062bee448bd539580ef9f64efe50fdfe04eeb103 Author: Wey-Yi Guy Date: Fri Jun 18 11:33:17 2010 -0700 iwlwifi: set TX_CMD_FLAG_PROT_REQUIRE_MSK in tx_flag When building tx command, always set TX_CMD_FLAG_PROT_REQUIRE_MSK for 5000 series and up. Without setting this bit the firmware will not examine the RTS/CTS setting and thus not send traffic with the appropriate protection. RTS/CTS is is required for HT traffic in a noisy environment where, without this setting, connections will stall on some hardware as documented in the patch that initially attempted to address this: commit 1152dcc28c66a74b5b3f1a3ede0aa6729bfd48e4 Author: Wey-Yi Guy Date: Fri Jan 15 13:42:58 2010 -0800 iwlwifi: Fix throughput stall issue in HT mode for 5000 Similar to 6000 and 1000 series, RTS/CTS is the recommended protection mechanism for 5000 series in HT mode based on the HW design. Using RTS/CTS will better protect the inner exchange from interference, especially in highly-congested environment, it also prevent uCode encounter TX FIFO underrun and other HT mode related performance issues. For 3945 and 4965, different flags are used for RTS/CTS or CTS-to-Self protection. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit d1e89f37de2845db364ef6d67586cd882f86b557 Author: Johannes Berg Date: Fri Jun 18 03:41:25 2010 -0700 iwlwifi: fix multicast commit 3474ad635db371b0d8d0ee40086f15d223d5b6a4 Author: Johannes Berg Date: Thu Apr 29 04:43:05 2010 -0700 iwlwifi: apply filter flags directly broke multicast. The reason, it turns out, is that the code previously checked if ALLMULTI _changed_, which the new code no longer did, and normally it _never_ changes. Had somebody changed it manually, the code prior to my patch there would have been broken already. The reason is that we always, unconditionally, ask the device to pass up all multicast frames, but the new code made it depend on ALLMULTI which broke it since now we'd pass up multicast frames depending on the default filter in the device, which isn't necessarily what we want (since we don't program it right now). Fix this by simply not checking allmulti as we have allmulti behaviour enabled already anyway. Reported-by: Maxim Levitsky Tested-by: Maxim Levitsky Signed-off-by: Johannes Berg commit 1a61a83ff59378a5613d8c706c4a660c353b62a8 Author: Gustavo F. Padovan Date: Fri Jun 18 14:24:00 2010 +0000 Bluetooth: Bring back var 'i' increment commit ff6e2163f28a1094fb5ca5950fe2b43c3cf6bc7a accidentally added a regression on the bnep code. Fixing it. Signed-off-by: Gustavo F. Padovan Signed-off-by: David S. Miller commit 6c3118e2305326743acb52250bcfd0d52389d9dc Author: Vasanthakumar Thiagarajan Date: Wed Jun 23 06:49:21 2010 -0700 ath9k: Fix bug in starting ani There are few places where ANI is started without checking if it is right to start. This might lead to a case where ani timer would be left undeleted and cause improper memory acccess during module unload. This bug is clearly exposed with paprd support where the driver detects tx hang and does a chip reset. During this reset ani is (re)started without checking if it needs to be started. This would leave a timer scheduled even after all the resources are freed and cause a panic. This patch introduces a bit in sc_flags to indicate if ani needs to be started in sw_scan_start() and ath_reset(). This would fix the following panic. This issue is easily seen with ar9003 + paprd. BUG: unable to handle kernel paging request at 0000000000003f38 [] ? __queue_work+0x41/0x50 [] run_timer_softirq+0x17a/0x370 [] ? tick_dev_program_event+0x48/0x110 [] __do_softirq+0xb9/0x1f0 [] ? handle_IRQ_event+0x50/0x160 [] call_softirq+0x1c/0x30 [] do_softirq+0x65/0xa0 [] irq_exit+0x85/0x90 [] do_IRQ+0x75/0xf0 [] ret_from_intr+0x0/0x11 [] ? acpi_idle_enter_simple+0xe4/0x119 [] ? acpi_idle_enter_simple+0xdd/0x119 [] cpuidle_idle_call+0xa7/0x140 [] cpu_idle+0xb3/0x110 [] start_secondary+0x1ee/0x1f5 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 8ceedea7c2600a1018d20f67e766c0773b59391a Merge: d5dc0ae b685577 Author: David S. Miller Date: Tue Jun 22 10:54:12 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit b6855772f4a22c4fbdd4fcaceff5c8a527035123 Author: Bob Copeland Date: Fri Jun 18 13:15:23 2010 -0400 ath5k: initialize ah->ah_current_channel ath5k assumes ah_current_channel is always a valid pointer in several places, but a newly created interface may not have a channel. To avoid null pointer dereferences, set it up to point to the first available channel until later reconfigured. This fixes the following oops: $ rmmod ath5k $ insmod ath5k $ iw phy0 set distance 11000 BUG: unable to handle kernel NULL pointer dereference at 00000006 IP: [] ath5k_hw_set_coverage_class+0x74/0x1b0 [ath5k] *pde = 00000000 Oops: 0000 [#1] last sysfs file: /sys/devices/pci0000:00/0000:00:0e.0/ieee80211/phy0/index Modules linked in: usbhid option usb_storage usbserial usblp evdev lm90 scx200_acb i2c_algo_bit i2c_dev i2c_core via_rhine ohci_hcd ne2k_pci 8390 leds_alix2 xt_IMQ imq nf_nat_tftp nf_conntrack_tftp nf_nat_irc nf_cc Pid: 1597, comm: iw Not tainted (2.6.32.14 #8) EIP: 0060:[] EFLAGS: 00010296 CPU: 0 EIP is at ath5k_hw_set_coverage_class+0x74/0x1b0 [ath5k] EAX: 000000c2 EBX: 00000000 ECX: ffffffff EDX: c12d2080 ESI: 00000019 EDI: cf8c0000 EBP: d0a30edc ESP: cfa09bf4 DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068 Process iw (pid: 1597, ti=cfa09000 task=cf88a000 task.ti=cfa09000) Stack: d0a34f35 d0a353f8 d0a30edc 000000fe cf8c0000 00000000 1900063d cfa8c9e0 <0> cfa8c9e8 cfa8c0c0 cfa8c000 d0a27f0c 199d84b4 cfa8c200 00000010 d09bfdc7 <0> 00000000 00000000 ffffffff d08e0d28 cf9263c0 00000001 cfa09cc4 00000000 Call Trace: [] ? ath5k_hw_attach+0xc8c/0x3c10 [ath5k] [] ? __ieee80211_request_smps+0x1347/0x1580 [mac80211] [] ? nl80211_send_scan_start+0x7b8/0x4520 [cfg80211] [] ? nla_parse+0x59/0xc0 [] ? genl_rcv_msg+0x169/0x1a0 [] ? genl_rcv_msg+0x0/0x1a0 [] ? netlink_rcv_skb+0x38/0x90 [] ? genl_rcv+0x19/0x30 [] ? netlink_unicast+0x1b3/0x220 [] ? netlink_sendmsg+0x26e/0x290 [] ? sock_sendmsg+0xbe/0xf0 [] ? autoremove_wake_function+0x0/0x50 [] ? __alloc_pages_nodemask+0x106/0x530 [] ? do_lookup+0x53/0x1b0 [] ? __link_path_walk+0x9b9/0x9e0 [] ? verify_iovec+0x50/0x90 [] ? sys_sendmsg+0x1e1/0x270 [] ? find_get_page+0x10/0x50 [] ? filemap_fault+0x5f/0x370 [] ? __do_fault+0x319/0x370 [] ? sys_socketcall+0x244/0x290 [] ? do_page_fault+0x1ec/0x270 [] ? do_page_fault+0x0/0x270 [] ? syscall_call+0x7/0xb Code: 00 b8 fe 00 00 00 b9 f8 53 a3 d0 89 5c 24 14 89 7c 24 10 89 44 24 0c 89 6c 24 08 89 4c 24 04 c7 04 24 35 4f a3 d0 e8 7c 30 60 f0 <0f> b7 43 06 ba 06 00 00 00 a8 10 75 0e 83 e0 20 83 f8 01 19 d2 EIP: [] ath5k_hw_set_coverage_class+0x74/0x1b0 [ath5k] SS:ESP 0068:cfa09bf4 CR2: 0000000000000006 ---[ end trace 54f73d6b10ceb87b ]--- Cc: stable@kernel.org Reported-by: Steve Brown Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit d8d326dc7ae6bec2a999d674c5babb6bf490587a Merge: fed396a 021570e Author: David S. Miller Date: Wed Jun 16 13:41:55 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 021570e55b7152843376b9d9f60624e3e05ac054 Author: Christoph Fritz Date: Wed Jun 16 16:37:34 2010 +0200 mac80211: fix warn, enum may be used uninitialized regression introduced by b8d92c9c141ee3dc9b3537b1f0ffb4a54ea8d9b2 In function ‘ieee80211_work_rx_queued_mgmt’: warning: ‘rma’ may be used uninitialized in this function this re-adds default value WORK_ACT_NONE back to rma Signed-off-by: Christoph Fritz Signed-off-by: John W. Linville commit d6a574ff6bfb842bdb98065da053881ff527be46 Author: Tim Gardner Date: Tue Jun 8 11:33:02 2010 -0600 hostap: Protect against initialization interrupt Use an irq spinlock to hold off the IRQ handler until enough early card init is complete such that the handler can run without faulting. Signed-off-by: Tim Gardner Cc: stable@kernel.org Signed-off-by: John W. Linville commit a69b03e941abae00380fc6bc1877fb797a1b31e6 Author: John W. Linville Date: Mon Jun 14 14:30:25 2010 -0400 iwlwifi: cancel scan watchdog in iwl_bg_abort_scan Avoids this: WARNING: at net/mac80211/scan.c:312 ieee80211_scan_completed+0x5f/0x1f1 [mac80211]() Hardware name: Latitude E5400 Modules linked in: aes_x86_64 aes_generic fuse ipt_MASQUERADE iptable_nat nf_nat rfcomm sco bridge stp llc bnep l2cap sunrpc cpufreq_ondemand acpi_cpufreq freq_table xt_physdev ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 kvm_intel kvm uinput arc4 ecb snd_hda_codec_intelhdmi snd_hda_codec_idt snd_hda_intel iwlagn snd_hda_codec snd_hwdep snd_seq snd_seq_device iwlcore snd_pcm dell_wmi sdhci_pci sdhci iTCO_wdt tg3 dell_laptop mmc_core i2c_i801 wmi mac80211 snd_timer iTCO_vendor_support btusb joydev dcdbas cfg80211 bluetooth snd soundcore microcode rfkill snd_page_alloc firewire_ohci firewire_core crc_itu_t yenta_socket rsrc_nonstatic i915 drm_kms_helper drm i2c_algo_bit i2c_core video output [last unloaded: scsi_wait_scan] Pid: 979, comm: iwlagn Tainted: G W 2.6.33.3-85.fc13.x86_64 #1 Call Trace: [] warn_slowpath_common+0x77/0x8f [] warn_slowpath_null+0xf/0x11 [] ieee80211_scan_completed+0x5f/0x1f1 [mac80211] [] iwl_bg_scan_completed+0xbb/0x17a [iwlcore] [] worker_thread+0x1a4/0x232 [] ? iwl_bg_scan_completed+0x0/0x17a [iwlcore] [] ? autoremove_wake_function+0x0/0x34 [] ? worker_thread+0x0/0x232 [] kthread+0x7a/0x82 [] kernel_thread_helper+0x4/0x10 [] ? kthread+0x0/0x82 [] ? kernel_thread_helper+0x0/0x10 Reported here: https://bugzilla.redhat.com/show_bug.cgi?id=590436 Signed-off-by: John W. Linville Reported-by: Mihai Harpau Cc: stable@kernel.org Acked-by: Reinette Chatre commit 50900f1698f68127e54c67fdfe829e4a97b1be2b Author: Joerg Albert Date: Sun Jun 13 14:22:23 2010 +0200 p54pci: add Symbol AP-300 minipci adapters pciid Cc: stable@kernel.org Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 13deb23a52c13053fc509f119eb80b903c65a879 Author: Prarit Bhargava Date: Thu Jun 10 08:08:42 2010 -0400 libertas_tf: Fix warning in lbtf_rx for stats struct Fixes linux-2.6 warning: drivers/net/wireless/libertas_tf/main.c: In function 'lbtf_rx': drivers/net/wireless/libertas_tf/main.c:578: warning: 'stats.antenna' is used uninitialized in this function drivers/net/wireless/libertas_tf/main.c:578: warning: 'stats.mactime' is used uninitialized in this function stats struct needs to be set to 0 before use. Signed-off-by: Prarit Bhargava Signed-off-by: John W. Linville commit b561e8274f75831ee87e4ea378cbb1f9f050a51a Author: Shanyu Zhao Date: Tue Jun 1 17:13:58 2010 -0700 iwlagn: verify flow id in compressed BA packet The flow id (scd_flow) in a compressed BA packet should match the txq_id of the queue from which the aggregated packets were sent. However, in some hardware like the 1000 series, sometimes the flow id is 0 for the txq_id (10 to 19). This can cause the annoying message: [ 2213.306191] iwlagn 0000:01:00.0: Received BA when not expected [ 2213.310178] iwlagn 0000:01:00.0: Read index for DMA queue txq id (0), index 5, is out of range [0-256] 7 7. And even worse, if agg->wait_for_ba is true when the bad BA is arriving, this can cause system hang due to NULL pointer dereference because the code is operating in a wrong tx queue! Signed-off-by: Shanyu Zhao Signed-off-by: Pradeep Kulkarni Signed-off-by: Reinette Chatre commit da5ae1cfff4cc5b9392eab59b227ad907626d7aa Author: Reinette Chatre Date: Fri May 28 09:28:39 2010 -0700 iwlwifi: serialize station management actions We are seeing some race conditions between incoming station management requests (station add/remove) and the internal unassoc RXON command that modifies station table. Modify these flows to require the mutex to be held and thus serializing them. This fixes http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2207 Signed-off-by: Reinette Chatre commit 63a07cb64ccc3ceae619d3298545d602ab5ecd38 Merge: b95a568 327723e Author: Linus Torvalds Date: Wed Jun 9 12:44:19 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: (21 commits) mac80211: fix deauth before assoc iwlwifi: add missing rcu_read_lock mac80211: fix function pointer check wireless: remove my name from the maintainer list ath5k: fix NULL pointer in antenna configuration p54usb: Add device ID for Dell WLA3310 USB wl1251: fix a memory leak in probe ipmr: dont corrupt lists 8139too: fix buffer overrun in rtl8139_init_board asix: check packet size against mtu+ETH_HLEN instead of ETH_FRAME_LEN r8169: fix random mdio_write failures ip6mr: fix a typo in ip6mr_for_each_table() iwlwifi: move sysfs_create_group to post request firmware iwlwifi: add name to Maintainers list iwl3945: fix internal scan iwl3945: enable stuck queue detection on 3945 ipv6: avoid high order allocations ath5k: retain promiscuous setting ath5k: depend on CONFIG_PM_SLEEP for suspend/resume functions mac80211: process station blockack action frames from work ... commit 327723edebbbd621ed35b0d63073685eb225563e Merge: 035320d b054b74 Author: David S. Miller Date: Wed Jun 9 11:13:23 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit b054b747a694927879c94dd11af54d04346aed7d Author: Johannes Berg Date: Mon Jun 7 21:50:07 2010 +0200 mac80211: fix deauth before assoc When we receive a deauthentication frame before having successfully associated, we neither print a message nor abort assocation. The former makes it hard to debug, while the latter later causes a warning in cfg80211 when, as will typically be the case, association timed out. This warning was reported by many, e.g. in https://bugzilla.kernel.org/show_bug.cgi?id=15981, but I couldn't initially pinpoint it. I verified the fix by hacking hostapd to send a deauth frame instead of an association response. Cc: stable@kernel.org Signed-off-by: Johannes Berg Tested-by: Miles Lane Signed-off-by: John W. Linville commit 6db6340c42d027b6364d49fa99d69019aca24de4 Author: Johannes Berg Date: Mon Jun 7 21:20:38 2010 +0200 iwlwifi: add missing rcu_read_lock Using ieee80211_find_sta() needs to be under RCU read lock, which iwlwifi currently misses, so fix it. Cc: stable@kernel.org Reported-by: Miles Lane Signed-off-by: Johannes Berg Acked-by: Reinette Chatre Tested-by: Miles Lane Signed-off-by: John W. Linville commit 35dd0509b21e4b5bab36b9eb80c8dab0322f5007 Author: Holger Schurig Date: Mon Jun 7 16:33:49 2010 +0200 mac80211: fix function pointer check This makes "iw wlan0 dump survey" work again with mac80211-based drivers that support it, e.g. ath5k. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 436c109adb54433fff689abd71c23a6505e46bb0 Author: Bruno Randolf Date: Mon Jun 7 13:11:19 2010 +0900 ath5k: fix NULL pointer in antenna configuration If the channel is not set yet and we configure the antennas just store the setting. It will be activated during the next reset, when the channel is set. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 0f666a08901f8b01f294ca0ad751019375240ae3 Author: Jason Dravet Date: Sat Jun 5 15:08:29 2010 -0500 p54usb: Add device ID for Dell WLA3310 USB Add Dell WLA3310 USB wireless card, which has a Z-Com XG-705A chipset, to the USB Ids in p54usb. Signed-off-by: Jason Dravet Tested-by: Richard Gregory Tillmore Signed-off-by: Larry Finger Acked-by: Christian Lamparter Cc: Signed-off-by: John W. Linville commit aa679c36756003f1fabdb9fc6f00eb159559f7c3 Author: Grazvydas Ignotas Date: Sat Jun 5 02:25:47 2010 +0300 wl1251: fix a memory leak in probe wl1251_sdio_probe() error path is missing wl1251_free_hw, add it. Signed-off-by: Grazvydas Ignotas Acked-by: Kalle Valo Cc: stable@kernel.org Signed-off-by: John W. Linville commit 7d47618a2ade0cb6d8a0b2597029c383c1662fa0 Author: Emmanuel Grumbach Date: Sun May 23 00:14:08 2010 -0700 iwlwifi: move sysfs_create_group to post request firmware Move the sysfs_create_group to iwl_ucode_callback after we have safely got the firmware. The motivation to do this comes from a warning from lockdep which detected that we request priv->mutex while holding s_active during a sysfs request (show_statistics in the example copy pasted). The reverse order exists upon request_firmware: request_firmware which is a sysfs operation that requires s_active is run under priv->mutex. This ensures that we don't get sysfs request before we finish to request the firmware, avoiding this deadlock. ======================================================= [ INFO: possible circular locking dependency detected ] ------------------------------------------------------- cat/2595 is trying to acquire lock: (&priv->mutex){+.+.+.}, at: [] show_statistics+0x48/0x100 [iwlagn] but task is already holding lock: (s_active){++++.+}, at: [] sysfs_get_active_two+0x1d/0x50 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (s_active){++++.+}: [] __lock_acquire+0xc44/0x1230 [] lock_acquire+0x8d/0x110 [] sysfs_addrm_finish+0xe9/0x180 [] sysfs_hash_and_remove+0x4a/0x80 [] sysfs_remove_group+0x44/0xd0 [] dpm_sysfs_remove+0x15/0x20 [] device_del+0x38/0x170 [] device_unregister+0x1e/0x60 [] _request_firmware+0x29d/0x550 [] request_firmware+0x17/0x20 [] iwl_mac_start+0xb1/0x1230 [iwlagn] [] ieee80211_open+0x436/0x6f0 [mac80211] [] dev_open+0x92/0xf0 [] dev_change_flags+0x7b/0x190 [] do_setlink+0x178/0x3b0 [] rtnl_setlink+0xf9/0x130 [] rtnetlink_rcv_msg+0x1bb/0x1f0 [] netlink_rcv_skb+0x86/0xa0 [] rtnetlink_rcv+0x1c/0x30 [] netlink_unicast+0x263/0x290 [] netlink_sendmsg+0x1c8/0x2a0 [] sock_sendmsg+0xcd/0x100 [] sys_sendmsg+0x15d/0x290 [] sys_socketcall+0xeb/0x2a0 [] sysenter_do_call+0x12/0x38 -> #0 (&priv->mutex){+.+.+.}: [] __lock_acquire+0x1054/0x1230 [] lock_acquire+0x8d/0x110 [] __mutex_lock_common+0x58/0x470 [] mutex_lock_nested+0x3a/0x50 [] show_statistics+0x48/0x100 [iwlagn] [] dev_attr_show+0x29/0x50 [] sysfs_read_file+0xdd/0x190 [] vfs_read+0x9f/0x190 [] sys_read+0x42/0x70 [] sysenter_do_call+0x12/0x38 other info that might help us debug this: 3 locks held by cat/2595: #0: (&buffer->mutex){+.+.+.}, at: [] sysfs_read_file+0x35/0x190 #1: (s_active){++++.+}, at: [] sysfs_get_active_two+0x2d/0x50 #2: (s_active){++++.+}, at: [] sysfs_get_active_two+0x1d/0x50 stack backtrace: Pid: 2595, comm: cat Not tainted 2.6.33-tp-rc4 #2 Call Trace: [] ? printk+0x1d/0x22 [] print_circular_bug+0xc2/0xd0 [] __lock_acquire+0x1054/0x1230 [] ? sched_clock_cpu+0x121/0x180 [] lock_acquire+0x8d/0x110 [] ? show_statistics+0x48/0x100 [iwlagn] [] __mutex_lock_common+0x58/0x470 [] ? show_statistics+0x48/0x100 [iwlagn] [] mutex_lock_nested+0x3a/0x50 [] ? show_statistics+0x48/0x100 [iwlagn] [] show_statistics+0x48/0x100 [iwlagn] [] ? sysfs_get_active+0x69/0xb0 [] ? show_statistics+0x0/0x100 [iwlagn] [] dev_attr_show+0x29/0x50 [] sysfs_read_file+0xdd/0x190 [] ? security_file_permission+0x14/0x20 [] ? rw_verify_area+0x62/0xd0 [] vfs_read+0x9f/0x190 [] ? up_read+0x1b/0x30 [] ? sysfs_read_file+0x0/0x190 [] ? audit_syscall_entry+0x1f4/0x220 [] sys_read+0x42/0x70 [] sysenter_do_call+0x12/0x38 Signed-off-by: Emmanuel Grumbach Signed-off-by: Reinette Chatre commit 1402364162afbaac1b8a74ee21aeb013e817ac7d Author: Abhijeet Kolekar Date: Wed Jun 2 21:15:10 2010 -0700 iwl3945: fix internal scan Port of internal scan to iwl3945 missed introduction of iwl3945_get_single_channel_for_scan. Fix the following bug by introducing the iwl3945_get_single_channel_for_scan http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2208 Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre commit a6866ac93e6cb68091326e80b4fa4619a5957644 Author: Reinette Chatre Date: Thu May 20 10:54:40 2010 -0700 iwl3945: enable stuck queue detection on 3945 We learn from http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=1834 and https://bugzilla.redhat.com/show_bug.cgi?id=589777 that 3945 can also suffer from a stuck command queue. Enable stuck queue detection for iwl3945 to enable recovery in this case. Signed-off-by: Reinette Chatre commit ed7dc1dfbcef301407a1e3138a49dc94e5a19d0a Merge: 7926e0b ca73359 Author: Linus Torvalds Date: Sat Jun 5 07:32:21 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) X25: remove duplicated #include tcp: use correct net ns in cookie_v4_check() rps: tcp: fix rps_sock_flow_table table updates ppp_generic: fix multilink fragment sizes syncookies: remove Kconfig text line about disabled-by-default ixgbe: only check pfc bits in hang logic if pfc is enabled net: check for refcount if pop a stacked dst_entry ixgbe: return IXGBE_ERR_RAR_INDEX when out of range act_pedit: access skb->data safely sfc: Store port number in net_device::dev_id epic100: Test __BIG_ENDIAN instead of (non-existent) CONFIG_BIG_ENDIAN tehuti: return -EFAULT on copy_to_user errors isdn/kcapi: return -EFAULT on copy_from_user errors e1000e: change logical negate to bitwise sfc: Get port number from CS_PORT_NUM, not PCI function number cls_u32: use skb_header_pointer() to dereference data safely TCP: tcp_hybla: Fix integer overflow in slow start increment act_nat: fix the wrong checksum when addr isn't in old_addr/mask net/fec: fix pm to survive to suspend/resume korina: count RX DMA OVR as rx_fifo_error ... commit 6b5dcccb495b66b3b0b9581cdccfed038e5d68a2 Author: Bob Copeland Date: Fri Jun 4 08:14:14 2010 -0400 ath5k: retain promiscuous setting Commit 56d1de0a21db28e41741cfa0a66e18bc8d920554, "ath5k: clean up filter flags setting" introduced a regression in monitor mode such that the promisc filter flag would get lost. Although we set the promisc flag when it changed, we did not preserve it across subsequent calls to configure_filter. This patch restores the original functionality. Cc: stable@kernel.org Bisected-by: weedy2887@gmail.com Tested-by: weedy2887@gmail.com Tested-by: Rick Farina Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit e307139d7ad532761cdbf2a665f3c53c509a2d0e Author: Tobias Doerffel Date: Sun May 30 00:02:18 2010 +0200 ath5k: depend on CONFIG_PM_SLEEP for suspend/resume functions When building a kernel with CONFIG_PM=y but neither suspend nor hibernate support, the compiler complains about the static functions ath5k_pci_suspend() and ath5k_pci_resume() not being used: drivers/net/wireless/ath/ath5k/base.c:713:12: warning: ‘ath5k_pci_suspend’ defined but not used drivers/net/wireless/ath/ath5k/base.c:722:12: warning: ‘ath5k_pci_resume’ defined but not used Depending on CONFIG_PM_SLEEP rather than CONFIG_PM fixes the issue. Signed-off-by: Tobias Doerffel Signed-off-by: John W. Linville commit 8b9a4e6e442756f670ef507f09bbc6c11dc0fca6 Author: Johannes Berg Date: Fri May 28 15:22:58 2010 +0200 mac80211: process station blockack action frames from work Processing an association response could take a bit of time while we set up the hardware etc. During that time, the AP might already send a blockack request. If this happens very quickly on a fairly slow machine, we can end up processing the blockack request before the association processing has finished. Since the blockack processing cannot sleep right now, we also cannot make it wait in the driver. As a result, sometimes on slow machines the iwlagn driver gets totally confused, and no traffic can pass when the aggregation setup was done before the assoc setup completed. I'm working on a proper fix for this, which involves queuing all blockack category action frames from a work struct, and also allowing the ampdu_action driver callback to sleep, which will generally clean up the code and make things easier. However, this is a very involved and complex change. To fix the problem at hand in a way that can also be backported to stable, I've come up with this patch. Here, I simply process all aggregation action frames from the managed interface skb queue, which means their processing will be serialized with processing the association response, thereby fixing the problem. Signed-off-by: Johannes Berg Cc: stable@kernel.org Signed-off-by: John W. Linville commit 56bf882230d2266a2e07b7f404dc96d157a65daa Author: John W. Linville Date: Fri Jun 4 14:47:35 2010 -0400 Revert "wireless: hostap, fix oops due to early probing interrupt" This reverts commit 15920d8afc87861672e16fa95ae2764b065d6dd3. This patch was discovered to cause some hostap devices to fail to initialized. https://bugzilla.kernel.org/show_bug.cgi?id=16111 Signed-off-by: John W. Linville commit 4f4aeb7fd0f7e6ca008bb2147ba36cee13876595 Merge: a1868dc 51a0d38 Author: David S. Miller Date: Thu Jun 3 12:30:58 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit c2cdf6aba0dfcfb54be646ab630c1bccd180e890 Author: Benjamin Herrenschmidt Date: Wed Jun 2 17:09:18 2010 +1000 powerpc/macio: Fix probing of macio devices by using the right of match table Grant patches added an of mach table to struct device_driver. However, while he changed the macio device code to use that, he left the match table pointer in struct macio_driver and didn't update drivers to use the "new" one, thus breaking the probing. This completes the change by moving all drivers to setup the "new" one, removing all traces of the old one, and while at it (since it changes the exact same locations), I also remove two other duplicates from struct driver which are the name and owner fields. Signed-off-by: Benjamin Herrenschmidt commit 51a0d38de26226f2779912d92f155b93d539da9a Author: Johannes Berg Date: Mon May 31 12:00:12 2010 +0200 mac80211: fix dialog token allocator The dialog token allocator has apparently been broken since b83f4e15 ("mac80211: fix deadlock in sta->lock") because it got moved out under the spinlock. Fix it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8ae5977ff95c03fe6c36a5721c57dcb4bfe4f290 Author: Johannes Berg Date: Sun May 30 14:52:58 2010 +0200 mac80211: fix blockack-req processing Daniel reported that the paged RX changes had broken blockack request frame processing due to using data that wasn't really part of the skb data. Fix this using skb_copy_bits() for the needed data. As a side effect, this adds a check on processing too short frames, which previously this code could do. Reported-by: Daniel Halperin Signed-off-by: Johannes Berg Acked-by: Daniel Halperin Signed-off-by: John W. Linville commit 397f385bdba6cdf7752467a7ae81810340929e44 Author: Bruno Randolf Date: Wed May 19 10:30:49 2010 +0900 ath5k: wake queues on reset We can wake all queues after a chip reset since everything should be set up and we are ready to transmit. If we don't do that we might end up starting up with stopped queues, not beeing able to transmit. (This started to happen after "ath5k: clean up queue manipulation" but since periodic calibration also stopped and started the queues this effect was hidden most of the time). This way we can also get rid of the superfluous ath5k_reset_wake() function. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 64960848abd18d0bcde3f53ffa7ed0b631e6b25d Merge: 2903037 67a3e12 Author: David S. Miller Date: Mon May 31 05:46:45 2010 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 368a07d26ae99c80678a968946744fd83e7708d0 Author: Johannes Berg Date: Fri May 28 14:26:23 2010 +0200 mac80211: make a function static sparse correctly complains that __ieee80211_get_channel_mode is not static. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c6a6368b32aa4fd145e840c8d8dac6923fae2688 Author: Prarit Bhargava Date: Thu May 27 14:41:20 2010 -0400 libertas: fix uninitialized variable warning Fixes: drivers/net/wireless/libertas/rx.c: In function process_rxed_802_11_packet: drivers/net/wireless/libertas/rx.c:354: error: radiotap_hdr.flags may be used uninitialized in this function Signed-off-by: Prarit Bhargava Signed-off-by: John W. Linville commit 7c9fd60f9764373414c0a64f500a78635b0a0a7b Author: Vasanthakumar Thiagarajan Date: Wed May 26 19:06:53 2010 -0700 ath9k: Fix bug in the way "bf_tx_aborted" of struct ath_buf is used This bug was introduced by the following commit Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:38:46 2010 -0400 ath9k: Remove ATH9K_TX_SW_ABORTED and introduce a bool for this purpose Wrong buffer is checked for bf_tx_aborted field in ath_tx_num_badfrms(), this may result in a rate scaling with wrong feedback (number of unacked frames in this case). It is the last one in the chain of buffers for an aggregate frame that should be checked. Also it misses the initialization of this field in the buffer, this may lead to a situation where we stop the sw retransmission of failed subframes associated to this buffer. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 9be8ab2ea81f84c1726d79613c342141f5d19a3b Author: Justin P. Mattock Date: Wed May 26 11:00:04 2010 -0700 ath9k: Fix ath_print in xmit for hardware reset. ath_print in xmit.c should say "Reseting hardware" instead of Resetting HAL!(since HAL is being fazed out). dmesg shows: [ 8660.899624] ath: Failed to stop TX DMA in 100 msec after killing last frame [ 8660.899676] ath: Unable to stop TxDMA. Reset HAL! Signed-off-by: Justin P. Mattock Signed-off-by: John W. Linville commit 5001960016bb53a1075bd9d62d7c067cd38c5a68 Author: Christian Lamparter Date: Tue May 25 23:58:47 2010 +0200 ar9170usb: fix read from freed driver context Commit "ar9170: wait for asynchronous firmware loading" introduced a bug, which is triggered by fatal errors while the driver is initializing the device. BUG: unable to handle kernel paging request at 6b6b6bf7 IP: [] kobject_put+0x7/0x70 *pde = 00000000 Oops: 0000 [#1] PREEMPT last sysfs file: /sys/devices/platform/hdaps/position Modules linked in: ar9170usb [...] Pid: 6246, comm: firmware/ar9170 Not tainted 2.6.34-wl #54 EIP: 0060:[] EFLAGS: 00010206 CPU: 0 EIP is at kobject_put+0x7/0x70 EAX: 6b6b6bd7 EBX: f4d3d0e0 ECX: f5ba9124 EDX: f6af2a7c ESI: 00000000 EDI: f4d3d0e0 EBP: 00000000 ESP: f5e98f9c DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068 Process firmware/ar9170 (pid: 6246) Stack: c12532ed 00000246 f5bfaa70 f8487353 f4d3d0e0 Call Trace: [] ? device_release_driver+0x1d/0x30 [] ? ar9170_usb_firmware_failed+0x43/0x70 [ar9170usb] [] ? request_firmware_work_func+0x2c/0x70 [] ? request_firmware_work_func+0x0/0x70 [] ? kthread+0x74/0x80 [] ? kthread+0x0/0x80 [] ? kernel_thread_helper+0x6/0x10 Code: 40 d3 f2 ff 85 c0 89 c3 74 0a ba 44 86 4c c1 e8 [...] EIP: [] kobject_put+0x7/0x70 SS:ESP 0068:f5e98f9c CR2: 000000006b6b6bf7 ---[ end trace e81abb992434b410 ]--- Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit b578bb490fb605c23c20b63995f26d3ab2cfb6e0 Author: John W. Linville Date: Wed May 26 14:40:32 2010 -0400 Revert "rt2x00: Fix rt2800usb TX descriptor writing." This reverts commit 663cb47cc2c5acd32850f67d051e47d62ed199c9. This patch was merged out of the proper order, so instead of fixing a problem with a prior (unmerged) patch, it creates one. Ooops! Signed-off-by: John W. Linville commit b1cdc4670b9508fcd47a15fbd12f70d269880b37 Merge: ce7d022 f925b13 Author: Linus Torvalds Date: Tue May 25 16:59:51 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: (63 commits) drivers/net/usb/asix.c: Fix pointer cast. be2net: Bug fix to avoid disabling bottom half during firmware upgrade. proc_dointvec: write a single value hso: add support for new products Phonet: fix potential use-after-free in pep_sock_close() ath9k: remove VEOL support for ad-hoc ath9k: change beacon allocation to prefer the first beacon slot sock.h: fix kernel-doc warning cls_cgroup: Fix build error when built-in macvlan: do proper cleanup in macvlan_common_newlink() V2 be2net: Bug fix in init code in probe net/dccp: expansion of error code size ath9k: Fix rx of mcast/bcast frames in PS mode with auto sleep wireless: fix sta_info.h kernel-doc warnings wireless: fix mac80211.h kernel-doc warnings iwlwifi: testing the wrong variable in iwl_add_bssid_station() ath9k_htc: rare leak in ath9k_hif_usb_alloc_tx_urbs() ath9k_htc: dereferencing before check in hif_usb_tx_cb() rt2x00: Fix rt2800usb TX descriptor writing. rt2x00: Fix failed SLEEP->AWAKE and AWAKE->SLEEP transitions. ... commit a65e4cb402b5f3e120570ba1faca4354d47e8f2f Author: Felix Fietkau Date: Thu May 13 20:37:25 2010 +0200 ath9k: remove VEOL support for ad-hoc With VEOL, Beacon transmission in ad-hoc does not currently work. I believe for larger ad-hoc networks, VEOL is too unreliable, as it can get beacon transmissions stuck during synchronization. Use SWBA based beacon trasmission similar to AP mode instead. Signed-off-by: Felix Fietkau Acked-by: Benoit Papillault Signed-off-by: John W. Linville commit 774610e4f26cb3d9da14a8b5974324c9e51017bd Author: Felix Fietkau Date: Thu May 13 20:37:24 2010 +0200 ath9k: change beacon allocation to prefer the first beacon slot This fixes IBSS beacon transmissions without VEOL enabled Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 26355387c21accb0919d34ee59478c23b2030ee5 Author: Andy Shevchenko Date: Mon May 24 14:33:28 2010 -0700 drivers: wireless: use new hex_to_bin() method Instead of using own implementation involve hex_to_bin() function. Signed-off-by: Andy Shevchenko Acked-by: John W. Linville Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4be929be34f9bdeffa40d815d32d7d60d2c7f03b Author: Alexey Dobriyan Date: Mon May 24 14:33:03 2010 -0700 kernel-wide: replace USHORT_MAX, SHORT_MAX and SHORT_MIN with USHRT_MAX, SHRT_MAX and SHRT_MIN - C99 knows about USHRT_MAX/SHRT_MAX/SHRT_MIN, not USHORT_MAX/SHORT_MAX/SHORT_MIN. - Make SHRT_MIN of type s16, not int, for consistency. [akpm@linux-foundation.org: fix drivers/dma/timb_dma.c] [akpm@linux-foundation.org: fix security/keys/keyring.c] Signed-off-by: Alexey Dobriyan Acked-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ededf1f82ac8f06a0311097a68ccb582d32e70d5 Author: Vasanthakumar Thiagarajan Date: Sat May 22 23:58:13 2010 -0700 ath9k: Fix rx of mcast/bcast frames in PS mode with auto sleep The functionality to keep the device awake until it is done with the rx of any mcast/bcast frames which are pending on AP should also be added to the hardwares which support auto sleep feature. This patch fixes frequent failures in ARP resolution when it is initiated by the other end. Currently auto sleep is enabled only for ar9003 in ath9k. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit a0c9101c05389e69a5382967667ca686a8d8fbd3 Author: Randy Dunlap Date: Fri May 21 11:28:41 2010 -0700 wireless: fix sta_info.h kernel-doc warnings Fix sta_info.h kernel-doc warnings: Warning(net/mac80211/sta_info.h:164): No description found for parameter 'tid_active_rx[STA_TID_NUM]' Warning(net/mac80211/sta_info.h:164): Excess struct/union/enum/typedef member 'tid_state_rx' description in 'sta_ampdu_mlme' Signed-off-by: Randy Dunlap Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 96900c751dd16fc9455e7184cbe8758ac7aa7e79 Author: Dan Carpenter Date: Fri May 14 16:53:46 2010 +0200 iwlwifi: testing the wrong variable in iwl_add_bssid_station() The intent here is to test that "sta_id_r" is a valid pointer. We do this same test later on in the function. Btw iwl_add_bssid_station() is called from two places and "sta_id_r" is a valid pointer from both callers. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 7606688afc767c0b94bb2d79512affe3ba1264ce Author: Dan Carpenter Date: Fri May 14 16:52:37 2010 +0200 ath9k_htc: rare leak in ath9k_hif_usb_alloc_tx_urbs() This is obviously a small picky thing. The original error handling code doesn't free the most recent allocations which haven't been added to the hif_dev->tx.tx_buf list yet. Signed-off-by: Dan Carpenter Acked-by: Sujith Signed-off-by: John W. Linville commit 690e781c5a3241d2366a3120ca410162da9c365e Author: Dan Carpenter Date: Fri May 14 16:50:56 2010 +0200 ath9k_htc: dereferencing before check in hif_usb_tx_cb() After c11d8f89d3b7: "ath9k_htc: Simplify TX URB management" we no longer assume that tx_buf is a non-null pointer. Signed-off-by: Dan Carpenter Acked-by: Sujith Signed-off-by: John W. Linville commit 663cb47cc2c5acd32850f67d051e47d62ed199c9 Author: Gertjan van Wingerde Date: Thu May 13 21:16:04 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 Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9655a6ec19ca656af246fb80817aa337892aefbf Author: Gertjan van Wingerde Date: Thu May 13 21:16:03 2010 +0200 rt2x00: Fix failed SLEEP->AWAKE and AWAKE->SLEEP transitions. (Based on a patch created by Ondrej Zary) In some circumstances the Ralink devices do not properly go to sleep or wake up, with timeouts occurring. Fix this by retrying telling the device that it has to wake up or sleep. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3dc3fc52ea1537f5f37ab301d2b1468a0e79988f Author: John W. Linville Date: Mon May 24 13:36:37 2010 -0400 Revert "ath9k: Group Key fix for VAPs" This reverts commit 03ceedea972a82d343fa5c2528b3952fa9e615d5. This patch was reported to cause a regression in which connectivity is lost and cannot be reestablished after a suspend/resume cycle. Signed-off-by: John W. Linville commit 617f3d0d71e2eae4d8d475cefe9363b140e52083 Author: Tejun Heo Date: Tue Mar 30 02:52:38 2010 +0900 wireless: update gfp/slab.h includes Implicit slab.h inclusion via percpu.h is about to go away. Make sure gfp.h or slab.h is included as necessary. Signed-off-by: Tejun Heo Cc: Stephen Rothwell Signed-off-by: John W. Linville commit 52a9bd2a8fac5193435bb575313c89656709aea8 Author: Helmut Schaa Date: Wed May 19 08:47:59 2010 +0200 rt2x00: don't use to_pci_dev in rt2x00pci_uninitialize Don't use to_pci_dev in rt2x00pci_uninitialize to get the allocated irq as it won't work for platform devices (SoC). Instead, use the irq field that's already used everywhere else. Signed-off-by: Helmut Schaa Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit b5eae9ff5ba6d76de19286dd6429acd7cde3f79d Author: Bruno Randolf Date: Wed May 19 10:18:16 2010 +0900 ath5k: consistently use rx_bufsize for RX DMA We should use the same buffer size we set up for DMA also in the hardware descriptor. Previously we used common->rx_bufsize for setting up the DMA mapping, but used skb_tailroom(skb) for the size we tell to the hardware in the descriptor itself. The problem is that skb_tailroom(skb) can give us a larger value than the size we set up for DMA before. This allows the hardware to write into memory locations not set up for DMA. In practice this should rarely happen because all packets should be smaller than the maximum 802.11 packet size. On the tested platform rx_bufsize is 2528, and we allocated an skb of 2559 bytes length (including padding for cache alignment) but sbk_tailroom() was 2592. Just consistently use rx_bufsize for all RX DMA memory sizes. Also use the return value of the descriptor setup function. Cc: stable@kernel.org Signed-off-by: Bruno Randolf Reviewed-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a69eee4988752c7196677958b4ed8f4c2b28499a Author: Linus Torvalds Date: Mon May 24 07:45:43 2010 -0700 Revert "ath9k: Group Key fix for VAPs" This reverts commit 03ceedea972a82d343fa5c2528b3952fa9e615d5, since it breaks resume from suspend-to-ram on Rafael's Acer Ferrari One. NetworkManager thinks everything is ok, but it can't connect to the AP to get an IP address after the resume. In fact, it even breaks resume for non-ath9k chipsets: reverting it also fixes Rafael's Toshiba Protege R500 with the iwlagn driver. As Johannes says: "Indeed, this patch needs to be reverted. That mac80211 change is wrong and completely unnecessary." Reported-and-requested-by: Rafael J. Wysocki Acked-by: Johannes Berg Cc: Daniel Yingqiang Ma Cc: John W. Linville Cc: David Miller Signed-off-by: Linus Torvalds commit 579d7534ca83235794b6d9ef3cd473ffc14e9d42 Author: Johannes Berg Date: Tue May 18 14:36:34 2010 +0200 cfg80211: add missing braces Specifying a valid channel type will get goto out rather than continuing, due to missing braces. This affects both remain on channel and action frame TX commands. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b6411fc23c70d7a9f57a0bfb35212ad92b5c2b5e Author: Jussi Kivilinna Date: Tue May 18 11:20:51 2010 +0300 rndis_wlan: replace wireless_send_event with cfg80211_disconnected Remove (hopefully) last use of WEXT in rndis_wlan. Replace wireless_send_event with missing cfg80211_disconnected in rndis_wlan_do_link_down_work. Reported-by: "Rogério Brito" Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit ab1d864431a557580945387477bcbcb9dc7f7135 Author: Luis R. Rodriguez Date: Mon May 17 13:15:30 2010 -0400 ath9k: remove AR9003 from PCI IDs for now We tried to squeeze as much AR9003 support into this kernel release cycle but there are a few features which are still being tested and developed. Some of these features are critical to the stable operation of AR9003 so for now disable AR9003 support all together. This will get re-enabled once all necessary features are in place but very likely will not happen for 2.6.35. Reviewed-by: Don Breslin Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9fbc630c89fd210e15ffe84fd6e968a2d39000b0 Author: Felix Fietkau Date: Sat May 15 15:46:17 2010 +0200 cfg80211: fix crash in cfg80211_set_freq() Since wdev can be NULL, check it before dereferencing it Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit b9f2e39d4c2bcd8e94f73ae14450d7764f930a41 Author: Juuso Oikarinen Date: Fri May 14 10:46:24 2010 +0300 wl1271: Fix RX data path frame lengths The current frame length used by the driver for RX frames is the SPI bus transfer length. This length has padding bytes, which do not belong to the WLAN frame. As there is no other length information in the WLAN frame except the skb length this problem caused for instance extra ESSID's to be listed at the end of scan results (IE id 0) with zero length. Fix the frame length by removing padding. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 073d5eab6fc85b6c278d507a5633b759a85dc878 Author: Reinette Chatre Date: Thu May 13 14:49:44 2010 -0700 iwlwifi: fix internal scan race It is possible for internal scan to race against itself if the device is not returning the scan results from first requests. What happens in this case is the cleanup done during the abort of the first internal scan also cleans up part of the new scan, causing it to access memory it shouldn't. Here are details: * First internal scan is triggered and scan command sent to device. * After seven seconds there is no scan results so the watchdog timer triggers a scan abort. * The scan abort succeeds and a SCAN_COMPLETE_NOTIFICATION is received for failed scan. * During processing of SCAN_COMPLETE_NOTIFICATION we clear STATUS_SCANNING and queue the "scan_completed" work. ** At this time, since the problem that caused the internal scan in first place is still present, a new internal scan is triggered. The behavior at this point is a bit different between 2.6.34 and 2.6.35 since 2.6.35 has a lot of this synchronized. The rest of the race description will thus be generalized. ** As part of preparing for the scan "is_internal_short_scan" is set to true. * At this point the completion work for fist scan is run. As part of this there is some locking missing around the "is_internal_short_scan" variable and it is set to "false". ** Now the second scan runs and it considers itself a real (not internal0 scan and thus causes problems with wrong memory being accessed. The fix is twofold. * Since "is_internal_short_scan" should be protected by mutex, fix this in scan completion work so that changes to it can be serialized. * Do not queue a new internal scan if one is in progress. This fixes https://bugzilla.kernel.org/show_bug.cgi?id=15824 Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 22fe88d3d85850267ff4535b465794a5768f868a Author: Sujith Date: Thu May 13 10:34:08 2010 +0530 cfg80211: Fix signal_type comparison signal_type is enum cfg80211_signal_type. This fixes the gcc warning: scan.c: In function `cfg80211_inform_bss': scan.c:518:6: warning: comparison between `enum cfg80211_signal_type' and `enum nl80211_bss' scan.c: In function `cfg80211_inform_bss_frame': scan.c:574:6: warning: comparison between `enum cfg80211_signal_type' and `enum nl80211_bss' Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7a9b149212f3716c598afe973b6261fd58453b7a Merge: 3d62e3f e26bcf3 Author: Linus Torvalds Date: Thu May 20 21:26:12 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (229 commits) USB: remove unused usb_buffer_alloc and usb_buffer_free macros usb: musb: update gfp/slab.h includes USB: ftdi_sio: fix legacy SIO-device header USB: kl5usb105: reimplement using generic framework USB: kl5usb105: minor clean ups USB: kl5usb105: fix memory leak USB: io_ti: use kfifo to implement write buffering USB: io_ti: remove unsused private counter USB: ti_usb: use kfifo to implement write buffering USB: ir-usb: fix incorrect write-buffer length USB: aircable: fix incorrect write-buffer length USB: safe_serial: straighten out read processing USB: safe_serial: reimplement read using generic framework USB: safe_serial: reimplement write using generic framework usb-storage: always print quirks USB: usb-storage: trivial debug improvements USB: oti6858: use port write fifo USB: oti6858: use kfifo to implement write buffering USB: cypress_m8: use kfifo to implement write buffering USB: cypress_m8: remove unused drain define ... Fix up conflicts (due to usb_buffer_alloc/free renaming) in drivers/input/tablet/acecad.c drivers/input/tablet/kbtab.c drivers/input/tablet/wacom_sys.c drivers/media/video/gspca/gspca.c sound/usb/usbaudio.c commit f8965467f366fd18f01feafb5db10512d7b4422c Merge: a26272e 2ec8c6b Author: Linus Torvalds Date: Thu May 20 21:04:44 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: (1674 commits) qlcnic: adding co maintainer ixgbe: add support for active DA cables ixgbe: dcb, do not tag tc_prio_control frames ixgbe: fix ixgbe_tx_is_paused logic ixgbe: always enable vlan strip/insert when DCB is enabled ixgbe: remove some redundant code in setting FCoE FIP filter ixgbe: fix wrong offset to fc_frame_header in ixgbe_fcoe_ddp ixgbe: fix header len when unsplit packet overflows to data buffer ipv6: Never schedule DAD timer on dead address ipv6: Use POSTDAD state ipv6: Use state_lock to protect ifa state ipv6: Replace inet6_ifaddr->dead with state cxgb4: notify upper drivers if the device is already up when they load cxgb4: keep interrupts available when the ports are brought down cxgb4: fix initial addition of MAC address cnic: Return SPQ credit to bnx2x after ring setup and shutdown. cnic: Convert cnic_local_flags to atomic ops. can: Fix SJA1000 command register writes on SMP systems bridge: fix build for CONFIG_SYSFS disabled ARCNET: Limit com20020 PCI ID matches for SOHARD cards ... Fix up various conflicts with pcmcia tree drivers/net/ {pcmcia/3c589_cs.c, wireless/orinoco/orinoco_cs.c and wireless/orinoco/spectrum_cs.c} and feature removal (Documentation/feature-removal-schedule.txt). Also fix a non-content conflict due to pm_qos_requirement getting renamed in the PM tree (now pm_qos_request) in net/mac80211/scan.c commit 997ea58eb92f9970b8af7aae48800d0ef43b9423 Author: Daniel Mack Date: Mon Apr 12 13:17:25 2010 +0200 USB: rename usb_buffer_alloc() and usb_buffer_free() users For more clearance what the functions actually do, usb_buffer_alloc() is renamed to usb_alloc_coherent() usb_buffer_free() is renamed to usb_free_coherent() They should only be used in code which really needs DMA coherency. All call sites have been changed accordingly, except for staging drivers. Signed-off-by: Daniel Mack Cc: Alan Stern Cc: Pedro Ribeiro Signed-off-by: Greg Kroah-Hartman commit 54291263519ac2c9bdda68b23b02fef3808deed4 Merge: 46ee964 acd200b Author: Linus Torvalds Date: Thu May 20 09:09:46 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: (29 commits) pcmcia: disable PCMCIA ioctl also for ARM drivers/staging/comedi: dev_node removal (quatech_daqp_cs) drivers/staging/comedi: dev_node removal (ni_mio_cs) drivers/staging/comedi: dev_node removal (ni_labpc_cs) drivers/staging/comedi: dev_node removal (ni_daq_dio24) drivers/staging/comedi: dev_node removal (ni_daq_700) drivers/staging/comedi: dev_node removal (das08_cs) drivers/staging/comedi: dev_node removal (cb_das16_cs) pata_pcmcia: get rid of extra indirection pcmcia: remove suspend-related comment from yenta_socket.c pcmcia: call pcmcia_{read,write}_cis_mem with ops_mutex held pcmcia: remove pcmcia_add_device_lock pcmcia: update gfp/slab.h includes pcmcia: remove unused mem_op.h pcmcia: do not autoadd root PCI bus resources pcmcia: clarify alloc_io_space, move it to resource handlers pcmcia: move all pcmcia_resource_ops providers into one module pcmcia: move high level CIS access code to separate file pcmcia: dev_node removal (core) pcmcia: dev_node removal (remaining drivers) ... commit 46ee9645094ad1eb5b4888882ecaa1fb87dcd2a3 Merge: fa5312d 25f3a5a Author: Linus Torvalds Date: Thu May 20 09:03:55 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: PM QOS update fix Freezer / cgroup freezer: Update stale locking comments PM / platform_bus: Allow runtime PM by default i2c: Fix bus-level power management callbacks PM QOS update PM / Hibernate: Fix block_io.c printk warning PM / Hibernate: Group swap ops PM / Hibernate: Move the first_sector out of swsusp_write PM / Hibernate: Separate block_io PM / Hibernate: Snapshot cleanup FS / libfs: Implement simple_write_to_buffer PM / Hibernate: document open(/dev/snapshot) side effects PM / Runtime: Add sysfs debug files PM: Improve device power management document PM: Update device power management document PM: Allow runtime_suspend methods to call pm_schedule_suspend() PM: pm_wakeup - switch to using bool commit 3fa21e07e6acefa31f974d57fba2b6920a7ebd1a Author: Joe Perches Date: Mon May 17 23:08:21 2010 -0700 net: Remove unnecessary returns from void function()s This patch removes from net/ (but not any netfilter files) all the unnecessary return; statements that precede the last closing brace of void functions. It does not remove the returns that are immediately preceded by a label as gcc doesn't like that. Done via: $ grep -rP --include=*.[ch] -l "return;\n}" net/ | \ xargs perl -i -e 'local $/ ; while (<>) { s/\n[ \t\n]+return;\n}/\n}/g; print; }' Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit ee289b6440c3b0ccb9459495783e8c299bec6604 Author: Joe Perches Date: Mon May 17 22:47:34 2010 -0700 drivers/net: remove useless semicolons switch and while statements don't need semicolons at end of statement [ Fixup minor conflicts with recent wimax merge... -DaveM ] Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 820ae8a80eb59962aefbbd4908dfe144ec0f9edb Merge: 380fefb 6fe70aa Author: David S. Miller Date: Mon May 17 21:09:11 2010 -0700 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 6fe70aae0d128339febfabc073ba4c4a03de4f45 Merge: 278554b 0c348d7c Author: John W. Linville Date: Mon May 17 13:57:43 2010 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem commit 0c348d7c1422d59a86d6fb37b53d75788043e50b Merge: fd76f14 b8d92c9 Author: John W. Linville Date: Mon May 17 13:31:05 2010 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit a4b770972b8f819e408d7cc3ae9637e15bff62f6 Author: Joe Perches Date: Fri May 14 00:19:28 2010 -0700 drivers/net: Remove unnecessary returns from void function()s This patch removes from drivers/net/ all the unnecessary return; statements that precede the last closing brace of void functions. It does not remove the returns that are immediately preceded by a label as gcc doesn't like that. It also does not remove null void functions with return. Done via: $ grep -rP --include=*.[ch] -l "return;\n}" net/ | \ xargs perl -i -e 'local $/ ; while (<>) { s/\n[ \t\n]+return;\n}/\n}/g; print; }' with some cleanups by hand. Compile tested x86 allmodconfig only. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit fd76f148ebc67d662f71f00128c8ddb0538168c0 Author: Gertjan van Wingerde Date: Tue May 11 23:51:43 2010 +0200 rt2x00: In debugfs frame dumping allow the TX descriptor to be part of the skb. Preparation for futher cleanups in the area of properly maintaining the skb data without fiddling with the skb->data pointer. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 185e5f77f891d5bc7a0d8c8eb2b1edf6c317edab Author: Gertjan van Wingerde Date: Tue May 11 23:51:41 2010 +0200 rt2x00: Dump beacons under a different identifier than TX frames. This allows for specific identification of beacons in the debugfs frame stream. Preparation for later differences between dumped TX frames and dumped beacons. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 85b7a8b3871bde7885516fed2a1c8da699913318 Author: Gertjan van Wingerde Date: Tue May 11 23:51:40 2010 +0200 rt2x00: Simplify TXD handling of beacons. The handling of tx descriptors for beacons can be simplified by updating write_tx_desc implementations of each driver to write directly to the queue entry descriptor instead of to a provided memory area. This is also a preparation for further clean ups where descriptors are properly reserved in the skb instead of fiddling with the skb data pointer. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit e01f1ec35ff91c8a3f4a3e48a0c8ab476124b973 Author: Gertjan van Wingerde Date: Tue May 11 23:51:39 2010 +0200 rt2x00: Re-order tx descriptor writing code in drivers. Where possible, write the tx descriptor words from start to end, to follow a logical ordering of words. Where this is not possible (in rt2400pci, rt2500pci and rt61pci) add a comment as to why word 0 needs to be written last. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6b97cb04f2766513c57b57f8ac4b44915296230f Author: Gertjan van Wingerde Date: Tue May 11 23:51:38 2010 +0200 rt2x00: Fix beacon descriptor writing for rt61pci. The buffer address descriptor word is not part of the TXINFO structure needed for beacons. The current writing of that word for beacons is therefore an out-of-bounds write. Fix this by only writing the buffer address descriptor word for TX queues. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 878f7045d8ae24f5a9e3a8a7ee5c33d30c30a553 Author: Gertjan van Wingerde Date: Tue May 11 23:51:37 2010 +0200 rt2x00: Consistently name skb frame descriptor skbdesc. The skb frame descriptor is called everywhere skbdesc, except in one place in rt2x00debug_dump_frame. Change that occurence to have consistent naming. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2cb1ba153787e195c62eafc2e794b25509fdd26d Author: Steve Tanner Date: Tue May 11 14:34:16 2010 -0700 ar9170usb: add vendor and device ID for Qwest/Actiontec 802AIN Wireless N USB Network Adapter * add support for the Qwest/Actiontec 802AIN Wireless N USB Network Adapter. lsusb identifies the device as: "ID 1668:1200 Actiontec Electronics, Inc. [hex]" usb_modeswitch package and appropriate rules are required to switch the device from "ID 0ace:20ff ZyDas" Changes-licensed-under: GPL Signed-off-by: Steve Tanner Signed-off-by: John W. Linville commit aca8c6fa46aed6db36043cd2edbdc42fd20c3208 Author: Julia Lawall Date: Tue May 11 20:25:56 2010 +0200 drivers/net/wireless/hostap: Drop memory allocation cast Drop cast on the result of kmalloc and similar functions. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ type T; @@ - (T *) (\(kmalloc\|kzalloc\|kcalloc\|kmem_cache_alloc\|kmem_cache_zalloc\| kmem_cache_alloc_node\|kmalloc_node\|kzalloc_node\)(...)) // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit 058897a4e93a6fc6d331e2ef591b2d6571431265 Author: Abhijeet Kolekar Date: Tue May 11 11:22:11 2010 -0700 mac80211: fix paged defragmentation Paged RX skb patch broke the defragmentation. We need to read hdr again after linearization. It fixes following bug http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2194 Signed-off-by: Zhu, Yi Signed-off-by: Abhijeet Kolekar Signed-off-by: John W. Linville commit ffdc4cbe5b17c83af779f45de8536c6ece297e42 Author: Felix Fietkau Date: Tue May 11 17:23:03 2010 +0200 ath9k_hw: clean up EEPROM endian handling on AR9003 Remove the double swapping of the descriptor data structure, instead keep it little-endian (native format of the eeprom data), and byteswap on access. This allows sparse to verify endian access to the eeprom struct. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 9bff0bc4012c7f079b297eb45b47780e3713f367 Author: Felix Fietkau Date: Tue May 11 17:23:02 2010 +0200 ath9k: add debugfs files for reading/writing registers Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 1534069491c67619bfaeb25368a1249b669503c3 Author: Felix Fietkau Date: Tue May 11 17:23:01 2010 +0200 ath9k: add debugfs files for reading/writing the rx and tx chainmask Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit c8a72c00c6a58186c35901c5fb15584ebc2a081d Author: Felix Fietkau Date: Tue May 11 17:23:00 2010 +0200 ath9k: use debugfs_remove_recursive() instead of keeping pointers to all entries Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 8116daf2146d8fbc5d8d925984b3d4fd34dba1b4 Author: Sujith.Manoharan@atheros.com Date: Tue May 11 17:03:36 2010 +0530 ath9k_htc: Fix array overflow Use ENDPOINT_MAX instead of HST_ENDPOINT_MAX. This fixes a stack corruption issue. This is based on a patch sent by Dan Carpenter . Signed-off-by: Dan Carpenter Signed-off-by: Sujith Signed-off-by: John W. Linville commit d8c49ffb2e2a47b23fec7f469435e7b112e2e569 Author: Sujith.Manoharan@atheros.com Date: Tue May 11 16:24:43 2010 +0530 ath9k_htc: Fix target ready race condition The ready message from the target could be processed before the host HW init has completed. In this case, htc_process_target_rdy() would assume the target has timed out, when it hasn't. Fix this by checking if the target has sent the ready message properly. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 47fce026d5de5d11e161da73208171e9c91b659a Author: Sujith.Manoharan@atheros.com Date: Tue May 11 16:24:41 2010 +0530 ath9k_htc: Reorder HTC initialization The HTC state has to be setup before initializing the target because the ready message could possibly come before the control endpoints in HTC have been identified. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 1d8af8caccceab91ba65b7f659678b92093f9203 Author: Sujith.Manoharan@atheros.com Date: Tue May 11 16:24:40 2010 +0530 ath9k_htc: Allocate URBs properly The URBs have to be allocated before uploading the firmware to the target. This is needed to process the target ready message properly. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 05a30f9cf2a57ebbb2b616b5394e06b893179f13 Author: Sujith.Manoharan@atheros.com Date: Tue May 11 16:24:38 2010 +0530 ath9k_htc: Lock sta_notify() callback Since ->sta_notify() can sleep, protect the callback with a mutex. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 9feaddc77b2a2ee460f39d1420f9675db972659e Author: Wey-Yi Guy Date: Wed May 5 20:34:02 2010 -0700 mac80211: check channel switch mode for future frames transmit Check the mode in channel switch ie for either 0 or 1 on transmission. A channel switch mode set to 1 means that the STA in a BSS to which the frame containing the element is addressed shall transmit no further frames within the BSS until the scheduled channel switch. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 5ce6e438d5d9ed8ed775cd1e94f92002c8da2bad Author: Johannes Berg Date: Tue May 11 16:20:57 2010 +0200 mac80211: add offload channel switch support This adds support for offloading the channel switch operation to devices that support such, typically by having specific firmware API for it. The reasons for this could be that the firmware provides better timing or that regulatory enforcement done by the device requires special handling of CSAs. In order to allow drivers to specify the timing to the device, the new channel_switch callback will pass through the received frame's mactime, where available. Signed-off-by: Wey-Yi Guy Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b8d92c9c141ee3dc9b3537b1f0ffb4a54ea8d9b2 Author: Johannes Berg Date: Tue May 11 12:42:04 2010 +0200 mac80211: don't process work item with wrong frame When we process a frame, we currently just match it to the work struct by the MAC addresses, and not by the work type. This means that we can end up doing the work for an association request item when (for whatever reason) we receive another frame type, for example a probe response. Processing the wrong type of frame will lead to completely invalid data being processed, and will lead to various problems like thinking the association was successful even if the AP never sent an assocation response. Fix this by making each processing function check that it is invoked for the right work struct type only and continue processing otherwise (and drop frames that we didn't expect). This bug was uncovered during the debugging for https://bugzilla.kernel.org/show_bug.cgi?id=15862 but doesn't seem to be the cause for any of the various problems reported there. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 278554bd6579206921f5d8a523649a7a57f8850d Merge: 5a147e8 cea0d76 Author: David S. Miller Date: Wed May 12 00:05:35 2010 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: Documentation/feature-removal-schedule.txt drivers/net/wireless/ath/ar9170/usb.c drivers/scsi/iscsi_tcp.c net/ipv4/ipmr.c commit b29e7eb4b8b3e5f4ff8066af648e9fe2fc707b16 Author: Vasanthakumar Thiagarajan Date: Mon May 10 19:41:35 2010 -0700 ath9k: Remove unused rx_edma in ath_rx_addbuffer_edma() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 083e3e8d3dfeb191f349081c052ad3d20e8861f3 Author: Vasanthakumar Thiagarajan Date: Mon May 10 19:41:34 2010 -0700 ath9k: Fix bug in handling rx frames with invalid descriptor content Don't send them for further processing. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 7fca8e26662e83fec0a0c55b9a977fe9e79f01da Author: Luis R. Rodriguez Date: Mon May 10 21:42:11 2010 -0400 ath9k_hw: new initialization values for AR9003 These changes include: * For PAPRD, the TXRF3.capdiv5G, TXRF3.rdiv5G and TXRF3.rdiv2G are set to 0x0, the TXRF6.capdiv2G is set to 0x2 for all three chains. * The d2cas5G/d3cas5G/d4cas5G was updated to 4/4/4 in lowest_ob_db Tx gain table. * To improve DPPM, three parameters were updated (Released from Madhan): 1. RANGE_OSDAC is set to 0x1 for 2G, 0x0 for 5G 2. offsetC1 is set to 0xc 3. inv_clk320_adc is set to 0x1 * To reduce PHY error(from spur), cycpwr_thr1 and cycpwr_thr1_ext are increased to 0x8 at 2G. * The 2G Rx gain tables are updated with mixer gain setting 3,1,0. The new checksums yield: initvals -f ar9003 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 0x000000003df9a326 ar9300Modes_high_power_tx_gain_table_2p0 0x000000001cfba124 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 Cc: Don Breslin Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9637e516d16a58b13f6098cfe899e22963132be3 Author: Luis R. Rodriguez Date: Mon May 10 15:26:27 2010 -0400 ath5k: drop warning on jumbo frames Jumbo frames are not supported, and if they are seen it is likely a bogus frame so just silently discard them instead of warning on them all time. Also, instead of dropping them immediately though move the check *after* we check for all sort of frame errors. This should enable us to discard these frames if the hardware picks other bogus items first. Lets see if we still get those jumbo counters increasing still with this. Jumbo frames would happen if we tell hardware we can support a small 802.11 chunks of DMA'd frame, hardware would split RX'd frames into parts and we'd have to reconstruct them in software. This is done with USB due to the bulk size but with ath5k we already provide a good limit to hardware and this should not be happening. This is reported quite often and if it fills the logs then this needs to be addressed and to avoid spurious reports. Cc: stable@kernel.org Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b1b3751c750277c92684c932b46eeb723babe196 Author: Dan Carpenter Date: Sat May 8 18:26:38 2010 +0200 wl1271: remove some unneeded code The goto and the break are equivelent. I removed the goto in memory of Edsger Dijkstra who famously hated gotos and who would have been eighty years old next Tuesday. Signed-off-by: Dan Carpenter Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit 8607b79c794a706e6df79d44da261887c5f5def2 Author: Dan Carpenter Date: Sat May 8 18:25:51 2010 +0200 wl1271: fix notifier interface supported test The "(wl == NULL)" test doesn't work here because "wl" is always non-null. The intent of the code is to return if the interface was not supported by the driver. Signed-off-by: Dan Carpenter Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit cdd0864a495a4c6a6f60cae854ca962cfa1f1026 Author: Dan Carpenter Date: Sat May 8 18:25:17 2010 +0200 wl1271: add missing spin_lock() We should start the loop consistently with the "wl_lock" lock held. Signed-off-by: Dan Carpenter Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit 5a147e8bf982f9dd414c1dd751fe02c1942506b2 Author: Stephen Rothwell Date: Wed Mar 3 17:08:11 2010 +1100 ar9170: fix for driver-core ABI change Signed-off-by: Stephen Rothwell Signed-off-by: John W. Linville commit cc755896a4274f11283bca32d1d658203844057a Merge: d250fe9 9459d59 Author: John W. Linville Date: Tue May 11 14:24:55 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/ath/ar9170/main.c commit db125c787bc2c07ad97ba94707b653885d723a40 Author: Johannes Berg Date: Fri May 7 01:49:15 2010 -0700 iwlwifi: clear driver stations when going down During a hw restart, mac80211 will attempt to reconfigure all stations. Currently, that fails and leads to warnings because we still have the stations marked active. Therefore, clear all stations when doing down. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 63d4176933a5c4d9387eb79e1d50a9232e58c06e Author: Johannes Berg Date: Fri Apr 30 11:30:50 2010 -0700 iwlwifi: remove pointless HT check Remove the check before invoking iwl_set_ht_add_station(), since neither of the conditions in this check makes sense, as either we pass in a NULL ht_info (first branch) or in the IBSS case an ht_info with ht_enabled=false. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 57f8db89340f6ba5d913a1950b8dad4431d2beda Author: Johannes Berg Date: Fri Apr 30 11:30:49 2010 -0700 iwlwifi: rename iwl_add_local_station This function is now only used for the special IBSS BSSID station, so rename it to indicate this. The new name is iwl_add_bssid_station. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit c1182743b688bce7b0bbd7cff78b049e45672cb5 Author: Johannes Berg Date: Fri Apr 30 11:30:48 2010 -0700 iwlwifi: move iwl_find_station() to 4965 4965 code is the only thing that now still needs iwl_find_station(), so move it there and make it static. Everything else can rely on the station data passed by mac80211. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit bdbb612fb2c49111d393a69a08b0328e51913c17 Author: Johannes Berg Date: Fri Apr 30 13:53:37 2010 -0700 iwlwifi: use iwl_sta_id() for TKIP key update With the station ID being stored in the station struct, which mac80211 gives us for TKIP phase 1 key updates, we can also remove the use of iwl_find_station() in that code path. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 619753ff57a2e15b58546b856536928d1a3daef9 Author: Johannes Berg Date: Fri Apr 30 11:30:46 2010 -0700 iwlagn: use iwl_sta_id() for aggregation With the station ID being stored in the station struct, which mac80211 gives us for aggregation callbacks, we can also remove the use of iwl_find_station() in those code paths. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 2a87c26bbe9587baeb9e56d3ce0b4971bd777643 Author: Johannes Berg Date: Fri Apr 30 11:30:45 2010 -0700 iwlwifi: use iwl_find_station less Since we now store the station ID in each station struct, many places need not look at the station table any more since they can just pull the station ID out of the struct. Remove iwl_get_sta_id() and use iwl_sta_id() instead as appropriate. This reduces the amount of code needed to find the right station significantly, and works since mac80211 passes the station only after it has been fully initialised, ie. even if TX races with station addition it will only be passed to TX once the addition is complete. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 64ba9a54c60990416c4098c63792c37d8fccb9e1 Author: Johannes Berg Date: Fri Apr 30 11:30:44 2010 -0700 iwlwifi: add iwl_sta_id() In places where the station struct is guaranteed to exist (presumably), use this helper to get the station ID out of it (and warn if there's no station struct after all). Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit fd1af15d0a82ae681ecf34192150e27455c9c494 Author: Johannes Berg Date: Fri Apr 30 11:30:43 2010 -0700 iwlwifi: track station IDs mac80211 allows us to store private data per station, so put the station ID there. This allows us to avoid the station ID lookup when removing regular stations. To also be able to avoid the lookup to remove the special IBSS BSSID station, track its ID in the per-vif private data. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 4ff739747de20506e478269221f22f3d8d24c706 Author: Wey-Yi Guy Date: Fri Apr 30 11:35:16 2010 -0700 iwlwifi: provide more comments for cfg structure Provide comments for newly added cfg parameters Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 470356b891f1d18e87d5fdc393976fab6d0a978d Author: Wey-Yi Guy Date: Fri Apr 30 11:35:15 2010 -0700 iwlwifi: "tx power per chain" are part of ucode_tx_stats Move "tx power per chain" into ucode_tx_stats, it is debugging information provided by uCode as part of statistics notification. The "tx power per chain" parameters are optional parameters which only supported by 6000 series device today; those are reserved fields for all the other devices. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 3bce6066263efb5733ee2141ac8b56684fb3b0a7 Author: Reinette Chatre Date: Tue Apr 13 16:11:19 2010 -0700 iwlagn: work around rate scaling reset delay When station is using an HT channel to communicate to AP and communication is lost then driver will first be notified that channel is not an HT channel anymore before AP station is removed. A consequence of that is that the driver will know that it is not communicating on HT anymore, but the rate scaling table is still under the impression it is operating in HT. Any time after driver has been notified channel is not HT anymore there will thus be a firmware SYSASSERT when the current active LQ command is sent. A workaround for this issue is to not send a LQ command in the short time between being notified channel is not HT anymore and rate scaling table being updated. This fixes http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2173 Signed-off-by: Reinette Chatre commit 2c810ccdbac434ae38f4ec5331d3f047dc90f98a Author: Johannes Berg Date: Thu Apr 29 00:53:29 2010 -0700 iwlwifi: rework broadcast station management Currently, the broadcast station is managed along with the interface type, rather than always being present. That leads to a bug with injection -- it is currently not possible to inject frames when the only virtual interface is a monitor, because in that the required broadcast station is missing. Additionally, allocating and deallocating the broadcast station's LQ all the time is wasteful, and the code to support this is fairly complex. So this changes completely the way we manage the broadcast station. Rather than manage it along with any interface, we now allocate it when we bring the device up, and remove it again when we bring the device down. When we bring the device up, we don't immediately program the broadcast station into it, instead we just mark it active and rely on the next restore cycle to upload it to the device. This works because an unassociated RXON is always required at least once to set up device parameters, which implies a reprogramming of stations into the device. As we now manage all stations properly, there no longer is a need for forcing a clearing of them via iwl_clear_ucode_stations(), which can become a lot simpler. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit a6a0345c837346d1b74f4907d4747e6c1053a99f Author: Johannes Berg Date: Thu Apr 29 10:41:07 2010 -0700 iwlwifi: split allocation/sending local station LQ Rename iwl_sta_init_lq to iwl_sta_alloc_lq and move sending it out into the caller. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 156b70d17ce85778341cfb2a90c5bcb14b28ab3f Author: Johannes Berg Date: Wed Apr 28 14:44:45 2010 -0700 iwlwifi: fix iwl_sta_init_lq station ID The "is_ap" argument to iwl_sta_init_lq is never true, so it and the corresponding code can be removed. However, it needs to have the station ID because it is also used for the IBSS BSSID station, and that doesn't have the broadcast ID. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 59c02b4149183cb53d95b1ce3a8188cbee63f57f Author: Johannes Berg Date: Thu Apr 29 04:43:10 2010 -0700 iwlwifi: note that priv->bssid is used only by 3945 The bssid member of struct iwl_priv is now only used by 3945 code, so note that. It shouldn't be used by any other code in the future. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit ca3c1f59dc469e19431c683383d8205397595806 Author: Johannes Berg Date: Thu Apr 29 04:43:09 2010 -0700 iwlwifi: use vif in iwl_ht_conf Pass the virtual interface pointer to iwl_ht_conf() so it doesn't need to rely on iw_mode and other global variables. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 3a065ab3b57bedefa1d59c88f731da6513ac482a Author: Johannes Berg Date: Thu Apr 29 04:43:08 2010 -0700 iwlwifi: remove useless priv->vif check This check is not useful, since we now no longer dereference priv->vif at this spot. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 832f47e333c7d0db632b57e9f07956ae40dd481d Author: Johannes Berg Date: Thu Apr 29 04:43:07 2010 -0700 iwlagn: use virtual interface in TX aggregation handling Most of the TX aggregation handling can be passed the virtual interface directly instead of having to rely on priv->vif. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 1dda6d28377bec52f96767e8d4a59aa95102b9dd Author: Johannes Berg Date: Thu Apr 29 04:43:06 2010 -0700 iwlwifi: push virtual interface through Rather than keeping every bit of information around in priv and the virtual interface, add a virtual interface to many functions and use the information directly from it. This removes beacon_int, assoc_capability and assoc_id from struct iwl_priv. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 3474ad635db371b0d8d0ee40086f15d223d5b6a4 Author: Johannes Berg Date: Thu Apr 29 04:43:05 2010 -0700 iwlwifi: apply filter flags directly Since iwl_configure_filter can now sleep since the mac80211 callback was changed, we can now apply filter flags changes directly. Also, while at it, make the code a bit more generic with a local macro. There's no need to check changed_flags since we apply all at the same time anyway. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit eafdfbd32aa9fcaf17733c04d5eb071af3b1ff47 Author: Johannes Berg Date: Thu Apr 29 04:43:04 2010 -0700 iwlagn: use vif->type to check station We need not check iw_mode, since we have the vif pointer available. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 93286db50130754d9655c457ad0e11cb8f37a10f Author: Johannes Berg Date: Thu Apr 29 04:43:03 2010 -0700 iwlagn: move iwl_get_ra_sta_id to 4965 This function is only needed by 4965, so it need not be in core code and can be made static. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 159605dd5ec6356f5a7f0c56d9b9e63e0e61f3a8 Author: Johannes Berg Date: Thu Apr 29 04:43:02 2010 -0700 iwlwifi: remove rts_threshold We never use that member of struct iwl_priv. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit a29576a7844326c5223f4d4adbfd3f4d64173d4c Author: Abhijeet Kolekar Date: Wed Apr 28 15:47:04 2010 -0700 iwl3945: add plcp error checking Add plcp error checking for 3945. After threshold of plcp is reached , it resets the radio Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre commit dd7a2509b3a79b290730a9c6a784bf03fedabb9a Author: Johannes Berg Date: Wed Apr 28 23:33:10 2010 -0700 iwlagn: implement loading a new firmware file type The old firmware file type does not allow indicating any firmware capabilities, which we frequently want to make things easier. This implements a new firmware type that is based on a TLV structure, and adds a TLV for the maximum length of probe requests in scans. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 0e9a44dc0bb718c28b20a48f551818036ef090ab Author: Johannes Berg Date: Wed Apr 28 12:09:16 2010 -0700 iwlagn: prepare for new firmware file format Currently the first four bytes in a firmware file indicate the major, minor and api versions as well as the serial number. These combined can never be zero, so we can use that special case for a new, future, file format. This patch simply shuffles the code and prepares for that new format. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit d1358f62d47c9e872994e5c6e9c9d6e1f31d24c4 Author: Johannes Berg Date: Wed Apr 28 12:09:15 2010 -0700 iwlwifi: move eeprom version printout to eeprom init It doesn't belong into firmware loading, it should instead be printed after loading the EEPROM. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 22adba2a6995dc24663251ffb954f8856968f26e Author: Johannes Berg Date: Wed Apr 28 12:09:14 2010 -0700 iwlwifi: remove ucode virtual functions AGN devices all use the same ucode operations, except for 4965, because 4965 uses only v1 file headers. Therefore, we can remove all the indirection we have here and just code the API distinction in place, with a small special case for 4965. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 93b1a2f919a752bb689fdb0c5817c643c2f74435 Author: Johannes Berg Date: Wed Apr 28 12:09:13 2010 -0700 iwl3945: remove ucode access indirection As these function pointers will always point to the 3945 functions, we can just call them directly and avoid the indirection. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 3e4de7616fea5c68a9300af0e347a7f014ddcc63 Author: Johannes Berg Date: Wed Apr 28 12:09:12 2010 -0700 iwlagn: show and store firmware build number We currently display the build number only if debugging is enabled, but it is really helpful so show it all the time. Also store it so it can be retrieved later via ethtool. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 1fa61b2e793dad51271c7ce39377daade51261d7 Author: Johannes Berg Date: Wed Apr 28 08:44:52 2010 -0700 iwlwifi: manage IBSS station properly Currently iwlwifi will eventually exhaust the station table when adding the BSSID station for IBSS mode, unless the interface is set down. The new mac80211 ibss joined/left notification allows us to fix that easily by moving the code to add the IBSS station to the notification, and also adding code to remove it again when we leave the IBSS. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit c0222df86e55576ef879795b5a158c46e6653f07 Author: Johannes Berg Date: Wed Apr 28 08:44:51 2010 -0700 iwlwifi: pass address to iwl_remove_station We'll need that function for IBSS station management, so pass it the address, which is the only thing it uses from the station struct. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 6e0b9cac681bf9b633397d2d5270e5ab31ca04db Author: Johannes Berg Date: Wed Apr 28 08:44:50 2010 -0700 iwl3945: use iwl3945_add_bcast_station iwl3945 should not use iwl_add_local_station(..., false) because that would leave the IWL_STA_UCODE_INPROGRESS flag set for the station, which is not desirable. Instead it can use iwl3945_add_bcast_station() here. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit d2e210aef3a8e7472f91d10a50ecbc91c0a53d62 Author: Reinette Chatre Date: Fri Apr 23 10:33:33 2010 -0700 iwlwifi: make bcast LQ command available for later restore actions When adding the broadcast station the link quality command is generated on demand, sent to device, and disappears. It is thus not available for later cases when we need to restore stations and need to send the link quality command afterwards. Now, when first adding the broadcast station, also generate its link quality command to always be available for later restoring. Also fix an issue when adding local stations where the "in progress" state is never cleared. Reported-by: Johannes Berg Signed-off-by: Reinette Chatre commit 459bc732abad5e461da9a06d82dfc0cb1119ef5a Author: Shanyu Zhao Date: Tue Apr 27 22:05:15 2010 -0700 iwlwifi: dump firmware build info in error case Dump the firmware version and build number in case of firmware SW error. This would help firmware engineer analyze the error log. Requested-by: Jay Sternberg Signed-off-by: Shanyu Zhao Signed-off-by: Reinette Chatre commit 3d38f1731e3a8217e228fde0a4bfece865bc7901 Author: Wey-Yi Guy Date: Tue Apr 27 18:43:33 2010 -0700 iwlwifi: checking for all the possible failure cases Multiple error condition require fw/rf reset, driver should check all the possible errors as long as the error checking functions for the devices are available. Reported-by: Reinette Chatre Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit f401241310f4260505b1c462807c83aac5e5bbc8 Author: Wey-Yi Guy Date: Tue Apr 27 14:10:00 2010 -0700 iwlwifi: wimax co-exist code clean up wifi/wimax co-exist command is part of _agn device configuration sequence; move it to iwl-agn-ucode.c which is more appropriate place for the function. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 0af0d04b8db7712498558541cbedeeebdbabf70f Author: Wey-Yi Guy Date: Mon Apr 26 16:08:27 2010 -0700 iwlwifi: give correct return information for tx power debugfs Return -EAGAIN when request tx power information and uCode is not ready; so it will not confuse with tx power information not available. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 65d1f89682acf4d61dec7a8b771ed34afb7c17d9 Author: Wey-Yi Guy Date: Sun Apr 25 15:41:43 2010 -0700 iwlwifi: use cfg to configure calibration operation sensitivity calibration and chain noise calibration are not available for all the devices; use .cfg to configure the availability of those calibration functions Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 6e5c800e75fad95f2a12d45d9b548b23834a13ff Author: Wey-Yi Guy Date: Tue Apr 27 14:00:28 2010 -0700 iwlwifi: use .cfg to enable/disable continuous ucode trace Instead of checking device type for enable/disable continuous ucode trace function; put it in .cfg for better control and more flexibilities. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 4e7033ef491a8447247e77b20626cbc197a2eb83 Author: Wey-Yi Guy Date: Tue Apr 27 14:33:33 2010 -0700 iwlwifi: remove device type checking for tx power in debugfs Instead of checking device type for enable/disable tx power control, move it to .cfg for better control and more flexibilities. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 92445c953eb5698d1abab16b9a43238effdc0a6d Author: Johannes Berg Date: Tue Apr 27 03:36:15 2010 -0700 iwlwifi: use vif iwl_bss_info_changed The iw_mode will always follow the only vif we have, but using the vif directly seems easier. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 683abfbefe95750f8aa47dc6d2a7ee41c01c14ad Author: Wey-Yi Guy Date: Mon Apr 26 17:20:07 2010 -0700 iwlwifi: rename "tx_power" to "chain_tx_power" The "chain_tx_power" debugfs function is to display the tx power per chain based. Name it "tx_power" is misleading. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 381733cc53ce7abf3d8498f8ccf7586546c0b264 Author: Wey-Yi Guy Date: Sun Apr 25 09:39:46 2010 -0700 iwlwifi: remove powersave debugfs if it is not supported For the devices do not have power save support, remove the power save control related debugfs files. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 1e460535ab3978b7a23e08e9f556af2f84c43235 Author: Abhijeet Kolekar Date: Fri Apr 23 14:14:53 2010 -0700 iwl3945: fix scan races Port following patch to 3945. "commit 90c4162ff59a3281b6d2f7206740be6217bd6758 Author: Johannes Berg Date: Wed Apr 7 00:21:36 2010 -0700 iwlwifi: fix scan races" Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre commit 95b13014bb761a267db8bc1a47cbb35ddde587ef Author: Shanyu Zhao Date: Wed Apr 21 11:46:33 2010 -0700 iwlwifi: rename 6000 series Gen2 devices to Gen2a Rename the current 6000 series Gen2 devices to Gen2a. Rename the ucode name prefix to iwlwifi-6000g2a. Also corrected the device IDs for Gen2a series devices. Signed-off-by: Jay Sternberg Signed-off-by: Shanyu Zhao Signed-off-by: Reinette Chatre commit a15707d80ee9a0e0812c5f1a1ed8e41e0a6e52f3 Merge: 9459d59 562db53 Author: Reinette Chatre Date: Mon May 10 15:08:11 2010 -0700 Merge branch 'wireless-2.6' into wireless-next-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-dev.h commit 562db532760827f6ce30801a08e6b568848bc9f2 Author: Johannes Berg Date: Thu Apr 29 07:41:53 2010 -0700 iwlagn: wait for asynchronous firmware loading When we kick off a firmware loading process, and then unbind from the pci device right away, we get into trouble. Avoid that by waiting for the firmware loading to finish (whether successfully or not) before the unbind in iwl_pci_remove. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit ed77134bfccf5e75b6cbadab268e559dbe6a4ebb Author: Mark Gross Date: Thu May 6 01:59:26 2010 +0200 PM QOS update This patch changes the string based list management to a handle base implementation to help with the hot path use of pm-qos, it also renames much of the API to use "request" as opposed to "requirement" that was used in the initial implementation. I did this because request more accurately represents what it actually does. Also, I added a string based ABI for users wanting to use a string interface. So if the user writes 0xDDDDDDDD formatted hex it will be accepted by the interface. (someone asked me for it and I don't think it hurts anything.) This patch updates some documentation input I got from Randy. Signed-off-by: markgross Signed-off-by: Rafael J. Wysocki commit 9459d59fbf0bc82ff4c804679fa8bc22788eca63 Author: Randy Dunlap Date: Mon May 10 09:24:29 2010 -0700 wireless: depends on NET When CONFIG_NET is disabled, the attempt to build wext-priv.c fails with: net/wireless/wext-priv.c: In function 'ioctl_private_call': net/wireless/wext-priv.c:207: error: implicit declaration of function 'call_commit_handler' Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit a6bc03a07f8676d336e697914e9fe6cd54474ad1 Author: Xose Vazquez Perez Date: Mon May 10 11:35:36 2010 +0200 wireless: rt2x00: rt2800usb: replace X by x s/X/x Signed-off-by: Xose Vazquez Perez Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6295d81552f4b58256a9f7d85ce630b862598753 Author: Gertjan van Wingerde Date: Sun May 9 21:24:22 2010 +0200 rt2x00: Clean up generic procedures on descriptor writing. With a little bit of restructuring it isn't necessary to have special cases in rt2x00queue_write_tx_descriptor for writing the descriptor for beacons. Simply split off the kicking of the TX queue to a separate function with is only called for non-beacons. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3b9f0ed78cf2eb678edd60d74a4a36f5947d003d Author: Gertjan van Wingerde Date: Sat May 8 23:40:26 2010 +0200 rt2x00: Fix beaconing on rt2800. According to the Ralink vendor driver for rt2800 we don't need a full TXD for a beacon but just a TXWI in front of the actual beacon. Fix the rt2800pci and rt2800usb beaconing code accordingly. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit f224f4ef794c4a9146a7fa7303018fecab8c9328 Author: Gertjan van Wingerde Date: Sat May 8 23:40:25 2010 +0200 rt2x00: provide beacon's txdesc to write_beacon callback function. Preparation to fix rt2800 beaconing. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit d61cb26696e19494c049297def6c8f37d9e2f534 Author: Gertjan van Wingerde Date: Sat May 8 23:40:24 2010 +0200 rt2x00: Clean up all driver's kick_tx_queue callback functions. All of the driver's kick_tx_queue callback functions treat the TX queue for beacons in a special manner. Clean this up by integrating the kicking of the beacon queue into the write_beacon callback function, and let the generic code no longer call the kick_tx_queue callback function when updating the beacon. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2de64dd22d0390688b853788dcadee3c0ad9e518 Author: Gertjan van Wingerde Date: Sat May 8 23:40:22 2010 +0200 rt2x00: Factor out RXWI processing to common rt2800 code. RXWI processing is exactly the same for rt2800pci and rt2800usb, so make it common code. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 59679b91d1d33ebe90b72ffded9a57dba788fa6b Author: Gertjan van Wingerde Date: Sat May 8 23:40:21 2010 +0200 rt2x00: Factor out TXWI writing to common rt2800 code. TXWI writing is exactly the same for rt2800pci and rt2800usb, so make it common code. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 78b8f3b0ddb061af1e3907f9c4bca76eae39f79f Author: Gertjan van Wingerde Date: Sat May 8 23:40:20 2010 +0200 rt2x00: Don't check whether hardware crypto is enabled when reading RXD. We should simply follow what the hardware told us it has done. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit e6a8aab1648226d64772a8224df0677f555a5632 Author: Gertjan van Wingerde Date: Sat May 8 23:40:19 2010 +0200 rt2x00: Clean up rt2800usb.h. Remove unused RXD_DESC_SIZE define and remove duplicated RXWI definitions from rt2800.h. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit d43e49ec83b7d1b1339205e1f3980a447658dc40 Author: Gertjan van Wingerde Date: Sat May 8 23:40:18 2010 +0200 rt2x00: Fix setting of txdesc->length field. We should take the stripping of the IV into account for the txdesc->length field. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Tested-by: Pavel Roskin Signed-off-by: John W. Linville commit 05e8594d5594acb62896571a7fe04faa647e0437 Author: Dan Carpenter Date: Sat May 8 18:24:38 2010 +0200 ath5k: several off by one range checks There are several places that use > ARRAY_SIZE() instead of >= ARRAY_SIZE(). Signed-off-by: Dan Carpenter Acked-by: Bob Copeland Acked-by: Bruno Randolf Signed-off-by: John W. Linville commit 0730d114194364d078dbd0cfce708e8c67dccdfb Author: Dan Carpenter Date: Sat May 8 18:24:02 2010 +0200 ath9k/htc_drv_main: off by one error I changed "> ATH9K_HTC_MAX_TID" to ">= ATH9K_HTC_MAX_TID" to avoid a potential overflow. Signed-off-by: Dan Carpenter Acked-by: Sujith Signed-off-by: John W. Linville commit 277a64d17ee819161242ce3059a9c2d0f8dfd29c Author: Dan Carpenter Date: Sat May 8 18:23:20 2010 +0200 ath9k/htc_drv_main: null dereference typo This is a stray null dereference. We initialize "ista" properly later on. Signed-off-by: Dan Carpenter Acked-by: Sujith Signed-off-by: John W. Linville commit 7ada88e5e5d7b465de8d0441b4a8d890a602074f Author: Dan Carpenter Date: Sat May 8 18:21:01 2010 +0200 iwlwifi: remove stray mutex_unlock() This mutex_unlock() has been here from the initial commit, but as nearly as I can tell, there isn't a reason for it. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 5efa3a6bf4dd1674920d7419cbde9d731cdb61f1 Author: Luis R. Rodriguez Date: Fri May 7 18:23:22 2010 -0400 ath9k_hw: enable PCIe low power mode for AR9003 Cc: Paul Shaw Cc: Don Breslin Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9e385c56a1eecfb62dbc5162037fb4ed1676b27e Author: John W. Linville Date: Mon May 10 14:24:34 2010 -0400 rtl8180: change PCI DMA mask to DMA_BIT_MASK(32) From the original report: "I had problems to get my rtl8185 PCI card running on Sparc64: I always got an error about "No suitable DMA available" followed by an error that no device could be detected. When comparing the rtl8180 driver to others I noticed that others are mostly using DMA_BIT_MASK so I changed the custom mask to DMA_BIT_MASK(32) which fixed my issue." Reported-by: Tiziano Müller Acked-by: David S. Miller Signed-off-by: John W. Linville commit 1ae5dc342ac78d7a42965fd1f323815f6f5ef2c1 Author: Eric Dumazet Date: Mon May 10 05:01:31 2010 -0700 net: trans_start cleanups Now that core network takes care of trans_start updates, dont do it in drivers themselves, if possible. Drivers can avoid one cache miss (on dev->trans_start) in their start_xmit() handler. Exceptions are NETIF_F_LLTX drivers Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2b0b05ddc04b6d45e71cd36405df512075786f1e Author: Marcel Holtmann Date: Mon May 10 11:33:10 2010 +0200 Bluetooth: Fix issues where sk_sleep() helper is needed now There were some left-overs that used sk->sk_sleep instead of the new sk_sleep() helper. Signed-off-by: Marcel Holtmann commit 4b49291aca7ea60a3da645c8f9fa8b2d6efee120 Author: Dominik Brodowski Date: Sat Mar 20 14:06:24 2010 +0100 pcmcia: remove unused mem_op.h Signed-off-by: Dominik Brodowski commit c7c2fa079073ab92b0736a161b4cf1051a3e631f Author: Dominik Brodowski Date: Sat Mar 20 19:39:26 2010 +0100 pcmcia: dev_node removal (drivers with unregister_netdev check) As a third step, remove any usage of dev_node_t from drivers which only wrote to this typedef/struct, except to determine whether register_netdev() succeeded previously. However, the function calling unregister_netdev() was only ever called by the PCMCIA core if register_netdev() succeeded previously. The lonely exception was easily fixed. CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org Signed-off-by: Dominik Brodowski commit ded6a1a341cb38c4cfeb09d3d01ffe16b5c804b3 Author: Dominik Brodowski Date: Sat Mar 20 19:35:12 2010 +0100 pcmcia: dev_node removal (drivers with updated printk call) As a second step, remove any usage of dev_node_t from drivers which only wrote to this typedef/struct, except one printk() which can easily be replaced by a dev_info()/dev_warn() call. CC: Harald Welte CC: linux-ide@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: netdev@vger.kernel.org CC: linux-usb@vger.kernel.org Acked-by: Karsten Keil Signed-off-by: Dominik Brodowski commit 317b6d63000b3cc48c43d582d76063500e531a6c Author: Dominik Brodowski Date: Sat Mar 20 19:26:51 2010 +0100 pcmcia: dev_node removal (write-only drivers) dev_node_t was only used to transport some minor/major numbers from the PCMCIA device drivers to deprecated userspace helpers. However, only a few drivers made use of it, and the userspace helpers are deprecated anyways. Therefore, get rid of dev_node_t . As a first step, remove any usage of dev_node_t from drivers which only wrote to this typedef/struct, but did not make use of it. CC: linux-bluetooth@vger.kernel.org CC: Harald Welte CC: linux-mtd@lists.infradead.org CC: linux-wireless@vger.kernel.org CC: netdev@vger.kernel.org CC: linux-serial@vger.kernel.org CC: alsa-devel@alsa-project.org Signed-off-by: Dominik Brodowski commit eb14120f743d29744d9475bffec56ff4ad43a749 Author: Dominik Brodowski Date: Sun Mar 7 12:21:16 2010 +0100 pcmcia: re-work pcmcia_request_irq() Instead of the old pcmcia_request_irq() interface, drivers may now choose between: - calling request_irq/free_irq directly. Use the IRQ from *p_dev->irq. - use pcmcia_request_irq(p_dev, handler_t); the PCMCIA core will clean up automatically on calls to pcmcia_disable_device() or device ejection. - drivers still not capable of IRQF_SHARED (or not telling us so) may use the deprecated pcmcia_request_exclusive_irq() for the time being; they might receive a shared IRQ nonetheless. CC: linux-bluetooth@vger.kernel.org CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-serial@vger.kernel.org CC: alsa-devel@alsa-project.org CC: linux-usb@vger.kernel.org CC: linux-ide@vger.kernel.org Signed-off-by: Dominik Brodowski commit 7b767cad296d17cfe071734f71a3b7b479534c8c Author: Tomas Winkler Date: Tue Mar 9 21:38:03 2010 +0200 Bluetooth: Use strict_strtoul instead of simple_strtoul Use strict_strtoul as suggested by checkpatch.pl for more strict input checking. Signed-off-by: Tomas Winkler Signed-off-by: Marcel Holtmann commit f120c6b635a62d414876b517aec0468628acfc60 Author: Bing Zhao Date: Wed Mar 3 14:37:37 2010 -0800 Bluetooth: Set hdev->dev_type based on Marvell device type Get the device type from MODULE_BRINGUP_REQ command response. Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit 64061607eab7cb146115927cb596de123c542d45 Author: Bing Zhao Date: Wed Mar 3 14:37:36 2010 -0800 Bluetooth: Separate btmrvl_register_hdev() from btmrvl_add_card() Move btmrvl hdev registration code out of btmrvl_add_card(). New function btmrvl_register_hdev() is added. Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit 903c843773a18e061817dd7a1a5c28dd41a3bf97 Author: Bing Zhao Date: Wed Mar 3 14:37:35 2010 -0800 Bluetooth: Decode btmrvl MODULE_BRINGUP_REG response correctly The MODULE_BRINGUP_REQ command response returns success with either 0x00 or 0x0c. Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit 31f085fea891d5972e994dfb423231a3d4d60a8a Author: Dan Carpenter Date: Mon Mar 8 15:15:59 2010 +0300 Bluetooth: Fix storing negative values as unsigned char This is mostly cleanup. There is only one caller and it just checks for non-zero return values. Still "ret" should be int because we want to return -EINVAL on errors. Signed-off-by: Dan Carpenter Signed-off-by: Marcel Holtmann commit f48fd9c8cd746fdb055a97249a209c77dca0f710 Author: Marcel Holtmann Date: Sat Mar 20 15:20:04 2010 +0100 Bluetooth: Create per controller workqueue Instead of having a global workqueue for all controllers, it makes more sense to have a workqueue per controller. Signed-off-by: Marcel Holtmann commit 844c0972427ee5f661158160aaca10b22b3dda60 Author: Gustavo F. Padovan Date: Tue May 4 23:16:01 2010 -0300 Bluetooth: Fix spec error in the RemoteBusy Logic On the receipt of an RR(P=1) under RemoteBusy set to TRUE(on the RECV state table) we have to call sendIorRRorRNR(F=1) and just after set RemoteBusy to False. This leads to a freeze in the sending process since it's not allowed send data with RemoteBusy set to true and no one call SendPending-I-Frames after set RemoteBusy to false(The last action for that event). Actually sendIorRRorRNR() calls SendPending-I-Frames but at that moment RemoteBusy is still True and we cannot send any frame, after, no one calls SendPending-I-Frames again and the sending process stops. The solution here is to set RemoteBusy to false inside SendPending-I-Frames just before call SendPending-I-Frames. That will make SendPending-I-Frames able to send frames. This solution is similar to what RR(P=0)(F=0) on the RECV table and RR(P=1) on the SREJ_SENT table do. Actually doesn't make any sense call SendPending-I-Frames if we can send any frame, i. e., RemoteBusy is True. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 4178ba462a3e8ab5094e69606f01d9e95f2d5ea6 Author: Gustavo F. Padovan Date: Sat May 1 16:15:45 2010 -0300 Bluetooth: Prevents buffer overflow on l2cap_ertm_reassembly_sdu() The checks should be done before the the memcpy to avoid buffer overflow. Reported-by: João Paulo Rechi Vita Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit dfc909befbfe967bd7f46ef33b6969c1b7f3cf42 Author: Gustavo F. Padovan Date: Sat May 1 16:15:45 2010 -0300 Bluetooth: Fix race condition on l2cap_ertm_send() l2cap_ertm_send() can be called both from user context and bottom half context. The socket locks for that contexts are different, the user context uses a mutex(which can sleep) and the second one uses a spinlock_bh. That creates a race condition when we have interruptions on both contexts at the same time. The better way to solve this is to add a new spinlock to lock l2cap_ertm_send() and the vars it access. The other solution was to defer l2cap_ertm_send() with a workqueue, but we the sending process already has one defer on the hci layer. It's not a good idea add another one. The patch refactor the code to create l2cap_retransmit_frames(), then we encapulate the lock of l2cap_ertm_send() for some call. It also changes l2cap_retransmit_frame() to l2cap_retransmit_one_frame() to avoid confusion Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 6161c0382bbab883a634d284f7367a88bbe88534 Author: Gustavo F. Padovan Date: Sat May 1 16:15:44 2010 -0300 Bluetooth: Add wait_queue to wait ack of all sent packets To guarantee that all packets we sent were received we need to wait for theirs ack before shutdown the socket. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 1890d36bb556a27684ad29654a9898ab9a5f57ee Author: Gustavo F. Padovan Date: Sat May 1 16:15:44 2010 -0300 Bluetooth: Implement Local Busy Condition handling Supports Local Busy condition handling through a waitqueue that wake ups each 200ms and try to push the packets to the upper layer. If it can push all the queue then it leaves the Local Busy state. The patch modifies the behaviour of l2cap_ertm_reassembly_sdu() to support retry of the push operation. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 9b53350d3cf5b330c3261d89b5e62a2dc25c5653 Author: João Paulo Rechi Vita Date: Sat May 1 16:15:44 2010 -0300 Bluetooth: Completes the I-frame tx_seq check logic on RECV Add checks for invalid tx_seq and fixes the duplicated tx_seq check. Signed-off-by: João Paulo Rechi Vita Acked-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 18778a63ddc83bc89bda3b119fb02eb121512a66 Author: Gustavo F. Padovan Date: Sat May 1 16:15:44 2010 -0300 Bluetooth: Implement missing parts of the Invalid Frame Detection There is a plenty of situation where ERTM shall close the channel, this commit treats the cases regarding Invalid Frame Detection. It create one reassembly SDU function for ERTM and other for Streaming Mode to make the Invalid Frame Detection handling less complex. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit f11d676da4059c7888efca810ab300b931736a26 Author: Gustavo F. Padovan Date: Sat May 1 16:15:44 2010 -0300 Bluetooth: Refactor l2cap_retransmit_frame() Make the code flow cleaner and changes the function to void. It also fixes a potential NULL dereference with skb. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 9a9c6a34416b3743c09c00f3d6708d9df3c21629 Author: Gustavo F. Padovan Date: Sat May 1 16:15:43 2010 -0300 Bluetooth: Make hci_send_acl() void hci_send_acl can't fail, so we can make it void. This patch changes that and all the funcions that use hci_send_acl(). That change exposed a bug on sending connectionless data. We were not reporting the lenght send back to the user space. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit ff12fd643334071084b6145cad3793bb6c956638 Author: Gustavo F. Padovan Date: Wed May 5 22:09:15 2010 -0300 Bluetooth: Fix lockdep annotation on ERTM A spin_lock_init() call was missing. :) Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 9b16dc6551cbde65d0ac525af3c46efab53a2c46 Author: Gustavo F. Padovan Date: Wed May 5 20:05:57 2010 -0300 Bluetooth: Check if we really are in WAIT_F when F bit comes F-bit set should be processed only if we are in the WAIT_F state. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit a2e12a2a312f816d5970b0c809d43b399fbfe90c Author: Gustavo F. Padovan Date: Wed May 5 19:58:27 2010 -0300 Bluetooth: Remove unneeded control vars Trivial clean up. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 0301ef04b5f49a95681694fc0d75af9441faa919 Author: Gustavo F. Padovan Date: Wed May 5 20:56:43 2010 -0300 Bluetooth: Remove set of SrejSaveReqSeq under receipt of REJ frame That action is not specified by the ERTM spec, so removing it. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 59203a21a56c53afeb6f45e059299e6f1437f30f Author: Gustavo F. Padovan Date: Sat May 1 16:15:43 2010 -0300 Bluetooth: Fix errors reported by checkpatch.pl Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 44651b85cc3a076147af5d181fc4833ef8debc59 Author: Gustavo F. Padovan Date: Sat May 1 16:15:43 2010 -0300 Bluetooth: Don't set control bits to zero first We can set the SAR bits in the control field directly. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 01760bdde9a92413b7fff928d08e19352bf09d82 Author: João Paulo Rechi Vita Date: Sat May 1 16:15:43 2010 -0300 Bluetooth: Close L2CAP channel on invalid ReqSeq Signed-off-by: João Paulo Rechi Vita Acked-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit afefdbc4cf3b9d409d07e1e5264e7ff88bc48711 Author: Gustavo F. Padovan Date: Sat May 1 16:15:43 2010 -0300 Bluetooth: Fix SDU reassembly under SREJ The code was reusing the control var without its reinitialization. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 0041ecfa3025d7612fdaab12b2f07c9c3c09f42f Author: João Paulo Rechi Vita Date: Sat May 1 16:15:42 2010 -0300 Bluetooth: Check if mode is supported on getsockopt Add this check to getsockopt makes possible to fail early instead of waiting until listen / connect. Signed-off-by: João Paulo Rechi Vita Acked-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit bd3c9e255e76ae232d417e3914ca5d80ca3e9485 Author: Gustavo F. Padovan Date: Sat May 1 16:15:42 2010 -0300 Bluetooth: Add SOCK_STREAM support to L2CAP if enable_ertm is true and we have SOCK_STREAM the default mode will be ERTM, otherwise Basic Mode. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 84fb0a6334af0ccad3544f6972c055d90fbb9fbe Author: Gustavo F. Padovan Date: Sat May 1 16:15:42 2010 -0300 Bluetooth: Add Kconfig option for L2CAP Extended Features The L2CAP Extended Features are still unstable and under development, so we are adding them under the EXPERIMENTAL flag to get more feedback on them. L2CAP Extended Features includes the Enhanced Retransmission and Streaming Modes, Frame Check Sequence (FCS), and Segmentation and Reassemby (SAR). Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 3b1a9f3fa6ad842991538da2c3b2e29e047b131f Author: Gustavo F. Padovan Date: Sat May 1 16:15:42 2010 -0300 Bluetooth: Optimize SREJ_QUEUE append When the I-frame received is the expected, i.e., its tx_seq is equal to expected_tx_seq and we are under a SREJ, we can just add it to the tail of the list. Doing that we change the complexity from O(n) to O(1). Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 812e737e29a1d559e7bfbea675fdcfcbad9f5e1f Author: Gustavo F. Padovan Date: Sat May 1 16:15:42 2010 -0300 Bluetooth: Fix drop of acked packets on ERTM l2cap_drop_acked_frames() was droping not sent packets, causing them to be not transmitted. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 0ee0d20855ae9271de3f6695f4cafc08ab2533bb Author: Gustavo F. Padovan Date: Sat May 1 16:15:41 2010 -0300 Bluetooth: Fix crash when monitor timeout expires The code was crashing due to a invalid access to hci_conn after the channel disconnect. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit f6e6b16823de0aff31cb8ee8c098383e3aceec58 Author: Gustavo F. Padovan Date: Sat May 1 16:15:41 2010 -0300 Bluetooth: Fix bug when retransmitting I-frames If there is no frames to retransmit l2cap was crashing the kernel, now we check if the queue is empty first. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 68d7f0ce911e41e463c45911be031cdf6a096fe8 Author: Gustavo F. Padovan Date: Sat May 1 16:15:41 2010 -0300 Bluetooth: Enable option to configure Max Transmission value via sockopt With the sockopt extension we can set a per-channel MaxTx value. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 369ba30264826f38eefc61b93688100be8adbd4d Author: Gustavo F. Padovan Date: Sat May 1 16:15:41 2010 -0300 Bluetooth: Add module parameter for txWindow size on L2CAP Very useful for testing purposes. Signed-off-by: Gustavo F. Padovan [jprvita@profusion.mobi: improved parameter description] Signed-off-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 803020c6fa63aa738cfda3329c9675b42023e9d2 Author: Gustavo F. Padovan Date: Sat May 1 16:15:41 2010 -0300 Bluetooth: Change acknowledgement to use the value of txWindow Now that we can set the txWindow we need to change the acknowledgement procedure to ack after each (pi->txWindow/6 + 1). The plus 1 is to avoid the zero value. It also renames pi->num_to_ack to a better name: pi->num_acked. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 14b5aa71ec506f4e38ca6a1dc02ecd668ecfd902 Author: Gustavo F. Padovan Date: Sat May 1 16:15:40 2010 -0300 Bluetooth: Add sockopt configuration for txWindow on L2CAP Now we can set/get Transmission Window size via sockopt. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 855666cccc939d392316de17512e17a08b2fa05a Author: Gustavo F. Padovan Date: Sat May 1 16:15:40 2010 -0300 Bluetooth: Send Ack after clear the SREJ list As specified by Bluetooth 3.0 spec we shall send an acknowledgment using the Send-Ack() after clear the SREJ list. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 052897ca5019d9157ae09e5e84eee2a9ef5dccc6 Author: Gustavo F. Padovan Date: Sat May 1 16:15:40 2010 -0300 Bluetooth: Check the SDU size against the MTU value If the SDU size is greater than the MTU something is wrong, so report an error. Signed-off-by: Gustavo F. Padovan [jprvita@profusion.mobi: set err to appropriate errno value] Signed-off-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 10467e9e9b89272b25b56688bb276d0830e9ab9a Author: Gustavo F. Padovan Date: Sat May 1 16:15:40 2010 -0300 Bluetooth: Add le16 macro to Retransmission and Monitor Timeouts values Fix a possible problem with Big Endian machines. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 1c7621596d11b9c3e19eb88a818758dee4901c95 Author: Gustavo F. Padovan Date: Sat May 1 16:15:40 2010 -0300 Bluetooth: Fix configuration of the MPS value We were accepting values bigger than we can accept. This was leading ERTM to drop packets because of wrong FCS checks. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 7b1c0049be3aabc18831ada339dbcf41ba8c81fd Author: Gustavo F. Padovan Date: Sat May 1 16:15:39 2010 -0300 Bluetooth: Read RFC conf option on a successful Conf RSP On Enhanced Retransmission Mode and Streaming Mode a entity can send, on a successful Conf RSP, new values for the RFC fields. For example, the entity can send txWindow and MPS values less than the value received on a Conf REQ. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 2fb862e215e53630066c677e06d7551fa38bf235 Author: Gustavo F. Padovan Date: Sat May 1 16:15:39 2010 -0300 Bluetooth: Ignore Tx Window value with Streaming mode Tx Window value shall not be used with Streaming Mode and the receiver of the config Request shall ignore its value. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit c1b4f43be01c2a363be021485dd18cca33cfab8a Author: Gustavo F. Padovan Date: Sat May 1 16:15:39 2010 -0300 Bluetooth: Add timer to Acknowledge I-frames We ack I-frames on each txWindow/5 I-frames received, but if the sender stop to send I-frames and it's not a txWindow multiple we can leave some frames unacked. So I added a timer to ack I-frames on this case. The timer expires in 200ms. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 05fbd89dd4153341717b33d9e8ae8bd29db6c1c8 Author: Gustavo F. Padovan Date: Sat May 1 16:15:39 2010 -0300 Bluetooth: Finish implementation for Rec RR (P=1) on ERTM Now the code handles the case under SREJ_SENT state. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 8abb52ee00c4b3f857269eb6b7145991bab869bf Author: Gustavo F. Padovan Date: Sat May 1 16:15:38 2010 -0300 Bluetooth: Remove duplicate use of __get_reqseq() macro on L2CAP tx_seq var already has the value of __get_reqseq(). Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 6e3a59819fac19006fe4255b87928e5a12c54532 Author: Gustavo F. Padovan Date: Sat May 1 16:15:38 2010 -0300 Bluetooth: Group the ack of I-frames into l2cap_data_channel_rrframe() It also fix a bug: we weren't acknowledging I-frames when P=1. Note that when F=1 we are acknowledging packets before setting RemoteBusy to False. The spec says we should do that in the opposite order, but acknowledment of packets doesn't care about RemoteBusy flag so we can do that in the order we want. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 99b0d4b7b09edeacf4542bced5c01239375b51a9 Author: Gustavo F. Padovan Date: Sat May 1 16:15:38 2010 -0300 Bluetooth: Handle all cases of receipt of RNR-frames into L2CAP We weren't handling the receipt under SREJ_SENT state table. It also introduce l2cap_send_srejtail(). It will be used in the nexts commits too. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit e072745f4adb01b909bd08a0cfc8f79348f4d2c6 Author: Gustavo F. Padovan Date: Sat May 1 16:15:38 2010 -0300 Bluetooth: Split l2cap_data_channel_sframe() Create a function for each type fo S-frame and avoid a lot of nested code. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 73edaa9933219e25d6733b78d1e2c881025705e2 Author: Gustavo F. Padovan Date: Sat May 1 16:15:38 2010 -0300 Bluetooth: Add Recv RR (P=0)(F=0) for SREJ_SENT state on ERTM This finishes the implementation of Recv RR (P=0)(F=0) for the Enhanced Retransmission Mode on L2CAP. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit f0946ccfc7da403a46b7ff7cb2e3deffac108742 Author: Gustavo F. Padovan Date: Sat May 1 16:15:37 2010 -0300 Bluetooth: Move set of P-bit to l2cap_send_sframe() Abstract the send of of P-bit and avoids code duplication like we did with the setting of F-bit. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 9e917af13d59182f95bbb5483dc0c4254dfb7944 Author: Gustavo F. Padovan Date: Sat May 1 16:15:37 2010 -0300 Bluetooth: Implement SendAck() Action on ERTM. Shall be used to ack received frames, It must decide type of acknowledgment between a RR frame, a RNR frame or transmission of pending I-frames. It also modifies l2cap_ertm_send() to report the number of frames sent. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 36f2fd585f43199f006a3b5ff84e95815102cd31 Author: Gustavo F. Padovan Date: Sat May 1 16:15:37 2010 -0300 Bluetooth: Check if SDU size is greater than MTU on L2CAP After reassembly the SDU we need to check his size. It can't overflow the MTU size. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 277ffbe362823d18a17792fbd8e507010e666299 Author: Gustavo F. Padovan Date: Sat May 1 16:15:37 2010 -0300 Bluetooth: Check the minimum {I,S}-frame size into L2CAP All packets with size fewer than the minimum specified is dropped. Note that the size of the l2cap basic header, FCS and SAR fields are already subtracted of len at the moment of the size check. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 1d8f5d16913d74e428950ee02fe9ff7e6391c120 Author: Gustavo F. Padovan Date: Sat May 1 16:15:37 2010 -0300 Bluetooth: Support case with F bit set under WAIT_F state. On receipt of a F=1 under WAIT_F state ERTM shall stop monitor timer and start retransmission timer (if there are unacked frames). Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit d5392c8f1e9faef089bb7cb66c3314da8bddd1fe Author: Gustavo F. Padovan Date: Sat May 1 16:15:36 2010 -0300 Bluetooth: Implement 'Send IorRRorRNR' event After receive a RR with P bit set ERTM shall use this funcion to choose what type of frame to reply with F bit = 1. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit e8235c6bdd1c7ffbaa7eb8dcdbb46c51f1e5d72e Author: Gustavo F. Padovan Date: Sat May 1 16:15:36 2010 -0300 Bluetooth: Use a l2cap_pinfo struct instead l2cap_pi() macro Trivial clean up. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit d1daa091e8612f3aab14d28b5836375fafe155e1 Author: Gustavo F. Padovan Date: Sat May 1 16:15:36 2010 -0300 Bluetooth: Fix ACL MTU issue ERTM and Streaming Modes was having problems when the ACL MTU is lower than MPS. The 'minus 10' is to take in account the header and fcs lenghts. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 7dffe4210233a2860c3f41477c40b3252edf2b7d Author: Gustavo F. Padovan Date: Sat May 1 16:15:36 2010 -0300 Bluetooth: Fix expected_tx_seq calculation on L2CAP All operation related to the txWindow should be modulo 64. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit faaebd192ec9c3febcab98149d1309199a5b886c Author: Gustavo F. Padovan Date: Sat May 1 16:15:35 2010 -0300 Bluetooth: Fix memory leak of S-frames into L2CAP l2cap_data_channel do not free the S-frame, so we free it here. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit c69163e9ed5048407cc84f439cbfecc53f6f7131 Author: Gustavo F. Padovan Date: Sat May 1 16:15:35 2010 -0300 Bluetooth: Move specific Basic Mode code to the right place Inside "case L2CAP_MODE_BASIC:" we don't need to check for sk_type and L2CAP mode. So only the length check is fine. Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit b9dbdbc1f4404cba2e64939c30c87d59c9796e4e Author: Gustavo F. Padovan Date: Sat May 1 16:15:35 2010 -0300 Bluetooth: Trivial clean ups to SCO Remove extra braces and labels, break over column 80 lines, etc Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 0d861d8b8edd139a9b291cb262d08dec8dc3922d Author: Gustavo F. Padovan Date: Sat May 1 16:15:35 2010 -0300 Bluetooth: Make hci_send_sco() void It also removes an unneeded check for the MTU. The check is done before on sco_send_frame() Signed-off-by: Gustavo F. Padovan Reviewed-by: João Paulo Rechi Vita Signed-off-by: Marcel Holtmann commit 4f7ac1814ef6f0773e57ffd159a1dd57a3c80521 Author: Gustavo F. Padovan Date: Sat May 1 16:15:34 2010 -0300 Bluetooth: Fix wrong packet type count increment Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit acce90d6a957812081b83ac4d1133e93a43569c6 Author: Gustavo F. Padovan Date: Sat May 1 16:15:34 2010 -0300 Bluetooth: Use the proper function cast to get hdr data Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit fe1aff710756ac73c455d214845c74e304d0e966 Author: Gustavo F. Padovan Date: Sat May 1 16:15:34 2010 -0300 Bluetooth: Fix return value when bt_skb_alloc fails Set the proper error(ENOMEM), instead of just return 0. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 1affa091975e47d50ce6a88e9b1abfe717c2fe27 Author: Helmut Schaa Date: Fri May 7 11:03:08 2010 +0200 rt2x00: rt2800: use correct txop value in tx descriptor rt2800 devices use a different enumeration to specify what IFS values should be used on frame transmission compared to the other rt2x00 devices. Hence, create a new enum called txop that contains the valid values. Furthermore use the appropriate txop values as found in the ralink drivers: - TXOP_BACKOFF for management frames - TXOP_SIFS for subsequent fragments in a burst - TXOP_HTTXOP for all data frames Signed-off-by: Helmut Schaa Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit cbd1ea87a198669537591cef9ee834d6986c169b Author: Juuso Oikarinen Date: Fri May 7 11:39:02 2010 +0300 wl1271: Reduce PSM entry hang over period from 128 => 1 ms Currently, we configure a 128ms hang over period for the PSM entry (the firmware will remain active for 128ms after sending the null func for PSM and getting an ack for it.) This is a huge power consumption issue, and appears unnecessary. So, configure the value to 1 ms. Signed-off-by: Juuso Oikarinen Reviewed-by: Janne Ylalehto Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 0cbb1034396243173fa5acac715fcf416fa76644 Author: Teemu Paasikivi Date: Fri May 7 11:39:01 2010 +0300 wl1271: Increase timeout for command event waiting Incresed the timeout value for command complete event waiting from 100 ms to 750 ms. In some rare cases it can take about 600 ms before complete event for join command is received. This is most propably caused by the firmware being busy with scanning related activities. Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 69e5434cd536c7eb4d5be0d0b7db06ed420c1315 Author: Juuso Oikarinen Date: Fri May 7 11:39:00 2010 +0300 wl1271: Fix to join and channel number handling This patch changes the way JOIN's are performed, and channel numbers updated. The reason for this is that the firmware JOIN command clears WPA(2) key material, and if done while associated to a WPA(2) secured AP, will render the data-path unusable. While the channel is not usually changed while associated (and currently we could not even support something like that), after performing a scan operation while associated, mac80211 will re-set the current channel to the driver. This caused our problem. Also, the mac80211 is assuming that the driver channel configuration remains persistent over periods of IDLE. Therefore remove channel resetting to zero from the unjoin function. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 554d7209c87a7b7ec70c14d9ed1c01e05f5dbc23 Author: Juuso Oikarinen Date: Fri May 7 11:38:59 2010 +0300 wl1271: Fix 32 bit register read related endiannes bug Reading single registers did not pay attention to data endianness. This patch fix that. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit d717fd6188b2ea63cf9dc0a870fd312c312841cd Author: Juuso Oikarinen Date: Fri May 7 11:38:58 2010 +0300 wl1271: Add sysfs file to retrieve HW PG-version and ROM-version This patch reads the HW PG version (along with a ROM-version, embedded in the same value) from the wl1271 hardware and publishes the value in a sysfs -file. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 2ff6575b1e497f88acf2c7de7e1ba015267b689d Author: Sujith Date: Fri May 7 13:37:57 2010 +0530 ath9k_htc: Handle IDLE LED properly Switch LED off/on when handling CONF_CHANGE_IDLE. Not doing this would leave the radio LED on even though the chip would be in full sleep mode. Signed-off-by: Sujith Signed-off-by: John W. Linville commit bc6fb35644ee46725f51ef27e901bd5d7e52c101 Author: Luis R. Rodriguez Date: Thu May 6 22:41:14 2010 -0400 ath9k_hw: Update initvals for AR9003 for xb113 Generated using the new shiny intivals-tool [1]: initvals -w -f ar9003 > ar9003_initvals.h The respective checksums are: 0x000000005a76829d ar9300_2p0_radio_postamble 0x000000009d90cb74 ar9300Modes_lowest_ob_db_tx_gain_table_2p0 0x00000000e0bc2c84 ar9300Modes_fast_clock_2p0 0x00000000852fca34 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 0x00000000618455d4 ar9300_2p0_baseband_postamble 0x000000009aa590a4 ar9300_2p0_baseband_core 0x000000004783d946 ar9300Modes_high_power_tx_gain_table_2p0 0x000000006681db44 ar9300Modes_high_ob_db_tx_gain_table_2p0 0x000000001f318700 ar9300Common_rx_gain_table_2p0 0x000000009990cb74 ar9300Modes_low_ob_db_tx_gain_table_2p0 0x00000000c9d66d40 ar9300_2p0_mac_core 0x0000000039139500 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 [1] http://wireless.kernel.org/en/users/Drivers/ath9k_hw/initvals-tool Cc: Tom Hammel Cc: Enis Akay Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6f256de70b90aecbb550a2df387684ed2136b792 Author: Luis R. Rodriguez Date: Thu May 6 22:41:13 2010 -0400 ath9k_common: drop incomming frames with an invalid hardware rate ath9k_common (used by ath9k and ath9k_htc) trusts the frames blessed by hardware as OK are infact correct even if the rate seen by the driver is unrecognized. ath9k_common just treats these frames in mac80211 as frames as frames under 1 mbps rate. It seems this might not be the best thing to do as other parts of the frame might not be valid so just drop these frames for now. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8e1559949928d4d8bfe044bfcf57879faff82e19 Author: Luis R. Rodriguez Date: Thu May 6 22:41:12 2010 -0400 ath9k_common: move the rate status setting into ath9k_process_rate() This has no real functional change, this just moves the setting the the mac80211 rate index into ath9k_process_rate(). This allows us to eventually make ath9k_process_rate() return a negative value in case we have detected a specific case rate situation which should have been ignored. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c809e86c11a64488acc85ddf12ece3c9b879ccb6 Author: John W. Linville Date: Thu May 6 16:49:40 2010 -0400 rtl8180: add software-based support for IBSS mode Device documentation suggests that hardware support for beaconing is available. But I implemented software-based beacon generation as an experiment and it seems better to have that working now rather than waiting for something better to materialize. Signed-off-by: John W. Linville commit 51e080deba57437459571f26a3c6f3db03324c4c Author: John W. Linville Date: Thu May 6 16:26:23 2010 -0400 rtl8180: assign sequence numbers in the driver This is a step towards support for beaconing modes of operation. Signed-off-by: John W. Linville commit a472e71b3c71619087d2485282955c3b62ebfde9 Author: John W. Linville Date: Thu May 6 14:45:17 2010 -0400 mac80211: set IEEE80211_TX_CTL_FIRST_FRAGMENT for beacons Also simplify the flags assignment into a single statement at the end of ieee80211_beacon_get_tim. Signed-off-by: John W. Linville commit 55f9321a024a2d03f71a23b74003792692ca1a38 Author: Ivo van Doorn Date: Thu May 6 14:45:46 2010 +0200 rt2x00: Fix RF3052 channel initialization Update channel initialization for the RF3052 chipset. According to the Ralink drivers, the rt3x array must be used for this chipset, rather then the rt2x array. Furthermore RF3052 supports the 5GHz band, extend the rt3x array with the 5GHz channels, and use them for the RF3052 chip. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 809bfe81ce225d1f5a111840c3d9e30704d98478 Author: Helmut Schaa Date: Thu May 6 12:29:44 2010 +0200 rt2x00: rt2800: don't overwrite SIFS values on erp changes The SIFS value is a constant and doesn't need to be updated on erp changes. Furthermore the code used 10us for both, the OFDM SIFS and CCK SIFS time which broke CTS protected 11g connections (see patch "rt2x00: rt2800: update initial SIFS values" for details). Signed-off-by: Helmut Schaa Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit a21c2ab4210a89a71a0a99685acf16ae126b2eee Author: Helmut Schaa Date: Thu May 6 12:29:04 2010 +0200 rt2x00: rt2800: update initial SIFS values Currently the CCK and OFDM SIFS value is set to 32us. This value is neither used by the Ralink driver nor specified in 802.11. Instead of using 10us for CCK SIFS (as defined in 802.11) use 16us like in the Ralink drivers. And indeed using a SIFS value of 10us breaks connectivity with 11g + CTS protected connections. Add a comment to the code why we don't use 10us for CCK SIFS value. The OFDM SIFS value is set to 16us (as defined in 802.11 and also used by the Ralink drivers). Signed-off-by: Helmut Schaa Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 9c6dda4e2dfea970a7105e3805f0195bc3079f2f Author: Sujith Date: Thu May 6 14:45:47 2010 +0530 ath9k_htc: Fix beaconing in IBSS mode The current way of managing beaconing in ad-hoc mode has a subtle race - the beacon obtained from mac80211 is freed in the SWBA handler rather than the TX completion routine. But transmission of beacons goes through the normal SKB queue maintained in hif_usb, leading to a situation where __skb_dequeue() in the TX completion handler goes kaput. Fix this by simply getting a beacon from mac80211 for every SWBA and free it in its completion routine. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0aaffa9b9699894aab3266195a529baf9f96ac29 Author: Johannes Berg Date: Wed May 5 15:28:27 2010 +0200 mac80211: improve HT channel handling Currently, when one interface switches HT mode, all others will follow along. This is clearly undesirable, since the new one might switch to no-HT while another one is operating in HT. Address this issue by keeping track of the HT mode per interface, and allowing only changes that are compatible, i.e. switching into HT40+ is not possible when another interface is in HT40-, in that case the second one needs to fall back to HT20. Also, to allow drivers to know what's going on, store the per-interface HT mode (channel type) in the virtual interface's bss_conf. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f444de05d20e27cdd960c13fcbcfca3099f03143 Author: Johannes Berg Date: Wed May 5 15:25:02 2010 +0200 cfg80211/mac80211: better channel handling Currently (all tested with hwsim) you can do stupid things like setting up an AP on a certain channel, then adding another virtual interface and making that associate on another channel -- this will make the beaconing to move channel but obviously without the necessary IEs data update. In order to improve this situation, first make the configuration APIs (cfg80211 and nl80211) aware of multi-channel operation -- we'll eventually need that in the future anyway. There's one userland API change and one API addition. The API change is that now SET_WIPHY must be called with virtual interface index rather than only wiphy index in order to take effect for that interface -- luckily all current users (hostapd) do that. For monitor interfaces, the old setting is preserved, but monitors are always slaved to other devices anyway so no guarantees. The second userland API change is the introduction of a per virtual interface SET_CHANNEL command, that hostapd should use going forward to make it easier to understand what's going on (it can automatically detect a kernel with this command). Other than mac80211, no existing cfg80211 drivers are affected by this change because they only allow a single virtual interface. mac80211, however, now needs to be aware that the channel settings are per interface now, and needs to disallow (for now) real multi-channel operation, which is another important part of this patch. One of the immediate benefits is that you can now start hostapd to operate on a hardware that already has a connection on another virtual interface, as long as you specify the same channel. Note that two things are left unhandled (this is an improvement -- not a complete fix): * different HT/no-HT modes currently you could start an HT AP and then connect to a non-HT network on the same channel which would configure the hardware for no HT; that can be fixed fairly easily * CSA An AP we're connected to on a virtual interface might indicate switching channels, and in that case we would follow it, regardless of how many other interfaces are operating; this requires more effort to fix but is pretty rare after all Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ac8dd506e40ee2c7fcc61654a44c32555a0a8d6c Author: Johannes Berg Date: Wed May 5 09:44:02 2010 +0200 mac80211: fix BSS info reconfiguration When reconfiguring an interface due to a previous hardware restart, mac80211 will currently include the new IBSS flag on non-IBSS interfaces which may confuse drivers. Instead of doing the ~0 trick, simply spell out which things are going to be reconfigured. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bac6fafd4d6a0af26aeb37277a39607f7ce0be77 Author: David Kilroy Date: Tue May 4 22:54:41 2010 +0100 orinoco: refactor xmit path ... so orinoco_usb can share some common functionality. Handle 802.2 encapsulation and MIC calculation in that function. The 802.3 header is prepended to the SKB. The calculated MIC is written to a specified buffer. Also modify the transmit control word that will be passed onto the hardware to specify whether the MIC is present, and the key used. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 3ef83d745bf5220bef3a0fd11b96eb9ac64c8e8e Author: Felix Fietkau Date: Tue May 4 09:58:57 2010 +0200 ath9k: fix another source of corrupt frames Atheros hardware supports receiving frames that span multiple descriptors and buffers. In this case, the rx status of every descriptor except for the last one is invalid and may contain random data. Because the driver does not support this, it needs to drop such frames. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f3926b49b7122f66f8f2a1da4ae3275b112ab3e7 Author: Christian Lamparter Date: Sat May 1 18:18:18 2010 +0200 ar9170usb: remove deprecated aggregation code This patch removes the incomplete AMPDU implementation in ar9170usb. The code in question is: * too big and complex (more than 550 SLOC.) This is enough to qualify for a new separate code file! * unbalanced quantity & quality over-engineered areas like: * xmit scheduling and queuing frames for multiple HT peers * redundant frame sorting are confronted by gaping holes: * accurate transmission feedback * firmware error-handling and device reset * HT rate control algorithm * error-prone Since its inclusion, hardly anything was done to fix any of the outlined flaws from the initial commit message. => This also indicates poor maintainability. * relies heavily on several spinlocks. As a result of this shortcomings, the code is slow and does not even support the most basic 11n requirement: HT station mode. Therefore, I request to purge my heap of **** from the kernel: "ar9170: implement transmit aggregation". The next item on the agenda is: (re-)start from scratch with an adequate design to accommodate the special requirements and features of the available frameworks and tools. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 83163244f845c296a118ce85c653872dbff6abfe Merge: 0a12761 adfba3c Author: John W. Linville Date: Wed May 5 16:14:16 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/libertas_tf/cmd.c drivers/net/wireless/libertas_tf/main.c commit adfba3c7c026a6a5560d2a43fefc9b198cb74462 Author: Johannes Berg Date: Wed May 5 15:33:55 2010 +0200 mac80211: use fixed channel in ibss join when appropriate "mac80211: improve IBSS scanning" was missing a hunk. This adds that hunk as originally intended. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f2c98382fee41848265c9bee1754b483045a740e Author: John W. Linville Date: Tue May 4 15:48:48 2010 -0400 rtl8187: use SET_IEEE80211_PERM_ADDR Signed-off-by: John W. Linville Acked-by: Hin-Tak Leung commit c693bf90cf968204f46edb820269ed380d9b7bba Author: John W. Linville Date: Tue May 4 15:46:15 2010 -0400 rtl8180: use SET_IEEE80211_PERM_ADDR Signed-off-by: John W. Linville commit df624ca5413d84b3082246de384823fbe8fed6e4 Author: Gertjan van Wingerde Date: Mon May 3 22:43:05 2010 +0200 rt2x00: Register frame length in TX entry descriptor instead of L2PAD. And use it consistently in the chipset drivers. Preparation for further clean ups. Signed-off-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit a21ee724034b21d51d74eec8e426702a627eb465 Author: Gertjan van Wingerde Date: Mon May 3 22:43:04 2010 +0200 rt2x00: Fix HT40+/HT40- setting in rt2800. Inspection of the Ralink vendor driver shows that the TX_BAND_CFG register and BBP register 3 are about HT40- indication, not about HT40+ indication. Inverse the meaning of these fields in the code. Signed-off-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 79a854f1e1a4482243fe4a2b199e199225b87bf6 Author: Gertjan van Wingerde Date: Mon May 3 22:43:03 2010 +0200 rt2x00: Enable RT30xx by default. Now that RT30xx support is at the same level as RT28xx support we can enable these devices by default. Signed-off-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit c2661486ebacc9c2a86757d8ff1d40b3efe8a08b Author: Gertjan van Wingerde Date: Mon May 3 22:43:02 2010 +0200 rt2x00: Remove rt2x00pci.h include from rt2800lib. PCI specific code has been remove quite some time ago. Signed-off-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 3d79b2a9eeaa066b35c49fbb17e3156a3c482c3e Author: Reinette Chatre Date: Mon May 3 10:55:07 2010 -0700 iwlwifi: recalculate average tpt if not current We currently have this check as a BUG_ON, which is being hit by people. Previously it was an error with a recalculation if not current, return that code. The BUG_ON was introduced by: commit 3110bef78cb4282c58245bc8fd6d95d9ccb19749 Author: Guy Cohen Date: Tue Sep 9 10:54:54 2008 +0800 iwlwifi: Added support for 3 antennas ... the portion adding the BUG_ON is reverted since we are encountering the error and BUG_ON was created with assumption that error is not encountered. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 52c773861895faaf544bd398c87ba10dff29f313 Author: John W. Linville Date: Mon May 3 16:12:39 2010 -0400 iwmc3200wifi: fix busted iwm_debugfs_init definition Looks like we missed removing the return statement in the non-CONFIG_IWM_DEBUG dummy implementation of iwm_debugfs_init... Signed-off-by: John W. Linville commit 1d7d969dd0b467ba32cf3829e8bf104a5084150d Merge: 12ef116 f8478df Author: John W. Linville Date: Mon May 3 14:53:49 2010 -0400 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 12ef116bf750c221e214e33c61e7f4c98300b5fd Author: Xose Vazquez Perez Date: Mon May 3 13:11:38 2010 +0200 wireless: rt2x00: rt2800usb: be in sync with latest windows drivers. 0x07d1,0x3c17 D-Link Wireless N 150 USB Adapter DWA-125 0x1b75,0x3071 Ovislink Airlive WN-301USB 0x1d4d,0x0011 Pegatron Ralink RT3072 802.11b/g/n Wireless Lan USB Device 0x083a,0xf511 Arcadyan 802.11 USB Wireless LAN Card 0x13d3,0x3322 AzureWave 802.11 n/g/b USB Wireless LAN Card Signed-off-by: Xose Vazquez Perez Signed-off-by: John W. Linville commit 23ff98fc21615e324647af540a4ec1c24f993687 Author: Johannes Berg Date: Mon May 3 09:21:14 2010 +0200 mac80211_hwsim: fix double-scan detection Currently, hwsim will always detect a double scan after the first one has finished ... Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit be4a4b6a5d2f76393f545a2545fbaa1b65577e13 Author: Johannes Berg Date: Mon May 3 08:49:48 2010 +0200 mac80211: improve IBSS scanning When IBSS is fixed to a frequency, it can still scan to try to find the right BSSID. This makes sense if the BSSID isn't also fixed, but it need not scan all channels -- just one is sufficient. Make it do that by moving the scan setup code to ieee80211_request_internal_scan() and include a channel variable setting. Note that this can be further improved to start the IBSS right away if both frequency and BSSID are fixed. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a75b4363eaafa99d909da4f1192322a78b074c73 Author: Johannes Berg Date: Sat May 1 18:53:51 2010 +0200 mac80211: allow controlling aggregation manually This allows enabling TX and disabling both TX and RX aggregation sessions manually in debugfs. It is very useful for debugging session initiation and teardown problems since with this you don't have to force a lot of traffic to get aggregation and thus have less data to analyse. Also, to debug mac80211 code itself, make hwsim "support" aggregation sessions. It will still just transfer the frame, but go through the setup and teardown handshakes. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 07cefe7ac983374ee4c369f1d4aee3093bf3b44f Author: David Kilroy Date: Sat May 1 14:05:43 2010 +0100 orinoco_usb: implement fw download This involves some refactorring of the common fw download code to substitute ezusb versions of various functions. Note that WPA-enabled firmwares (9.xx series) will not work fully with orinoco_usb yet. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit fc97431a50962e66c052ec6909d4b2582efd3554 Author: David Kilroy Date: Sat May 1 14:05:42 2010 +0100 orinoco_usb: avoid in_atomic We expect to be either in process contect or soft interrupt context. So use in_softirq instead. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 9afac70a7305817b22327ac23cf2d0eb72388229 Author: David Kilroy Date: Sat May 1 14:05:41 2010 +0100 orinoco: add orinoco_usb driver This driver uses the core orinoco modules for the bulk of the functionality. The low level hermes routines (for local bus cards) are replaced, the driver supplies its own ndo_xmit_start function, and locking is done with the _bh variant. Some recent functionality is not available to the USB cards yet (firmware loading and WPA). Out-of-tree driver originally written by Manuel Estrada Sainz. Thanks to Mark Davis for supplying hardware to test the updates. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit bcad6e80f3fb0d6724c3814cf32258bbcf1d67db Author: David Kilroy Date: Sat May 1 14:05:40 2010 +0100 orinoco: encapsulate driver locking Local bus and USB drivers will need to do locking differently. The original orinoco_usb patches had a boolean variable controlling whether spin_lock_bh was used, or irq based locking. This version provides wrappers for the lock functions and the drivers specify the functions pointers needed. This will introduce a performance penalty, but I'm not expecting it to be noticable. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 593ef09c9e70c92c0d76c67a1c03a5d44d3aec82 Author: David Kilroy Date: Sat May 1 14:05:39 2010 +0100 orinoco: allow driver to specify netdev_ops Allow the main drivers to specify a custom version of the net_device_ops structure. This is required by orinoco_usb to supply a separate transmit function. Export existing net_device_ops callbacks so that the drivers can reuse some of the existing code. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit b42f2074dedef559ecf72dce61a6501f9f9b273a Author: David Kilroy Date: Sat May 1 14:05:38 2010 +0100 orinoco: add hermes_ops Pave the way for introducing USB alternative functions. Force callers to dereference ops instead of providing wrappers. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit f7c65594f7148b778f41d591a701e94bb22428e4 Author: Johannes Berg Date: Fri Apr 30 13:48:36 2010 +0200 mac80211: fix ieee80211_find_sta[_by_hw] Both of these functions can currently return a station pointer that, to the driver, is invalid (in IBSS mode only) because adding the station failed. Check for that, and also make ieee80211_find_sta() properly use the per interface station search. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c7ab1a4dcb8fb63364e9460b1182da6eae5f0d16 Author: John W. Linville Date: Thu Apr 29 15:56:25 2010 -0400 b43legacy: Added get_survey callback in order to get channel noise Signed-off-by: John W. Linville commit 354b4f04f2aa9d9652ecd5a4cdace784c7cfcca8 Author: John W. Linville Date: Thu Apr 29 15:56:06 2010 -0400 b43: Added get_survey callback in order to get channel noise Signed-off-by: John W. Linville commit 91639c76bfd9d27ac54a3c521a2559d02f409ebe Author: John W. Linville Date: Wed Apr 28 17:00:52 2010 -0400 rt2x00: remove now unused noise field from struct rxdone_entry_desc Signed-off-by: John W. Linville Acked-by: Gertjan van Wingerde commit 1f55c12cef6d369d76ae13d522edd1c07e667788 Author: John W. Linville Date: Mon May 3 14:46:05 2010 -0400 iwmc3200wifi: cleanup unneeded debugfs error handling "iwl: cleanup: remove unneeded error handling" missed the one in if_sdio_debugfs_init(). I don't think we even need to check -ENODEV ourselves because if DEBUG_FS is not compiled in, all the debugfs utility functions will become no-op. Reported-by: Dan Carpenter Signed-off-by: Zhu Yi Acked-by: Dan Carpenter Signed-off-by: John W. Linville commit 7ef527377b88ff05fb122a47619ea506c631c914 Merge: 47d2964 1183f38 Author: David S. Miller Date: Sun May 2 21:43:40 2010 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit f8478df1eab2f11aefc4b6668c5867949ab96bd7 Author: Wey-Yi Guy Date: Mon Apr 19 20:39:48 2010 -0700 iwlwifi: greenfield support only true for 11n devices Greenfield is a 11n feature, remove it from non-11n devices configuration parameters list Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit e517736ab85fcaa4ceebbb572f3e86838097ad0a Author: Wey-Yi Guy Date: Mon Apr 19 18:49:40 2010 -0700 iwlwifi: set hw parameters based on device type Separate the hw_set_hw_params() function to per device based; different devices can have different hardware parameters set, when separate the function based on device type can avoid mistakes, give more flexibilities and easier to read. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit e3a3cd8789e1daf1b5af70d3252cab50cd3824c9 Author: Daniel Halperin Date: Sun Apr 18 09:27:58 2010 -0700 iwlwifi: set AMPDU status variables correctly The TX status code is currently abusing the ampdu_ack_map field (a bitmap) to count the number of successfully received frames. The comments in mac80211.h show there are actually three different, relevant variables, of which we are currently using two, both incorrectly. Fix this by making - ampdu_ack_len -> the number of ACKed frames (i.e. successes) - ampdu_ack_map -> the bitmap - ampdu_len -> the total number of frames sent (i.e., attempts) to match the header file (and verified with ath9k's usage) and updating Intel's RS code to match. Signed-off-by: Daniel Halperin Signed-off-by: Reinette Chatre commit 17f36fc6ef3d1ab15f9d2160a9daa107db0887ca Author: Abhijeet Kolekar Date: Fri Apr 16 10:03:54 2010 -0700 iwl3945: add ucode statistics Add general, rx and tx uCode statistics to 3945. This will help in debugging Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre commit c2845d010b0e58a17cd2301e657b614962331550 Author: Shanyu Zhao Date: Wed Apr 14 15:35:14 2010 -0700 iwlwifi: set correct AC to swq_id for aggregation When starting an aggregation session, the swq_id is generated in function iwl_virtual_agg_queue_num() where the first parameter is supposed to be the Access Class, but it used the tx fifo ID instead. This means the AC value stored in swq_id is incorrect. To test this, look at the tx_queue file in debugfs while transmitting Best Effort flow (ac=2), it shows: hwq 10: read=0 write=0 stop=0 swq_id=0xa9 (ac 1/hwq 10) After this fix, it will show: hwq 10: read=0 write=0 stop=0 swq_id=0xaa (ac 2/hwq 10) Signed-off-by: Shanyu Zhao Signed-off-by: Reinette Chatre commit cd398c313785cb5f2b8cb2c85e865f06419b1730 Author: Abhijeet Kolekar Date: Wed Apr 14 10:27:00 2010 -0700 iwlwifi: reset pci retry timeout We removed resetting of PCI_RETRY_TIMEOUT register in merge of suspend resume work. 'Suspend and resume' resets the PCI configuration space, so we have to disable the RETRY_TIMEOUT register again here. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre commit f001b300493287a19ebd88fbca56978dabfec55a Author: Wey-Yi Guy Date: Tue Apr 13 20:50:16 2010 -0700 iwlwifi: remove outdated comments IEEE80211_CONF_SHORT_SLOT_TIME is no longer a possible setting in ieee80211_conf->flags Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 399dcb8a36edbde45bc27f5e33fd7f57de44bdd5 Author: Wey-Yi Guy Date: Tue Apr 13 11:28:52 2010 -0700 iwlwifi: remove get_stats callback function The low level transmission function is performed at uCode layer for all the "agn" NICs, there is no statistics information available for mac80211 get_stats() call. Remove the callback function to avoid misleading information that returned success when indeed it is not supported. Now return "not supported". Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit ad41ee3a45c7de33cfa0057f4a12362ba1f1af32 Merge: 49b5c7f 96ff564 Author: Reinette Chatre Date: Fri Apr 30 15:13:00 2010 -0700 Merge branch 'wireless-2.6' into wireless-next-2.6 Patch "iwlwifi: work around passive scan issue" was merged into wireless-2.6, but touched a lot of code since modified (and moved) in wireless-next-2.6. This caused some conflicts. Conflicts: drivers/net/wireless/iwlwifi/iwl-scan.c Signed-off-by: Reinette Chatre commit f5c044e53a6b319776c7140b22fee9be3bc1f758 Author: John W. Linville Date: Fri Apr 30 15:37:00 2010 -0400 mac80211: remove deprecated noise field from ieee80211_rx_status Also remove associated IEEE80211_HW_NOISE_DBM from ieee80211_hw_flags. Signed-off-by: John W. Linville commit 49b5c7f473f1bbcb30275dcaee2c06dfb8ec2279 Author: Johannes Berg Date: Thu Apr 29 21:34:01 2010 +0200 mac80211: tell driver about IBSS merge My previous patch "mac80211: notify driver about IBSS status" left a problem -- when we merge with a new BSSID, we never tell the driver that we left the old one. Fix that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit edfcba15bdfa520d8c64b496c9260a9d9e0b6d18 Author: John W. Linville Date: Wed Apr 28 16:12:57 2010 -0400 libertas_tf: avoid warning about pr_fmt redefinition Also includes a minor cleanup regarding quotation of a standard kernel header file... Signed-off-by: John W. Linville commit d989ff7cf8d14f1b523f63ba0bf2ec1a9b7c25bc Author: John W. Linville Date: Wed Apr 28 19:14:42 2010 -0400 rtl8180: fix tx status reporting When reporting Tx status, indicate that only one rate was used. Otherwise, the rate is frozen at rate index 0 (i.e. 1Mb/s). Signed-off-by: John W. Linville Cc: stable@kernel.org commit 28b4c3bf1c4aa306fc5189fc7d556aa780c68e98 Author: Hauke Mehrtens Date: Wed Apr 28 14:23:15 2010 -0700 wireless: Fix merge. in your merge in 5c01d5669356e13f0fb468944c1dd4c6a7e978ad you added "int i;" into wl1271_main.c which is unused in that function. This patch fixes the merge problem: Signed-off-by: Hauke Mehrtens Signed-off-by: David S. Miller commit 8fc214ba958648ab111a173f2db7b0e1dfed5b11 Author: Johannes Berg Date: Wed Apr 28 17:40:43 2010 +0200 mac80211: notify driver about IBSS status Some drivers (e.g. iwlwifi) need to know and try to figure it out based on other things, but making it explicit is definitely better. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 76f273640134f3eb8257179cd5b3bc6ba5fe4a96 Author: Stanislaw Gruszka Date: Wed Apr 28 17:03:15 2010 +0200 mac80211: fix supported rates IE if AP doesn't give us it's rates If AP do not provide us supported rates before assiociation, send all rates we are supporting instead of empty information element. v1 -> v2: Add comment. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit f0b058b61711ebf5be94d6865ca7b2c259b71d37 Author: Stanislaw Gruszka Date: Wed Apr 28 15:17:03 2010 +0200 mac80211: do not wip out old supported rates Use old supported rates, if AP do not provide supported rates information element in a new managment frame. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit f7f7cc47fce6f01c3d3374c51508859c328ad5b2 Author: Dan Carpenter Date: Wed Apr 28 11:01:15 2010 +0200 iwl: cleanup: remove unneeded error handling This is just a cleanup and doesn't change how the code works. debugfs_create_dir() and debugfs_create_file() return an error pointer (-ENODEV) if CONFIG_DEBUG_FS is not enabled, otherwise if an error occurs they return NULL. This is how they are implemented and what it says in the DebugFS documentation. DebugFS can not be compiled as a module. As a result, we only need to check for error pointers and particularly -ENODEV one time to know that DebugFS is enabled. This patch keeps the first check for error pointers and removes the rest. The other reason for this patch, is that it silences some Smatch warnings. Smatch sees the condition "(result != -ENODEV)" and assumes that it's possible for "result" to equal -ENODEV. If it were possible it would lead to an error pointer dereference. But since it's not, we can just remove the check. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit baff8006b58bb7fca5d1ea1825bc8c6486900303 Author: Helmut Schaa Date: Wed Apr 28 09:58:59 2010 +0200 rt2x00: rt2800lib: update rfcsr & bbp init code for SoC devices Update the rfcsr and bbp init code for SoC devices to match with the latest Ralink driver. To have better control over which values are used for the register initialization create a new function rt2800_is_305x_soc which checks for SoC interface type, the correct RT chipset and the correct RF chipset. This is based on the assumption that all rt305x SoC devices use a rt2872 and rf3020/rf3021/rf3022. In case an unknown RF chipset is found on a SoC device with a rt2872 don't treat it as rt305x and just print a message. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 23a7a51c5a35b30aa3edcc31a6a57b01c523b4cd Author: Luciano Coelho Date: Wed Apr 28 09:50:02 2010 +0300 wl1271: fix a bunch of sparse warnings A couple of sparse warnings in some rate settings (missing cpu_to_le32) were fixed. Changed the conf_sg_settings struct from le to native endianess. The values are converted to le when copying them to the acx command instead. Reported-by: Johannes Berg Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 82429d32ca3bae9d67faa32ffbc989be2e63094f Author: Juuso Oikarinen Date: Wed Apr 28 09:50:01 2010 +0300 wl1271: Rewrite hardware keep-alive handling The driver had a join command without keep-alive restart procedures in the channel changing code. After associated scans, the mac80211 does re-set the current channel, causing the join to occur. This would stop the hardware keep alive. To make the joins safer in this respect, this patch adds a join function that does the hardware-keep-alive magic along the join. This is now invoked in the above mentioned scenario, and also other scenarios. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 141418c7ed22849449f39f8938c9cf0eae6c524f Author: Saravanan Dhanabal Date: Wed Apr 28 09:50:00 2010 +0300 wl1271: Configure QOS nullfunc template for U-APSD When U-APSD is enabled, device is not sending power save state notifications to AP using QOS nullfunc frames. This patch configures nullfunc templates needed for U-APSD. Signed-off-by: Saravanan Dhanabal Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 16092b5cccd6f3a8d1957ca004c97947e07018db Author: Juuso Oikarinen Date: Wed Apr 28 09:49:59 2010 +0300 wl1271: Improve command polling In testing I noticed that the wl1271 commands fall into two categories. In the first category are "fast" commands, these mostly take only 0 or 1 polls to complete, but occasionally upto 50 (giving a 0.5ms execution time.) In the second category, the command completion takes well more than 0.5ms (from 1.5ms upwards.) This patch fixes command polling such that it is optimal for the fast commands, but also allows sleep for the longer ones. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 62dad5b0be39aa736fa35e63bf009ab2c574ef8c Author: Benoit Papillault Date: Wed Apr 28 00:08:24 2010 +0200 ath9k: Added get_survey callback in order to get channel noise Signed-off-by: Benoit Papillault Signed-off-by: John W. Linville commit d10e2e02f5a4382ec97ec08e809469fcaae2f0f7 Author: John W. Linville Date: Tue Apr 27 16:57:38 2010 -0400 rtl8180: use cached queue mapping for skb in rtl8180_tx Signed-off-by: John W. Linville commit ca962557c2f2aa14f8032006ce17ebb4ff73db55 Author: Dan Williams Date: Wed Apr 28 12:37:46 2010 -0700 libertas: fix 8686 firmware loading regression The 'ready' condition was incorrectly evaluated which sometimes lead to failures loading the second-stage firmware on 8686 devices. (This was introduced in "libertas: consolidate SDIO firmware wait code". -- JWL) Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 446cfaa412beef0dd6cb0edf3b4eaed34d824537 Author: John W. Linville Date: Mon Apr 26 16:09:28 2010 -0400 wl1251: remove usage of deprecated noise value Signed-off-by: John W. Linville commit 6ca4fed3d4ec9887208ea955861fecde4b7a02a1 Author: John W. Linville Date: Mon Apr 26 16:09:27 2010 -0400 rt2x00: remove usage of deprecated noise value Signed-off-by: John W. Linville Acked-by: Gertjan van Wingerde commit 0cbb3b5e8e047fddabd4769fe497cb9f7e6f39b9 Author: John W. Linville Date: Mon Apr 26 16:09:26 2010 -0400 p54: remove usage of deprecated noise value Signed-off-by: John W. Linville commit 699622a7b5c91cadc08bd77a69711dfbca1df3b1 Author: John W. Linville Date: Mon Apr 26 16:09:25 2010 -0400 libertas_tf: remove usage of deprecated noise value Signed-off-by: John W. Linville commit 83beaacc2a0441d13f2706105b5ffaf945f84594 Author: John W. Linville Date: Mon Apr 26 16:09:23 2010 -0400 b43legacy: remove usage of deprecated noise value Signed-off-by: John W. Linville commit 4a277dd8da28b615f4c683b993e01d71f2e3aaec Author: John W. Linville Date: Mon Apr 26 16:09:22 2010 -0400 b43: remove usage of deprecated noise value Signed-off-by: John W. Linville commit 32a0a33f198d1c0386a39285ea55564340d2d7d7 Author: John W. Linville Date: Mon Apr 26 16:09:21 2010 -0400 ath9k: remove usage of deprecated noise value Signed-off-by: John W. Linville commit 54c7c91e659f657afa13315189965ecd8ba11d9d Author: John W. Linville Date: Mon Apr 26 16:09:19 2010 -0400 ath5k: remove usage of deprecated noise value Signed-off-by: John W. Linville commit 5d6566ff356a19fb6ad994717cb937ff88063fa6 Author: John W. Linville Date: Mon Apr 26 16:09:18 2010 -0400 ar9170: remove usage of deprecated noise value Signed-off-by: John W. Linville commit 3377d1b903e50d58a6aecf495092b6e1ffc0cd32 Author: John W. Linville Date: Mon Apr 26 16:09:16 2010 -0400 mwl8k: remove usage of deprecated noise value Signed-off-by: John W. Linville commit a2c40249a36d0b4d76d1caf6bf806e4ae5b06e8a Author: Shanyu Zhao Date: Tue Apr 27 11:15:12 2010 -0700 mac80211: fix rts threshold check Currently whenever rts thresold is set, every packet will use RTS protection no matter its size exceeds the threshold or not. This is due to a bug in the rts threshold check. if (len > tx->local->hw.wiphy->rts_threshold) { txrc.rts = rts = true; } Basically it is comparing an int (len) and a u32 (rts_threshold), and the variable len is assigned as: len = min_t(int, tx->skb->len + FCS_LEN, tx->local->hw.wiphy->frag_threshold); However, when frag_threshold is "-1", len is always "-1", which is 0xffffffff therefore rts is always set to true. CC: stable@kernel.org Signed-off-by: Shanyu Zhao Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit a060bbfe4ee95d115e8f9705a66894ac34e2c475 Author: Johannes Berg Date: Tue Apr 27 11:59:34 2010 +0200 mac80211: give virtual interface to hw_scan When scanning, it is somewhat important to scan on the correct virtual interface. All drivers that currently implement hw_scan only support a single virtual interface, but that may change and then we'd want to be ready. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9043f3b89abebfbfe4b8d64c7b71b9ac0b9eaa0b Author: Juuso Oikarinen Date: Tue Apr 27 12:47:41 2010 +0300 cfg80211: Remove default dynamic PS timeout value Now that the mac80211 is choosing dynamic ps timeouts based on the ps-qos network latency configuration, configure a default value of -1 as the dynamic ps timeout in cfg80211. This value allows the mac80211 to determine the value to be used. Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 195e294d21e88af879da4f88db2ceeb4ec28a755 Author: Juuso Oikarinen Date: Tue Apr 27 12:47:40 2010 +0300 mac80211: Determine dynamic PS timeout based on ps-qos network latency Determine the dynamic PS timeout based on the configured ps-qos network latency. For backwards wext compatibility, allow the dynamic PS timeout configured by the cfg80211 to overrule the automatically determined value. Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 3a37495268ab45507b4cab9d4cb18c5496ab7a10 Author: Vivek Natarajan Date: Tue Apr 27 13:05:38 2010 +0530 ath9k: Avoid corrupt frames being forwarded to mac80211. If bit 29 is set, MAC H/W can attempt to decrypt the received aggregate with WEP or TKIP, eventhough the received frame may be a CRC failed corrupted frame. If this bit is set, H/W obeys key type in keycache. If it is not set and if the key type in keycache is neither open nor AES, H/W forces key type to be open. But bit 29 should be set to 1 for AsyncFIFO feature to encrypt/decrypt the aggregate with WEP or TKIP. Cc: stable@kernel.org Reported-by: Johan Hovold Signed-off-by: Vivek Natarajan Signed-off-by: Ranga Rao Ravuri Signed-off-by: John W. Linville commit 8a8572a821e5763525f5e4ac104bc28fd798fd5e Author: Vivek Natarajan Date: Tue Apr 27 13:05:37 2010 +0530 ath9k_htc: Handle CONF_IDLE during unassociated state to save power. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 7b7b5e56d7bdfdd0eb5ea13e6c9613b16b8eac46 Author: Felix Fietkau Date: Tue Apr 27 01:23:36 2010 +0200 mac80211: implement ap isolation support Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit fd8aaaf3519f3fd3c82594e90bc6808072b94d54 Author: Felix Fietkau Date: Tue Apr 27 01:23:35 2010 +0200 cfg80211: add ap isolation support This is used to configure APs to not bridge traffic between connected stations. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 5bea40069e46542f5691ec5771edc53e0ca58d71 Author: Luis R. Rodriguez Date: Mon Apr 26 15:04:41 2010 -0400 ath9k_hw: Fix TX interrupt mitigation settings TX interrupt mitigation reduces the number of interrupts by addressing several interrupt actions (AR_IMR_TXOK, AR_IMR_TXDESC) all in one interrupt so when enabling it discard setting the other interrupts. Without this TX interrupt mitigation would actually increase the number of interrupts two-fold. We still leave TX interrupt mitigation disabled as it is still being tested. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5d5d44d914623b6122f050ec900ea4016aa3a993 Author: Felix Fietkau Date: Mon Apr 26 15:04:40 2010 -0400 ath9k_hw: fix noisefloor timeout handling on AR9003 When the noisefloor calibration times out, do not load -50 into the registers, since this might cause rx issues. Instead, leave enough time for the noise floor calibration to complete until the next check. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 0cf31079e98be01baffb22a2e3ad0cbc58420a41 Author: Felix Fietkau Date: Mon Apr 26 15:04:39 2010 -0400 ath9k_hw: Fix endian bug in an AR9003 EEPROM field Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit d10baf99ffd1926c30401342779866ae7d73e2c4 Author: Felix Fietkau Date: Mon Apr 26 15:04:38 2010 -0400 ath9k_hw: Fix typos in tx rate power level parsing for AR9003 Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 597a94b340f98bf4596ef59e938875afaa1815d6 Author: Felix Fietkau Date: Mon Apr 26 15:04:37 2010 -0400 ath9k_hw: use the configured power limit for AR9003 Since the new AR9003 EEPROM code does tune the card for the configured tx power level, we need to fill in the correct power limits in the TPC part of the DMA descriptor. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 7f9f3600695bf68d11cdcf278d39f02eaadc3a00 Author: Felix Fietkau Date: Mon Apr 26 15:04:36 2010 -0400 ath9k: wake queue after processing edma rx frames Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 6b42e8d03bef975085c0397806d00fbd1df67eb8 Author: Felix Fietkau Date: Mon Apr 26 15:04:35 2010 -0400 ath9k_hw: fix fast clock handling for 5GHz channels Combine multiple checks that were supposed to check for the same conditions, but didn't. Always enable fast PLL clock on AR9280 2.0 Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 5b75d0fca5b8cd2657fb240f2112e272a115b2f9 Author: Felix Fietkau Date: Mon Apr 26 15:04:34 2010 -0400 ath9k_hw: update EEPROM data structure for AR9280 Adds read access for the 5 GHz fast clock flag Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit e55537240f97635f9a7c42fac224ff80fa637624 Author: Vasanthakumar Thiagarajan Date: Mon Apr 26 15:04:33 2010 -0400 ath9k_hw: Fix usec to hw clock conversion in 5Ghz for ar9003 Fast clock operation (44Mhz) is enabled for 5Ghz in ar9003, so take care of the conversion from usec to hw clock. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit b360a884834a83ede845733cf344a29eb10dd2e3 Author: Luis R. Rodriguez Date: Mon Apr 26 15:04:32 2010 -0400 ath9k_hw: disable TX IQ calibration for AR9003 Disable TX IQ calibration, it was prematurely enabled in previous versions. Cc: Paul Shaw Cc: Thomas Hammel Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 83937227657545f9e7aa9bfcb4429e81c9135f46 Author: Felix Fietkau Date: Mon Apr 26 15:04:31 2010 -0400 ath9k_hw: fix typo in the AR9003 EEPROM data structure definition Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 14bc110463bafc1aa4a51d4443e9dc1a88b58c40 Author: Felix Fietkau Date: Mon Apr 26 15:04:30 2010 -0400 ath9k_hw: fix pll clock setting for 5ghz on AR9003 Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 2fcb91317360d75efa3cbf4b200c9e7131c6b527 Author: Felix Fietkau Date: Mon Apr 26 15:04:29 2010 -0400 ath9k_hw: update initvals for AR9003 This synchs up the initvals to the values used on the Atheros HAL for AR9003. This specific change adds support for a new high power module. Signed-off-by: Felix Fietkau Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f7917af92024d43bc20bc1afc92de27b0bd0f50b Author: Felix Fietkau Date: Tue Apr 27 00:26:34 2010 +0200 mac80211: fix handling of 4-address-mode in ieee80211_change_iface A misplaced interface type check bails out too early if the interface is not in monitor mode. This patch moves it to the right place, so that it only covers changes to the monitor flags. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 4f824719a2729f1a6bb78de20c4d3b3dbdd81a09 Author: Sujith Date: Mon Apr 26 15:09:42 2010 +0530 ath9k_htc: Simplify RX IRQ handler A bunch of validation and processing in the RX IRQ handler can be moved to the RX tasklet. The IRQ handler is already heavy, with the memory allocation for handling stream mode. Also, a memcpy of 40 bytes for every packet can be avoided in the handler. Signed-off-by: Sujith Signed-off-by: John W. Linville commit d439260e04eca5bce88558feecee4369784f2175 Author: Sujith Date: Mon Apr 26 15:09:39 2010 +0530 ath9k_htc: Validate TX Endpoint ID Check for the endpoint IDs when processing TX completions and drop the unsupported EPIDs. We can add other endpoints (UAPSD,..) when support is added. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 5bf1e17a4a3870d4f03dc39f1bec4464bbdf4887 Author: Sujith Date: Mon Apr 26 15:09:36 2010 +0530 ath9k_htc: Remove unnecessary powersave restore Signed-off-by: Sujith Signed-off-by: John W. Linville commit e9bd5bcde7af27ebb92bb866afde5ef5e4f3dc6c Author: Steve deRosier Date: Sun Apr 25 14:40:46 2010 -0700 libertastf: add configurable debug messages Add the same type of configurable debug messages to libertas_tf as already exist in the libertas driver. This has facilitated creation of a interface specification and will facilitate future development of this driver. Signed-off-by: Steve deRosier Signed-off-by: John W. Linville commit 9a8b424ea8b64da83b6868423dcd0f3c259fdde0 Author: Helmut Schaa Date: Mon Apr 26 13:50:27 2010 +0200 rt2x00: rt2800lib: Remove redundant check for RT2872 Remove redundant check for RT2872. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 23812383c6b03afef44c4aa642500f8235c3d079 Author: Helmut Schaa Date: Mon Apr 26 13:48:45 2010 +0200 rt2x00: rt2800lib: Fix rx path on SoC devices Restore the rfcsr initialization for RT305x SoC devices which was removed by "rt2x00: Finish rt3070 support in rt2800 register initialization.". This fixes the rx path on SoC devices. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 0bdab171ec04ea9d26a40608f69350c8c9e4872c Author: Helmut Schaa Date: Mon Apr 26 10:18:08 2010 +0200 rt2x00: fix typo in rt2800.h Fix a typo in a comment in rt2800.h. Instead of replacing the wrong hexvalue (0x171c) with the correct one (0x1718) just use the appropriate readable define. Signed-off-by: Helmut Schaa Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5a673964266438784b4ebf65ee07970cde61ab5e Author: Helmut Schaa Date: Fri Apr 23 15:54:43 2010 +0200 rt2x00: rt2800: use tx_power2 in rt2800_config_channel_rf3xxx Get closer to what the ralink driver does by setting the rf register 13 to tx_power2 during channel switch. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2caaa5d36ee210919bd0ecc7b2e6648171544e95 Author: Helmut Schaa Date: Fri Apr 23 15:05:29 2010 +0200 rt2x00: rt2800lib: disable HT40 for now as it causes reception problems Disable HT40 support for now as it causes rx problems with HT40 capable 11n APs (when mac80211 enables HT40, rx is completely disfunctional). Once the rt2800 HT code is capable of using HT40 we should enable the flag again. I only tested this patch with a rt305x SoC device, nevertheless the patch disables HT40 also on PCI and USB rt2800 devices. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit d8f996f6ff7e6eab4c7b96e908ba789533595e7d Author: Sujith Date: Fri Apr 23 10:28:20 2010 +0530 ath9k_htc: Really fix device hotunplug All commands to the target are disabled when the device is unplugged, but a normal module unload has to be differentiated from this case, as we could still receive data in the RX endpoint. Fix this by checking if the device is attached or not. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0d36d71da2a3e5b28b4e7743c0041515cca798ef Author: Sujith Date: Fri Apr 23 10:28:19 2010 +0530 ath9k_htc: Fix WMI command race My patch "ath9k_htc: Handle WMI timeouts properly" introduced a race condition in WMI command processing. The last issued command should be stored _before_ issuing a WMI command. Not doing this would result in the WMI event IRQ dropping correct command responses as invalid. Fix this race by storing the command id correctly. Signed-off-by: Sujith Signed-off-by: John W. Linville commit ba44370175d2e743065382508ed7823cc83cea0a Author: Sujith Date: Fri Apr 23 10:28:18 2010 +0530 ath9k_htc: Increase WMI timeout value Completion of WMI commands take a longer time on some platforms. Increase the timeout value to handle this. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 5ab0af3270b29c62b8960a60092917ec8be48c4a Author: Sujith Date: Fri Apr 23 10:28:17 2010 +0530 ath9k_htc: Process command data properly When handling the REGIN callback, processing the incoming data first should be the preferred mode of operation. Allocation of a new SKB may fail, in which case, the URB will not be resubmitted. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 62e4716aff31a8ab687016680443012034734c92 Author: Sujith Date: Fri Apr 23 10:28:16 2010 +0530 ath9k_htc: Use USB reboot So, apparently there is a USB reboot command that the target accepts. Using this instead of usb_reset_device() fixes the issue of "descriptor read error" that pops up on repeated load/unload. Signed-off-by: Sujith Signed-off-by: John W. Linville commit f66890724fb3131894b8eee5fc552a5dc42dc1df Author: Sujith Date: Fri Apr 23 10:28:15 2010 +0530 ath9k_htc: Pass correct private pointer In the TX callback, the HTC layer has to pass the priv pointer that was registered during service initialization. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 51f139d567574e6a9b5c8aaddb8ff3a240cf8e52 Author: Sujith Date: Fri Apr 23 10:28:14 2010 +0530 ath9k_hw: Remove pointless ANI deinit There is no reason to disable the PHY Error / MIB counters when the module is being unloaded. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7073daa63b8794710fa6c928a6dd169e52791185 Author: Sujith Date: Fri Apr 23 10:28:13 2010 +0530 ath9k_htc: Cancel running timers before disabling HW Signed-off-by: Sujith Signed-off-by: John W. Linville commit d5e347bf0f5e99f540aaaaca25ef4e957d59a506 Author: Sujith Date: Fri Apr 23 10:28:11 2010 +0530 ath9k_htc: Use multiple register writes This patch fixes a code segment in configpciepowersave() to make use of multiple register writes. Signed-off-by: Sujith Signed-off-by: John W. Linville commit a3be14b76da111ebe4d245b0542613f9317104e7 Author: Sujith Date: Fri Apr 23 10:28:10 2010 +0530 ath9k_htc: Handle device unplug properly When the USB device has been unplugged, there is no point in trying to send commands to the target. Fix this by denying all WMI commands in such a case. Signed-off-by: Sujith Signed-off-by: John W. Linville commit c11d8f89d3b785f3ef987c2d9ee1bfea6f8b3d0f Author: Sujith Date: Fri Apr 23 10:28:09 2010 +0530 ath9k_htc: Simplify TX URB management This patch simplifies URB management for transmission, by removing the 'FLUSH' variable (which is not needed, since we can determine if the URB has been killed by looking at the URB status), and also handling the STOP case properly. Signed-off-by: Sujith Signed-off-by: John W. Linville commit d4cde88c1c025ffa18150ec29e80e456f2a5c65a Author: Hans de Goede Date: Thu Apr 22 19:52:43 2010 +0200 p54pci: fix regression from prevent stuck rx-ring on slow system This patch fixes a recently introduced use-after-free regression from "p54pci: prevent stuck rx-ring on slow system". Hans de Goede reported a use-after-free regression: >BUG: unable to handle kernel paging request at 6b6b6b6b >IP: [] p54p_check_tx_ring+0x84/0xb1 [p54pci] >*pde = 00000000 >Oops: 0000 [#1] SMP >EIP: 0060:[] EFLAGS: 00010286 CPU: 0 >EIP is at p54p_check_tx_ring+0x84/0xb1 [p54pci] >EAX: 6b6b6b6b EBX: df10b170 ECX: 00000003 EDX: 00000001 >ESI: dc471500 EDI: d8acaeb0 EBP: c098be9c ESP: c098be84 > DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 >Process swapper (pid: 0, ti=c098a000 task=c09ccfe0 task.ti=c098a000) >Call Trace: > [] ? p54p_tasklet+0xaa/0xb5 [p54pci] > [] ? tasklet_action+0x78/0xcb > [] ? __do_softirq+0xbc/0x173 Quote from comment #17: "The problem is the innocent looking moving of the tx processing to after the rx processing in the tasklet. Quoting from the changelog: This patch does it the same way, except that it also prioritize rx data processing, simply because tx routines *can* wait. This is causing an issue with us referencing already freed memory, because some skb's we transmit, we immediately receive back, such as those for reading the eeprom (*) and getting stats. What can happen because of the moving of the tx processing to after the rx processing is that when the tasklet first runs after doing a special skb tx (such as eeprom) we've already received the answer to it. Then the rx processing ends up calling p54_find_and_unlink_skb to find the matching tx skb for the just received special rx skb and frees the tx skb. Then after the processing of the rx skb answer, and thus freeing the tx skb, we go process the completed tx ring entires, and then dereference the free-ed skb, to see if it should free free-ed by p54p_check_tx_ring()." Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=583623 Bug-Identified-by: Hans de Goede Signed-off-by: Hans de Goede Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 0c86980817853e4166f66c7cd18bc5fe1adeb5f7 Author: Juuso Oikarinen Date: Thu Apr 22 10:27:48 2010 +0300 mac80211: Fix sta->last_tx_rate setting with no-op rate control devices The sta->last_tx_rate is traditionally updated just before transmitting a frame based on information from the rate control algorithm. However, for hardware drivers with IEEE80211_HW_HAS_RATE_CONTROL this is not performed, as the rate control algorithm is not executed, and because the used rate is not known before the frame has actually been transmitted. This causes atleast a fixed 1Mb/s to be reported to user space. A few other instances of code also rely on this information. Fix this by setting the sta->last_tx_rate in tx_status handling. There, look for last rates entry set by the driver, and use that as value for sta->last_tx_rate. Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 3b51cc996e81d8a113416d8094fa4a88f8360a51 Merge: c68ed25 6727244 Author: John W. Linville Date: Fri Apr 23 14:43:45 2010 -0400 Merge branch 'master' into for-davem Conflicts: drivers/net/wireless/ath/ath9k/phy.c drivers/net/wireless/iwlwifi/iwl-6000.c drivers/net/wireless/iwlwifi/iwl-debugfs.c commit 672724403b42da1d276c6cf811e8e34d15efd964 Author: Johannes Berg Date: Wed Apr 21 10:25:36 2010 +0200 radiotap parser: fix endian annotation When I updated this from the corresponding userspace library, an annotation error crept in -- this variable needs to be annotated as little endian. No effect on code generation. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 81b208a6b6e2923dcc2dd5292f0d2ffe20b5d16f Author: Luis R. Rodriguez Date: Tue Apr 20 18:28:36 2010 -0400 ath9k_hw: make all AR9002 initvals use u32 Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 020ab48d1e3538d33d7d1c1531c45708ff795ebc Author: Luis R. Rodriguez Date: Tue Apr 20 18:28:35 2010 -0400 ath9k_hw: make two initvals consto for the AR9001 family This makes ar5416Addac_9160 and ar5416Addac_9160 const I guess we skipped them long ago. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 87eb367003887cdc81a5d183efea227b5b488961 Merge: ccb7c77 05d1760 Author: David S. Miller Date: Wed Apr 21 01:14:25 2010 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-6000.c net/core/dev.c commit aa395145165cb06a0d0885221bbe0ce4a564391d Author: Eric Dumazet Date: Tue Apr 20 13:03:51 2010 +0000 net: sk_sleep() helper Define a new function to return the waitqueue of a "struct sock". static inline wait_queue_head_t *sk_sleep(struct sock *sk) { return sk->sk_sleep; } Change all read occurrences of sk_sleep by a call to this function. Needed for a future RCU conversion. sk_sleep wont be a field directly available. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 7bdfcaaff5de368a88a4f784f7283b66c17d051d Author: Juuso Oikarinen Date: Tue Apr 20 13:15:56 2010 +0300 mac80211: Fix ieee80211_sta_conn_mon_timer with hw connection monitoring When IEEE80211_HW_CONNECTION_MONITOR is configured by the driver, starting of ieee80211_sta_conn_mon_timer should be prevented, as it is then not needed. This is currently partially the case. As it seems, when a probe-response is received from the AP the timer is still restarted, thus restarting the host based connection keep-alive mechanism. These probe-responses happen at least when scanning while associated. Fix this by preventing starting of the ieee80211_sta_conn_mon_timer in the ieee80211_rx_mgmt_probe_resp function. Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 58b5190e740241b33fcd901855436aa5d0c5e087 Author: Felix Fietkau Date: Mon Apr 19 19:57:37 2010 +0200 ath9k: set the STBC flag in rate control if the peer supports it Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 074a8c0db255e79960593122b5458c9a9c0551fa Author: Felix Fietkau Date: Mon Apr 19 19:57:36 2010 +0200 ath9k: add support for Tx and Rx STBC Supported only for single stream rates by the hardware Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 3bb065a7420c90421d6bbea5f7cffe36bd79a048 Author: Felix Fietkau Date: Mon Apr 19 19:57:34 2010 +0200 ath9k: initialize the number of tx/rx streams correctly AR9300 based hardware can 3x3 MCS rates, this should be set in the HT capabilities. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit c666387682faaec7d7b4a8afd30b0b6bc0816ddb Author: Felix Fietkau Date: Mon Apr 19 19:57:33 2010 +0200 ath9k: reduce the bits_per_symbol table size, support more streams Instead of increasing bits_per_symbol for supporting more streams, keep it single-stream only and multiply the values by the numer of streams. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 0e668cde0d78fb1b5f1f5e9a4bf7f9900269c98e Author: Felix Fietkau Date: Mon Apr 19 19:57:32 2010 +0200 ath9k: update the ath_max_4ms_framelen table Include MCS0-31 and also add SGI for HT20. This makes it possible to support more different rate combinations with newer hardware. Based on a patch by Selvam. T. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 7817e4ceb64a53c518bc45b02819e0e57a4c4d83 Author: Felix Fietkau Date: Mon Apr 19 19:57:31 2010 +0200 ath9k: update the MCS mask for MCS16 and above Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 0a8cea844d93d5fd689140ac913acc5fdcf1fdb1 Author: Felix Fietkau Date: Mon Apr 19 19:57:30 2010 +0200 ath9k: clean up tx buffer handling Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit c9c99e5e440013c420fd8ec41ee83e89909d5186 Author: Felix Fietkau Date: Mon Apr 19 19:57:29 2010 +0200 ath9k: check for specific rx stuck conditions and recover from them Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 55ee82b500551f80720de57a00d2990d56cf08a8 Author: Holger Schurig Date: Mon Apr 19 10:24:22 2010 +0200 ath5k: basic support for survey This adds the first element of survey data, the noise floor figure. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 1289723ef238908ca8d95ff48a46ee0de970f882 Author: Holger Schurig Date: Mon Apr 19 10:23:57 2010 +0200 mac80211: sample survey implementation for mac80211 & hwsim This adds the survey function to both mac80211 itself and to mac80211_hwsim. For the latter driver, we simply invent some noise level.A real driver which cannot determine the real channel noise MUST NOT report any noise, especially not a magically conjured one :-) Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 03ceedea972a82d343fa5c2528b3952fa9e615d5 Author: Daniel Yingqiang Ma Date: Tue Apr 13 15:12:07 2010 +0800 ath9k: Group Key fix for VAPs When I set up multiple VAPs with ath9k, I encountered an issue that the traffic may be lost after a while. The detailed phenomenon is 1. After a while the clients connected to one of these VAPs will get into a state that no broadcast/multicast packets can be transfered successfully while the unicast packets can be transfered normally. 2. Minutes latter the unitcast packets transfer will fail as well, because the ARP entry is expired and it can't be freshed due to the broadcast trouble. It's caused by the group key overwritten and someone discussed this issue in ath9k-devel maillist before, but haven't work out a fix yet. I referred the method in madwifi, and made a patch for ath9k. The method is to set the high bit of the sender(AP)'s address, and associated that mac and the group key. It requires the hardware supports multicast frame key search. It seems true for AR9160. Not sure whether it's the correct way to fix this issue. But it seems to work in my test. The patch is attached, feel free to revise it. Signed-off-by: Daniel Yingqiang ma Signed-off-by: John W. Linville commit e8958330190c57c0d32bee88b64a12de2f58059f Author: Xose Vazquez Perez Date: Mon Apr 19 11:54:16 2010 +0200 wireless: rt2x00: rt2800usb: identify Allwin devices Applied common sense, no info from the manufacturer: (0x8516, 0x2070) is RT2070 (0x8516, 0x2770) is RT2770 (0x8516, 0x2870) is RT2870 [...] Signed-off-by: Xose Vazquez Perez Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 67e0f392779e35a96c43bc240ef5d30a701d153e Author: Johannes Berg Date: Mon Apr 19 11:03:13 2010 +0200 mac80211: add missing newline One HT debugging printk is missing a newline, add it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 088899c43ce8bc54c6de519e4b1a1fc41b95867e Author: David Kilroy Date: Mon Apr 19 08:16:23 2010 +0100 orinoco: have sparse check endian issues Orinoco should be endian clean, so enable the checking. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 69c264de2ada18bd9da6c9f582a8babd3dcf5f18 Author: David Kilroy Date: Mon Apr 19 08:16:22 2010 +0100 orinoco: use cfg80211_find_ie Instead of using a local function. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit c3d415030c1a00cc21935c38f8761db46ef1d7ff Author: David Kilroy Date: Mon Apr 19 08:16:21 2010 +0100 orinoco: implement set_wiphy_params ... to set fragmentation and RTS thresholds. Also report RTS retry settings during wiphy init. Note that the existing semantics for enabling microwave robustness are preserved on firmwares that have it. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 3393a608c4979a94d1887efc05b792849d361a65 Author: Juuso Oikarinen Date: Mon Apr 19 10:12:52 2010 +0300 mac80211: Prevent running sta_cleanup timer unnecessarily The sta_cleanup timer is used to periodically expire buffered frames from the tx buf. The timer is executing periodically, regardless of the need for it. This is wasting resources. Fix this simply by not restarting the sta_cleanup timer if the tx buffer was empty. Restart the timer when there is some more tx-traffic. Cc: Janne Ylälehto Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 2aab4c273ad837fbcf2955aee32b9ec4706c2521 Author: Johannes Berg Date: Mon Apr 19 11:00:24 2010 +0200 mac80211: fix stopping RX BA session from timer Kalle reported that his system deadlocks since my recent work in this area. The reason quickly became apparent: we try to cancel_timer_sync() a timer from within itself. Fix that by making the function aware of the context it is called from. Reported-by: Kalle Valo Signed-off-by: Johannes Berg Tested-by: Kalle Valo Signed-off-by: John W. Linville commit 76026660c3699a82d1df2d04f6dd81af01d9d19a Merge: 317a929 e7cb495 Author: John W. Linville Date: Mon Apr 19 16:37:59 2010 -0400 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit e7cb49550eb25f2e551d7d7f3bb71560df83680c Author: Johannes Berg Date: Tue Apr 13 01:04:35 2010 -0700 iwlwifi: make scan antenna forcing more generic Some future hardware will also require some antenna overrides so make the current logic more generic; right now it is semantically based on a workaround for off-channel reception but the reasons for the new antenna overrides will be different. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit ee102603c04d84d3079e3d593d88d5254085efa0 Author: Johannes Berg Date: Tue Apr 13 01:04:34 2010 -0700 iwlwifi: remove monitor check Off-channel reception is acceptable in monitor mode, and checking for monitor mode this way is not really correct anyway since it could be the case while operating. Now iwl_is_monitor_mode() is no longer used so remove it completely. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit fa58b6a3b34944bb9fc0129ba2534bd91d082d61 Author: Johannes Berg Date: Tue Apr 13 01:04:33 2010 -0700 iwlwifi: don't check monitor for scanning Monitor mode operation need not (and probably should not) affect scanning this way since real monitoring can not properly happen while scanning anyway. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit b2e8690d5a4d1868ee12f50aa00c138bec985b3c Author: Johannes Berg Date: Tue Apr 13 01:04:32 2010 -0700 iwlwifi: rename TX_CMD_FLG_BT_DIS_MSK The flag name is a little misleading, this flag instructs the device to ignore bluetooth messages for purposes of frame transmissions, so rename the flag to TX_CMD_FLG_IGNORE_BT. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 65b52bde687b609dc9cfc63eaf31da24b4f5663a Author: Johannes Berg Date: Tue Apr 13 01:04:31 2010 -0700 iwlwifi: make BT coex config a virtual method Some future hardware will require a different command to be sent for bluetooth coexist, so make this a virtual method that can be changed on a per-device basis. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit f4388adc92464397bb08a62c62c98b3b654bccc2 Author: Wey-Yi Guy Date: Mon Apr 12 18:32:11 2010 -0700 iwlwifi: more code clean up for agn devices Since multiple new devices having similar uCode architecture and use same registers address, remove more reference to 5000 series to eliminate the confusion. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 82ca9341763107615a15da6e59b9535d49eb91c3 Author: Wey-Yi Guy Date: Mon Apr 12 14:02:36 2010 -0700 iwlwifi: sanity check for turn on aggregation tid Perform sanity check for turn on aggregation tid. Also remove the option for turn on all the aggregation tids at once since it is deprecated function and not being used. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 33e6f816105b5cfaafbbf42682807cc317e87cb5 Author: Wey-Yi Guy Date: Fri Apr 9 09:36:11 2010 -0700 iwlwifi: PA type for 6000g2 series For 6000g2 series of NICs, PA type is determined by uCode, driver do not have to set the register for internal/external PA. It is a workaround just for 6000 series NICs. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 1780221141047c83c99f9d02b504700080cc35c9 Author: Wey-Yi Guy Date: Fri Apr 9 09:12:56 2010 -0700 iwlwifi: add hw revision for 6000g2 NIC Add hardware revision for 6000g2 series of NIC Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit c8d5420d958e2ed0945d89d5cc20369310b0559b Author: Shanyu Zhao Date: Thu Apr 8 19:03:55 2010 -0700 iwlwifi: remove redundant iwl_dump_lq_cmd() This function is called twice in a row, remove the second one. Signed-off-by: Shanyu Zhao Signed-off-by: Reinette Chatre commit b8c76267cfb9a025afdd122bc2a8942dbf493dd1 Author: Abhijeet Kolekar Date: Thu Apr 8 15:29:07 2010 -0700 iwlwifi: add debugfs ops to iwlwifi Seperate debugfs functions into iwlagn specific debugfs file and Add debugfs ops to iwlwifi. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre commit 69e72801224693bb520cf3ece5e6bf67f0448c96 Author: Wey-Yi Guy Date: Wed Apr 7 20:12:23 2010 -0700 iwlwifi: remove duplicated debug functions Use the show uCode statistics function for uCode debugging purposes only; it is being duplicated in both debugfs and sysfs. remove the one from sysfs. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 4b3e8062807822271e02aafc0432e9a2497cb46c Author: Shanyu Zhao Date: Wed Apr 7 18:06:36 2010 -0700 iwlwifi: bring up 6000 Series 2x2 AGN Gen2 adapters This patch is to bring up 6000 Series 2x2 AGN Gen2 adapters. Seperate various version numbers from 6000 Series definitions; Add module firmware declaration for the new adapters; Add additional device IDs and subsystem IDs; Signed-off-by: Shanyu Zhao Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 7944f8e4acbb76bc8fde64dbffef43d2c8b5d053 Author: Wey-Yi Guy Date: Tue Apr 6 21:10:33 2010 -0700 iwlwifi: more generic eeprom defines Some definition for eeprom apply to more than 5000 series device, change the name to reflect it for easy reading. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit b6e4c55aaee4fd40526a6816e60c68dd62e565c4 Author: Johannes Berg Date: Tue Apr 6 04:12:42 2010 -0700 iwlwifi: trigger scan synchronously Scan requesting doesn't need to be asynchronous since all code paths leading up to it can sleep. Make the scan request a new util operation that is hw-specific (to account for 3945 vs. agn) and call it right in place. This patch moves a lot of code into iwlagn as it need not be in iwlcore. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 811ecc995b18eb58067ffa75b961ece3b84a1f03 Author: Johannes Berg Date: Tue Apr 6 04:12:41 2010 -0700 iwlwifi: rename priv->scan to priv->scan_cmd I keep checking what "priv->scan" is, so rename it to "priv->scan_cmd" which more clearly tells us what it is. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit b165cf09c0248262232c7566df5ae40284cee7d6 Author: Johannes Berg Date: Tue Apr 6 04:12:40 2010 -0700 iwlwifi: remove scan_pass_start Since we no longer do a multi-pass scan, keeping track of how long each pass took is pointless since there will only be one. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 92ae80eec7ac642f249b7a2fc02f41441d128a62 Author: Johannes Berg Date: Tue Apr 6 04:12:39 2010 -0700 iwlwifi: remove next_scan_jiffies This logic is just confusing, if anything it belongs into mac80211. Also, even if we do scan during the EAPOL handshake, that will not cause any problems, just a short delay. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 6708dc863880777ffe5fc55c86bfd80f886f53d6 Author: Johannes Berg Date: Tue Apr 6 04:12:38 2010 -0700 iwlwifi: correct atomic bitops usage With atomic bitops, test_and_{set,clear}_bit should be used instead of separate test_bit and set_bit/clear_bit. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 00700ee007cf842ef2eb20201080ceddcfdaf9ad Author: Johannes Berg Date: Tue Apr 6 04:12:37 2010 -0700 iwlwifi: remove scan_bands logic Since mac80211 will now never request scanning multiple bands, we can remove all the associated logic and scan a single band only in each scan. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 3a23d69582fa4bfcb443631bcd3d0d2afcc19208 Author: Wey-Yi Guy Date: Sat Apr 3 16:44:39 2010 -0700 iwlwifi: set correct single/dual stream mask Even the initial single/dual stream values will be overridden later when issue link quality command; but still make sense not to use hard-code value during initialization. Single/Dual stream mask are used to indicate the best antenna for SISO/MIMO; different NIC has different tx antenna configuration; so the parameter need to based on the valid tx antenna. 1x2 device: single tx antenna available, only SISO is valid configuration, but still need to set up MIMO configuration, so set it up with antenna A & B as default. 2x2 device: two tx antenna available, dual_stream will use both valid antenna. 3x3 device: three tx antenna available, skip the first antenna and choice the second and third antenna for dual_stream. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 8715fa28fb4fad62f6004d276ec8e1aa5e664e76 Merge: a5e944f f2fa1b0 Author: Reinette Chatre Date: Fri Apr 16 13:43:40 2010 -0700 Merge branch 'wireless-2.6' into wireless-next-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-6000.c commit 317a929dcd39bceff93974dac5fbdafa9b2a33ac Author: Stanislaw Gruszka Date: Fri Apr 16 15:47:56 2010 +0200 iwlwifi: initialize iwl_wimax_coex_cmd.flags iwl_wimax_coex_cmd.flags can be really uninitialized, so fix that. Signed-off-by: Stanislaw Gruszka Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit eb2ec0fb3c2fe85d42b2d5131e526daa0e298b9e Author: Stanislaw Gruszka Date: Fri Apr 16 15:46:41 2010 +0200 iwlwifi: check scan request ie_len In mac80211 we always check both scan_req->ie and scan_req->ie_len against zero before usage, in iwlwifi we should do the same. Remove not needed "left -= ie_len" while at it. Signed-off-by: Stanislaw Gruszka Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit a02a2956809d88b42b9a1f8003d60a343353b5ea Author: Grazvydas Ignotas Date: Fri Apr 16 13:22:12 2010 +0300 wl1251: add support for dedicated IRQ line wl1251 has WLAN_IRQ pin for generating interrupts to host processor, which is mandatory in SPI mode and optional in SDIO mode (which can use SDIO interrupts instead). However TI recommends using deditated IRQ line for SDIO too. Add support for using dedicated interrupt line with SDIO, but also leave ability to switch to SDIO interrupts in case it's needed. Signed-off-by: Grazvydas Ignotas Reviewed-by: Bob Copeland Signed-off-by: John W. Linville commit 7f1f5a0060e377ff6a15903487b39223e12b8568 Author: Sujith Date: Fri Apr 16 11:54:03 2010 +0530 ath9k_htc: Fix sparse endian warnings This patch fixes a bunch of endian issues that were exposed by sparse. It's a miracle that the driver worked at all till now. The Lord be praised. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 6ce34ec11c6297562e70e27c57a24cd27d4cd2b1 Author: Sujith Date: Fri Apr 16 11:54:01 2010 +0530 ath9k_htc: Handle WMI timeouts properly If a WMI command has timed out for some reason, a late WMI response would end up updating the response region of a new WMI request that has been issued in the meantime. Fix this race condition by dropping a WMI response if a new WMI command has been issued. Signed-off-by: Sujith Signed-off-by: John W. Linville commit eac8e385e9446e591aacbc9ef2c2a3b0836dd2d4 Author: Sujith Date: Fri Apr 16 11:54:00 2010 +0530 ath9k_htc: Add dropped SKB count to debugfs Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0daa3e3a7d85d70cdd4d9cc8e589e79a4a37a5ef Author: Sujith Date: Fri Apr 16 11:53:58 2010 +0530 ath9k_htc: Remove GPIO set on unload There is no point in trying to set the LED pin when the module is being unloaded. The target would be reset anyway. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7d0d0df0eca695c83a08dc386824a9d1d7c526a4 Author: Sujith Date: Fri Apr 16 11:53:57 2010 +0530 ath9k_hw: Use buffered register writes This patch adds macros at certain places which could be optimized for multiple register writes. The performance of ath9k_htc improves considerably, especially reducing the latency involved in a scan run. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 6819d57f07440a8f9540967d9212a70e9c98eceb Author: Sujith Date: Fri Apr 16 11:53:56 2010 +0530 ath9k_hw: Relocate Opmode initialization Programming the opmode in the HW can be done before the assoc_id and STA_ID registers are setup. This helps ath9k_htc when multiple register writes are used. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 20b3efd979c0d5d9fdf497a98668a806266a63e4 Author: Sujith Date: Fri Apr 16 11:53:55 2010 +0530 ath9k_hw: Add macros for multiple register writes Signed-off-by: Sujith Signed-off-by: John W. Linville commit 4a22fe108e62367c10c3abeb469d6972ba3299f5 Author: Sujith Date: Fri Apr 16 11:53:53 2010 +0530 ath9k_htc: Implement multiple register write support This patch adds support for writing multiple registers in a single USB command. Specific calls from the HW code that performs multiple register writes would be modified to make use of this in subsequent patches. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 50f56316aed044e42c1bcd7572926e80aac9af46 Author: Sujith Date: Fri Apr 16 11:53:50 2010 +0530 ath: Add buffered register write operations This is required to implement delayed/buffered register writes in ath9k_htc. Signed-off-by: Sujith Signed-off-by: John W. Linville commit fcb9392ff7ccb010818f3609420fd5416f6ca22e Author: Sujith Date: Fri Apr 16 11:53:48 2010 +0530 ath9k_htc: Cleanup beacon configuration This patch cleans up beacon configuration, removing a redundant interface type check and updating beacon interval in the correct place. Signed-off-by: Sujith Signed-off-by: John W. Linville commit e88402fbdd9c5dbbae7b16c575d4e0b9e9b6fd40 Author: Samuel Ortiz Date: Fri Apr 16 09:28:44 2010 +0800 iwmc3200wifi: check sparse endianness annotations Add -D__CHECK_ENDIAN__ to driver ccflags so that sparse will always check endianness by default. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 3c997e8849c5b982662f2a9b3e8cb64260382faa Author: Samuel Ortiz Date: Fri Apr 16 09:28:43 2010 +0800 iwmc3200wifi: Fix sparse warnings Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 1c0fc65e6de4e941ff483df445e721d6edb1f84b Author: Benoit Papillault Date: Fri Apr 16 00:07:26 2010 +0200 ath5k/ath9k: Fix 64 bits TSF reads According to tests, both TSF lower and upper registers kept counting, so the higher part could have been updated after the lower part has been read, as shown in the following log where the upper part is read first and the lower part next. tsf = {00000003-fffffffd} tsf = {00000003-00000001} tsf = {00000004-0000000b} This patch corrects this by checking that the upper part has not been changed while the lower part was read. It has been tested in an IBSS network where artifical IBSS merges have been done in order to trigger hundreds of rollover for the TSF lower part. It follows the logic mentionned by Derek, with only 2 register reads needed at each additional steps instead of 3 (the minimum number of register reads is still 3). Signed-off-by: Benoit Papillault Signed-off-by: John W. Linville commit 733f0ea4498a24db5b8ac048ef99983600f1eff9 Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:42 2010 -0400 ath9k_hw: add the PCI ID for the first AR9300 device The first AR9003 hardware family device supported is the AR9300, which has the vendor:device id 168c:0030 Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9b9cc61c46822ced22bc09d9aaa9f0f1859719cb Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:39:41 2010 -0400 ath9k_hw: Abort rx if hw is not coming out of full sleep in reset Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit afe754d66fbde0a0c07d954d5f1ad36d10136c72 Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:39:40 2010 -0400 ath9k: Enable TXOK and TXERR interrupts for TX EDMA Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit b0a3344834fcaf30e472ccc661c8842281453402 Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:39 2010 -0400 ath9k: add LDPC support LDPC is enabled by the rate control if the its determined that the target peer supports LDPC. We would have already intersected the HT capabilities so if our peer supports LDPC so do we. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ce01805a226328228a885b4a6e4b632b4e73f8ee Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:38 2010 -0400 ath9k_hw: add LDPC support for AR9003 Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e5003249ae7165654e13fd4809caa346820547f5 Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:39:36 2010 -0400 ath9k: Add Tx EDMA support Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit eb8232535bbeaf51f7c4826265ad96bf966829f3 Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:39:35 2010 -0400 ath9k_hw: Compute pointer checksum over the link descriptor Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 5088c2f1a2475546d9a79b515bde6d65b8681e51 Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:39:34 2010 -0400 ath9k: Initialize and configure tx status for EDMA Also add a function to clean up tx status ring. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 4adfcdedd4e0c05c1b659da5f2b8bc4e2d4a86df Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:39:33 2010 -0400 ath9k: Setup appropriate tx desc for regular dma and edma Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 3deb4da554c3ad9b059f51d19eebadf8525da4a4 Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:32 2010 -0400 ath9k_hw: set cwmin and cwmax to 0 for for AR9003 upon txq reset Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 79de23751a79a1270e45559296256ecb3dd35e12 Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:31 2010 -0400 ath9k_hw: enable CRC check of descriptors for AR9003 Enable CRC check on the descriptor fetched from host on AR9003 upon reseting the TX queue. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a9616f417eb0e529023c44dac61420f3df39d8f7 Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:30 2010 -0400 ath9k: add RXLP and RXHP to debugfs counters Signed-off-by: Luis R. Rodriguez Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 994089db034059f4b545ddef9fab466091894071 Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:39:29 2010 -0400 ath9k_hw: Fill descriptor abstrations for AR9003 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit b622a720b45def8dce816244a83b82992da4fe20 Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:28 2010 -0400 ath9k_hw: move AR9002 mac ops to its own file Signed-off-by: Luis R. Rodriguez Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 744d402580f959072f6b805a98745837f185c8e0 Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:39:27 2010 -0400 ath9k_hw: Add function to configure tx status ring buffer Also reset tx status ring suring chip reset. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit cc610ac0557b0ad0dcffdff1230cef28a970d755 Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:39:26 2010 -0400 ath9k_hw: Define abstraction for tx desc access Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit d8903a5361817bd96ceed212ad27a380e7ef4d8e Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:39:25 2010 -0400 ath9k: Load SW filtered NF values and start NF cal during full reset for AR9003 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 6c94fdc97a27bd681afeaf05d9101b3f9a06f986 Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:24 2010 -0400 ath9k_hw: skip WEP aggregation enable code for AR9003 The AR9002 hardware code enables aggregation for WEP but mac80211 doesn't enable aggregation with WEP, and the AR9003 code family does not need this so skip it for now for AR9003 but leave the code and annotate we should eventually consider how to remove this in consideration for the HAL unification goals. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 78ec26778803abd4ebb105bb19c729100c829837 Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:23 2010 -0400 ath9k_hw: skip asynch fifo enablement to AR9003 The asynch fifo code is specific to >= AR9287 so stuff it into the AR9002 hardware family code and skip it for AR9003 cards. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 57b32227cd7f1f81f4143d8bc82a5ffe37ab4df9 Author: Felix Fietkau Date: Thu Apr 15 17:39:22 2010 -0400 ath9k_hw: Update ath9k_hw_set_dma for AR9300 Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit c14a85dad438ee2c3d0bec6f11295d3a6efd4127 Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:21 2010 -0400 ath9k_hw: add TX/RX gain register initialization for AR9003 This is done depending on what the EEPROM settings indicates. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ec83903e67f9d1e8398568c77dc4fdd333531e96 Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:20 2010 -0400 ath9k_hw: add the AR9300 SREV hw name print Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7f62a136910f70d9b412f48f764321ff20ce6f38 Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:39:19 2010 -0400 ath9k_hw: Configure Tx interrupt mitigation timer Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ebd5a14a450e31611696dfe96781a3b8915d835c Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:18 2010 -0400 ath9k_hw: move the RF claim stuff to AR9002 hardware family Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 57b98384e5450996300d77ece61739b58325a84f Author: Felix Fietkau Date: Thu Apr 15 17:39:17 2010 -0400 ath9k_hw: move AR9280 PCI EEPROM fix to eeprom_def.c Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 6c84ce08aaf5995afc7ff7b4c54069c2431fca87 Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:39:16 2010 -0400 ath9k_hw: Fill get_isr() for AR9003 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 1547da37db9b56eb98eb0f33b84d49ab4e83e01e Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:15 2010 -0400 ath9k_hw: add OFDM spur mitigation for AR9003 We add this now as OFDM spur mitigation required accessing the EEPROM for the AR9003 devices. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 15c9ee7af8a3527a82013ea447da2d8c491aabfe Author: Senthil Balasubramanian Date: Thu Apr 15 17:39:14 2010 -0400 ath9k_hw: Implement AR9003 eeprom callbacks Signed-off-by: Senthil Balasubramanian Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 49101676b2f1a66e0043509423e876414c73b5aa Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:13 2010 -0400 ath9k_hw: restore mac address reading logic Once upon a time the AR_EEPROM_MAC macro was added to let us add a random attribute to the three 4-bytes of MAC addresses entries we read from the EEPROM. This was good while a random high-enough value was used which did not conflict with any of the already existing enum eeprom_param values. With AR9003 support the enums overlap and it means we either increment the random offset or just restore the reading logic to match what the HAL has. I choose to do the later to synchronize the logic on both code bases. This should fix reading the MAC address from the EEPROM on AR9003 hardware. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0b8f6f2b1b18c7a3cb70fbb44ab5f4883d59f738 Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:12 2010 -0400 ath9k_hw: rename eep_AR9287_ops to eep_ar9287_ops Signed-off-by: Senthil Balasubramanian Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit df23acaa5d3239745805650e2f27a4252182c063 Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:11 2010 -0400 ath9k_hw: complete AR9003 calibration This goes with some new shiny TX IQ calibration that AR9003 hardware family supports. Signed-off-by: Luis R. Rodriguez Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 4b01931e3a3ca5ec49604e2b279b8b9dd42fbe4c Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:10 2010 -0400 ath9k_hw: fill in the callbacks for calibration for AR9003 Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 77d6d39a77939e5ed7e2ec72a1c1dce828ee582e Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:09 2010 -0400 ath9k_hw: abstract loading noisefloor This is the last call on calib.c which acceses PHY stuff, with this change we calib.c is now generic between both all supported hardware families. Signed-off-by: Luis R. Rodriguez Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 400b738678bf6f0b65a76a4ec2925473ba3e06ff Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:08 2010 -0400 ath9k_hw: abstract the AR_PHY_AGC_CONTROL register access This is so we can share routines which access this register on calib.c Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 668602404d7398d841681c5e23fd8a9a45e4bb30 Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:39:07 2010 -0400 ath9k_hw: Initialize interrupt mask for AR9003 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 55e82df4be45305bfb5e7ecb877a349ed4da8ed2 Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:39:06 2010 -0400 ath9k_hw: Abstract the routine which returns interrupt status Also move interrupt related code to mac.c Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 991312d88cb8844e3e1a1e57a72823802da36fcd Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:05 2010 -0400 ath9k_hw: move TX/RX gain INI stuff to its own hardware family code The AR9003 TX/RX gain is currently initialized with the other components, so for now AR9003 does not implment this callback, after hardware bring up we can test moving the TX/RX gain there as well and if it works well move them to its own callback as well. Since all INI stuff is now moved out hw.c no longer needs to include and touch any original INI headers/structs. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d8f492b7d9a4c1cfdac69ba18a81acbd86d1dc6e Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:04 2010 -0400 ath9k_hw: move the cck channel 14 INI to the AR9002 hw code This is specific to the AR9002 family only. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b3950e6a52b1d0279787ef44ba1efac2f3414260 Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:03 2010 -0400 ath9k_hw: split the generic hardware code by hardware family Move out the generic hardware family code out into their own files, we have one for AR5008, AR9001, and AR9002 family (ar9002_hw.c) and another file for the new AR9003 hardware family (ar9003_hw.c). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 204729fd182bd56180323d9293c31038dde32995 Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:02 2010 -0400 ath9k_hw: add the config_pci_powersave AR9003 callback Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 590b7d2f10f4552e5b7570c84dc565d3cb7825c9 Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:01 2010 -0400 ath9k_hw: add the AR9003 ar9003_hw_init_cal callback Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 795f5e2ca672727a96bacf97075976cfe1249fcf Author: Luis R. Rodriguez Date: Thu Apr 15 17:39:00 2010 -0400 ath9k_hw: split calib code by hardware families Calibration code touches phy registers and since these change the calibration code needs to be abstracted. Noise floor calibration is the only thing remaining but since the remaining calls only touch the AR_PHY_AGC_CONTROL register we'll just define that register conditionally, that will be done separately. The goal is to remove the dependency of ar9002_phy.h on calib.c This also adds stubs to be filled for AR9003 calibration code. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0df13da4555320f6dc9b901fd5f22cf54065c708 Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:59 2010 -0400 ath9k_hw: move the cal AR9100 calibration settings The calibration settings should go into the respective hardware family AR9002 calibration settings callback, ar9002_hw_init_cal_settings(). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b43d59fb3e2977945df061e7c405679f31acb26e Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:58 2010 -0400 ath9k_hw: rename getNoiseFloorThresh() to ath9k_hw_loadnf() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 37c3e8b9d7f2d689b0aca89a8ac4aa12476df633 Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:57 2010 -0400 ath9k_hw: rename the PA calib routines to match their families Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit af6757e95efca3d5965a7d3d087190bef99ac45f Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:56 2010 -0400 ath9k_hw: simplify OLC temp compensation for AR9002 We can do the family revision check on the top level caller. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2b5facfe7669b36a04845928abd1fcc153990026 Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:55 2010 -0400 ath9k_hw: move the AR9280 OLC temp comp to its own helper Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 80b99932fd43ce3477fb2d952f12657963a2562d Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:54 2010 -0400 ath9k_hw: shift code for AR9280 OLC temp comp We're bailing out on the alternative code path so remove the else branch. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit becdbc542f3f3395138b45d7ae445886fa0feef7 Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:53 2010 -0400 ath9k_hw: rename PA calib for AR9287 Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e83a1134de299e6453c6d8bc99cf3af3972bb84a Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:52 2010 -0400 ath9k_hw: add a helper for the OLC tem compensation for AR9002 Open Loop Control temperature compensation changes between our hardware so use a helper for it. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4d001d18f2e738f3b53bfd1cd493987e3e61421a Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:51 2010 -0400 ath9k_hw: add a helper for Power Amplifier calibration for AR9002 The code can be simplified and shared between two locations if we bring this into a helper. During reset we do not account for the skip count. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 939ad86de538d23533d2f9dd43f80725789d43ba Author: Senthil Balasubramanian Date: Thu Apr 15 17:38:50 2010 -0400 ath9k_hw: the eep_map is used only for AR9280 PCI card ini fixup We can reorganize the code in such a way that eep_map can be removed, which makes the code more clearer. Signed-off-by: Senthil Balasubramanian Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 641d99217f507024720d21f0a76a8075824fcc46 Author: Felix Fietkau Date: Thu Apr 15 17:38:49 2010 -0400 ath9k_hw: Split out the function for reading the noise floor Signed-off-by: Felix Fietkau Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b5c80475abaad015699384ca64ef8229fdd88758 Author: Felix Fietkau Date: Thu Apr 15 17:38:48 2010 -0400 ath9k: Add Rx EDMA support Signed-off-by: Felix Fietkau Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit c38d4d2eb988717f7a8be24faeada648b5dac52a Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:38:47 2010 -0400 ath9k: Make bf_desc of ath_buf opaque Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 6d913f7db3ff5cc5c9b673d8db8e4a8b9f86d85b Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:38:46 2010 -0400 ath9k: Remove ATH9K_TX_SW_ABORTED and introduce a bool for this purpose Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit d826c83277a2a661cd0d37d051d5a4931b8463ff Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:38:45 2010 -0400 ath9k: Use memcpy in ath_clone_txbuf() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 5c3a338fcfd25de1f8434f9e504aa7e2a425d3ce Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:38:44 2010 -0400 ath9k: Use abstraction to get link pointer Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 87d5efbbd6b6df6111404f9c12ad1b9a957498c5 Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:38:43 2010 -0400 ath9k_hw: Add abstraction to set/get link pointer Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 3f3a1c8031fd87a7d0195d0a8e8101d04c283fcc Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:38:42 2010 -0400 ath9k_hw: Move code which populates ds_data to ath9k_hw Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 162c3be3780dcb241ce0c9d49626c6cfb90f9f61 Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:38:41 2010 -0400 ath9k_hw: Define tx control struct for AR9003 Store appropriate desc length which will be used by the ath9k module while duplicating tx desc. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit af914a9ffd60a841054e9fd248f12630df0698c5 Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:40 2010 -0400 ath9k_hw: add all the AR9003 PHY callbacks Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c16fcb49b3849b4dceec9e4bbeb013b0713c7b38 Author: Felix Fietkau Date: Thu Apr 15 17:38:39 2010 -0400 ath9k_hw: Split off ANI control to the PHY ops Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit cffb5e49a147cfc6491f561f9b330e1001276185 Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:38 2010 -0400 ath9k_hw: add helpers for processing the AR9003 INI Signed-off-by: Luis R. Rodriguez Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 13ce3e997c8a63269e49f1b6c239035d79bb18e8 Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:37 2010 -0400 ath9k_hw: add initvals for the AR9003 hardware family The AR9003 hardware family now initializes hardware by block components and into stages: pre, core and init. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit af01c04e21816da01454e1d580891f394465b77e Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:36 2010 -0400 ath9k_hw: split initvals.h by hardware family The initvals.h file is over 7000 lines now, so instead of adding AR9003 initvals to it instead lets split the current initvals.h by hardware family: AR5008, AR9001, AR9002 The AR9003 family will have its own initval file later. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ca3755540707539ea3ccf45e0c777d946f768f62 Author: Felix Fietkau Date: Thu Apr 15 17:38:35 2010 -0400 ath9k_hw: Implement spur mitigation on AR9003 Signed-off-by: Felix Fietkau Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 317d33280c63f32bd84c49aacaaae047e981b441 Author: Felix Fietkau Date: Thu Apr 15 17:38:34 2010 -0400 ath9k_hw: Implement PLL control on AR9003 Signed-off-by: Felix Fietkau Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f7abf0c1958ab363874cad0d799a1bb43880145a Author: Felix Fietkau Date: Thu Apr 15 17:38:33 2010 -0400 ath9k_hw: Set the channel on AR9003 Signed-off-by: Felix Fietkau Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7152451aa12558ab032f319a119ceb928396b905 Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:32 2010 -0400 ath9k_hw: add common channel select helpers for ar900[23] Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit da6f1d7f5f46d71f85d69a6521a16b83ad00e7e3 Author: Felix Fietkau Date: Thu Apr 15 17:38:31 2010 -0400 ath9k_hw: Add AR9003 PHY register definitions Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 84e2169b0fead5d87de0a29f17a06fba904bc46b Author: Senthil Balasubramanian Date: Thu Apr 15 17:38:30 2010 -0400 ath9k_hw: prevent reset control register zeroing on AR9003 reset Also, no need for the udelay(2) on AR9003 hardware. Signed-off-by: Senthil Balasubramanian Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1f3f06184006dff1ec439c56dcee9a99ed93e985 Author: Senthil Balasubramanian Date: Thu Apr 15 17:38:29 2010 -0400 ath9k_hw: update the chip tests for AR9003 The AR9003 family requires a change on the loop and can also skip testing the PHY timing registers. This chip test can now be used by all Atheros hardware families, including legacy. We can eventually move this out to the generic ath module. Signed-off-by: Senthil Balasubramanian Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ad7b806065f5791696a1c9a4c2665f6421cbbf05 Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:38:28 2010 -0400 ath9k_hw: Add few routines for rx edma support * Set rx buf size in register 0x60 * Set rxdp on the respective hw rx queue (HP and LP queues) * Process rx descriptor Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit ae3bb6d4628dae7ead588263177a0674221fea78 Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:38:27 2010 -0400 ath9k_hw: Fill rx_enable() for the AR9003 hardware family Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit cee1f625bfcabeed39138547be21d8995357f8e1 Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:38:26 2010 -0400 ath9k_hw: Add abstraction for rx enable Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ceb2644576bcb9fe7b79614512c1efe2bf3c307c Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:38:25 2010 -0400 ath9k_hw: Fill few hw cap for edma HP & LP queue depth and rx status length. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 1adf02ffad449ea955e21393e05b0e45ef2c16a4 Author: Vasanthakumar Thiagarajan Date: Thu Apr 15 17:38:24 2010 -0400 ath9k_hw: Add hw cap flag for EDMA for the AR9003 family AR9003 supports extended DMA (EDMA), this comes with some bells and whistles on top of the legacy DMA that we are used to. Mark AR9003 and later chips EDMA capable. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 3448f912c64bac4431b657b47b4e6e57565b656f Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:23 2010 -0400 ath9k: disable the MIB interrupt if ANI is disabled Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 31a0bd3c7564ec79cf86a3eb9f9aaa3c47099d9b Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:22 2010 -0400 ath9k_hw: disable ANI for AR9003 ANI is still being debugged on AR9003 by our systems team so it should not yet be enabled yet. When ANI will be enabled all ANI functionality is expected to be enabled so fill the ANI functionality to all for AR9003 for now as well. Cc: Enis Akay Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 61accab9b5cfc2a7f42c88f30656d9f1771400d3 Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:21 2010 -0400 ath9k_hw: add the AR9003 ar9003_hw_macversion_supported() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit bab1f62e214f19d2edb1b5508ad5ba1b0a8a22ec Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:20 2010 -0400 ath9k_hw: move init config and default after chip is up This allows us to add SREV checks on these helpers. Signed-off-by: Luis R. Rodriguez Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 8525f2801df14b6c4ae6a96127e47d646be5304c Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:19 2010 -0400 ath9k_hw: Add AR9003 PHY support This add stubs for PHY support for the AR9003 hardware family. Signed-off-by: Felix Fietkau Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit db3cc53a2faea2da5730304af06a77d343f314a5 Author: Senthil Balasubramanian Date: Thu Apr 15 17:38:18 2010 -0400 ath9k_hw: Add the PCI IDs for AR9300 and fill up the pci_id_tables Also, clean up and reorganize the AR9287 macro to have better ordering. We won't add the PCI ID to the supported device list until we have some functional code for it. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 647739645bea4a5628f9e4eaf8022dcc5875c535 Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:17 2010 -0400 ath9k_hw: add a private callback for PLL control computation The PLL control computation used to program the AR_RTC_PLL_CONTROL register varies between our harware so just add a private callback for it. AR9003 will use its own callback. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit bbd79af5639bd51af1119e5df866568063a1b011 Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:16 2010 -0400 ath9k_hw: add some comments for ath9k_set_power_network_sleep() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e041228fed0c9fe8b5c3b8e0ca66b08178b26a87 Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:15 2010 -0400 ath9k_hw: skip PLL initialization on AR9003 on Power-On-Reset This is not required for the AR9003 family. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8fe6536850ae49609704a263cbc7542133536922 Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:14 2010 -0400 ath9k_hw: Move some RF ops to the private callbacks The PHY split is easier done in a few steps. First move the RF ops to the private ops and rename them accordingly. We split PHY stuff up first for the AR5008 and AR9002 families. There are some callbacks that AR9002 share with the AR5008 familiy so we set those first, if AR9002 has some different callbacks it will override them upon hardware init. Signed-off-by: Felix Fietkau Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit aed1baf1ab10f4b6bd40952a9deb791dbba48f3a Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:13 2010 -0400 ath9k_hw: remove wrapper ath9k_hw_write_regs() This is used only once by ath9k_hw_process_ini() to write an array of phy registers through REG_WRITE_ARRAY(), but we already call REG_WRITE_ARRAY() multiple times on the same caller so just remove this pointless wrapper. We'll eventually just move the ath9k_hw_process_ini() caller as an callback to abstract away between different hardware families. Although this change is subtle I should note that this does change the delay pattern on writing the next series of registers. REG_WRITE_ARRAY() uses a counter for each register write and does a udelay(1) every 64 writes. By removing this call it means that the counter is processed for all the iniBB_RfGain registers and is incremented on ath9k_hw_process_ini(), before this the after the call ath9k_hw_write_regs() was made the register counter was kept at the same index number prior to the call. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 42d5bc3faabcc9d7ea1cfe9237d71ef7dce386e3 Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:12 2010 -0400 ath9k_hw: AR9003 does not have AR_RC_AHB skip its setting AR9003 does not have a reset control for AHB. Signed-off-by: Luis R. Rodriguez Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 783dfca1fceb0140e629d671b67e4be7e8dc7f8d Author: Felix Fietkau Date: Thu Apr 15 17:38:11 2010 -0400 ath9k_hw: add support for GPIO differences on AR9003 Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 2c5204aa83c3a21c5c3e044342dadf4520cc4558 Author: Felix Fietkau Date: Thu Apr 15 17:38:10 2010 -0400 ath9k_hw: add simple register abstraction for some AR9300 registers Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 0bef631c5a029e67b908872649b94c9251260a92 Author: Felix Fietkau Date: Thu Apr 15 17:38:09 2010 -0400 ath9k_hw: fix a missing hex prefix for a register mask This is not a stable code fix as this register is not used anywhere. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 086a864c9a3ad3c70d68dfb87892c5613a09906c Author: Felix Fietkau Date: Thu Apr 15 17:38:08 2010 -0400 ath9k_hw: add a macro for abstracting generic timer access Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit b0550327da7fcab5b4b0f09a450432ee9ae4ca19 Author: Felix Fietkau Date: Thu Apr 15 17:38:07 2010 -0400 ath9k_hw: add silicon revision macros for AR9300 AR9300 will be the first device supported of the AR9003 family. AR9300 1.0 hardware exists but it is not going to be sold anywhere so we completely skip its support. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit d70357d56942fa587e39505547cb69e10a8d59a0 Author: Luis R. Rodriguez Date: Thu Apr 15 17:38:06 2010 -0400 ath9k_hw: start building an abstraction layer for hardware routines ath9k supports the AR5008, AR9001 and AR9002 family of Atheros chipsets, all 802.11n. The new breed of 802.11n chips, the AR9003 family will be supported as well soon. To help with its support we're going to add a few callbacks for hardware routines which differ considerably instead of adding branch checks for the revision at runtime. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ac1a474d71d6cbf94bf26889da5768f5f2b0ca2b Author: Dan Williams Date: Thu Apr 15 13:32:58 2010 -0700 libertas: Davinci platforms need more time loading helper firmware Davinci platforms apparently need more time in-between helper firmware blocks. Even though this is an increased delay, we only take this hit once at initialization time. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 96021f096e5178582af296a2fbb6df7dbd6b695c Author: Dan Williams Date: Thu Apr 15 13:27:44 2010 -0700 libertas: consolidate SDIO firmware wait code Consolidate a bunch of C&P code that waits for the firmware to be ready. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit edbe056a5a70aac20127189ca99d042640fd3366 Author: Larry Finger Date: Thu Apr 15 14:00:11 2010 -0500 rtl818x: Move configuration details to the rtl818x directory In preparation for new rtl818x devices, move the existing rtl818x configuration into the rtl818x directory. Signed-off-by: Larry Finger Acked-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 8c00b39f33bc5340be9b053963321eb9ea6a78ee Author: Grazvydas Ignotas Date: Thu Apr 15 18:23:23 2010 +0300 wl1251: register platform_device to pass board data wl1251 is embedded chip that can be connected using SDIO bus, and is not an actual SDIO card. For this reason there is a need to pass some board specific data, like 'EEPROM is attached' flag or power control callback. However currently there is no way to pass this data through SDIO subsystem, so this patch registers dummy platform_device to allow that, until we have a better solution to this. Signed-off-by: Grazvydas Ignotas Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 103823db62ffca028c7a214c80266519d2ea7d8d Author: Christian Lamparter Date: Thu Apr 15 14:17:07 2010 +0200 p54pci: fix serious sparse warning This patch fixes a bug which was just recently introduced by ("p54pci: prevent stuck rx-ring on slow system"). make M=drivers/net/wireless/p54 C=2 CF=-D__CHECK_ENDIAN__ CHECK drivers/net/wireless/p54/p54pci.c drivers/net/wireless/p54/p54pci.c:143:11: warning: cast to restricted __le32 CC [M] drivers/net/wireless/p54/p54pci.o Reported-by: Johannes Berg Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 2fddd880668ee124cb56429f458b74d2772f6cb6 Author: Xose Vazquez Perez Date: Thu Apr 15 13:25:49 2010 +0200 wireless: rt2x00: rt2800usb: identify Hawking devices 0x0e66,0x0009 HWUN2 Hawking Technologies Hi-Gain Wireless-150N USB Adapter w/ Upgradable Antenna 0x0e66,0x000b HWDN2 Hawking Technologies Hi-Gain USB Wireless-150N Dish Adapter 0x0e66,0x0013 Hawking Technologies Hi-Gain Wireless-N USB Adapter 0x0e66,0x0017 Hawking Wireless-N Network Adapter 0x0e66,0x0018 Hawking Wireless-N Network Adapter Hawking Technologies Technical Support guys say: All our N adapters use the same chipset. Ralink RT 2870 chipset. Signed-off-by: Xose Vazquez Perez Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 745b1ae31ba6644a943ec2b6da2d03f00d8b2dd2 Author: Helmut Schaa Date: Thu Apr 15 09:13:35 2010 +0200 rt2x00: rt2800pci: fix tx path by not accessing the skb after it was DMA mapped rt2800pci used the callback write_tx_desc to write the tx descriptor but also to update the txwi which is part of the dma mapped skb. Since the memory was already DMA mapped _before_ the call to write_tx_desc the device didn't get the txwi data at all or only sporadically. The call order is basically as follows (from rt2x00queue.c): 1) write_tx_data 2) rt2x00queue_map_txskb 3) write_tx_desc Hence, we shouldn't touch the skb in write_tx_desc anymore. To fix this issue create a new rt2800pci_write_tx_data callback and use it for updating the txwi _before_ the memory gets DMA mapped. The tx descriptor is still written (as before) in write_tx_desc. This patch allows basic TX on an rt305x soc device but I'm pretty sure that it will fix pci based cards as well. I can associate just fine with an AP now but I wasn't able to get a wpa secured connection working yet. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 410866930ea1929b0fdfb533dd84ddaa234b06e4 Author: Helmut Schaa Date: Thu Apr 15 09:13:13 2010 +0200 rt2x00: add txdesc parameter to write_tx_data Extend the write_tx_data callback with a txdesc parameter to allow access to the tx desciptor while preparing the tx data. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 7834704be4777fc0ed67c4486ef8c5691078d135 Author: Nishant Sarmukadam Date: Wed Apr 14 22:03:02 2010 -0700 cfg80211: Avoid sending IWEVASSOCREQIE and IWEVASSOCRESPIE events with NULL event body In a scenario, where a cfg80211 driver (station mode) does not send assoc request and assoc response IEs in cfg80211_connect_result after a successful association to an AP, cfg80211 sends IWEVASSOCREQIE and IWEVASSOCRESPIE to the user space application with NULL data. This can cause an issue at the event recipient. An example of this is when cfg80211 sends IWEVASSOCREQIE and IWEVASSOCRESPIE events with NULL event body to wpa_supplicant. The wpa_supplicant overwrites the assoc request and assoc response IEs for this station with NULL data. If the association is WPA/WPA2, the wpa_supplicant is not able to generate EAPOL handshake messages, since the IEs are NULL. With the patch, req_ie and resp_ie will be NULL by avoiding the assignment if the driver has not sent the IEs to cfg80211. The event sending code sends the events only if resp_ie and req_ie are not NULL. This will ensure that the events are not sent with NULL event body. Signed-off-by: Nishant Sarmukadam Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 61c2a80b960361a930a4e3c4c0df694713b9dafd Author: Grazvydas Ignotas Date: Wed Apr 14 13:05:48 2010 +0300 wl1251: read default MAC address from EEPROM when available Some wl1251 hardware configurations (like in WG7210 module) have EEPROM attached where NVS data is kept, which includes MAC address. In such configurations, let's read default MAC address from EEPROM, instead of using random one. Signed-off-by: Grazvydas Ignotas Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 5c01d5669356e13f0fb468944c1dd4c6a7e978ad Merge: fea0691 a5e944f Author: John W. Linville Date: Thu Apr 15 16:21:34 2010 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem Conflicts: Documentation/feature-removal-schedule.txt drivers/net/wireless/ath/ath5k/phy.c drivers/net/wireless/wl12xx/wl1271_main.c commit e743d31312d00932391b123dfac3324d2b9e8c81 Author: Eric Dumazet Date: Wed Apr 14 15:59:40 2010 -0700 drivers: net: use skb_headlen() replaces (skb->len - skb->data_len) occurrences by skb_headlen(skb) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit a5e944f1d955f3819503348426763e21e0413ba6 Author: Xose Vazquez Perez Date: Wed Apr 14 12:16:00 2010 +0200 wireless: rt2x00: rt2800usb: identify Sitecom devices A very useful information was provided by Sitecom R&D guys: Please find the information regarding our latest Ralink adapters below; WL-302 - VID: 0x0DF6, PID: 0x002D - Ralink RT2771 WL-315 - VID: 0x0DF6, PID: 0x0039 - Ralink RT2770 WL-319 - VID: 0x182D, PID: 0x0037 - Ralink RT2860 WL-321 - VID: 0x0DF6, PID: 0x003B - Ralink RT2770 WL-324 - VID: 0x0DF6, PID: 0x003D - Ralink RT2870 WL-329 - VID: 0x0DF6, PID: 0x0041 - Ralink RT3572 WL-343 - VID: 0x0DF6, PID: 0x003E - Ralink RT3070 WL-344 - VID: 0x0DF6, PID: 0x0040 - Ralink RT3071 WL-345 - VID: 0x0DF6, PID: 0x0042 - Ralink RT3072 WL-608 - VID: 0x0DF6, PID: 0x003F - Ralink RT2070 Note: PID: 0x003C, 0x004A, and 0x004D: --these products do not exist; devices were never produced/shipped-- The WL-349v4 USB dongle (0x0df6,0x0050) will be shipped soon (it isn't available yet), and uses a Ralink RT3370 chipset. Signed-off-by: Xose Vazquez Perez Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 94d0bbe849190255b93fede8eb46809a38f9b8bf Author: Christian Lamparter Date: Tue Apr 13 18:10:26 2010 +0200 ar9170usb: add a couple more USB IDs This patch adds the following 5 entries to the usbid device table: * Netgear WNA1000 * Proxim ORiNOCO Dual Band 802.11n USB Adapter * 3Com Dual Band 802.11n USB Adapter * H3C Dual Band 802.11n USB Adapter * WNC Generic 11n USB dongle CC: Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit afa5ec27f4d69952d4ae11f182258bf53d85fcf5 Author: Grazvydas Ignotas Date: Tue Apr 13 01:21:40 2010 +0300 wl1251: don't require NVS data when EEPROM is used If EEPROM is used, NVS data is now loaded but ignored. Stop loading it to avoid need of dummy NVS file for modules with EEPROM. Signed-off-by: Grazvydas Ignotas Acked-by: Kalle Valo Signed-off-by: John W. Linville commit f8e1d0803d2db9ef0116941a4ce46069a2009ea6 Author: Ming Lei Date: Tue Apr 13 00:29:27 2010 +0800 ath9k-htc: fix lockdep warning and kernel warning after unplugging ar9271 usb device This patch fixes two warnings below after unplugging ar9271 usb device: -one is a kernel warning[1] -another is a lockdep warning[2] The root reason is that __skb_queue_purge can't be executed in hardirq context, so the patch forks ath9k_skb_queue_purge(ath9k version of _skb_queue_purge), which frees skb with dev_kfree_skb_any which can be run in hardirq context safely, then prevent the lockdep warning and kernel warning after unplugging ar9271 usb device. [1] kernel warning [ 602.894005] ------------[ cut here ]------------ [ 602.894005] WARNING: at net/core/skbuff.c:398 skb_release_head_state+0x71/0x87() [ 602.894005] Hardware name: 6475EK2 [ 602.894005] Modules linked in: ath9k_htc ath9k ath9k_common ath9k_hw ath bridge stp llc sunrpc ipv6 cpufreq_ondemand acpi_cpufreq freq_table kvm_intel kvm arc4 ecb mac80211 snd_hda_codec_conexant snd_hda_intel snd_hda_codec snd_hwdep thinkpad_acpi snd_pcm snd_timer hwmon iTCO_wdt snd e1000e pcspkr i2c_i801 usbhid iTCO_vendor_support wmi cfg80211 yenta_socket rsrc_nonstatic pata_acpi snd_page_alloc soundcore uhci_hcd ohci_hcd ehci_hcd usbcore i915 drm_kms_helper drm i2c_algo_bit i2c_core video output [last unloaded: ath] [ 602.894005] Pid: 2506, comm: ping Tainted: G W 2.6.34-rc3-wl #20 [ 602.894005] Call Trace: [ 602.894005] [] warn_slowpath_common+0x7c/0x94 [ 602.894005] [] ? __skb_queue_purge+0x43/0x4a [ath9k_htc] [ 602.894005] [] warn_slowpath_null+0x14/0x16 [ 602.894005] [] skb_release_head_state+0x71/0x87 [ 602.894005] [] __kfree_skb+0x16/0x81 [ 602.894005] [] kfree_skb+0x7e/0x86 [ 602.894005] [] __skb_queue_purge+0x43/0x4a [ath9k_htc] [ 602.894005] [] __hif_usb_tx+0x1c1/0x21b [ath9k_htc] [ 602.894005] [] hif_usb_tx_cb+0x12f/0x154 [ath9k_htc] [ 602.894005] [] usb_hcd_giveback_urb+0x91/0xc5 [usbcore] [ 602.894005] [] ehci_urb_done+0x7a/0x8b [ehci_hcd] [ 602.894005] [] qh_completions+0x2ee/0x376 [ehci_hcd] [ 602.894005] [] ehci_work+0x95/0x76e [ehci_hcd] [ 602.894005] [] ? ehci_irq+0x2f/0x1d4 [ehci_hcd] [ 602.894005] [] ehci_irq+0x1a6/0x1d4 [ehci_hcd] [ 602.894005] [] ? __rcu_process_callbacks+0x7a/0x2df [ 602.894005] [] ? handle_fasteoi_irq+0x22/0xd2 [ 602.894005] [] usb_hcd_irq+0x4a/0xa7 [usbcore] [ 602.894005] [] handle_IRQ_event+0x77/0x14f [ 602.894005] [] ? skb_release_data+0xc9/0xce [ 602.894005] [] handle_fasteoi_irq+0x92/0xd2 [ 602.894005] [] handle_irq+0x88/0x91 [ 602.894005] [] do_IRQ+0x63/0xc9 [ 602.894005] [] ? ip_flush_pending_frames+0x4d/0x5c [ 602.894005] [] ret_from_intr+0x0/0x16 [ 602.894005] [] ? __delete_object+0x5a/0xb1 [ 602.894005] [] ? _raw_write_unlock_irqrestore+0x47/0x7e [ 602.894005] [] ? _raw_write_unlock_irqrestore+0x4c/0x7e [ 602.894005] [] __delete_object+0x5a/0xb1 [ 602.894005] [] delete_object_full+0x25/0x31 [ 602.894005] [] kmemleak_free+0x26/0x45 [ 602.894005] [] kfree+0xaa/0x149 [ 602.894005] [] ? sock_def_write_space+0x84/0x89 [ 602.894005] [] ? ip_flush_pending_frames+0x4d/0x5c [ 602.894005] [] skb_release_data+0xc9/0xce [ 602.894005] [] __kfree_skb+0x1e/0x81 [ 602.894005] [] kfree_skb+0x7e/0x86 [ 602.894005] [] ip_flush_pending_frames+0x4d/0x5c [ 602.894005] [] raw_sendmsg+0x653/0x709 [ 602.894005] [] inet_sendmsg+0x54/0x5d [ 602.894005] [] ? sock_recvmsg+0xc6/0xdf [ 602.894005] [] sock_sendmsg+0xc0/0xd9 [ 602.894005] [] ? might_fault+0x68/0xb8 [ 602.894005] [] ? might_fault+0xb1/0xb8 [ 602.894005] [] ? copy_from_user+0x2f/0x31 [ 602.894005] [] ? verify_iovec+0x54/0x91 [ 602.894005] [] sys_sendmsg+0x1da/0x241 [ 602.894005] [] ? finish_task_switch+0x0/0xc9 [ 602.894005] [] ? finish_task_switch+0x0/0xc9 [ 602.894005] [] ? trace_hardirqs_on_caller+0x16/0x150 [ 602.894005] [] ? _raw_spin_unlock_irq+0x56/0x63 [ 602.894005] [] ? finish_task_switch+0xa4/0xc9 [ 602.894005] [] ? finish_task_switch+0x0/0xc9 [ 602.894005] [] ? need_resched+0x23/0x2d [ 602.894005] [] ? trace_hardirqs_on_caller+0x16/0x150 [ 602.894005] [] ? trace_hardirqs_on_thunk+0x3a/0x3f [ 602.894005] [] system_call_fastpath+0x16/0x1b [ 602.894005] ---[ end trace 91ba2d8dc7826839 ]--- [2] lockdep warning [ 169.363215] ====================================================== [ 169.365390] [ INFO: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected ] [ 169.366334] 2.6.34-rc3-wl #20 [ 169.366872] ------------------------------------------------------ [ 169.366872] khubd/78 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire: [ 169.366872] (clock-AF_INET){++.?..}, at: [] sock_def_write_space+0x1e/0x89 [ 169.366872] [ 169.366872] and this task is already holding: [ 169.366872] (&(&hif_dev->tx.tx_lock)->rlock){-.-...}, at: [] hif_usb_stop+0x24/0x53 [ath9k_htc] [ 169.366872] which would create a new lock dependency: [ 169.366872] (&(&hif_dev->tx.tx_lock)->rlock){-.-...} -> (clock-AF_INET){++.?..} [ 169.366872] [ 169.366872] but this new dependency connects a HARDIRQ-irq-safe lock: [ 169.366872] (&(&hif_dev->tx.tx_lock)->rlock){-.-...} [ 169.366872] ... which became HARDIRQ-irq-safe at: [ 169.366872] [] __lock_acquire+0x2c6/0xd2b [ 169.366872] [] lock_acquire+0xec/0x119 [ 169.366872] [] _raw_spin_lock+0x40/0x73 [ 169.366872] [] hif_usb_tx_cb+0x5e/0x154 [ath9k_htc] [ 169.366872] [] usb_hcd_giveback_urb+0x91/0xc5 [usbcore] [ 169.366872] [] ehci_urb_done+0x7a/0x8b [ehci_hcd] [ 169.366872] [] qh_completions+0x2ee/0x376 [ehci_hcd] [ 169.366872] [] ehci_work+0x95/0x76e [ehci_hcd] [ 169.366872] [] ehci_irq+0x1a6/0x1d4 [ehci_hcd] [ 169.366872] [] usb_hcd_irq+0x4a/0xa7 [usbcore] [ 169.366872] [] handle_IRQ_event+0x77/0x14f [ 169.366872] [] handle_fasteoi_irq+0x92/0xd2 [ 169.366872] [] handle_irq+0x88/0x91 [ 169.366872] [] do_IRQ+0x63/0xc9 [ 169.366872] [] ret_from_intr+0x0/0x16 [ 169.366872] [] cpuidle_idle_call+0xa7/0x115 [ 169.366872] [] cpu_idle+0x68/0xc4 [ 169.366872] [] rest_init+0x104/0x10b [ 169.366872] [] start_kernel+0x3f1/0x3fc [ 169.366872] [] x86_64_start_reservations+0xb3/0xb7 [ 169.366872] [] x86_64_start_kernel+0xf8/0x107 [ 169.366872] [ 169.366872] to a HARDIRQ-irq-unsafe lock: [ 169.366872] (clock-AF_INET){++.?..} [ 169.366872] ... which became HARDIRQ-irq-unsafe at: [ 169.366872] ... [] __lock_acquire+0x33a/0xd2b [ 169.366872] [] lock_acquire+0xec/0x119 [ 169.366872] [] _raw_write_lock_bh+0x45/0x7a [ 169.366872] [] tcp_close+0x165/0x34d [ 169.366872] [] inet_release+0x55/0x5c [ 169.366872] [] sock_release+0x1f/0x6e [ 169.366872] [] sock_close+0x27/0x2b [ 169.366872] [] __fput+0x125/0x1ca [ 169.366872] [] fput+0x1a/0x1c [ 169.366872] [] filp_close+0x68/0x72 [ 169.366872] [] sys_close+0xad/0xe7 [ 169.366872] [] system_call_fastpath+0x16/0x1b (Trimmed at the "other info that might help us debug this" line in the interest of brevity... -- JWL) Signed-off-by: Ming Lei Acked-by: Sujith Signed-off-by: John W. Linville commit 0fa35a5836df2b8f285d6f53dfb4316c34621f88 Author: Ming Lei Date: Tue Apr 13 00:29:15 2010 +0800 ath9k-htc:respect usb buffer cacheline alignment in reg out path In ath9k-htc register out path, ath9k-htc will pass skb->data into usb hcd and usb hcd will do dma mapping and unmapping to the buffer pointed by skb->data, so we should pass a cache-line aligned address. This patch replace __dev_alloc_skb with alloc_skb to make skb->data pointed to a cacheline aligned address simply since ath9k-htc does not skb_push on the skb and pass it to mac80211, also use kfree_skb to free the skb allocated by alloc_skb(we can use kfree_skb safely in hardirq context since skb->destructor is NULL always in the path). Signed-off-by: Sujith Signed-off-by: Ming Lei Signed-off-by: John W. Linville commit e6c6d33cb7d18721e56ce4bb5a0e22593956ef14 Author: Ming Lei Date: Tue Apr 13 00:29:05 2010 +0800 ath9k-htc:respect usb buffer cacheline alignment in reg in path In ath9k-htc register in path, ath9k-htc will pass skb->data into usb hcd and usb hcd will do dma mapping and unmapping to the buffer pointed by skb->data, so we should pass a cache-line aligned address. This patch replace __dev_alloc_skb with alloc_skb to make skb->data pointed to a cacheline aligned address simply since ath9k-htc does not skb_push on the skb and pass it to mac80211, also use kfree_skb to free the skb allocated by alloc_skb(we can use kfree_skb safely in hardirq context since skb->destructor is NULL always in the path). Signed-off-by: Ming Lei Signed-off-by: John W. Linville commit f28a7b30cdaa936bdbdc0a2018241936fb56cae6 Author: Ming Lei Date: Tue Apr 13 00:28:53 2010 +0800 ath9k-htc:respect usb buffer cacheline alignment in ath9k_hif_usb_alloc_rx_urbs In ath9k_hif_usb_alloc_rx_urbs, ath9k-htc will pass skb->data into usb hcd and usb hcd will do dma mapping and unmapping to the buffer pointed by skb->data, so we should pass a cache-line aligned address. This patch replace __dev_alloc_skb with alloc_skb to make skb->data pointed to a cacheline aligned address simply since ath9k-htc does not skb_push on the skb and pass it to mac80211, also use kfree_skb to free the skbs allocated by alloc_skb(we can use kfree_skb safely in hardirq context since skb->destructor is NULL always in the path). Signed-off-by: Ming Lei Signed-off-by: John W. Linville commit 87d77c4ef132599eb3a6c49520719d39f7341efd Author: Bruno Randolf Date: Mon Apr 12 16:38:52 2010 +0900 ath5k: treat RXORN as non-fatal We get RXORN interrupts when all receive buffers are full. This is not necessarily a fatal situation. It can also happen when the bus is busy or the CPU is not fast enough to process all frames. Older chipsets apparently need a reset to come out of this situration, but on newer chips we can treat RXORN like RX, as going thru a full reset does more harm than good, there. The exact chip revisions which need a reset are unknown - this guess AR5K_SREV_AR5212 ("venice") is copied from the HAL. Inspired by openwrt 413-rxorn.patch: "treat rxorn like rx, reset after rxorn seems to do more harm than good" Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 0edc9a6709d8e7d4f26c7f2a4b5ebdb641f8dfa0 Author: Bruno Randolf Date: Mon Apr 12 16:38:47 2010 +0900 ath5k: Use high bitrates for ACK/CTS There was a confusion in the usage of the bits AR5K_STA_ID1_ACKCTS_6MB and AR5K_STA_ID1_BASE_RATE_11B. If they are set (1), we will get lower bitrates for ACK and CTS. Therefore ath5k_hw_set_ack_bitrate_high(ah, false) actually resulted in high bitrates, which i think is what we want anyways. Cleared the confusion and added some documentation. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit cc78e904bd960196233e2cd6a49068bba8787527 Author: Gertjan van Wingerde Date: Sun Apr 11 14:31:15 2010 +0200 rt2x00: Add rt3390 support in rt2800 register initialization. Add RT3390 specific register initializations to rt2x00, based on the latest Ralink rt3390 vendor driver. Untested as I don't actually own an RT3390 based device, but given experiences on rt3070/rt3071 very hopeful that this will actually work.. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 64522957ce35df995dfd73bee548304f2a39cc3e Author: Gertjan van Wingerde Date: Sun Apr 11 14:31:14 2010 +0200 rt2x00: Add rt3090 support in rt2800 register initialization. Add RT3090 specific register initializations to rt2x00, based on the latest Ralink rt3090 vendor driver. Untested as I don't actually own an RT3090 based device, but given experiences on rt3070/rt3071 very hopeful that this will actually work.. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit d5385bfc59c737d1eae77cc48d662daf4ddddae8 Author: Gertjan van Wingerde Date: Sun Apr 11 14:31:13 2010 +0200 rt2x00: Add rt3071 support in rt2800 register initialization. Add RT3071 specific register initializations to rt2x00, based on the latest Ralink rt3070 vendor driver. With this patch my RT3071 based devices start showing a sign of life. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8cdd15e0063edbe002945ba93faf80e79c947610 Author: Gertjan van Wingerde Date: Sun Apr 11 14:31:12 2010 +0200 rt2x00: Finish rt3070 support in rt2800 register initialization. rt2x00 had preliminary support for RT3070 based devices, but the support was incomplete. Update the RT3070 register initialization to be similar to the latest Ralink vendor driver. With this patch my rt3070 based devices start showing a sign of life. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit a9dce1494af33534867b8c7fab7351274fd651ca Author: Gertjan van Wingerde Date: Sun Apr 11 14:31:11 2010 +0200 rt2x00: Align rt2800 register initialization with vendor driver. Align the rt2800 register initializations with the latest versions of the Ralink vendor driver. This patch is also preparation for the addition of support for RT3070 / RT3071 / RT3090 / RT3390 based devices. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8d0c9b65c904c6943566ccd2919c6a5ee6292c6b Author: Gertjan van Wingerde Date: Sun Apr 11 14:31:10 2010 +0200 rt2x00: Refactor rt2800 version constants. The rt2800 version constants are inconsistent, and the version number don't mean a lot of things anyway. Refactor the constants to have some more meaningful names, and introduce and use some new helpers to check these chipset revisions. At the same time rename to revision, as they are more revision numbers rather than version numbers. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit e148b4c82a6269aa19476e4865afe8aa84360c8f Author: Gertjan van Wingerde Date: Sun Apr 11 14:31:09 2010 +0200 rt2x00: Align RT chipset definitions with vendor driver. Only include definitions for RT chipsets that are also used inside the Ralink vendor drivers. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit fab799c3b275a207215dfef91c0ac716f12c8727 Author: Gertjan van Wingerde Date: Sun Apr 11 14:31:08 2010 +0200 rt2x00: Update rt2800 register definitions towards latest definitions. Definitions taken from the latest rt2860 / rt2870 / rt3070 / rt3090 Ralink vendor drivers. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 06855ef4c8cf3d86d831c6317ca6a3563d271350 Author: Gertjan van Wingerde Date: Sun Apr 11 14:31:07 2010 +0200 rt2x00: Let RF chipset decide the RF channel switch method to use in rt2800. It seems that the distinction between RF channel switch method is solely based on the RF chipset that is used. Refactor the channel switch decision to just take the RF chipset into account, thereby greatly simplifying the check. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5988f385b4cffa9ca72c5be0188e5f4c9ef46d82 Author: Quintin Pitts Date: Fri Apr 9 21:37:38 2010 +0200 p54pci: prevent stuck rx-ring on slow system This patch fixes an old problem, which - under certain circumstances - could cause the device to become unresponsive. most of p54pci's rx-ring management is implemented in just two distinct standalone functions. p54p_check_rx_ring takes care of processing incoming data, while p54p_refill_rx_ring tries to replenish all depleted communication buffers. This has always worked fine on my fast machine, but now I know there is a hidden race... The most likely candidate here is ring_control->device_idx. Quintin Pitts had already analyzed the culprit and posted a patch back in Oct 2009. But sadly, no one's picked up on this. ( https://patchwork.kernel.org/patch/53079/ [2 & 3] ). This patch does the same way, except that it also prioritize rx data processing, simply because tx routines *can* wait. Reported-by: Sean Young Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=11386 Reported-by: Quintin Pitts Signed-off-by: Quintin Pitts Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit b1f90866fb3a329b1c4ebfff93ae9c110943e50a Merge: 68dd5b7 470058e Author: John W. Linville Date: Mon Apr 12 15:20:53 2010 -0400 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 871039f02f8ec4ab2e5e9010718caa8e085786f1 Merge: e4077e0 4a1032f Author: David S. Miller Date: Sun Apr 11 14:53:53 2010 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/stmmac/stmmac_main.c drivers/net/wireless/wl12xx/wl1271_cmd.c drivers/net/wireless/wl12xx/wl1271_main.c drivers/net/wireless/wl12xx/wl1271_spi.c net/core/ethtool.c net/mac80211/scan.c commit 470058e0ad82fcfaaffd57307d8bf8c094e8e9d7 Author: Zhu Yi Date: Fri Apr 2 13:38:54 2010 -0700 iwlwifi: avoid Tx queue memory allocation in interface down We used to free all the Tx queues memory when interface is brought down and reallocate them again in interface up. This requires order-4 allocation for txq->cmd[]. In situations like s2ram, this usually leads to allocation failure in the memory subsystem. The patch fixed this problem by allocating the Tx queues memory only at the first time. Later iwl_down/iwl_up only initialize but don't free and reallocate them. The memory is freed at the device removal time. BTW, we have already done this for the Rx queue. This fixed bug https://bugzilla.kernel.org/show_bug.cgi?id=15551 Signed-off-by: Zhu Yi Acked-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 57e40d36e59f828f43d60b2662041991dcd78044 Author: Wey-Yi Guy Date: Tue Mar 9 15:36:10 2010 -0800 iwlwifi: fix compiler warning Check return code on iwl_send_cmd_pdu() to get rid of compiler warning. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit f875f5183b8f511161eddcbb4e9a1aada33d4aaf Author: Reinette Chatre Date: Mon Apr 5 10:43:10 2010 -0700 iwlwifi: fix compile warnings when compiling without debug Fixes: CC [M] drivers/net/wireless/iwlwifi/iwl-agn-rs.o drivers/net/wireless/iwlwifi/iwl-agn-rs.c: In function ‘rs_get_rate’: drivers/net/wireless/iwlwifi/iwl-agn-rs.c:2419: warning: unused variable ‘priv’ CC [M] drivers/net/wireless/iwlwifi/iwl-sta.o drivers/net/wireless/iwlwifi/iwl-sta.c: In function ‘iwl_send_add_sta’: drivers/net/wireless/iwlwifi/iwl-sta.c:197: warning: unused variable ‘sta_id’ drivers/net/wireless/iwlwifi/iwl-3945.c: In function ‘iwl3945_rx_reply_rx’: drivers/net/wireless/iwlwifi/iwl-3945.c:601: warning: unused variable ‘rx_stats_noise_diff’ drivers/net/wireless/iwlwifi/iwl-3945.c:600: warning: unused variable ‘rx_stats_sig_avg’ drivers/net/wireless/iwlwifi/iwl-3945-rs.c: In function ‘rs_get_rate’: drivers/net/wireless/iwlwifi/iwl-3945-rs.c:650: warning: unused variable ‘priv’ Reported-by: Luis R. Rodriguez Signed-off-by: Reinette Chatre commit 4c8d1913ac1baab64080c1030cb94e24cbd9a0f8 Author: Wey-Yi Guy Date: Wed Mar 31 18:16:52 2010 -0700 iwlwifi: small changes in comments REPLY_TX_LINK_QUALITY_CMD was used by 4965, 5000 series and up Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 04569cbe7653fe0057acc46afc07f2c2fd2508b3 Author: Wey-Yi Guy Date: Wed Mar 31 17:57:28 2010 -0700 iwlwifi: update tx command response status Update to include additional tx command response status for "_agn" devices. The following status indicate the transmission was postponed: TX_STATUS_POSTPONE_DELAY TX_STATUS_POSTPONE_FEW_BYTES TX_STATUS_POSTPONE_BT_PRIO TX_STATUS_POSTPONE_QUIET_PERIOD TX_STATUS_POSTPONE_CALC_TTAK Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 461ef382fd68f02b7bac8f94f7f2b85162bad896 Author: Wey-Yi Guy Date: Tue Mar 30 17:57:53 2010 -0700 iwlwifi: add more debug info in error event dump When sys assert happen, driver will dump the error table information provided by uCode. There are more information available but is not being display by the driver; adding program counter and last host command the to log to help uCode debugging. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 05d5752027d02ca9204d1ece5074d41000fee23d Author: Johannes Berg Date: Wed Mar 31 08:59:17 2010 -0700 iwlwifi: clean up last_phy_res The last_phy_res[100] variable is used in an odd way. The first byte of it is used as a flag, and the rest as the data. Thus, the array need only be 61 bytes, since it is just the flag and a struct iwl_rx_phy_res (which is 60 bytes). Clean this up by splitting the variable into two: last_phy_res and last_phy_res_valid, using correct types for both (struct and bool). While doing all this also move the variables to the _agn part of the hw-specific union since they only apply to A-MPDUs. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 76c3c698bf47927fb31044fa2f4321c99ed7411d Author: Johannes Berg Date: Tue Mar 30 02:46:29 2010 -0700 iwlwifi: remove pointless sta_id invalid check lq->sta_id cannot be invalid here since this function will only be called after the station has been added properly. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit a90178fa1dce52816ae9fa4a3ba031886b79c5ae Author: Johannes Berg Date: Tue Mar 30 02:44:16 2010 -0700 iwlagn: simplify WEP key check Simplify the WEP group key check by checking the sta pointer instead of the sta_id we calculate with it; also clean up the comment formatting. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 43a61261d7f571f760611711cd4e6b64ef661ad1 Author: Johannes Berg Date: Tue Mar 30 02:43:05 2010 -0700 iwlwifi: remove wrong key use check Default WEP keys and regular keys are not allocated from the same space in the firmware, so we shouldn't use the same bits to indicate in use. For default WEP keys, however, mac80211 won't allow using the same key index twice, so the check is not necessary at all -- add/remove are perfectly nested due to those checks. Other keys are allocated in the device in a global array that only has a certain number of slots, so for that we need to keep the allocation bitmap; but the 802.11 key index isn't relevant there. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 335348b1702cf78c9e79987a3d66e85a05c98b5c Author: Johannes Berg Date: Tue Mar 30 10:11:46 2010 -0700 iwlwifi: make WEP key restoring explicit The firmware clears default WEP keys on transitions to !associated, so we need to restore them just like stations. This is rather implicit as part of sending a station right now, which is odd. Make it explicit instead and only for agn since 3945 doesn't use hw crypto for WEP. Due to that, iwl_send_static_wepkey_cmd is now only used in iwl-sta.c and can be static. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 678b385d07835c6c21371c12eaaa3fba4de05168 Author: Wey-Yi Guy Date: Fri Mar 26 12:54:37 2010 -0700 iwlwifi: default max event log size Size of event log is determined by uCode which is different per NICs. Set the maximum event log size per device to better match uCode configuration. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 68dd5b7a45d1935fcd32b786e8d3d3f7bb4bbfe7 Author: Teemu Paasikivi Date: Fri Apr 9 13:07:55 2010 +0300 mac80211: check whether scan is in progress before queueing scan_work As scan_work is queued from work_work it needs to be checked if scan has been started during execution of work_work. Otherwise, when hw scan is used, the stack gets error about hw being busy with ongoing scan. This causes the stack to abort scan without notifying the driver about it. This leads to a situation where the hw is scanning and the stack thinks it's not. Then when the scan finishes, the stack will complain by warnings. Signed-off-by: Teemu Paasikivi Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 00236aedf1d2c49a18ae9ea00698d97705ff7289 Author: Juuso Oikarinen Date: Fri Apr 9 11:07:30 2010 +0300 wl1271: Add support for connection quality monitoring This patch will add support for connection quality monitoring by configuring rssi triggers to the firmware, and enabling the firmware rssi trigger functionality. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit e19728181ca7187fa0ecb7076ce681311cf785e7 Author: Juuso Oikarinen Date: Fri Apr 9 11:07:29 2010 +0300 wl1271: Go to ELP in idle Allow the wl1271 go to ELP mode also in idle. This will reduce current consumption remarkably in idle mode (~12mA -> ~0.2mA) Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit aecb0565e3e331d4dd23b4d35180519532015f22 Author: Saravanan Dhanabal Date: Fri Apr 9 11:07:28 2010 +0300 wl1271: Fix mac80211 RTS threshold requests during WL1271_STATE_OFF mac80211 sends RTS threshold configuration request even if the wl1271 interface state is WL1271_STATE_OFF. This leads to failures during pm tests. This patch leaves the configuration function, if the interface is going down. Signed-off-by: Saravanan Dhanabal Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 2c10bb9cb3f9cecb71bd2cbb771778136433ebe2 Author: Saravanan Dhanabal Date: Fri Apr 9 11:07:27 2010 +0300 wl1271: Fix mac80211 configuration requests during WL1271_STATE_OFF mac80211 sends configuration requests even if the wl1271 interface state is WL1271_STATE_OFF. This creates warnings from mac80211. This patch leaves the configuration functions, if the interface is going down. Signed-off-by: Saravanan Dhanabal Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit bd9dc49cd565aeb20d4f6eb2f6af4c16acce2ef5 Author: Juuso Oikarinen Date: Fri Apr 9 11:07:26 2010 +0300 wl1271: Fix memory leaks on driver initialization This patch fixes some memory leaks occurring during driver init/de-init. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit c15cf5fcf9ea0a7749536c201965370d99c86c7f Author: Luis R. Rodriguez Date: Thu Apr 8 16:08:46 2010 -0400 mac80211: fix typo for LDPC capability Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 39184b151cbe5ce9f1487190ac4244f69bf6a04b Author: Zhu Yi Date: Thu Apr 8 15:35:10 2010 +0800 mac80211: delay skb linearising in rx decryption We delay the skb linearising in ieee80211_rx_h_decrypt so that frames do not require software decryption are not linearized. We are safe to do this because ieee80211_get_mmie_keyidx() only requires to touch nonlinear data for management frames, which are already linearized before getting here. Cc: Johannes Berg Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 1805a34fa33b6284ab8139dd43779b94de58669a Merge: ace5d5d ece6444 Author: John W. Linville Date: Fri Apr 9 13:42:26 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-4965.c commit ace5d5de6bbaff00d3b5dd7ea8f160b570fdb726 Author: John W. Linville Date: Thu Apr 8 16:34:49 2010 -0400 ath5k: fixup some merge damage for AR5211 IQ calibration Resolution of a merge conflict upstream accidentally removed a hunk of "ath5k: IQ calibration for AR5211 is slightly different", so restore it. Signed-off-by: John W. Linville commit f74cb0f7b1d8d6e4c11c6679a7d012be641225e3 Author: Luis R. Rodriguez Date: Thu Apr 8 11:50:47 2010 -0400 mac80211_hwsim: add sw_scan sw_scan_complete Simple pre-scan and scan complete callbacks, this at least shows to me that mac80211 will issue two scans at the same time on the same wiphy. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4f59fce9e099fb6ba3c8361e5094163a3efce5be Author: Bob Copeland Date: Wed Apr 7 23:55:59 2010 -0400 ath5k: add bounds check to pdadc table We check the bounds on pdadc once when correcting for negative curves but not when we later copy values from from the pdadc_tmp array, leading to a potential overrun. Although we shouldn't hit this case in practice, let's be consistent. Reported-by: Dan Carpenter Signed-off-by: Bob Copeland Acked-by: Bruno Randolf Signed-off-by: John W. Linville commit a05988bbbef5ac2391fe696646f0b80708f33f2e Author: Bob Copeland Date: Wed Apr 7 23:55:58 2010 -0400 ath5k: fix race condition in tx desc processing As pointed out by Benoit Papillault, there is a potential race condition between the host and the hardware in reading the next link in the transmit descriptor list: cpu0 hw tx for buf completed raise tx_ok interrupt process buf buf->ds_link = 0 read buf->ds_link This change checks txdp before processing a descriptor (if there are any subsequent descriptors) to see if hardware moved on. We'll then process this descriptor on the next tasklet. Signed-off-by: Bob Copeland Acked-by: Bruno Randolf Signed-off-by: John W. Linville commit 6b5d117eddc09cd976ad8030d715f4350f598a22 Author: Bob Copeland Date: Wed Apr 7 23:55:57 2010 -0400 ath5k: clean up queue manipulation Review spotted a couple of strange invocations to ieee80211_wake_queues that could potentially cause problems: - queues are awakened in the calibration tasklet before phy calibration, and then again after calibration - queues are awakened inside reset when we're trying to drain the ath5k transmit queues, and again after reset is completed (in callers to ath5k_reset_wake). In both cases the first wake is unnecessary, so remove it. Signed-off-by: Bob Copeland Acked-by: Bruno Randolf Signed-off-by: John W. Linville commit 1968cc78d91c79857089713bf3f3cceb5e9c63ae Author: Bob Copeland Date: Wed Apr 7 23:55:56 2010 -0400 ath5k: correct channel setting for 2.5 mhz spacing These channels aren't selectable anyway, but our calculations for 2.5 mhz frequencies are incorrect. The value is supposed to be: (frequency - reference) * (10/25) i.e., divide by 2.5, but we were instead doing: (10 * frequency - reference) / 25. Additionally, the check for (frequency % 5 == 2) had an extra subtraction that wasn't in madwifi HAL. Signed-off-by: Bob Copeland Acked-by: Bruno Randolf Signed-off-by: John W. Linville commit b5878a2dc5e7e7f031a52c3e15b571224cb6b540 Author: Johannes Berg Date: Wed Apr 7 16:48:40 2010 +0200 mac80211: enhance tracing Enhance tracing by adding tracing for a variety of callbacks that the drivers call, and also for internal calls (currently limited to queue status). This can aid debugging what is going on in mac80211 in interaction with drivers, since we can now see what drivers call and not just what mac80211 calls in the driver. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 403820edc4ba1f2fb2514c022f2662c498ce0d11 Author: Helmut Schaa Date: Wed Apr 7 09:06:34 2010 +0200 rt2x00: use rt2800_config_channel_rt3x for rt2872 rt2872 needs the same rf register setup as rt3070 and rt3090, hence use rt2800_config_channel_rt3x instead of rt2800_config_channel_rt2x. This change allows me to actually switch channels and hence scan all configured channels on the RT305x SoC platform (which uses a rt2872) here. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Tested-by: Luis Correia Signed-off-by: John W. Linville commit 2eb46d9bda44b3f85727fee6865d9b25725e6bf9 Author: Pavel Roskin Date: Wed Apr 7 01:33:33 2010 -0400 ath9k: simplify AR9220 fixup code for AR_AN_TOP2 register Don't modify ah->iniModes, it's supposed to be constant. Instead, apply the fixup when the data is written to the registers. Change ath9k_hw_init_eeprom_fix() to only determine whether the fixup is needed. This allows similteneous support for AR9220 cards that need AR_AN_TOP2 fixup (such as Ubiquiti SR71-12) and those that don't need it (D-Link DWA-552 rev A2). Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit f984d94c500c79048b33ab14923dfcec336d9968 Author: Sujith Date: Tue Apr 6 15:28:19 2010 +0530 ath9k_htc: Fix HTC layer memleak Messages that are generated by the HTC layer don't have any TX callback endpoints assigned to them. Consequently, the allocated SKBs are never freed. Fix this issue by handling this case in the HTC layer itself. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 6f0f2669f508fb239a0f589a8b453dbe22112bf9 Author: Sujith Date: Tue Apr 6 15:28:17 2010 +0530 ath9k_htc: Use anchors for REGOUT pipe hif_usb_regout_cb() frees the given URB, which is borked by design. Use an anchor to simplify URB management. Signed-off-by: Sujith Signed-off-by: John W. Linville commit c503269a0f77e9b2d6de9e8a5f66ace53dde6e04 Author: Sujith Date: Tue Apr 6 15:28:15 2010 +0530 ath9k_htc: Fix module unloading issue The maximum number of packets in a single buffer in stream mode is 10. The driver currently uses 8 - which caused stack corruption, in the absence of any kind of OOB checking. Fixing this to the correct value of 10 fixes the module unload issue. Signed-off-by: Sujith Tested-by: Ming Lei Signed-off-by: John W. Linville commit 66b10e33f742bb45a29b7dbbc8dc85583d4c9ef6 Author: Sujith Date: Tue Apr 6 15:28:13 2010 +0530 ath9k_htc: Fix RX URB reference count RX URBs are automatically freed when the reference count drops to zero - this currently doesn't happen when usb_kill_anchored_urbs() is called during unload. Fix this by dropping the reference count by one during initial submission. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 46baa1a24945b5813097af5a632db721f9c9d03b Author: Sujith Date: Tue Apr 6 15:28:11 2010 +0530 ath9k_htc: Protect RX stream variables Use a spin lock to prevent concurrent access to variables dealing with RX stream mode handling. Currently, no protection is implemented - which causes problems in RX. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 62c33447fa720d71b05bbc626b01351a4889c2d7 Author: Gertjan van Wingerde Date: Tue Mar 30 23:50:24 2010 +0200 rt2x00: Enable powersaving by default again on rt2500usb. Now that the powersave issues on rt2500usb have been tackled, powersave can be enabled by default again. Signed-off-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 97ad9139fd68b5c71f44d28d3f9788d89cfd4916 Author: Javier Cardona Date: Mon Mar 29 11:00:21 2010 -0700 mac80211: Moved mesh action codes to a more visible location Grouped mesh action codes together with the other action codes in ieee80211.h. Signed-off-by: Javier Cardona Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 60ece4047e4870c7be28dcf661162d8312c161e7 Author: Frans Pop Date: Wed Mar 24 19:46:30 2010 +0100 wireless/ath: remove trailing space in messages Signed-off-by: Frans Pop Cc: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0f2df9eac70423838a1f8d410fd3899ddd88317b Merge: 8c11e4a 1144601 Author: John W. Linville Date: Thu Apr 8 13:34:54 2010 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into merge Conflicts: Documentation/feature-removal-schedule.txt drivers/net/wireless/ath/ath5k/phy.c drivers/net/wireless/iwlwifi/iwl-4965.c drivers/net/wireless/iwlwifi/iwl-agn.c drivers/net/wireless/iwlwifi/iwl-core.c drivers/net/wireless/iwlwifi/iwl-core.h drivers/net/wireless/iwlwifi/iwl-tx.c commit 8c11e4ab09ffb975a89802dde0e9aa52a53b8aa5 Author: Johannes Berg Date: Wed Apr 7 11:26:56 2010 +0200 mac80211: fix paged RX crypto WEP crypto was broken, but upon finding the problem it is evident that other things were broken by the paged RX patch as well. To fix it, for now move the linearising in front. This means that we linearise all frames, which is not at all what we want, but at least it fixes the problem for now. Signed-off-by: Johannes Berg Acked-by: Zhu Yi Signed-off-by: John W. Linville commit 54297e4d60b74e602138594c131097347d128b5a Author: Johannes Berg Date: Tue Apr 6 11:18:48 2010 +0200 mac80211: fix some RX aggregation locking A few places in mac80211 do not currently acquire the sta lock for RX aggregation, but they should. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 098a607091426e79178b9a6c318d993fea131791 Author: Johannes Berg Date: Tue Apr 6 11:18:47 2010 +0200 mac80211: clean up/fix aggregation code The aggregation code has a number of quirks, like inventing an unneeded WLAN_BACK_TIMER value and leaking memory under certain circumstances during station destruction. Fix these issues by using the regular aggregation session teardown code and blocking new aggregation sessions, all before the station is really destructed. As a side effect, this gets rid of the long code block to destroy aggregation safely. Additionally, rename tid_state_rx which can only have the values IDLE and OPERATIONAL to tid_active_rx to make it easier to understand that there is no bitwise stuff going on on the RX side -- the TX side remains because it needs to keep track of the driver and peer states. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 618f356b95e37ca0c30b3b513898fda54abd52a6 Author: Johannes Berg Date: Tue Apr 6 11:18:46 2010 +0200 mac80211: rename WLAN_STA_SUSPEND to WLAN_STA_BLOCK_BA I want to use it during station destruction as well so rename it to WLAN_STA_BLOCK_BA which is also the only use of it now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 66b0470aeef10a3b0f9a6a1c60d908b5a06c62ae Author: Johannes Berg Date: Tue Apr 6 11:18:45 2010 +0200 mac80211: remove ieee80211_sta_stop_rx_ba_session All callers of ieee80211_sta_stop_rx_ba_session can just call __ieee80211_stop_rx_ba_session instead because they already have the station struct, so do that and remove ieee80211_sta_stop_rx_ba_session. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2b43ae6daf26f29cec49fa3a3f18025355495500 Author: Johannes Berg Date: Tue Apr 6 11:18:44 2010 +0200 mac80211: remove irq disabling for sta lock All other places except one in the TX path, which has BHs disabled, and it also cannot be locked from interrupts so disabling IRQs is not necessary. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e64b379574d6c92c15b4239ee0a5173317176547 Author: Johannes Berg Date: Tue Apr 6 11:18:43 2010 +0200 mac80211: fix station destruction problem When a station w/o a key is destroyed, or when a driver submits work for a station and thereby references it again, it seems like potentially we could reference the station structure while it is being destroyed. Wait for an RCU grace period to elapse before finishing destroying the station after we have removed the station from the driver and from the hash table etc., even in the case where no key is associated with the station. Also, there's no point in deleting the plink timer here since it'll be properly deleted just a bit later. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1c3652a5732879263aeebe606ca7af9e66fe0b2f Author: Vivek Natarajan Date: Mon Apr 5 14:48:06 2010 +0530 ath9k_htc: Configure the beacon timers once the scan is completed. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit bde748a40d4d5a9915def6772e208848c105e616 Author: Vivek Natarajan Date: Mon Apr 5 14:48:05 2010 +0530 ath9k_htc: Add support for power save. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 53bc7aa08b48e5cd745f986731cc7dc24eef2a9f Author: Vivek Natarajan Date: Mon Apr 5 14:48:04 2010 +0530 ath9k: Add support for newer AR9285 chipsets. This patch adds support for a modified newer version of AR9285 chipsets. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit d5cdfacb35ed886271d1ccfffbded98d3447da17 Author: Jouni Malinen Date: Sun Apr 4 09:37:19 2010 +0300 cfg80211: Add local-state-change-only auth/deauth/disassoc cfg80211 is quite strict on allowing authentication and association commands only in certain states. In order to meet these requirements, user space applications may need to clear authentication or association state in some cases. Currently, this can be done with deauth/disassoc command, but that ends up sending out Deauthentication or Disassociation frame unnecessarily. Add a new nl80211 attribute to allow this sending of the frame be skipped, but with all other deauth/disassoc operations being completed. Similar state change is also needed for IEEE 802.11r FT protocol in the FT-over-DS case which does not use Authentication frame exchange in a transition to another BSS. For this to work with cfg80211, an authentication entry needs to be created for the target BSS without sending out an Authentication frame. The nl80211 authentication command can be used for this purpose, too, with the new attribute to indicate that the command is only for changing local state. This enables wpa_supplicant to complete FT-over-DS transition successfully. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 7590a550b88b8c3cb025f0a8ed58e279ad62e4c1 Author: Kalle Valo Date: Fri Apr 2 15:31:46 2010 +0300 wl1251: use DRIVER_NAME macro in wl1251_spi_driver Better use the macro for consistency, the content is the same anyway. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 2111ac0d888767999c7dd6d1309dcc1fb8012022 Author: Bruno Randolf Date: Fri Apr 2 18:44:08 2010 +0900 ath5k: Adaptive Noise Immunity (ANI) Implementation This is an Adaptive Noise Imunity (ANI) implementation for ath5k. I have looked at both ath9k and HAL sources (they are nearly the same), and even though i have implemented some things differently, the basic algorithm is practically the same, for now. I hope that this can serve as a clean start to improve the algorithm later. This also adds a possibility to manually control ANI settings, right now only thru a debugfs file: * set lowest sensitivity (=highest noise immunity): echo sens-low > /sys/kernel/debug/ath5k/phy0/ani * set highest sensitivity (=lowest noise immunity): echo sens-high > /sys/kernel/debug/ath5k/phy0/ani * automatically control immunity (default): echo ani-on > /sys/kernel/debug/ath5k/phy0/ani * to see the parameters in use and watch them change: cat /sys/kernel/debug/ath5k/phy0/ani Manually setting sensitivity will turn the automatic control off. You can also control each of the five immunity parameters (noise immunity, spur immunity, firstep, ofdm weak signal detection, cck weak signal detection) manually thru the debugfs file. This is tested on AR5414 and nearly doubles the thruput in a noisy 2GHz band. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 4a35ecf8bf1c4b039503fa554100fe85c761de76 Merge: b4d562e fb9e2d8 Author: David S. Miller Date: Tue Apr 6 23:53:30 2010 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/bonding/bond_main.c drivers/net/via-velocity.c drivers/net/wireless/iwlwifi/iwl-agn.c commit bc53e5129ce879ba024b7d21981871ea63a37b42 Author: Rafał Miłecki Date: Thu Apr 1 23:11:10 2010 +0200 b43: N-PHY: fix copy&paste typo Reported-by: Myhailo Danylenko Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 6bbe89de24ffe0f849e67edba7def3f39f1f80d8 Author: Juuso Oikarinen Date: Thu Apr 1 11:38:24 2010 +0300 wl1271: Fix tx queue flushing This patch modifies tx-queue flushing to correspond with tx-path - i.e. also frames for which no ack was requested are forwarded to the mac80211 for disposal. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 1a186a515a1e4446cdde2b4341dc361ba6bc76ed Author: Juuso Oikarinen Date: Thu Apr 1 11:38:23 2010 +0300 wl1271: Fix debug prints for beacon-loss and psm-entry-fail scenarios Remove ERROR print from psm-entry-fail scenario, instead use an INFO print. Also, add INFO print to the beacon-loss scenario. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 50c500ad3da49f866628d60d49645f4f8f4ff92c Author: Juuso Oikarinen Date: Thu Apr 1 11:38:22 2010 +0300 wl1271: Configure a higher listen interval to AP upon association Increase the fixed listen-interval max value configured to the mac80211 on driver init. This value will allow a larger value to be configured to the AP, which means the AP will buffer our frames longer. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 606c1487ac894798121bc2c64d27c1953c5a6210 Author: Juuso Oikarinen Date: Thu Apr 1 11:38:21 2010 +0300 wl1271: Configure rates for templates Configure meaningful rates to be used with the templates. For control frames, use the determined basic rates (currently the lowest rate for the band) and for data-frames (null-funcs) let the firmware use the current rate policy to determine the rate. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit ebba60c66b3aa321a84c9a90a343c91fde972066 Author: Juuso Oikarinen Date: Thu Apr 1 11:38:20 2010 +0300 wl1271: Use minimum rate for each band for control messages Currently the mac80211 is not telling a hardware rate controlled driver a rate to use for association frames etc. So to be safe, use the lowest rate of each band for communication. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 40b359c61dc496508b77d1242726e40238e62128 Author: Juuso Oikarinen Date: Thu Apr 1 11:38:19 2010 +0300 wl1271: Fix keep-alive related command error The firmware does not like the host configuring the keep-alive after it has been once configured after a join-operation. Instead, it will complain about invalid parameters, which do not break functionality, but do not look nice in the syslog either. This patch prevents the complaints by only configuring the keep-alive once for an association, after the first time join is performed with the correct bssid. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 1ed95388caf0ae41f905817e39cd7b5093bf8d7f Author: Luciano Coelho Date: Thu Apr 1 11:38:18 2010 +0300 wl1271: added missing command header in wl1271_cmd_disconnect The command header was missing in the wl1271_cmd_disconnect structure. It was working fine by sheer luck, because the parameters are not critical and because our wl1271_cmd_send() function was overwriting the rx_config_options with the actual header. This patch adds the header to the command structure. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit f4b5d8d874b245ec3bf1ed356476e74a346705a2 Author: Luciano Coelho Date: Thu Apr 1 11:38:17 2010 +0300 wl1271: fix sdio driver name in wl1271_sdio_driver Our SPI driver is called "wl1271_spi" in the driver information structure. Let's use the same for SDIO so that things are aligned. Signed-off-by: Luciano Coelho Reviewed-by: Teemu Paasikivi Signed-off-by: John W. Linville commit e92119ca88691ac2239916d31c3dcecd10867521 Author: Sujith Date: Thu Apr 1 10:28:24 2010 +0530 ath9k_htc: Add TL-WN422G v2 product ID Signed-off-by: Sujith Signed-off-by: John W. Linville commit ffa49f8209ef77ebf2cce0bbc129ca40064b8fb6 Author: Sujith Date: Thu Apr 1 10:28:23 2010 +0530 ath9k_hw: Don't check devid for ath9k_htc For USB devices, this check is invalid. Remove the check so that new product IDs can be added. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 497ad9adf44013dc9054f80c627acc44d4c90d37 Author: Sujith Date: Thu Apr 1 10:28:20 2010 +0530 ath: Add a bus type field This can be used to store the bus types ( AHB/PCI/USB ). Signed-off-by: Sujith Signed-off-by: John W. Linville commit 32ffb1f4488b0727bcfc67a025becc0db3df7a17 Author: Felix Fietkau Date: Wed Mar 31 15:41:36 2010 -0700 ath9k: fix compile error without debug enabled commits 8e6f5aa250d6013ec0d66f9f45f376678d3fc4ab and db1a052b73f7c97f9e8b21f3f19a92313ed2acb1 accidentally introduced compile errors that happens when ath9k debug is not enabled. This patch fixes the declaration of the inline stubs to resolve this. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 152d530d9edbb08424dc1b6561252597a7932c49 Author: Pavel Roskin Date: Wed Mar 31 18:05:37 2010 -0400 ath9k: remove ah->mask_reg, it's never used properly ah->mask_reg was used to hold different data throughout the driver. ath9k_hw_init_interrupt_masks() used it to save the value written to AR_IMR. ath9k_hw_set_interrupts() used it to hold the interrupt mask as defined in enum ath9k_int. Those masks differ in many bits. Use ah->imask instead of ah->mask_reg in ath9k_hw_set_interrupts() and ath9k_hw_updatetxtriglevel(). That's what the code was meant to do. ah->imask is initialized in ath9k_start(), so we don't need to initialize it from ah->mask_reg. Once it's done, ah->mask_reg becomes write-only, so it's replaced with a local variable in ath9k_hw_init_interrupt_masks(). Signed-off-by: Pavel Roskin Reported-by: Julia Lawall Signed-off-by: John W. Linville commit 3069168c82d65f88e4ac76eda09baff02adfd743 Author: Pavel Roskin Date: Wed Mar 31 18:05:31 2010 -0400 ath9k: move imask from sc to ah Add ah variable in the functions that didn't have it and used sc->imask. Replace sc->sc_ah with ah in those functions. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit c81494d548d0735f13c04dd2c336cde470d1a5ae Author: Pavel Roskin Date: Wed Mar 31 18:05:25 2010 -0400 ath9k: rename symbols in enum ath9k_internal_frame_type to avoid confusion Symbols starting with "ATH9K_INT" are also used for interrupt mask. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit b409894f9d6961bd5feffb86ba1d8dbbebfb5b72 Author: Luis de Bethencourt Date: Wed Mar 31 15:07:48 2010 +0100 ath: fix coding style/readability in ath/ar9170 This is a patch to files in ath/ar9170 that fixes a set of warnings found by checkpatch.pl tool. A line over 80 characters, a few empty spaces before tab and a few empty characters before a new line. Signed-off-by: Luis de Bethencourt Signed-off-by: John W. Linville commit 4d66edc8b6c0622ed6df74709de65f70d1ca222f Author: Gertjan van Wingerde Date: Tue Mar 30 23:50:26 2010 +0200 rt2x00: Add wakeup interrupt handler to rt2800pci. This is needed to wake up the device automatically for receiving beacons, and is required for proper powersave handling. Signed-off-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 9e18944601856c04c07dc569b87e9b98e8a9da5f Author: Gertjan van Wingerde Date: Tue Mar 30 23:50:25 2010 +0200 rt2x00: Add wakeup interrupt handler to rt61pci. This is needed to wake up the device automatically for receiving beacons, and is required for proper powersave handling. Signed-off-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 5731858d0047cad309d334c4cd6ccb6199bf28fe Author: Gertjan van Wingerde Date: Tue Mar 30 23:50:23 2010 +0200 rt2x00: Disable auto wakeup before waking up device. In all drivers ensure that auto wakeup is disabled before waking up the device. This is needed to prevent connection stability issues and problems in waking up the device. Based upon a patch from Ondrej Zary Signed-off-by: Gertjan van Wingerde Cc: Ondrej Zary Signed-off-by: John W. Linville commit 8a64c0f6b7ec7f758c4ef445e49f479e27fa2236 Author: Daniel Mack Date: Tue Apr 6 10:52:44 2010 +0200 libertas/sdio: 8686: set ECSI bit for 1-bit transfers When operating in 1-bit mode, SDAT1 is used as dedicated interrupt line. However, the 8686 will only drive this line when the ECSI bit is set in the CCCR_IF register. Thanks to Alagu Sankar for pointing me in the right direction. Signed-off-by: Daniel Mack Cc: Alagu Sankar Cc: Volker Ernst Cc: Dan Williams Cc: John W. Linville Cc: Holger Schurig Cc: Bing Zhao Cc: libertas-dev@lists.infradead.org Cc: linux-wireless@vger.kernel.org Cc: linux-mmc@vger.kernel.org Acked-by: Dan Williams Signed-off-by: John W. Linville commit cfcfe4469cc39625cb8257355c00dd8f35f900aa Author: Luis de Bethencourt Date: Tue Mar 30 16:44:33 2010 +0100 ath: fix code readability in regd.c This is a patch to the ath/regd.c file that fixes two code readability issues. A space between to separate two defines and the indentation inside the ath_redg_is_eeprom_valid function. Signed-off-by: Luis de Bethencourt Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0a4528e2ae290104f2c343031976542f93ae229d Author: Luis de Bethencourt Date: Mon Mar 29 21:34:39 2010 +0100 Net: wireless: ath: fix macros coding style issue in hw.c This is a patch to the ath/hw.c file that fixes up a warning about macros found by the checkpatch.pl tool, that said that complex values should be enclosed in parenthesis. Signed-off-by: Luis de Bethencourt Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d211e90e28a074447584729018a39910d691d1a8 Author: Jouni Malinen Date: Sun Mar 28 22:29:52 2010 -0700 mac80211: Fix robust management frame handling (MFP) Commit e34e09401ee9888dd662b2fca5d607794a56daf2 incorrectly removed use of ieee80211_has_protected() from the management frame case and in practice, made this validation drop all Action frames when MFP is enabled. This should have only been done for frames with Protected field set to zero. Signed-off-by: Jouni Malinen Cc: stable@kernel.org Signed-off-by: John W. Linville commit a124f3bed79d5fd5f87b09a7569ae6b7da4171d2 Merge: f18d446 91dd6c2 Author: John W. Linville Date: Tue Apr 6 16:37:10 2010 -0400 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Sun Apr 4 17:59:30 2010 +0000 mac80211: Ensure initializing private mc_list in prepare_multicast(). Fix kernel panic by NULL pointer dereference in the context of ieee80211_ops->prepare_multicast(). This bug was introduced by commit 22bedad3c.. ("net: convert multicast list to list_head"). Call __hw_addr_init() in ieee80211_alloc_hw() to initialize list_head of private device multicast list, like we do in bond_init(). Signed-off-by: YOSHIFUJI Hideaki Reviewed-by: Jiri Pirko Signed-off-by: David S. Miller commit 22bedad3ce112d5ca1eaf043d4990fa2ed698c87 Author: Jiri Pirko Date: Thu Apr 1 21:22:57 2010 +0000 net: convert multicast list to list_head Converts the list and the core manipulating with it to be the same as uc_list. +uses two functions for adding/removing mc address (normal and "global" variant) instead of a function parameter. +removes dev_mcast.c completely. +exposes netdev_hw_addr_list_* macros along with __hw_addr_* functions for manipulation with lists on a sandbox (used in bonding and 80211 drivers) Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit f18d4463d092162f34a8bd226505627ceeac3e8a Author: Luis Correia Date: Sat Apr 3 12:49:53 2010 +0100 rt2x00: remove MCU requests for SoC platforms The ralink SoC platforms do not have an MCU. Signed-off-by: Luis Correia Acked-by: Ivo van Doorn Signed-off-by: Gertjan van Wingerde commit 91dd6c27a29f97d81d2f71651d3b6bb55a4c1788 Author: Frans Pop Date: Wed Mar 24 14:19:58 2010 -0700 iwlwifi: remove trailing space in messages Includes minor improvements in debugging messages in iwl-4965.c, function iwl4965_is_temp_calib_needed(). Signed-off-by: Frans Pop Cc: Zhu Yi Cc: Reinette Chatre Cc: Intel Linux Wireless Signed-off-by: Reinette Chatre commit b744cb79aec7d95905943c0bc64699eb02de143b Author: Wey-Yi Guy Date: Tue Mar 23 11:37:59 2010 -0700 iwlwifi: code cleanup for generic defines Some defines used by all agn devices, but the definitions were in iwl-4965-hw.h, move those to iwl-agn-hw.h which is the better place for those. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 6aac74b40d5828c6f6b24974580aa43d7bee905c Author: Zhu Yi Date: Mon Mar 22 19:33:41 2010 -0700 iwlwifi: clear rxq->queue in queue reset In iwl_rx_queue_reset(), we didn't clear the rxq->queue[]. This might cause the same rxb appears on multiple places in rxq->queue. Although this won't cause any problem because of the read and write pointers protection in rxq, we'd better clear it to avoid misleading. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre commit bed2263feb10ea29b2696030cdec2eea611caf14 Author: Wey-Yi Guy Date: Mon Mar 22 14:42:03 2010 -0700 iwlwifi: remove irrelevant comments Removing irrelevant comments from iwl-agn.c Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 2b068618031a91929c21410069f872178ec00329 Author: Wey-Yi Guy Date: Mon Mar 22 09:17:39 2010 -0700 iwlwifi: merge module parameters into single place Module parameters used to be defined in both iwl-5000.c and iwl-4965.c, after the code re-structure, merge into iwl-agn.c for easy to read and maintenance. Number of module parameters are deprecated after this merge. These are also scheduled for removal by 2.6.40. The current supported parameters are: parm: debug50:50XX debug output mask (deprecated) (uint) parm: debug:debug output mask (uint) parm: swcrypto50:using crypto in software (default 0 [hardware]) (deprecated) (bool) parm: swcrypto:using crypto in software (default 0 [hardware]) (int) parm: queues_num50:number of hw queues in 50xx series (deprecated) (int) parm: queues_num:number of hw queues. (int) parm: 11n_disable50:disable 50XX 11n functionality (deprecated) (int) parm: 11n_disable:disable 11n functionality (int) parm: amsdu_size_8K50:enable 8K amsdu size in 50XX series (deprecated) (int) parm: amsdu_size_8K:enable 8K amsdu size (int) parm: fw_restart50:restart firmware in case of error (deprecated) (int) parm: fw_restart:restart firmware in case of error (int) parm: disable_hw_scan:disable hardware scanning (default 0) (int) Remove "antenna" module parameter, it is not being used in "agn" driver. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit e3efca0a63b4ac4d8849d37d082a95cf1a75162d Author: Jouni Malinen Date: Sun Mar 28 22:31:15 2010 -0700 mac80211: Fix drop_unencrypted for MFP with hwaccel Commit bef5d1c70d132145c0fc75b3586a19841a9a82e4 split ieee80211_drop_unencrypted() into separate functions that are used for Data and Management frames. However, it did not handle the RX_FLAG_DECRYPTED correctly for Management frames: ieee80211_drop_unencrypted() can only return 0 for Management frames, so there is no point in calling it here. Instead, just check the status->flag directly. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 9fd1ea428590cf6e35e5a7df32ff6bccfd371db2 Author: Frans Pop Date: Wed Mar 24 19:46:31 2010 +0100 wireless/ipw2x00: remove trailing space in messages Signed-off-by: Frans Pop Signed-off-by: John W. Linville commit 879999cec9489f8942ebce3ec1b5f23ef948dda7 Author: Christian Lamparter Date: Tue Mar 23 21:51:14 2010 +0100 ar9170usb: fix panic triggered by undersized rxstream buffer While ar9170's USB transport packet size is currently set to 8KiB, the PHY is capable of receiving AMPDUs with up to 64KiB. Such a large frame will be split over several rx URBs and exceed the previously allocated space for rx stream reconstruction. This patch increases the buffer size to 64KiB which is in fact the phy & rx stream designed size limit. Cc: stable@kernel.org Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=15591 Reported-by: Christian Mehlis Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit d5d9de024c157a3dfbab191241c5c51e4d4c069a Author: Marco Porsch Date: Tue Mar 30 10:00:16 2010 +0200 nl80211: reenable station del for mesh iw dev station del is quiet useful in mesh mode and should be possible. Signed-off-by: Marco Porsch Signed-off-by: John W. Linville commit 932d37c094b3c3410b4059f18f3b5c756bff059a Author: Jouni Malinen Date: Mon Mar 29 23:37:36 2010 -0700 ath9k: Do not indicate RX_FLAG_DECRYPTED for unprotected frames mac80211 skips drop_unencrypted checks if the driver/firmware has already taken care of this. In case of ath9k, we must not indicate that the frame was decrypted if no decryption was actually done. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit fa83a2189870cdcd6fb4deeed391e0b988dc9a19 Author: Jouni Malinen Date: Mon Mar 29 23:36:15 2010 -0700 mac80211: Fix dropping of unprotected robust multicast frames When selecting the RX key for group-addressed robust management frames, we do not actually select any BIP key if the frame is unprotected (since we cannot find the key index from MMIE). This results in the drop_unencrypted check in failing to drop the frame. It is enough to verify that we have a STA entry for the transmitter and that MFP is enabled for that STA; we do not need to check rx->key here. This fixes BIP processing for unprotected, group-addressed, robust management frames. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit ecbcd3243651ae8ac2b73a96c320992a4cf01c5b Author: Jouni Malinen Date: Mon Mar 29 23:35:23 2010 -0700 mac80211: Fix BIP to be used only with group-addressed frames BIP (part of IEEE 802.11w) is only supposed to be used with group-addressed frames. We ended up picking it as a default mechanism for every management whenever we did not have a STA entry for the destination (e.g., for Probe Response to a STA that is not associated). While the extra MMIE in the end of management frames should not break frames completed in most cases, there is no point in doing this. Fix key selection to pick the default management key only if the frame is sent to multicast/broadcast address and the frame is a robust management frame. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit e69e95dbecfb73f76765cdd16dadc6219a9068e3 Author: Jouni Malinen Date: Mon Mar 29 23:29:31 2010 -0700 mac80211: Send deauth/disassoc prior to dropping STA entry When management frame protection (IEEE 802.11w) is used, the deauthentication and disassociation frames must be protected whenever the encryption keys are configured. We were removing the STA entry and with it, the keys, just before actually sending out these frames which meant that the frames went out unprotected. The AP will drop them in such a case. Fix this by reordering the operations a bit so that sta_info_destroy_addr() gets called only after ieee80211_send_deauth_disassoc(). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 17e4ec147f4939ca8c81b41b4261ec7974531381 Author: Jouni Malinen Date: Mon Mar 29 23:28:30 2010 -0700 mac80211: Track Beacon signal strength and implement cqm events Calculate a running average of the signal strength reported for Beacon frames and indicate cqm events if the average value moves below or above the configured threshold value (and filter out repetitive events with by using the configured hysteresis). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 32fbccafed7e935432b601f0453c2b702a385a25 Author: Sujith Date: Tue Mar 30 08:48:27 2010 +0530 ath9k_htc: Fix TKIP encryption Set IEEE80211_HW_RX_INCLUDES_FCS to indicate that the FCS is present in RX frames. Also, remove a redundant assignment of skb length and include the FCS_LEN when checking padding. Fixing this issue makes TKIP work. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 29bffa96e9bef4fb84740a49e93d5bd6ca126bac Author: Felix Fietkau Date: Mon Mar 29 20:14:23 2010 -0700 ath9k: allocate tx and rx status information on stack ath_tx_status and ath_rx_status data are only necessary for a short time, until they have been processed and converted into mac80211 data structures. Because of that, it makes no sense to keep them tied to the DMA descriptor, that only wastes precious memory. This patch allocates the data on stack in the functions that call the conversion functions from ath9k_hw. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 8e6f5aa250d6013ec0d66f9f45f376678d3fc4ab Author: Felix Fietkau Date: Mon Mar 29 20:09:27 2010 -0700 ath9k: split out access to rx status information This patch passes in a pointer to the ath_rx_status data structure for functions that need it, instead of letting them grab it directly from the ath_desc struct. This is useful for making it possible to allocate the intermediate rx status data separately. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit db1a052b73f7c97f9e8b21f3f19a92313ed2acb1 Author: Felix Fietkau Date: Mon Mar 29 20:07:11 2010 -0700 ath9k: split out access to tx status information This patch passes in a pointer to the ath_tx_status data structure for functions that need it, instead of letting them grab it directly from the ath_desc struct. This is useful for making it possible to allocate the intermediate tx status data separately. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit e65054b64ff6b89380a7f546c9eebf862e679646 Author: Zhu Yi Date: Tue Mar 30 09:36:16 2010 +0800 ipw2200: restart adapter only when abort_scan doesn't work When a scan watchdog is fired, try to send abort scan command first before restarting the adapter. This avoids reconnection for some users when scan hang is detected. This fixed bug https://bugzilla.kernel.org/show_bug.cgi?id=15419 Reported-by: Maurizio Avogadro Tested-by: Maurizio Avogadro Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9f01a84e81d10e38daa504348217895fe414a24b Author: Sujith Date: Mon Mar 29 16:07:20 2010 +0530 ath9k_htc: Initialize HW opmode Not setting the opmode properly during initialization results in the firmware sending up a bunch of packets before add_interface() has been called, for the first interface. This patch fixes the issue by setting the initial mode to 'managed'. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7757dfed5809b03aa61c7d7f5ff8092f85df8583 Author: Sujith Date: Mon Mar 29 16:07:17 2010 +0530 ath9k_htc: Handle TX queue overflow Stop/restart TX queues when the internal SKB queue is full. This helps handle TX better under heavy load. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 6335ed0ff8670e6378da41191ab8bda33d1b7ac8 Author: Sujith Date: Mon Mar 29 16:07:15 2010 +0530 ath9k_htc: Simplify RX URB management This patch introduces the usage of URB anchors, thus reducing a large amount of code dealing with URB maintenance within the driver. The RX callback now takes care of freeing the SKB associated with each URB. Signed-off-by: Sujith Signed-off-by: John W. Linville commit d5a4c5e3afb9697c8f627b2563f4b8583ef88498 Author: Sujith Date: Mon Mar 29 16:07:14 2010 +0530 ath9k_htc: Fix watchdog pattern parsing Skip beyond the watchdog pattern properly. This fixes occasional failure of the driver to load. Signed-off-by: Sujith Signed-off-by: John W. Linville commit ef98c3cd9b68ed27eeb94b833f74860fa1a734b7 Author: Sujith Date: Mon Mar 29 16:07:11 2010 +0530 ath9k_htc: Fix bug in aggregation initiation Accessing the sta pointer in TX completion without approprate RCU protection is wrong. Fix this. Also, RCU protection is needed when the station's aggregation state is updated. Handle this properly. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0995d110118b35c0dc5195e3ddddcc0dec263830 Author: Sujith Date: Mon Mar 29 16:07:09 2010 +0530 ath9k_common: Move RX filter code to ath9k_htc The calculation of RX filter is fairly different between ath9k and ath9k_htc, trying to make this common between the two drivers would result in code churn. While at it, remove the handling of PSPOLL filter, it can be added when(if) AP support is added to ath9k_htc. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0af26b278bc1d747370b451595b7586cb7b3455c Author: Stanislaw Gruszka Date: Mon Mar 29 12:18:36 2010 +0200 mac80211: enable QoS explicitly in AP mode Enable QoS explicitly, when user space AP program will setup a QoS queues. Currently this is not needed as iwlwifi not work in AP mode and no other driver implement enable/disable QoS. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit e61146e36b40fd9d346118c40285913236c329f3 Author: Stanislaw Gruszka Date: Mon Mar 29 12:18:35 2010 +0200 iwlwifi: manage QoS by mac stack We activate/deactivate QoS and setup default queue parameters in iwlwifi driver. Mac stack do the same, so we do not need repeat that work here. Stack also will tell when disable QoS, this will fix driver when working with older APs, that do not have QoS implemented. Patch make "force = true" in iwl_active_qos() assuming we always want to do with QoS what mac stack wish. Patch also remove unused qos_cap bits, do not initialize qos_active = 0, as we have it initialized to zero by kzalloc. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit e1b3ec1a2a336c328c336cfa5485a5f0484cc90d Author: Stanislaw Gruszka Date: Mon Mar 29 12:18:34 2010 +0200 mac80211: explicitly disable/enable QoS Add interface to disable/enable QoS (aka WMM or WME). Currently drivers enable it explicitly when ->conf_tx method is called, and newer disable. Disabling is needed for some APs, which do not support QoS, such we should send QoS frames to them. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit ecdf94b81237d272b1514b76f27a5d22782bcaa6 Author: Zhu Yi Date: Mon Mar 29 16:42:26 2010 +0800 iwlwifi: remove skb_linearize for rx frames Remove skb_linearize() in the iwlwifi drivers since mac80211 supports paged rx SKBs now. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e3cf8b3f7b9eefbe1d39b160726d6e5c2cbb4c5d Author: Zhu Yi Date: Mon Mar 29 17:35:07 2010 +0800 mac80211: support paged rx SKBs Mac80211 drivers can now pass paged SKBs to mac80211 via ieee80211_rx{_irqsafe}. The implementation currently use skb_linearize() in a few places i.e. management frame handling, software decryption, defragmentation and A-MSDU process. We will optimize them one by one later. Signed-off-by: Zhu Yi Cc: Kalle Valo Cc: Johannes Berg Signed-off-by: John W. Linville commit e58b1253f1e850b4469964d7b92cf230196223c0 Author: Rafał Miłecki Date: Mon Mar 29 00:53:16 2010 +0200 b43: N-PHY: fix value written on 2055 radio setup Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit f19ebe7d772a3b48743fa798ad979a4ee3cb64e2 Author: Rafał Miłecki Date: Mon Mar 29 00:53:15 2010 +0200 b43: N-PHY: prepare for rev3+ channel tables Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit ffd2d9bdac1a0a5d3184e085ea1bd3060b4166fe Author: Rafał Miłecki Date: Mon Mar 29 00:53:14 2010 +0200 b43: N-PHY: find table entry earlier for setting chanspec We do not want to partially change chanspec just to find out there is not entry in table for given channel. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit b15b3039919c7357c2851ec66843ff92f8ff86aa Author: Rafał Miłecki Date: Mon Mar 29 00:53:13 2010 +0200 b43: N-PHY: use b43_phy_n_sfo_cfg rather than duplicating same fields Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit d817f4e18cf54ae7d662cf2f33e51685e81ad254 Author: Rafał Miłecki Date: Mon Mar 29 00:53:12 2010 +0200 b43: N-PHY: some dummy PHY rev 3 calls Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit f01a0229b0343d56b2e084f1472ff3edc1a2090b Author: Xose Vazquez Perez Date: Sun Mar 28 20:02:41 2010 +0200 wireless: rt2x00: rt2800usb: new ids Taken from latest ralink linux driver(RT3070_LinuxSTA_V2.3.0.1_20100208) All of them are RT3070 devices. Signed-off-by: Xose Vazquez Perez Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 6424bf700c1851fc7e86b83959a8578a401d80c1 Author: Xose Vazquez Perez Date: Sun Mar 28 17:48:05 2010 +0200 wireless: rt2x00: rt2800pci: new id Taken from latest ralink linux driver, it's a RT3593 PCI/PCIe. Signed-off-by: Xose Vazquez Perez Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 27427013504d98f86f9baebfb8a44db3ce61f65e Author: Xose Vazquez Perez Date: Sun Mar 28 16:57:32 2010 +0200 wireless: rt2x00: rt2800usb: delete id It was removed in the windows inf file by ralink. And it isn't on ralink linux drivers. Signed-off-by: Xose Vazquez Perez Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit fc3f14873d38a5c8a280ff4b8c8abde0244fb79b Author: Xose Vazquez Perez Date: Sun Mar 28 15:52:43 2010 +0200 wireless: rt2x00: rt2800usb: identify ids-chips Taken from ralink linux drivers: RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x0B05,0x1784)}, /* Asus 3072 */ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x13D3,0x3305)}, /* AzureWave 3070*/ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x07D1,0x3C16)}, /* D-Link 3070 */ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x203D,0x14A9)}, /* Encore 3070*/ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x1740,0x9707)}, /* EnGenius 3070 */ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x1740,0x9708)}, /* EnGenius 3071 */ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x1740,0x9709)}, /* EnGenius 3072 */ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x04BB,0x0947)}, /* I-O DATA 3070 */ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x04BB,0x0948)}, /* I-O DATA 3072 */ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x0DB0,0x3822)}, /* MSI 3070 */ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x0DB0,0x3821)}, /* Ralink 3070 */ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x0DB0,0x3870)}, /* MSI 3070*/ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x0DB0,0x3871)}, /* MSI 3070 */ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x0DB0,0x821A)}, /* Ralink 3070 */ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x0DB0,0x822A)}, /* MSI 3070 */ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x0DB0,0x870A)}, /* MSI 3070*/ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x0DB0,0x871A)}, /* MSI 3070 */ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x0DB0,0x899A)}, /* MSI 3070*/ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x20B8,0x8888)}, /* PARA INDUSTRIAL 3070 */ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x0DF6,0x0048)}, /* Sitecom 3070 */ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x0DF6,0x0047)}, /* Sitecom 3071 */ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x083A,0xA701)}, /* SMC 3070 */ RT3070_LinuxSTA_V2.3.0.1_20100208/common/rtusb_dev_id.c: {USB_DEVICE(0x083A,0xA702)}, /* SMC 3072 */ Signed-off-by: Xose Vazquez Perez Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit bc0f03ea579d78f845a44a0c611806da64057b03 Author: Saravanan Dhanabal Date: Fri Mar 26 12:53:33 2010 +0200 wl1271: Fix msleep() delay while waiting for completion After last transmission, the device goes to sleep earlier than the configured dynamic power save timeout. If timeout is set to 400ms, device enters into sleep mode at around 330ms since from last TX. This patch removes the msleep(1), which causes the delay after ELP wakeup. Replaced with udelay(10), the variation is around 7-10ms. Signed-off-by: Saravanan Dhanabal Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit c18995540cc4d2c84d130581b8b6720b22ca16b5 Author: Juuso Oikarinen Date: Fri Mar 26 12:53:32 2010 +0200 wl1271: Enable hardware keep alive messages This patch will enable the hardware keep-alive mode, configure the required template, configure keep-alive parameters, and re-order JOIN's and ACX_AID in such a way that the keep-alive is activated. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit bfb24c9e16921f0e57fcec5180ffa20929832545 Author: Juuso Oikarinen Date: Fri Mar 26 12:53:31 2010 +0200 wl1271: Add keep-alive frame template support Add support for keep-alive templates, which are indexed. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit a9af092b524614dd3fc7b52bde7c87f8b82cd2a6 Author: Juuso Oikarinen Date: Fri Mar 26 12:53:30 2010 +0200 wl1271: Configure HW connection monitor This patch configures the mac80211 to not perform connection monitoring (periodic probe-requests) and instead rely on the hardware to do it. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit d60772f646f70ba0a72c9a300935df8fad256ff9 Author: Juuso Oikarinen Date: Fri Mar 26 12:53:29 2010 +0200 wl1271: Disconnect if PSM entry fails If PSM entry fails despite of retries, assume that the AP has been lost, and indicate connection loss to the mac80211. This is much safer than remaining in active mode. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit c2b2d99bb0b5a9445ff8b845f6acd5046ef5815e Author: Juuso Oikarinen Date: Fri Mar 26 12:53:28 2010 +0200 wl1271: Configure probe-request template when associated Configure a probe-request template to the wl1271 when associated - the wl1271 will use this to attempt to recover a connection when beacon loss is detected. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit cbf7f3058ea17d9413a6889c3a229e8eac7a7c78 Author: Juuso Oikarinen Date: Fri Mar 26 12:53:27 2010 +0200 wl1271: Fix memory leak in firmware crash scenario The driver tx-queue flush operation leaks broadcast-frames. This leak occurs if the driver is shut down while there are frames in TX buffers (such as in a firmware crash scenario.) Fix the leak. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 64e29e447ec01d2130b4c68f3459cfaa94fa138b Author: Teemu Paasikivi Date: Fri Mar 26 12:53:26 2010 +0200 wl1271: Removed checking of PSM from handling BSS_LOST_EVENT Change the driver to call ieee80211_beacon_loss function always when BSS_LOST_EVENT is received. Reason for the change is that entering PSM might fail before driver receives BSS_LOST_EVENT. In such case the driver would disable PSM and the stack would not be notified about beacon loss and connection loss detection would be delayed by tens of seconds. Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 60e84c2ebb7b04361cf1ba0d325cc93366bd04a6 Author: Juuso Oikarinen Date: Fri Mar 26 12:53:25 2010 +0200 wl1271: Update beacon interval properly for ad-hoc Configure the hardware beacon interval to whatever requested by the mac80211. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 5da11dcde3d2a91688e02f032062fa26877eacb0 Author: Juuso Oikarinen Date: Fri Mar 26 12:53:24 2010 +0200 wl1271: Fix ad-hoc mode handling Fix the driver to better reflect the ad-hoc related configuration from the mac80211. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 6ccbb92ead9379d7de2cc25cd950d15a8d22e0c9 Author: Juuso Oikarinen Date: Fri Mar 26 12:53:23 2010 +0200 wl1271: Disable connection monitoring while not associated The wl1271 does not support disabling the connection monitor feature. Perform the next best thing by increasing the beacon-loss threshold and BSS_LOSE event timeout to the maximum values. This is needed, because we really don't want any random probe-requests during scanning or especially while in ad-hoc mode and not beaconing. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit e7942235f2496587cb4af86168e54d588ffcbd4f Author: Luciano Coelho Date: Fri Mar 26 12:53:22 2010 +0200 wl1271: remove deprecated usage of RX status noise The noise element in the ieee80211_rx_status struct has been deprecated in commit "mac80211: deprecate RX status noise". Remove the usage of this element from wl1271_rx.c to avoid warnings. Signed-off-by: Luciano Coelho Reviewed-by: Teemu Paasikivi Signed-off-by: John W. Linville commit 2f826f55404ca43efced94d548356182820e764f Author: Luciano Coelho Date: Fri Mar 26 12:53:21 2010 +0200 wl1271: wait for disconnect command complete event Wait for the DISCONNECT_EVENT_COMPLETE_ID event after sending a disconnect command. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 99d84c1de8fdf5f9b09f07fdbc628857a040bf8b Author: Luciano Coelho Date: Fri Mar 26 12:53:20 2010 +0200 wl1271: wait for join command complete event Poll for join command completion instead of waiting blindly for 10 msecs. There is a timeout of 100 msecs, if the command doesn't complete by then, we return an error code. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 9560134ff929a037f0c967ae47089586f4b34390 Author: Juuso Oikarinen Date: Fri Mar 26 12:53:19 2010 +0200 wl1271: Remove device MAC-address randomization This patch removes the MAC address randomization from the driver. This removes a nasty Nokia-OUI dependency from the driver. With this patch, unless an address is explicitly configured to the driver by the user, only a zero address will be configured, and the driver will be unable to start. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 259da430b198fc7e6f21e33be3a2d6dd27200953 Author: Juuso Oikarinen Date: Fri Mar 26 12:53:18 2010 +0200 wl1271: Update busyword checking mechanism After the busy-words, if the firmware did not complete by the end of the first (fixed) busy-word, a flip of the CS line is required to enable clocking out the actual read data. This patch changes the mechanism such that the CS line is flipped after each busyword. Also, the busy-word mechanism is finally enabled, and the number of fixed busywords reduced to the minimum. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 1b00f2b560028a68cdbc57a0352163afd79822dd Author: Juuso Oikarinen Date: Fri Mar 26 12:53:17 2010 +0200 wl1271: Fix memory leak in cmd_data_path Fix a trivial memory leak in cmd_data_path. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 99e50314d588673353bf94978938bd1c2437037d Author: Teemu Paasikivi Date: Fri Mar 26 12:53:16 2010 +0200 wl1271: Warnings caused by wrong format specifiers fixed There were wrong format specifiers in wl1271_sdio.c in some debug outputs. This has been causing warnings on some platforms. Signed-off-by: Teemu Paasikivi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 9d4e5bb3dec8c4b9245035bf29628071801041a8 Author: Juuso Oikarinen Date: Fri Mar 26 12:53:15 2010 +0200 wl1271: Configure clock-request drive mode to open-drain This patch configures the wl1271 chipset clock-request line to be driver in open-drain mode instead of push-pull. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 9cea461fb0a37dae9ef0a83714c5fcdc4b2074c8 Author: Juuso Oikarinen Date: Fri Mar 26 12:53:14 2010 +0200 wl1271: Fix memory leak in scan command handling This patch fixes a memory leak in the scan command handling code. Signed-off-by: Juuso Oikarinen Reviewed-by: Kalle Valo Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit f83cce3551a6238f6c86495ed949b31303c21a6d Author: Juuso Oikarinen Date: Fri Mar 26 12:53:13 2010 +0200 wl1271: Fix memory leaks in SPI initialization This patch fixes two memory leaks in the SPI initialization code. Signed-off-by: Juuso Oikarinen Reviewed-by: Kalle Valo Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 31627dc59b4a87c4198b4245a7de1b8ccf4424fa Author: Juuso Oikarinen Date: Fri Mar 26 12:53:12 2010 +0200 wl1271: Add TX rate reporting Add reporting of the used TX rate to mac80211 in the tx_status. Signed-off-by: Juuso Oikarinen Reviewed-by: Kalle Valo Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit f876bb9aafc71d8ea395eec99666faaffec5df49 Author: Juuso Oikarinen Date: Fri Mar 26 12:53:11 2010 +0200 wl1271: Clean up RX rate reporting Clean up the code to convert a firmware rate class index into an index for the rate configuration table. Signed-off-by: Juuso Oikarinen Reviewed-by: Kalle Valo Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 7fdd50d07fed198b2c6ccdca96ab5537014597d8 Author: Luciano Coelho Date: Fri Mar 26 12:53:10 2010 +0200 wl1271: fix wl1271_spi driver name When forward porting some patches to upstream, there was a mistake and the wl1271_spi driver name remained, erroneously, as "wl1271". This patch fixes that. Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit a8c944f8a00dcc4ac6900efcddab1a0cf300c791 Author: Bruno Randolf Date: Thu Mar 25 14:49:47 2010 +0900 ath5k: add capability flag for phyerror counters Chipsets since revision AR5213A (0x59) have hardware counters for PHY errors which we can read directly from the registers. Older hardware has to use the RX descriptor status to get a count of PHY errors. This will be used in several places in the ANI implementation, so a flag is useful. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit da35111ad970081bdf6e848d1861c7d16e71079b Author: Bruno Randolf Date: Thu Mar 25 14:49:42 2010 +0900 ath5k: update phy errors codes Update PHY error codes from the HAL, and keep them in statistics for debugging via the 'frameerrors' file. This will also be used by ANI. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 495391d715a310a7cbf622850e372d40ac86ef6e Author: Bruno Randolf Date: Thu Mar 25 14:49:36 2010 +0900 ath5k: simplify MIB counters Let's keep MIB counter statistics in our own statistics structure and only convert it to ieee80211_low_level_stats when needed by mac80211. Also we don't need to read profile count registers in the MIB interrupt (they don't trigger MIB interrupts). Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 9d332c82b4cf2e4538450e4af40f073cc5e599ec Author: Bruno Randolf Date: Thu Mar 25 14:49:31 2010 +0900 ath5k: initialize default noise floor Initialize noise floor variable with a default of -95. This was used uninitialized in the signal strength (RSSI -> dBm) conversion until the first noise floor calibration was completed. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit b4ea449df90684035985a77763fd1d2ff0eb9dad Author: Bruno Randolf Date: Thu Mar 25 14:49:25 2010 +0900 ath5k: keep beacon RSSI average Keep an exponentially weighted moving average of the beacon RSSI in our BSS. It will be used by the ANI implementation. The averaging algorithm is copied from rt2x00, Thanks :) Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 6a8a3f6b2ac02fb8542f2b36b0ecd9c48f7d9a7e Author: Bruno Randolf Date: Thu Mar 25 14:49:19 2010 +0900 ath5k: move ath5k_hw_calibration_poll to base.c It's not a phy related funtion; It has more to do with the interrupt handler and tasklet scheduling, so it belongs to base.c. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit a9167f96428b832bf94c89908e000e16c4eb7d5b Author: Bruno Randolf Date: Thu Mar 25 14:49:14 2010 +0900 ath5k: optimize ath5k_hw_calibration_poll Optimize ath5k_hw_calibration_poll() since it is called on every singe interrupt. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit e65e1d7713da89d98f01c3f4267b2c9ecb03c16f Author: Bruno Randolf Date: Thu Mar 25 14:49:09 2010 +0900 ath5k: remove the use of SWI interrupt We don't need to generate a software interrupt (SWI) just to schedule a tasklet - we can just schedule the tasklet directly. Rename constants, names, etc to reflect the fact that we don't use SWI any more. Also move the flag handling into the tasklet and prepare it to behave correctly when there are multiple flags present. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 1063b176c072b936c43d0e6270168b19881ecb72 Author: Bruno Randolf Date: Thu Mar 25 14:49:03 2010 +0900 ath5k: remove static calibration interval variable Remove static variable ath5k_calinterval which was used as a constant. Use a #define instead. Also we don't need ah_cal_intval. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 0e354fd01e4513cea25d66e9c6d9e76f7228accc Author: Frans Pop Date: Wed Mar 24 19:46:35 2010 +0100 wireless/libertas: remove trailing space in debugfs header Signed-off-by: Frans Pop Cc: libertas-dev@lists.infradead.org Signed-off-by: John W. Linville commit cb01b09c6914ab04dc836941dc92a1dd42714e19 Author: Frans Pop Date: Wed Mar 24 19:46:34 2010 +0100 wireless/raylink: remove trailing space in messages Signed-off-by: Frans Pop Cc: Corey Thomas Signed-off-by: John W. Linville commit 4a89852c3533c0190cbe6b04b8b5d7bf4f9beea9 Author: Frans Pop Date: Wed Mar 24 19:46:33 2010 +0100 wireless/prism54: remove trailing space in messages Signed-off-by: Frans Pop Cc: Luis R. Rodriguez Signed-off-by: John W. Linville commit 55f98938b5cea8949077c79813c4f86ef0018858 Author: Frans Pop Date: Wed Mar 24 19:46:29 2010 +0100 wireless: remove trailing space in messages Also correct indentation in net/wireless/reg.c. Signed-off-by: Frans Pop Signed-off-by: John W. Linville commit b05b7d9563f11bf3d7b7f3f53cd74cbfab107355 Author: Eric Dumazet Date: Tue Mar 30 05:02:15 2010 +0000 net: remove redundant code eth_type_trans(skb, netdev) does the "skb->dev = netdev;" initialization, we can remove it from various network drivers. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 7905e357ebe67a26d9dc8caa1a0b8346431b5f0d Merge: 083ba27 76232ebf Author: David S. Miller Date: Mon Mar 29 13:50:10 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit d28667f871991e0eea983b398421b8db2c8bdf8c Author: Wey-Yi Guy Date: Fri Mar 19 11:54:49 2010 -0700 iwlwifi: avoid device type checking in generic code Avoid checking for specified device type to perform certain function, switch to .cfg approach as more generic and better implementation method. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 6e8cc38d5b05bb812f89a35bd9bf52405e67d0df Author: Wey-Yi Guy Date: Fri Mar 19 10:36:09 2010 -0700 iwlwifi: change spin_lock to spin_lock_irqsave Use spin_lock_irqsave() in interrupt handler to disable interrupts locally and provide the spinlock on SMP. This covers both interrupt and SMP concurrency. With this changes, also fix the sparse warning issues. Signed-off-by: Wey-Yi Guy Acked-by: Zhu Yi Signed-off-by: Reinette Chatre commit 6c69d121676761b2a85282df796af9c3f8c99b64 Author: Wey-Yi Guy Date: Thu Mar 18 15:37:49 2010 -0700 iwlwifi: remove "\n" from module parameter description Remove the "\n" from following module parameter description: - enable wifi/bluetooth co-exist - led mode: 0=blinking, 1=On(RF On)/Off(RF Off), (default 0) to be consistence with the rest of iwlagn/iwlcore module parameters format. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 2f3f7f9c23287c742af1d435b6fe8b9c9c7b7bd9 Author: Wey-Yi Guy Date: Thu Mar 18 10:56:32 2010 -0700 iwlwifi: Generic approach to measure temperature In stead of checking for 4965 and do KELVIN_TO_CELSIUS conversation, add .cfg parameter for more generic approach. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit ed1b6e99b5e64d2b9cdf764754a072c7fdc1c3c4 Author: Johannes Berg Date: Thu Mar 18 09:58:27 2010 -0700 iwlwifi: remove noise reporting We go to great lengths to calculate this value that is never used by mac80211. Additionally, it is now deprecated by mac80211 and is causing driver compilation to give warnings. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 3d2b162e7e0a3e5093bccdf455f7c83f65c82db8 Author: Wey-Yi Guy Date: Wed Mar 17 18:57:13 2010 -0700 iwlwifi: add missing email address information Add missing contact email address to iwl-5000.c Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 510cb791ab32a6296e45ebc425a011551bed7bd1 Author: Wey-Yi Guy Date: Tue Mar 16 12:37:28 2010 -0700 iwlwifi: remove non-exist extern functions and structures After re-structure the agn files layout and move all the agn shared functions out from iwl-5000.c, all those functions and data structures do not need to be declare "extern" from iwl-5000.c in iwl-dev.h. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 0b5af201b25334f7b9c991b2800693dd4cb4b5f7 Author: Jay Sternberg Date: Wed Mar 17 16:16:12 2010 -0700 iwlwifi: enable '6000 Series 2x2 AGN Gen2' adaptors Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre commit 8d801080dd8d28bf7d85cacba131f18b7653ee49 Author: Wey-Yi Guy Date: Wed Mar 17 13:34:36 2010 -0700 iwlwifi: more clean up to move agn only rx functions from iwlcore to iwlagn Move more functions only used by agn driver from iwlcore to iwlagn. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 54b81550dd674466fe7d01629d2aab015c545a1e Author: Wey-Yi Guy Date: Wed Mar 17 13:34:35 2010 -0700 iwlwifi: move agn only rx functions from iwlcore to iwlagn Identify the rx functions only used by agn driver and move those from iwlcore to iwlagn. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 74bcdb33e99f49ef5202dd2f8109945b4570edc2 Author: Wey-Yi Guy Date: Wed Mar 17 13:34:34 2010 -0700 iwlwifi: move agn only tx functions from iwlcore to iwlagn Identify the tx functions only used by agn driver and move those from iwlcore to iwlagn. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 348ee7cd57831c47373dd157f138c558daaf129d Author: Wey-Yi Guy Date: Tue Mar 16 12:37:27 2010 -0700 iwlwifi: move agn module parameter structure to common place agn module parameter data structure shared by all agn devices, move it iwl-agn-lib.c file. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 00e70590dc2707043b82c0cf9a6929b81e640fee Author: Wey-Yi Guy Date: Tue Mar 16 12:37:26 2010 -0700 iwlwifi: each device has its own eeprom tx power version Each device has it own eeprom, so the tx power version could be different, define TX_POWER_VERSION per device. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit e04ed0a5bb62520345c73587d7ebf51e426642ee Author: Wey-Yi Guy Date: Tue Mar 16 17:47:58 2010 -0700 iwlwifi: move agn common code to iwlagn library file Multiple iwlagn based devices share the same common functions. Move those functions from iwl-5000.c to iwl-agn-lib.c file. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 741a626627e42812afd957f875c34c89be8a103e Author: Wey-Yi Guy Date: Tue Mar 16 12:37:24 2010 -0700 iwlwifi: move ucode alive related code to separate file uCode alive for iwlagn based devices share the same functions. Move those functions from iwl-5000.c to iwl-agn-ucode.c. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 19e6cda094002e9756a3d181cbb4c31ef2a9b6bb Author: Wey-Yi Guy Date: Tue Mar 16 17:41:23 2010 -0700 iwlwifi: move hw related defines to separate file Multiple iwlagn based devices shared the same hw definitions. Move device hardware related defines from iwl-5000-hw.h to iwl-agn-hw.h file. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit b305a08058f794c8a99c5ee87827b92d6b8c24ae Author: Wey-Yi Guy Date: Tue Mar 16 17:41:22 2010 -0700 iwlwifi: move tx queue related code to separate file Multiple iwlagn based devices shared the same tansmit queue functions. Move tx queue related code from iwl-5000.c to iwl-agn-tx.c file. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 7dc77dba6a8bde512996824643da5669d73cbcdc Author: Wey-Yi Guy Date: Tue Mar 16 10:23:31 2010 -0700 iwlwifi: move hcmd related code to separate file Multiple iwlagn based devices shared the same hcmd related functions. Move from iwl-5000.c to iwl-agn-hcmd.c file. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 81b8176eb8edac7d2135db2af03ab5fe0cb3b6f7 Author: Wey-Yi Guy Date: Tue Mar 16 10:23:30 2010 -0700 iwlwifi: code cleanup for "load ucode" function Loading uCode functions are shared across multiple agn devices. Move those functions to iwl-agn-ucode.c file with other uCode related functions. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 792bc3cbe06cddabd865acc3122ee0415f854a11 Author: Wey-Yi Guy Date: Tue Mar 16 10:23:29 2010 -0700 iwlwifi: move ucode loading related code to separated file Multiple iwlagn based devices shared the same ucode loading procedure. Move loading related code from iwl-5000.c to iwl-agn-ucode.c file. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 872c8ddcbec06995c1c7caa3e41c921290a8b6df Author: Wey-Yi Guy Date: Tue Mar 16 10:46:31 2010 -0700 iwlwifi: iwl_good_ack_health() only apply to AGN device iwl_good_ack_health() check for expected and actual ack count which only apply to aggregation mode. Move the function to iwlagn module. Reported-by: Chantry Xavier Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit e184f67d39f681b1e8c9a43ff7001c3405c2bd7c Author: Reinette Chatre Date: Thu Mar 25 11:14:52 2010 -0700 Revert "iwlwifi: fix build error for CONFIG_IWLAGN=n" This reverts commit 76232ebf898c4d5e657f2b663fbf7108bca80ded. iwl_good_ack_health only applies to aggregation and thus only to iwlagn. We can thus move the function to iwlagn instead of modifying compile flags. This is done in following patch. Signed-off-by: Reinette Chatre commit 76232ebf898c4d5e657f2b663fbf7108bca80ded Author: John W. Linville Date: Wed Mar 24 17:21:08 2010 -0400 iwlwifi: fix build error for CONFIG_IWLAGN=n drivers/net/wireless/iwlwifi/iwl-rx.c: In function 'iwl_good_ack_health': drivers/net/wireless/iwlwifi/iwl-rx.c:647: error: 'struct iwl_priv' has no member named '_agn' Reported-by: Randy Dunlap Signed-off-by: John W. Linville commit 14b44974d5a3c1ca59f6809b7313d7229eb55fd8 Author: Dan Carpenter Date: Wed Mar 24 14:56:41 2010 +0300 mac80211: remove unneed variable from ieee80211_tx_pending() We don't need "sdata" any more after: d84f323477260e773d5317ad7cbe50f76115cb47 mac80211: remove dev_hold/put calls Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 4ac5541bdaea4d8e93710c58775cfa48ac82e09b Author: Juuso Oikarinen Date: Wed Mar 24 10:11:14 2010 +0200 cfg80211: Improve connection quality maintenance docs in nl80211.h In nl80211.h, be a little more elaborate in the docs for the definitions NL80211_ATTR_CQM_RSSI_THOLD and NL80211_ATTR_CQM_RSSI_HYST. Reported-by: Luis R. Rodriguez Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit a97c13c34509be460dea23c86f31c02daa2428b5 Author: Juuso Oikarinen Date: Tue Mar 23 09:02:34 2010 +0200 mac80211: Add support for connection quality monitoring Add support for the set_cqm_config op. This op function configures the requested connection quality monitor rssi threshold and rssi hysteresis values to the hardware if the hardware supports IEEE80211_HW_SUPPORTS_CQM. For unsupported hardware, currently -EOPNOTSUPP is returned, so the mac80211 is currently not doing connection quality monitoring on the host. This could be added later, if needed. Signed-off-by: Juuso Oikarinen Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit d6dc1a386358979e12366d1f35eeb68fc181e101 Author: Juuso Oikarinen Date: Tue Mar 23 09:02:33 2010 +0200 cfg80211: Add connection quality monitoring support to nl80211 Add support for basic configuration of a connection quality monitoring to the nl80211 interface, and basic support for notifying about triggered monitoring events. Via this interface a user-space connection manager may configure and receive pre-warning events of deteriorating WLAN connection quality, and start preparing for roaming in advance, before the connection is already lost. An example usage of such a trigger is starting scanning for nearby AP's in an attempt to find one with better connection quality, and associate to it before the connection characteristics of the existing connection become too bad or the association is even lost, leading in a prolonged delay in connectivity. The interface currently supports only RSSI, but it could be later extended to include other parameters, such as signal-to-noise ratio, if need for that arises. Signed-off-by: Juuso Oikarinen Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 921ca03c8f8e982f27fc406bc301caf2196b99f7 Author: Amitkumar Karwar Date: Thu Feb 25 17:16:36 2010 -0800 libertas: add auto auth mode feature Auto auth mode is enabled by default. If user doesn't specify the auth mode, while association driver will first try with open mode and then with shared key mode. If user specifies an auth mode, auto auth is disabled and driver will not try association with another auth mode. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit e1572c5eeca8ef87a250322364584458b2dadb35 Author: Sujith Date: Wed Mar 24 13:42:13 2010 +0530 ath9k_htc: Fix symbol collision with ath9k Signed-off-by: Sujith Signed-off-by: John W. Linville commit c5a079f46aabff026b2acaba0a2579a74c3c3731 Author: Daniel Ngu Date: Tue Mar 23 00:52:44 2010 +1300 drivers/net/wireless/b43/main.c:4351: Fixed coding style WARNING: braces {} are not necessary for any arm of this statement Signed-off-by: Daniel Ngu Signed-off-by: John W. Linville commit 1e4dcd012423b6a28f968a55886d2b27896a1586 Author: Juuso Oikarinen Date: Fri Mar 19 07:14:53 2010 +0200 mac80211: Add support for connection monitor in hardware This patch is based on a RFC patch by Kalle Valo. The wl1271 has a feature which handles the connection monitor logic in hardware, basically sending periodically nullfunc frames and reporting to the host if AP is lost, after attempting to recover by sending probe-requests to the AP. Add support to mac80211 by adding a new flag IEEE80211_HW_CONNECTION_MONITOR which prevents conn_mon_timer from triggering during idle periods, and prevents sending probe-requests to the AP if beacon-loss is indicated by the hardware. Cc: Kalle Valo Signed-off-by: Juuso Oikarinen Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 43ead78ac48b75aaf47de96fcf10cbf5962f32a6 Author: Joe Perches Date: Thu Mar 18 18:29:40 2010 -0700 drivers/net/wireless/ray_cs.c: Use iw_handler function prototypes Change local functions that are cast to iw_handler to the more standard use with "union iwreq_data *wrqu" so the iw_handler array no longer needs the casts. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit adc009e2e76b222006beb7f9df6d0aee051509d2 Author: Joe Perches Date: Thu Mar 18 18:29:39 2010 -0700 orinoco/wext.c: Remove local #define STD_IW_HANDLER Use IW_HANDLER from wireless.h instead Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 56b632e8cc7a13cece861d890deb2843116f9372 Author: Joe Perches Date: Thu Mar 18 18:29:38 2010 -0700 drivers/net: Remove local #define IW_IOCTL, use IW_HANDLER Use #define IW_HANDLER from wireless.h instead Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 270020e85ec88a832d663fff4489523169641c2b Author: Joe Perches Date: Thu Mar 18 18:29:37 2010 -0700 drivers/net/wireless: Use IW_HANDLER macro Convert direct uses of [ (foo - SIOCIWFIRST) , fn) Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 76326f1d4c98fe01daf363e3d07f84bafed1feec Author: Joe Perches Date: Thu Mar 18 18:29:36 2010 -0700 net/wireless/wext-core.c: Use IW_EVENT_IDX macro There's a wireless.h macro for this, might as well use it. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 44608f801283f0f69d8a04d9976837748e410084 Author: Joe Perches Date: Thu Mar 18 18:29:35 2010 -0700 net/wireless/wext_core.c: Use IW_IOCTL_IDX macro There's a wireless.h macro for this, might as well use it. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 3b56dd6a090e905eece023f690298013da4b6b67 Author: Teemu Paasikivi Date: Thu Mar 18 12:26:46 2010 +0200 wl1271: Changed platform_device to be dynamically allocated Changed platform_device to be allocated dynamically from the wl1271_alloc_hw function. Also cleaned up error handling in the wl1271_alloc_hw function and module probe functions. Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 2ea9fb3d79aac371e5bb0c4b0f5be7195e8fcd33 Author: Juuso Oikarinen Date: Thu Mar 18 12:26:45 2010 +0200 wl1271: Remove circular interlocking related to the inetaddr notifier chain Removing the wl1271 from the inet addr notifier chain sometimes causes the registered handler to be called - causing locking problems if the removing function is called from within the mutex. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit a0cb7be4f4fa765dcfa82675811cd7e7713b5610 Author: Juuso Oikarinen Date: Thu Mar 18 12:26:44 2010 +0200 wl1271: Don't generate null func template for ad-hoc The null func template is not needed for ad-hoc, and it's generation is not supported for ad-hoc (mac80211 will WARN about it.) Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 14b228a0d4234e4a2d4e683052da78760e8abf0f Author: Juuso Oikarinen Date: Thu Mar 18 12:26:43 2010 +0200 wl1271: Update filters properly This patch adds support for the filters configured by the mac80211 stack. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 801a673ed1b36fc0e7dd92d8bb0090a4dc26a7d0 Author: Teemu Paasikivi Date: Thu Mar 18 12:26:42 2010 +0200 wl1271: Removed duplicate code from module remove function. Removed duplicate code from wl1271_sdio module remove function. For freeing stuff in the remove function wl1271_free_hw function is now used. Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit a3b8ea7554862e80a14b83233b37ddd2506d1d70 Author: Teemu Paasikivi Date: Thu Mar 18 12:26:41 2010 +0200 wl1271: Added DEBUG_SDIO flag Added separate flag for SDIO debugging. Previously it has used DEBUG_SPI flag. This patch also includes couple indentation fixes. Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit c76a0d6c9357d3e6ac32793b89a0a303966e1c4c Author: Juuso Oikarinen Date: Thu Mar 18 12:26:40 2010 +0200 wl1271: Remove deprecated interface config function It's no longer needed. Signed-off-by: Juuso Oikarinen Reviewed-by: Kalle Valo Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 1b72aecd950c4c3cec2d66dbe5436c9e25a487b7 Author: Juuso Oikarinen Date: Thu Mar 18 12:26:39 2010 +0200 wl1271: Fix MAC address handling This patch fixes MAC address handling. To achieve this, firmware booting had to be delayed from the previous op_start to op_add_interface, which is the point when the driver gets to know the configured MAC address. As the wl1271 only supports one virtual interface, this even seems quite logical. Signed-off-by: Juuso Oikarinen Reviewed-by: Kalle Valo Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 4695dc917d9ec7a38cb4f91fceb2b78aaec1f945 Author: Kalle Valo Date: Thu Mar 18 12:26:38 2010 +0200 wl1271: enable U-APSD wl1271 supports U-APSD similarly as wl1251, so let's enable it. Signed-off-by: Kalle Valo Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 522ac25048676b2141d0560841654323339c0cbb Author: Kalle Valo Date: Thu Mar 18 12:26:37 2010 +0200 wl1271: fix ps scheme in wl1271_op_conf_tx() Commit "wl1271: implement WMM" accidentally used CONF_PS_SCHEME_LEGACY_PSPOLL, but instead CONF_PS_SCHEME_LEGACY should be used as earlier. Signed-off-by: Kalle Valo Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 023e082609ba3225dbd5c33933a90156d2201d7f Author: Kalle Valo Date: Thu Mar 18 12:26:36 2010 +0200 wl1271: create qos nullfunc template Needed for U-APSD. Signed-off-by: Kalle Valo Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 818e3063a9546fcd826155dd47582a6e2f4d1c37 Author: Kalle Valo Date: Thu Mar 18 12:26:35 2010 +0200 wl1271: get probe request template from mac80211 If we get probe request from mac80211, we can remove two functions. Signed-off-by: Kalle Valo Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 899e6e65c39990a76c17940625dbe6001f618734 Author: Kalle Valo Date: Thu Mar 18 12:26:34 2010 +0200 wl1271: get pspoll and nullfunc templates from mac80211 mac80211 now can create pspoll and nullfunc templates, better to use those. Signed-off-by: Kalle Valo Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 12bd89499f22ec01bbff21fd04a347ee82726bf6 Author: Kalle Valo Date: Thu Mar 18 12:26:33 2010 +0200 wl1271: enable WMM Everything is ready now and we can enable WMM in wl1271. Signed-off-by: Kalle Valo Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 7fc3a8647d2eaa8bc2f7ac7e9baff55199da7be6 Author: Juuso Oikarinen Date: Thu Mar 18 12:26:32 2010 +0200 wl1271: Add sysfs file to control BT co-ex state Add a sysfs file to control the state of the BT co-ex (enable or disable it.) By default, the BT co-ex is enabled. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit a1dd8187d8d8f565976c9e55374dee520cdc2fa3 Author: Juuso Oikarinen Date: Thu Mar 18 12:26:31 2010 +0200 wl1271: Move platform device registration from _spi to _main In order to get the platform device for both SPI and SDIO, move the platform device registration to wl1271_main.c from wl1271_spi.c. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 1b00f546fc4271d94c1bccb1955ce64d9ace1000 Author: Juuso Oikarinen Date: Thu Mar 18 12:26:30 2010 +0200 wl1271: Add proper WLAN-BT co-ex configuration, and enable co-ex. Add configuration values for the varous WLAN-BT co-ex configuration parameters, and finally enable WLAN-BT co-ex. Based on preliminary measurements, it appears the co-ex feature is not increasing WLAN power consumption, if BT is not activated. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 885c9907440947a4f50d4c7a93b1a45266b00b84 Author: Juuso Oikarinen Date: Thu Mar 18 12:26:29 2010 +0200 wl1271: Fix SG configuration message structures The bluetooth coexistence (SG) configuration messages have changed and were completely wrong. For instance, intending to enable the SG, it was instead disabled. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 93f56be146a7be4d3243fc64d9b6313d96eaa62b Author: Teemu Paasikivi Date: Thu Mar 18 12:26:28 2010 +0200 wl1271: Changed SDIO MMC host claiming Changed driver to keep MMC host claimed while wlan interface is up. This keeps MMC stack from powering the SDIO device down. Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit becd551cac0d6868819083c59fc32d1072ba1804 Author: Teemu Paasikivi Date: Thu Mar 18 12:26:27 2010 +0200 wl1271: Cleaned up wlan power on/off functions Added method for wlan power control to io_ops struct and moved wl1271_power_on and wl1271_power_off functions to wl1271_io.h. Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit b43316dbf9c6b01f3ac6dc23bcb94ae66eb3a721 Author: Juuso Oikarinen Date: Thu Mar 18 12:26:26 2010 +0200 wl1271: Fix configuration of the TX opportunity value The per-queue TX opportunity value is configured by the mac80211 in units of 32us. The firmware however wants it in us, so add the conversion. Signed-off-by: Juuso Oikarinen Reviewed-by: Kalle Valo Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit fb9987d0f748c983bb795a86f47522313f701a08 Author: Sujith Date: Wed Mar 17 14:25:25 2010 +0530 ath9k_htc: Support for AR9271 chipset. Features: * Station mode * IBSS mode * Monitor mode * Legacy support * HT support * TX/RX 11n Aggregation * HW encryption * LED * Suspend/Resume For more information: http://wireless.kernel.org/en/users/Drivers/ath9k_htc Signed-off-by: Sujith Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 736b3a27b3c50c4a23717b802240435a69e8d0ff Author: Sujith Date: Wed Mar 17 14:25:24 2010 +0530 ath9k_hw: fix hardware deinit Without this you will get a panic if the device initialization fails. Also, free ath_hw instance properly. ath9k_hw_deinit() shouldn't do it. Cc: stable@kernel.org Signed-off-by: Sujith Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 05020d236e91ddab1cb42483843a8995b3be1adf Author: Sujith Date: Wed Mar 17 14:25:23 2010 +0530 ath9k_hw: add HTC init hardware call for special resets for AR9271 AR9271 needs a full reset only upon the first reset, add a call for the driver to enable these special resets. We can optimize this out later without an export. Signed-off-by: Sujith Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 25e2ab17fd77e752597050980cec4efae7f87854 Author: Sujith Date: Wed Mar 17 14:25:22 2010 +0530 ath9k_hw: always set the core clock for AR9271 When initializing the PLL on AR9271 we always need to set the core clock to 117MHz. While at it remove the baud rate settings for the serial device on the AR9271, the default settings work well unless you want to customize it. Signed-off-by: Sujith Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 02afa2a01b74ed3e8f3a85be11919b33f4ad4f02 Author: Sujith Date: Wed Mar 17 14:25:21 2010 +0530 ath9k_hw: use the skip count for PA calibration on AR9271 Periodic power amplifier offset calibration is skipped on ath9k algorithmically, this is required on AR9271. Signed-off-by: Sujith Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2cbfaea48500ce98588e31bd806bbfb524b36b31 Author: Sujith Date: Wed Mar 17 14:25:20 2010 +0530 ath9k_hw: restrict valid nf readings for AR9271 to -114 Noisefloor values read on AR9271 are unreliable if they are less than -114, set those statically to -116. Signed-off-by: Sujith Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6398dc039d92b12805a900b3f82a033007a5b465 Author: Sujith Date: Wed Mar 17 14:25:19 2010 +0530 ath9k_hw: fix noisefloor history buffer usage on AR9271 Noisefloor calibration involves querying hardware for samples and storing this information on a history buffer in hardware for actual noisefloor calibration processing in hardware. The history buffer supports collecting information for all Atheros hardware, one history buffer slot for each chain on each channel used for MIMO operation. For current hardware this means one history buffer slot for each chain on both the control (or primary) channel and the extension (or secondary) channel. We know which noisefloor registers to poke for collecting noisefloor data through the chainmask. For AR9285 and AR9271 devices, both 1x1, the chaimmask is defined as 0x9 = 0b0001001. The first four bits represent each chain out of a maximum of 4 chains [0-3] on the primary channel. The last four bits represent each chain on the extension channel. A chainmask of 0x9 therefore indicates chain 1 is active on both the primary and the extension channel. AR9271 only requires collecting and storing noisefloor history buffer data for the first chain on both the control and extension channel (nfarray[0] and nfarray[3]) so fix the code and avoid which reads and writes to the history buffer for the other chains. Since the noisefloor varies depending on the number of chains your device supports also initialize the noisefloor history buffer with reasonable values seen on 1x1 devices such as AR9285. Signed-off-by: Sujith Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 14b3af381df6359b15416df350e4e11892a52ab3 Author: Sujith Date: Wed Mar 17 14:25:18 2010 +0530 ath9k_hw: Fix full sleep setup for AR9271 After telling the AR9271 to go into full sleep we do not need to clear the RTC reset signal. Signed-off-by: Sujith Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e492d7cfdbb49f364529bc1642b978d85654c398 Author: Sujith Date: Wed Mar 17 14:25:17 2010 +0530 ath9k_hw: fix TX descriptor setup for AR9271 The TX descriptors setup for AR971 requires the same setup as AR9285, so use that. Signed-off-by: Sujith Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 527d485fd8765e1df1dd9114f5c623253d6349c3 Author: Sujith Date: Wed Mar 17 14:25:16 2010 +0530 ath9k_hw: skip chip tests for AR9271 The chip test is not required for AR9271 on the host driver code as the firmware will do the test internally on its own. Signed-off-by: Sujith Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5b5fa3558db7451f4744ef92f2b1830d05b9307b Author: Sujith Date: Wed Mar 17 14:25:15 2010 +0530 ath9k_hw: add GPIO setup code for AR9271 Assign the proper number of GPIO pins for AR9271. Signed-off-by: Sujith Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 70807e99dbb0c5847668b617caf0ad7f876a23d9 Author: Sujith Date: Wed Mar 17 14:25:14 2010 +0530 ath9k_hw: update initialization values for AR9271 Update the register initialization values for AR9271. This is based on our last review from our systems team. Signed-off-by: Sujith Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e21247cc4a37296f57281a472e961ff09de0e98d Author: Ming Lei Date: Mon Mar 1 23:13:29 2010 +0800 ath9k: decrease size of ath9k.ko From e74b075cdb143d45be9b371ee8a8e2dcfc15ab34 Mon Sep 17 00:00:00 2001 From: Ming Lei Date: Sat, 27 Feb 2010 23:50:54 +0800 Subject: [PATCH] ath9k: decrease size of ath9k.ko The patch defines the fields of 'valid_single_stream' and 'valid' in struct ath_rate_table as char type, so decrease the size of ath9k.ko about 2KB. old ath9k.ko [tom@tom-lei ath9k]$ size ath9k.ko text data bss dec hex filename 69344 3080 168 72592 11b90 ath9k.ko new ath9k.ko [tom@tom-lei ath9k]$ size ath9k.ko text data bss dec hex filename 67304 3080 168 70552 11398 ath9k.ko Signed-off-by: Larry Finger Signed-off-by: Ming Lei Signed-off-by: John W. Linville commit d82689e249266d64cd37429c9e1ff6346e5446ab Merge: 819bfec fa8f130 Author: John W. Linville Date: Tue Mar 23 16:46:43 2010 -0400 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 33e2bf6aa16061bae1253514e7c32af27d2b4b31 Merge: e880eb6 819bfec Author: David S. Miller Date: Mon Mar 22 18:15:15 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 Conflicts: Documentation/feature-removal-schedule.txt drivers/net/wireless/ath/ath5k/phy.c commit e77c8e83dd587f2616d7ff20d23a897891e6e20d Merge: 641cb85 af98441 Author: David S. Miller Date: Sat Mar 20 15:24:29 2010 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit fa8f130c504223d25c116b3d23787f465dfb1317 Author: Wey-Yi Guy Date: Fri Mar 5 14:22:46 2010 -0800 iwlwifi: code cleanup for connectivity recovery Split the connectivity check and recovery routine into separated functions based on the types 1. iwl_good_ack_health() - check for ack count 2. iwl_good_plcp_health() - check for plcp error Based on the type of errors being detected, different recovery methods will be used to bring the system back to normal operational state. Because different NIC has different HW and uCode, the behavior is also different; these functions thus now form part of the ops infrastructure, so we can have more control on how to monitor and recover from error condition case per device. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit d5a0ffa3eaf9e898f25a925813f1a723be7808f8 Author: Wey-Yi Guy Date: Thu Mar 4 13:38:59 2010 -0800 iwlwifi: Recover TX flow failure Monitors the tx statistics to detect the drop in throughput. When the throughput drops, the ratio of the actual_ack_count and the expected_ack_count also drops. At the same time, the aggregated ba_timeout (the number of ba timeout retries) also rises. If the actual_ack_count/expected_ack_count ratio is 0 and the number of ba timeout retries rises to BA_TIMEOUT_MAX, no tx packets can be delivered. Reloading the uCode and bring the system back to normal operational state. Signed-off-by: Trieu 'Andrew' Nguyen Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit beac5498b792ed8420885ee23e8d4f2885ee2d13 Author: Wey-Yi Guy Date: Thu Mar 4 13:38:58 2010 -0800 iwlwifi: move plcp check to separated function Move the plcp error checking into stand alone function and pointed by ops to accommodate devices not needing this recovery. Signed-off-by: Trieu 'Andrew' Nguyen Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit b74e31a9bc1013e69b85b139072485dc153453dd Author: Wey-Yi Guy Date: Mon Mar 1 17:23:50 2010 -0800 iwlwifi: Recover TX flow stall due to stuck queue Monitors the internal TX queues periodically. When a queue is stuck for some unknown conditions causing the throughput to drop and the transfer is stop, the driver will force firmware reload and bring the system back to normal operational state. The iwlwifi devices behave differently in this regard so this feature is made part of the ops infrastructure so we can have more control on how to monitor and recover from tx queue stall case per device. Signed-off-by: Trieu 'Andrew' Nguyen Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit c11362c01b280f8b2c728bc64793d484282b8734 Author: Shanyu Zhao Date: Fri Mar 5 17:05:20 2010 -0800 iwlwifi: clean up driver names for 1000/5000/6000 Align the driver names with official product names for 1000/5000/6000 series. This change mainly affects the debug messages show up in system log. No functional changes. Signed-off-by: Shanyu Zhao Signed-off-by: Reinette Chatre commit fe0b3b96ab28b7e5fb6c5aea68e6dd88115873da Author: Johannes Berg Date: Thu Jan 21 07:07:44 2010 -0800 iwlwifi: sta_id cannot be invalid in rs_initialize_lq The only caller of this is iwl_rs_rate_init which is only called with a valid sta_id. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit fe6b23dd361199bfbc50b0cbce6bed37c5797c75 Author: Reinette Chatre Date: Mon Feb 22 16:24:47 2010 -0800 iwlwifi: implement new mac80211 station add/remove calls mac80211 recently implemented two new callbacks that are used to request station add/remove from the driver. The benefot from these new callbacks are that they enable the driver to sleep while performing this work. This is a big patch since a few things need to be coordinated in this move. First we need to decouple station management from rate scaling, which caused a lot of code to be moved and/or deleted. Next we needed to tie in with mac80211's station management callback and let it direct our station management as well as trigger the rate scaling initialization. Signed-off-by: Reinette Chatre commit 7e2461910e9115c9964975f77584baf8c2f76bfe Author: Reinette Chatre Date: Thu Feb 18 22:58:32 2010 -0800 iwlwifi: only add broadcast station once Currently the broadcast station is added after every RXON command. Change this to only add the broadcast station when interface is added by mac80211. With this we need some extra work to ensure broadcast station is always present since station table is cleared when RXON without ASSOC bit set is sent. To deal with this we re-add all driver known stations to uCode after such an RXON command is sent. We also do some cleanup and remove the various calls to clear the station table. We now only clear the station table in two scenarios: - only clear uCode portion of station table when RXON command without ASSOC bit is sent - clear uCode and driver portion when interface goes down or is removed. We need to do this clearing when interface goes down to deal with the device restart/reconfigure routines which do not remove the interface, but do add the interface during reconfiguration. Previously the keys were also cleared when station table in driver is cleared, this is not done anymore since mac80211 will take care that keys are set and cleared correctly. There is a known issue with this change. Associating with different AP without bringing interface down fails with a firmware error. This is because of the lack of full station notification support and the later patches in this series that complete the station notification support will fix this. Signed-off-by: Reinette Chatre commit 647291f5c1596839eb69d6c1f231b2249a703c27 Author: Ben Cahill Date: Tue Mar 2 12:48:25 2010 -0800 iwlagn: Add Flow-handler (FH) register dump for 4965. FH register dump debug feature was recently added for 5000 and later; 4965 can use it also. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre commit 819bfecc4fc6b6e5a793f719a45b7146ce423b79 Author: florian@mickler.org Date: Sat Mar 13 13:31:05 2010 +0100 rename new rfkill sysfs knobs This patch renames the (never officially released) sysfs-knobs "blocked_hw" and "blocked_sw" to "hard" and "soft", as the hardware vs software conotation is misleading. It also gets rid of not needed locks around u32-read-access. Signed-off-by: Florian Mickler Signed-off-by: John W. Linville commit ff6e2163f28a1094fb5ca5950fe2b43c3cf6bc7a Author: Jiri Pirko Date: Mon Mar 1 05:09:14 2010 +0000 net: convert multiple drivers to use netdev_for_each_mc_addr, part7 In mlx4, using char * to store mc address in private structure instead. Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 09a08cff3d13315c948e6aee5cf912f8f1db54e7 Author: Bruno Randolf Date: Wed Mar 3 18:45:42 2010 +0900 mac80211: (really) fix rates setup on IBSS merge when an IBSS merge happened, the supported rates for the newly added station were left empty, causing the rate control module to be initialized with only the basic rates. the section of the ibss code which deals with updating supported rates for an already existing station failed to inform the rate control module about the new rates. as both minstrel and pid don't have an update function i just use the init function. also remove unnecessary (unsigned long long) casts and edit debug message. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 819386dfc67e770b4a0b59983f7948f8ddaa357e Author: John W. Linville Date: Tue Mar 16 15:02:35 2010 -0400 Revert "mac80211: fix rates setup on IBSS merge" I accidentally merged an incomplete version of the patch... This reverts commit b4d59a9317e41faec3d0b6a03f0454d1e8abb710. Signed-off-by: John W. Linville commit bf18723d50206a0b485e438f14c22faf91a3908f Author: Alban Browaeys Date: Sun Feb 28 17:14:40 2010 +0100 rt2x00: Fix TX status reporting for rt2800pci. After testing, we found that TX_STA_FIFO_MCS is the last MCS value tried. If the transmission failed, 8 frames have been transmitted. If the transmission succeed, we can easily compute the number of retry. This patch fix the way status is reported to mac80211 rate control. It has 2 bugs : 1. mcs can contain the short preamble flag and it will lead to wrong computations. 2. minstrel nearly always say that 54 Mbits is the best rate, even if we are very far from the AP Signed-off-by: Benoit Papillault Signed-off-by: Alban Browaeys Acked-by: Ivo van Doorn Signed-off-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 632dd959d13d7b96b8eeb2af77b4511053c04633 Author: Alban Browaeys Date: Fri Feb 26 23:19:59 2010 +0100 rt2x00: txdone implementation supporting hw encryption. This is an implementation that support WCID being the encryption key. Wireless Cli Id was set to be the encryption key in rt2800pci_write_tx_desc and read (TX_STA_FIFO_WCID) as the current queue entry index. Signed-off-by: Benoit Papillault Signed-off-by: Alban Browaeys Acked-by: Ivo van Doorn Signed-off-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit d6e36ec1d04edec73fedeea89ec8027e3d215dcb Author: Helmut Schaa Date: Mon Mar 15 17:22:26 2010 +0100 rt2x00: fix warning when building rt2800pci with just soc support Fix compile warning "rt2800pci.c:1248: warning: 'rt2800pci_device_table' defined but not used" when building rt2800pci with only soc support (without pci). Signed-off-by: Helmut Schaa Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 27ae60f8f7aac221b428422eecafddaa7aff9549 Author: Pavel Roskin Date: Fri Mar 12 00:01:22 2010 -0500 ipw2x00: replace "ieee80211" with "libipw" where appropriate "ieee80211" was the old name of the common library for ipw2100 and ipw2200. It was renamed to "libipw", but some occurrences of the old name remained. Rename alloc_ieee80211() to alloc_libipw() and free_ieee80211() to free_libipw(). Adjust comments and label names. Change prefixes in diagnostic messages. Keep /proc/net/ieee80211 under the original name to avoid breaking user interface. Move the affected EXPORT_SYMBOL macros to their proper places. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 484b4dd582867c6cfec3a1feb128d60af21c4978 Author: Pavel Roskin Date: Thu Mar 11 23:13:28 2010 -0500 orinoco: disable support for prism chipset by default The hostap driver provides better support for Prism chipset. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 1e3f7ac81ef81f25d8d8d902b73d884f97e6aa21 Author: Grazvydas Ignotas Date: Thu Mar 11 17:45:07 2010 +0200 wl1251: reduce eeprom read wait time 4sec wait is way too pessimistic, TI driver uses 40ms here, and testing shows that is ebough, so let's also use that. While at it, add useful sounding comment from the TI driver. Signed-off-by: Grazvydas Ignotas Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 3f9e750d130b4a4d9f8226642b46ed17d8357f40 Author: Grazvydas Ignotas Date: Thu Mar 11 17:44:57 2010 +0200 wl1251: fix ELP_CTRL register accesses when using SDIO For some unknown reason ELP_CTRL can't be accesed using sdio_memcpy_* functions (any attemts to do so result in timeouts): wl1251: ERROR sdio write failed (-110) wl1251: ERROR sdio read failed (-110) wl1251: WARNING WLAN not ready To fix this, add special IO functions for ELP_CTRL access that are using sdio_readb/sdio_writeb. Similar handling is done in TI reference driver from Android code drop. Signed-off-by: Grazvydas Ignotas Cc: Bob Copeland Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 3c9cb9c38a1368b1e3f187f23c1a56883ec656c2 Author: Grazvydas Ignotas Date: Fri Mar 12 12:28:41 2010 +0200 wl1251: make local symbols static Make local functions and data static, also constify some structures. While at it, clean up unneeded includes. Signed-off-by: Grazvydas Ignotas Cc: Bob Copeland Acked-by: Kalle Valo Signed-off-by: John W. Linville commit eaf55530c94cb7adcd320c28ed6c7d463c9a3727 Author: Felix Fietkau Date: Thu Mar 11 16:28:24 2010 +0100 mac80211: optimize tx status processing When a cooked monitor interface is active, ieee80211_tx_status() generates a radiotap header for every single frame, even if it wasn't injected and thus won't be sent to a monitor interface. This patch reduces cpu utilization by moving the cooked monitor check a bit earlier, before it generates the rtap header. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 819cf15e7cde0a1b0fa4f831478f792434f55679 Author: Stewart Malik Date: Thu Mar 11 20:28:29 2010 +1030 DRIVER: Libertas: Fixed coding style in rx.c Signed-off-by: John W. Linville commit 200763bb7503102aa364658e2b32cb2463a08d91 Author: John W. Linville Date: Wed Mar 10 11:08:50 2010 -0500 ath5k: remove unused beacon timer code Signed-off-by: John W. Linville commit a93b7aec657e3bd01ef043dff46d3c27dba26bb3 Author: John W. Linville Date: Wed Mar 10 11:08:49 2010 -0500 ath5k: remove dead source in ath5k_combine_linear_pcdac_curves This code was commented-out when it was added about a year ago and remains unchanged -- seems as if we don't need it... Signed-off-by: John W. Linville commit 6fe10e760bcde8c29b84ad16f54015af5ef59ff5 Author: John W. Linville Date: Wed Mar 10 11:08:48 2010 -0500 ath5k: remove some dead functions "ath5k: remove stale function declarations, make some functions static" commented-out some unused functions. This removes them. Signed-off-by: John W. Linville Acked-by: Bob Copeland commit f3a981ffddcc9671505b85ead976630878116434 Author: matthieu castet Date: Sun Feb 28 15:42:54 2010 +0100 airo : Print of firmware version For the firmware version 5.30.17 the log file shows: Firmware version 5.30.11 The variable softSubVer is binary. Signed-off-by: Matthieu CASTET Signed-off-by: Jose Alonso Signed-off-by: John W. Linville commit 3bc819e8d4dd385e481137b2dbe3b7d23314319e Author: matthieu castet Date: Sun Feb 28 15:31:21 2010 +0100 airo : fix printing status info For some status, reason is encoded in the low byte, but airo_print_status forgot tp mask low byte in status parsing. This make it only work when reason is 0. Signed-off-by: Matthieu CASTET Signed-off-by: John W. Linville commit e9f08381cb117d66ad14474228ce02a27d6f62ae Author: Andrew Blaich Date: Mon Mar 1 10:30:40 2010 -0500 ath5k: fixing retries in ath5k_hw_setup_4word_tx_desc The rate control algorithm, default is Minstrel for ath5k, determines the number of retries to use for each rate. However, there exists in ath5k_hw_setup_4word_tx_desc (which is called for AR5212 like devices) a set number of retries defined by AR5K_TUNE_HWTXTRIES. The set number of tries is added to the tx_tries0 variable setup by the rate control algorithm. This changes the number of retries the rate control algorithm considers necessary. By removing the AR5K_TUNE_HWTXTRIES from the retry calculation the rate control algorithm is given control over the number of retries. Signed-off-by: Andrew Blaich Signed-off-by: John W. Linville commit d969847c2202f82b3f6755d16909925e64e354e5 Author: Felix Fietkau Date: Mon Mar 1 13:32:11 2010 +0100 ath9k: fix rate control tx status handling for A-MPDU Currently the rate control tx status update gets called for every subframe of an A-MPDU, and ath9k marks the frame with the relevant status update with an internal flag. This not suitable for rate control algorithms using the standard mac80211 rate control API, so fix this by using IEEE80211_TX_STAT_AMPDU for marking the correct frames that should be processed. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 7c3c76a82f3a6d52bbeabf48dd32109cc951a7cf Author: Teemu Paasikivi Date: Wed Mar 10 13:22:31 2010 +0200 wl1271: Changed wl1271_sdio to be selectable only on ARM As wl1271_sdio implementation depends on ARM GPIO impelementation it is not directly usable on other architectures at the moment. Added ARM dependency to kernel configuration option. Reported-by: Stephen Rothwell Signed-off-by: Teemu Paasikivi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 687c8ff12df6b469c662a6cc288ea35989ee0704 Author: Bruno Randolf Date: Tue Mar 9 16:56:21 2010 +0900 ath5k: Minor EEPROM documentation updates Here are some minor updates for EEPROM, mostly documentation and some small fixes which have no effect at the moment. - fixed_bias is not available for B mode. - AR5K_EEPROM_[RT]X_CHAIN_DIS is 3 bit. this is MIMO and will not be used in ath5k, but just to be correct. - AR5K_EEPROM_JAP_MID_EN added, and shift of following flags adapted. - added some documentation for EEPROM values and some comments. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 49a85d211a63ad1d565842ebc535c5168d85d86a Author: Bruno Randolf Date: Tue Mar 9 16:56:15 2010 +0900 ath5k: IQ calibration for AR5211 is slightly different according to the HAL sources the calculation of the Q value is slightly different for AR5211 chips. i couldn't test this since IQ calibration never finishes on older parts. this is a different problem... Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 7644395f8df9aa5b42af268a485b83e44bba2784 Author: Bruno Randolf Date: Tue Mar 9 16:56:00 2010 +0900 ath5k: add debugfs file frameerrors add a debugfs file to see different RX and TX errors as reported in our status descriptors. this can help to diagnose driver problems. statistics can be cleared by writing 'clear' into the frameerrors file. example: # cat /sys/kernel/debug/ath5k/phy0/frameerrors RX --------------------- CRC 27 (11%) PHY 3 (1%) FIFO 0 (0%) decrypt 0 (0%) MIC 0 (0%) process 0 (0%) jumbo 0 (0%) [RX all 245] TX --------------------- retry 2 (9%) FIFO 0 (0%) filter 0 (0%) [TX all 21] Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 919154540aa26e8c333c420b5b930e94ef7a6839 Author: Bruno Randolf Date: Tue Mar 9 16:55:55 2010 +0900 ath5k: remove ah_gpio_npins it's never used and we have a newer implementation in gpio.c. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit a71bcebcb776e84dd765d2c7da51ed45a714e3ea Author: Bruno Randolf Date: Tue Mar 9 16:55:49 2010 +0900 ath5k: remove ah_mac_revision it's not used, and we have ah_mac_srev. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit ff5d96ce622271df430c715ebe3e0b7400059dc1 Author: Bruno Randolf Date: Tue Mar 9 16:55:44 2010 +0900 ath5k: remove ah_magic it's never used. probably a leftover from the old OpenHAL days... Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit ccfe5552aeb18c87a4d0ecb8cb7512280435bfdd Author: Bruno Randolf Date: Tue Mar 9 16:55:38 2010 +0900 ath5k: remove double opmode definition opmode (operating mode) was defined in struct ath5k_hw and struct ath5k_softc. remove it from ath5k_hw and use only from ath5k_softc (sc->opmode). (btw: what's the meaning of opmode when we have multiple interfaces?) Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit caec9112d6cb07cb5b82a967a448c3b15b257654 Author: Bruno Randolf Date: Tue Mar 9 16:55:28 2010 +0900 ath5k: preserve antenna settings save antenna settings and preserve across resets. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 604eeadd1880bddfb155369491cc13fb8d3f9df6 Author: Bruno Randolf Date: Tue Mar 9 16:55:17 2010 +0900 ath5k: add antenna statistics and debugfs file for antenna settings keep statistics about which antenna was used for TX and RX. this is used only for debugging right now, but might have other applications later. add a new file 'antenna' in debugfs (/sys/kernel/debug/ath5k/phy0/antenna) to show antenna use statistics and antenna diversity related register values. it can also be used to set the antenna mode until we have proper support for that in iw: - echo diversity > antenna: use default antenna mode (RX and TX diversity) - echo fixed-a > antenna: use fixed antenna A for RX and TX - echo fixed-b > antenna: use fixed antenna B for RX and TX - echo clear > antenna: reset antenna statistics Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 5a7d05830de1ecfdaf0a9fb43e4aa08abbdbfe9f Author: Jussi Kivilinna Date: Thu Mar 4 18:27:36 2010 +0200 rndis_wlan: Implement cfg80211 PMKSA API Add support for cfg80211 set_pmksa/del_pmksa/flush_pmksa. Updating PMKID entry list is done on driver side since NDIS API requires full list update. v2: - fixed to use new netdev_dbg/warn/etc instead of old devdbg/warn/etc - fixed false padding from struct ndis_80211_bssid_info Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 0308383f9591c991b3eb865c4f5ea2a87242afac Author: Jussi Kivilinna Date: Thu Mar 4 18:27:24 2010 +0200 rndis_wlan: get max_num_pmkids from device Extend rndis_wlan_get_caps() to get 802.11 capabilities and maximum supported number of PMKIDs by device. v2: fixed to use new netdev_dbg/warn/etc instead of old devdbg/warn/etc Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit ea29d65ea4e7585a5ac94f7ec0069d384315bd77 Author: Jussi Kivilinna Date: Thu Mar 4 18:27:12 2010 +0200 rndis_wlan: remove unused variables from priv structure Some variables were left unused after cfg80211 conversion. Remove those and related deadcode. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 80f8c5b434f94926c6489d7350d58aecb53ab70f Author: Jussi Kivilinna Date: Thu Mar 4 18:27:02 2010 +0200 rndis_wlan: copy only useful data from rndis_command respond rndis_query_oid() uses full output buffer size to copy response buffer from rndis_command()/device. This doesn't cause problems as response buffer is sized based on output buffer but does copy extra unset bytes. So change rndis_query_oid() so that only meaningful bytes are being copied. Also in case of malfunctioning device/cable/etc returned data offset from device might be wrong so bound check memory access correctly, so add checks for this. v2: fixed to use new netdev_dbg/warn/etc instead of old devdbg/warn/etc Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit eae44756d60c4e938259358090dba5df675dced0 Author: Felix Fietkau Date: Mon Mar 1 22:21:40 2010 +0100 minstrel: make the rate control ops reusable from another rc implementation This patch makes it possible to reuse the minstrel rate control ops from another rate control module. This is useful in preparing for the new 802.11n implementation of minstrel, which will reuse the old code for legacy stations. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 44ac91ea8450b0e7a27b4a1fd64aefd35a144728 Author: Felix Fietkau Date: Mon Mar 1 22:17:38 2010 +0100 minstrel: simplify and fix debugfs code This patch cleans up the debugfs read function for the statistics by using simple_read_from_buffer instead of its own semi-broken hack. Also removes a useless member of the minstrel debugfs info struct. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 8127fbdc417b5916b82e91400a4be1d9555feee7 Author: Benoit Papillault Date: Sat Feb 27 23:05:26 2010 +0100 ath5k: Fix TX/RX padding for all frames Currently, the padding position is based on ieee80211_get_hdrlen_from_skb(). This is not correct since the HW does padding on RX (and expect the same padding to be present on TX) at the following position : - management : 24 + 6 if 4-addr format - control : 24 + 6 if 4-addr format - data : 24 + 6 if 4-addr format + 2 if QoS - invalid : 24 + 6 if 4-addr format whereas ieee80211_get_hdrlen_from_skb() is : - management