Generated by using: git log v2.6.33..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 ca2455ec0673fcde16f81ee0f585c4edc2e076e7 Author: Johannes Berg Date: Mon Jun 7 21:20:38 2010 +0200 iwlwifi: add missing rcu_read_lock commit 6db6340c42d027b6364d49fa99d69019aca24de4 upstream. Using ieee80211_find_sta() needs to be under RCU read lock, which iwlwifi currently misses, so fix it. Reported-by: Miles Lane Signed-off-by: Johannes Berg Acked-by: Reinette Chatre Tested-by: Miles Lane Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 40146189c77991baf1e3c6816b9b39da942c2974 Author: Grazvydas Ignotas Date: Sat Jun 5 02:25:47 2010 +0300 wl1251: fix a memory leak in probe commit aa679c36756003f1fabdb9fc6f00eb159559f7c3 upstream. wl1251_sdio_probe() error path is missing wl1251_free_hw, add it. Signed-off-by: Grazvydas Ignotas Acked-by: Kalle Valo Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit ad569e0445c9073a9fd65c18b465dfef1d9bf3b4 Author: Reinette Chatre Date: Mon May 3 10:55:07 2010 -0700 iwlwifi: recalculate average tpt if not current commit 3d79b2a9eeaa066b35c49fbb17e3156a3c482c3e upstream. 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 Signed-off-by: Greg Kroah-Hartman commit f09f06dbf31f6f6a3d95e3a51cc748794be91451 Author: Reinette Chatre Date: Thu May 13 14:49:44 2010 -0700 iwlwifi: fix internal scan race commit 073d5eab6fc85b6c278d507a5633b759a85dc878 upstream. 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 Signed-off-by: Greg Kroah-Hartman commit 853ac1cddf0603e4a7a61110b96867cc0c3fd59d Author: Jason Dravet Date: Sat Jun 5 15:08:29 2010 -0500 p54usb: Add device ID for Dell WLA3310 USB commit 0f666a08901f8b01f294ca0ad751019375240ae3 upstream. 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 Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 141a0aa6f43af935e8754178462ea1ebbce12bf5 Author: Bob Copeland Date: Fri Jun 4 08:14:14 2010 -0400 ath5k: retain promiscuous setting commit 6b5dcccb495b66b3b0b9581cdccfed038e5d68a2 upstream. 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. 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 Signed-off-by: Greg Kroah-Hartman commit 9fff6bc91515aa9027e1ca4d37a4754964a6c875 Author: Johannes Berg Date: Mon Jun 7 21:50:07 2010 +0200 mac80211: fix deauth before assoc commit b054b747a694927879c94dd11af54d04346aed7d upstream. 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. Signed-off-by: Johannes Berg Tested-by: Miles Lane Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit c24e9e6e543398eaeae95f2d2f6f5b59852f3e06 Author: Sujith Date: Wed Mar 17 14:25:24 2010 +0530 ath9k_hw: fix hardware deinit commit 736b3a27b3c50c4a23717b802240435a69e8d0ff upstream. 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. Signed-off-by: Sujith Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 787b18bfea20bb38b610258564e43b51f4f04041 Author: Felix Fietkau Date: Tue Apr 27 00:26:34 2010 +0200 mac80211: fix handling of 4-address-mode in ieee80211_change_iface commit f7917af92024d43bc20bc1afc92de27b0bd0f50b upstream. 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 Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 6f6dcf87b07b45fca26ad170ca9714d2ae09dc3f Author: Shanyu Zhao Date: Tue Apr 27 11:15:12 2010 -0700 mac80211: fix rts threshold check commit a2c40249a36d0b4d76d1caf6bf806e4ae5b06e8a upstream. 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. Signed-off-by: Shanyu Zhao Reviewed-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit c12531f62e8af466bb2e3a0a0fd8b0e6fb12fca2 Author: Jouni Malinen Date: Sun Mar 28 22:29:52 2010 -0700 mac80211: Fix robust management frame handling (MFP) commit d211e90e28a074447584729018a39910d691d1a8 upstream. 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 Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit ba0a3584f651a904587e5b13856cfbc6d6ae7e44 Author: Andres Salomon Date: Thu Feb 25 19:18:47 2010 -0500 mac80211: give warning if building w/out rate ctrl algorithm commit c2ef355bf3ef0b8006b96128726684fba47ac928 upstream. I discovered that if EMBEDDED=y, one can accidentally build a mac80211 stack and drivers w/ no rate control algorithm. For drivers like RTL8187 that don't supply their own RC algorithms, this will cause ieee80211_register_hw to fail (making the driver unusable). This will tell kconfig to provide a warning if no rate control algorithms have been selected. That'll at least warn the user; users that know that their drivers supply a rate control algorithm can safely ignore the warning, and those who don't know (or who expect to be using multiple drivers) can select a default RC algorithm. Signed-off-by: Andres Salomon Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 379dafdf83d6cc936980bad4bfb463a1558f7522 Author: Bruno Randolf Date: Wed May 19 10:18:16 2010 +0900 ath5k: consistently use rx_bufsize for RX DMA commit b5eae9ff5ba6d76de19286dd6429acd7cde3f79d upstream. 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. Signed-off-by: Bruno Randolf Reviewed-by: Luis R. Rodriguez Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 03c10e5766b665075f7165d0c038ec299e3c6df7 Author: Christian Lamparter Date: Tue Mar 23 21:51:14 2010 +0100 ar9170usb: fix panic triggered by undersized rxstream buffer commit 879999cec9489f8942ebce3ec1b5f23ef948dda7 upstream. 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. 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 Signed-off-by: Greg Kroah-Hartman commit 5dbabb418f3ee53978d283cde8f59ff24d13e732 Author: Christian Lamparter Date: Tue Apr 13 18:10:26 2010 +0200 ar9170usb: add a couple more USB IDs commit 94d0bbe849190255b93fede8eb46809a38f9b8bf upstream. 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 Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 48da1f948eaff568eca729efadce88b4367c6cf2 Author: John W. Linville Date: Wed Apr 28 19:14:42 2010 -0400 rtl8180: fix tx status reporting commit d989ff7cf8d14f1b523f63ba0bf2ec1a9b7c25bc upstream. 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 Signed-off-by: Greg Kroah-Hartman commit de02d72bb3cc5b3d4c873db4ca8291723dd48479 Merge: f0ecde1 79733a86 Author: David S. Miller Date: Mon May 10 22:53:41 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 79733a865c7fd778ce45e3503962b3a875b0a153 Author: Reinette Chatre Date: Tue May 4 16:04:49 2010 -0700 mac80211: remove association work when processing deauth request In https://bugzilla.kernel.org/show_bug.cgi?id=15794 a user encountered the following: [18967.469098] wlan0: authenticated [18967.472527] wlan0: associate with 00:1c:10:b8:e3:ea (try 1) [18967.472585] wlan0: deauthenticating from 00:1c:10:b8:e3:ea by local choice (reason=3) [18967.672057] wlan0: associate with 00:1c:10:b8:e3:ea (try 2) [18967.872357] wlan0: associate with 00:1c:10:b8:e3:ea (try 3) [18968.072960] wlan0: association with 00:1c:10:b8:e3:ea timed out [18968.076890] ------------[ cut here ]------------ [18968.076898] WARNING: at net/wireless/mlme.c:341 cfg80211_send_assoc_timeout+0xa8/0x140() [18968.076900] Hardware name: GX628 [18968.076924] Pid: 1408, comm: phy0 Not tainted 2.6.34-rc4-00082-g250541f-dirty #3 [18968.076926] Call Trace: [18968.076931] [] ? warn_slowpath_common+0x6e/0xb0 [18968.076934] [] ? cfg80211_send_assoc_timeout+0xa8/0x140 [18968.076937] [] ? mod_timer+0x10b/0x180 [18968.076940] [] ? ieee80211_assoc_done+0xbc/0xc0 [18968.076943] [] ? ieee80211_work_work+0x553/0x11c0 [18968.076945] [] ? finish_task_switch+0x41/0xb0 [18968.076948] [] ? ieee80211_work_work+0x0/0x11c0 [18968.076951] [] ? worker_thread+0x13b/0x210 [18968.076954] [] ? autoremove_wake_function+0x0/0x30 [18968.076956] [] ? worker_thread+0x0/0x210 [18968.076959] [] ? kthread+0x8e/0xa0 [18968.076962] [] ? kernel_thread_helper+0x4/0x10 [18968.076964] [] ? kthread+0x0/0xa0 [18968.076966] [] ? kernel_thread_helper+0x0/0x10 [18968.076968] ---[ end trace 8aa6265f4b1adfe0 ]--- As explained by Johannes Berg : We authenticate successfully, and then userspace requests association. Then we start that process, but the AP doesn't respond. While we're still waiting for an AP response, userspace asks for a deauth. We do the deauth, but don't abort the association work. Then once the association work times out we tell cfg80211, but it no longer wants to know since for all it is concerned we accepted the deauth that also kills the association attempt. Fix this by, upon receipt of deauth request, removing the association work and continuing to send the deauth. Unfortunately the user reporting the issue is not able to reproduce this problem anymore and cannot verify this fix. This seems like a well understood issue though and I thus present the patch. Bug-identified-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 160b82420ab41f1e67fbf2e56dc587837ef39ce0 Author: Christian Lamparter Date: Thu Apr 29 17:53:33 2010 +0200 ar9170: wait for asynchronous firmware loading This patch fixes a regression introduced by the following patch: "ar9170: load firmware asynchronously" When we kick off a firmware loading request and then unbind, or disconnect the usb device right away, we get into trouble: > ------------[ cut here ]------------ > WARNING: at lib/kref.c:44 kref_get+0x1c/0x20() > Hardware name: 18666GU > Modules linked in: ar9170usb [...] > Pid: 6588, comm: firmware/ar9170 Not tainted 2.6.34-rc5-wl #43 > Call Trace: > [] ? warn_slowpath_common+0x6e/0xb0 > [] ? kref_get+0x1c/0x20 > [] ? warn_slowpath_null+0x13/0x20 > [] ? kref_get+0x1c/0x20 > [] ? kobject_get+0xf/0x20 > [] ? get_device+0x10/0x20 > [] ? device_add+0x60/0x530 > [] ? kobject_init+0x25/0xa0 > [] ? _request_firmware+0x139/0x3e0 > [] ? request_firmware_work_func+0x20/0x70 > [] ? request_firmware_work_func+0x0/0x70 > [] ? kthread+0x74/0x80 > [] ? kthread+0x0/0x80 > [] ? kernel_thread_helper+0x6/0x10 >---[ end trace 2d50bd818f64a1b7 ]--- - followed by a random Oops - Avoid that by waiting for the firmware loading to finish (whether successfully or not) before the unbind in ar9170_usb_disconnect. Reported-by: Johannes Berg Bug-fixed-by: Johannes Berg Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 96ff56419504ac6a610ff1af42330e0423242e16 Author: Johannes Berg Date: Fri Apr 30 14:42:15 2010 -0700 iwlwifi: work around passive scan issue Some firmware versions don't behave properly when passive scanning is requested on radar channels without enabling active scanning on receiving a good frame. Work around that issue by asking the firmware to only enable the active scanning after receiving a huge number of good frames, a number that can never be reached during our dwell time. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 6c9ae016a8e2aff931391d3baa9ce6cb0ffa633c Merge: 0c75ba2 0250ece Author: David S. Miller Date: Fri Apr 30 12:54:15 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 477fffb082920476cc26f238d65538ccb8d601e1 Author: Dan Carpenter Date: Wed Apr 21 23:52:01 2010 +0000 bluetooth: handle l2cap_create_connless_pdu() errors l2cap_create_connless_pdu() can sometimes return ERR_PTR(-ENOMEM) or ERR_PTR(-EFAULT). Signed-off-by: Dan Carpenter Acked-by: Marcel Holtmann Signed-off-by: David S. Miller commit 0250ececdf6813457c98719e2d33b3684881fde0 Author: Hans de Goede Date: Thu Apr 22 19:52:16 2010 +0200 p54pci: fix bugs in p54p_check_tx_ring Hans de Goede identified a bug in p54p_check_tx_ring: there are two ring indices. 1 => tx data and 3 => tx management. But the old code had a constant "1" and this resulted in spurious dma unmapping failures. Cc: stable@kernel.org Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=583623 Bug-Identified-by: Hans de Goede Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit e46754f8c9333170f11780d8e3a70da1b1a88338 Merge: ef9e83c fe6f212 Author: David S. Miller Date: Tue Apr 20 17:57:56 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit fe6f212ce12341df18ef9b890bea739b4547157b Author: Reinette Chatre Date: Mon Apr 19 10:46:31 2010 -0700 mac80211: pass HT changes to driver when off channel Since "mac80211: make off-channel work generic" drivers have not been notified of configuration changes after association or authentication. This caused more dependence on current state to ensure driver will be notified when configuration changes occur. One such problem arises if off-channel is in progress when HT information changes. Since HT is only enabled on the "oper_channel" the driver will never be notified of this change. Usually the driver is notified soon after of a BSS information change (BSS_CHANGED_HT) ... but since the driver did not get a notification that this is a HT channel the new BSS information does not make sense. Fix this by also changing the off-channel information when HT is enabled and thus cause driver to be notified correctly. This fixes a problem in 4965 when associated with 5GHz 40MHz channel. Without this patch the system can associate but is unable to transfer any data, not even ping. See http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2158 Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b4bb5c3fd9333024044362df67e23e96158489ed Author: Johannes Berg Date: Mon Apr 19 10:48:38 2010 +0200 mac80211: remove bogus TX agg state assignment When the addba timer expires but has no work to do, it should not affect the state machine. If it does, TX will not see the successfully established and we can also crash trying to re-establish the session. Cc: stable@kernel.org [2.6.32, 2.6.33] Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f2fa1b015e9c199e45c836c769d94db595150731 Author: Shanyu Zhao Date: Wed Apr 7 18:37:52 2010 -0700 iwlwifi: correct 6000 EEPROM regulatory address For 6000 series, the 2.4G HT40 band regulatory settings address in EEPROM was off by 2. Before the fix, you'll see this in dmesg: [79535.788877] ieee80211 phy8: U iwl_mod_ht40_chan_info HT40 Ch. 7 [2.4GHz] WIDE (0x61 0dBm): Ad-Hoc not supported [79535.788880] ieee80211 phy8: U iwl_mod_ht40_chan_info HT40 Ch. 11 [2.4GHz] WIDE (0x61 0dBm): Ad-Hoc not supported And after the fix: [91132.688706] ieee80211 phy14: U iwl_mod_ht40_chan_info HT40 Ch. 7 [2.4GHz] IBSS ACTIVE WIDE (0x6f 0dBm): Ad-Hoc supported [91132.688709] ieee80211 phy14: U iwl_mod_ht40_chan_info HT40 Ch. 11 [2.4GHz] IBSS ACTIVE WIDE (0x6f 0dBm): Ad-Hoc supported Signed-off-by: Shanyu Zhao Signed-off-by: Reinette Chatre commit 88be026490ed89c2ffead81a52531fbac5507e01 Author: Johannes Berg Date: Wed Apr 7 00:21:36 2010 -0700 iwlwifi: fix scan races When an internal scan is started, nothing protects the is_internal_short_scan variable which can cause crashes, cf. https://bugzilla.kernel.org/show_bug.cgi?id=15667. Fix this by making the short scan request use the mutex for locking, which requires making the request go to a work struct so that it can sleep. Reported-by: Peter Zijlstra Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 334656f33c43921cf383dfd0220dfd34376bcd98 Merge: e30b38c 8b9fce7 Author: David S. Miller Date: Thu Apr 15 14:28:46 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 4a1032faac94ebbf647460ae3e06fc21146eb280 Merge: ae4e8d6 0eddb51 Author: David S. Miller Date: Sun Apr 11 02:44:30 2010 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 8b9fce77737ae9983f61ec56cd53f52fb738b2c7 Author: Johannes Berg Date: Thu Apr 1 11:24:23 2010 -0700 iwlwifi: work around bogus active chains detection The current algorithm will sometimes "detect" that more chains are enabled than are really present in the device because, for unknown reasons, the ucode sends up all-zeroes signal values. The simplest way of solving this is to restrict the active chains mask to the chains we know are really present on the device. This fixes a bug with some devices where, since sometimes more chains are enabled than really present, the system would hang. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit e3237e3c60c1f4a790b4e521e406b3ffff74f9bc Merge: 2626419 ece6444 Author: David S. Miller Date: Fri Apr 9 10:03:35 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit ece6444c2fe80dab679beb5f0d58b091f1933b00 Author: Wey-Yi Guy Date: Thu Apr 8 13:17:37 2010 -0700 iwlwifi: need check for valid qos packet before free For 4965, need to check it is valid qos frame before free, only valid QoS frame has the tid used to free the packets. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 005c93b5d876edf670b4c71d8dd79dc4e845a099 Merge: fb9e2d8 1144601 Author: David S. Miller Date: Wed Apr 7 16:41:03 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 1144601118507f8b3b676a9a392584d216d3f2cc Author: Felix Fietkau Date: Tue Apr 6 12:05:01 2010 -0700 ath9k: fix double calls to ath_radio_enable With the enable_radio being uninitialized, ath_radio_enable() might be called twice, which can leave some hardware in an undefined state. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 0379185b6c0d1e8252023698cf1091da92a3dc03 Author: Johannes Berg Date: Tue Apr 6 11:18:42 2010 +0200 mac80211: annotate station rcu dereferences The new RCU lockdep support warns about these in some contexts -- make it aware of the locks used to protect all this. Different locks are used in different contexts which unfortunately means we can't get perfect checking. Also remove rcu_dereference() from two places that don't actually dereference the pointers. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1cb561f83793191cf86a2db3948d28f5f42df9ff Author: Javier Cardona Date: Mon Mar 29 11:00:20 2010 -0700 mac80211: Handle mesh action frames in ieee80211_rx_h_action This fixes the problem introduced in commit 8404080568613d93ad7cf0a16dfb68 which broke mesh peer link establishment. changes: v2 Added missing break (Johannes) v3 Broke original patch into two (Johannes) Signed-off-by: Javier Cardona Cc: stable@kernel.org Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit cb4361c1dc29cd870f664c004b1817106fbce0fa Merge: 309361e fb9e2d8 Author: Linus Torvalds Date: Tue Apr 6 08:34:06 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: (37 commits) smc91c92_cs: fix the problem of "Unable to find hardware address" r8169: clean up my printk uglyness net: Hook up cxgb4 to Kconfig and Makefile cxgb4: Add main driver file and driver Makefile cxgb4: Add remaining driver headers and L2T management cxgb4: Add packet queues and packet DMA code cxgb4: Add HW and FW support code cxgb4: Add register, message, and FW definitions netlabel: Fix several rcu_dereference() calls used without RCU read locks bonding: fix potential deadlock in bond_uninit() net: check the length of the socket address passed to connect(2) stmmac: add documentation for the driver. stmmac: fix kconfig for crc32 build error be2net: fix bug in vlan rx path for big endian architecture be2net: fix flashing on big endian architectures be2net: fix a bug in flashing the redboot section bonding: bond_xmit_roundrobin() fix drivers/net: Add missing unlock net: gianfar - align BD ring size console messages net: gianfar - initialize per-queue statistics ... commit de0f60ea94e132c858caa64a44b2012e1e8580b0 Author: Zhu Yi Date: Tue Mar 23 00:45:03 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 04f2dec1c3d375c4072613880f28f43b66524876 Author: Shanyu Zhao Date: Fri Mar 19 13:34:45 2010 -0700 iwlwifi: use consistent table for tx data collect When collecting tx data for non-aggregation packets in rate scaling, if the tx data matches "other table", it still uses current table to update the stats and calculate average throughput in function rs_collect_tx_data(). This can mess up the rate scaling data structure and cause a kernel panic in a BUG_ON statement in rs_rate_scale_perform(). To fix this bug, we pass table pointer instead of window pointer (pointed to by table pointer) to function rs_collect_tx_data() so that the table being used is consistent. Signed-off-by: Shanyu Zhao Signed-off-by: Henry Zhang Signed-off-by: Reinette Chatre commit dd48744964296b5713032ea1d66eb9e3d990e287 Author: Zhu Yi Date: Mon Mar 22 02:28:41 2010 -0700 iwlwifi: fix DMA allocation warnings Below warning is triggered sometimes at module removal time when CONFIG_DMA_API_DEBUG is enabled. This should be caused by we didn't unmap pending commands (enqueued, but no complete notification received) for the Tx command queue. [ 1583.107469] ------------[ cut here ]------------ [ 1583.107539] WARNING: at lib/dma-debug.c:688 dma_debug_device_change+0x13c/0x180() [ 1583.107617] Hardware name: ... [ 1583.107664] pci 0000:04:00.0: DMA-API: device driver has pending DMA allocations while released from device [count=1] [ 1583.107713] Modules linked in: ... [ 1583.111661] Pid: 16970, comm: modprobe Tainted: G W 2.6.34-rc1-wl #33 [ 1583.111727] Call Trace: [ 1583.111779] [] ? dma_debug_device_change+0x13c/0x180 [ 1583.111833] [] ? dma_debug_device_change+0x13c/0x180 [ 1583.111908] [] warn_slowpath_common+0x71/0xd0 [ 1583.111963] [] ? dma_debug_device_change+0x13c/0x180 [ 1583.112016] [] warn_slowpath_fmt+0x2b/0x30 [ 1583.112086] [] dma_debug_device_change+0x13c/0x180 [ 1583.112142] [] notifier_call_chain+0x53/0x90 [ 1583.112198] [] ? down_read+0x6e/0x90 [ 1583.112271] [] __blocking_notifier_call_chain+0x49/0x70 [ 1583.112326] [] blocking_notifier_call_chain+0x1f/0x30 [ 1583.112380] [] __device_release_driver+0x8c/0xa0 [ 1583.112451] [] driver_detach+0x8f/0xa0 [ 1583.112538] [] bus_remove_driver+0x82/0x100 [ 1583.112595] [] driver_unregister+0x49/0x80 [ 1583.112671] [] ? sysfs_remove_file+0x12/0x20 [ 1583.112727] [] pci_unregister_driver+0x32/0x80 [ 1583.112791] [] iwl_exit+0x12/0x19 [iwlagn] [ 1583.112848] [] sys_delete_module+0x15a/0x210 [ 1583.112870] [] ? up_read+0x1b/0x30 [ 1583.112893] [] ? trace_hardirqs_off_thunk+0xc/0x10 [ 1583.112924] [] ? trace_hardirqs_on_thunk+0xc/0x10 [ 1583.112947] [] ? do_page_fault+0x1ff/0x3c0 [ 1583.112978] [] ? restore_all_notrace+0x0/0x18 [ 1583.113002] [] ? trace_hardirqs_on_caller+0x20/0x190 [ 1583.113025] [] sysenter_do_call+0x12/0x38 [ 1583.113054] ---[ end trace fc23e059cc4c2ced ]--- Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre commit 6503d96168f891ffa3b70ae6c9698a1a722025a0 Author: Changli Gao Date: Wed Mar 31 22:58:26 2010 +0000 net: check the length of the socket address passed to connect(2) check the length of the socket address passed to connect(2). Check the length of the socket address passed to connect(2). If the length is invalid, -EINVAL will be returned. Signed-off-by: Changli Gao ---- net/bluetooth/l2cap.c | 3 ++- net/bluetooth/rfcomm/sock.c | 3 ++- net/bluetooth/sco.c | 3 ++- net/can/bcm.c | 3 +++ net/ieee802154/af_ieee802154.c | 3 +++ net/ipv4/af_inet.c | 5 +++++ net/netlink/af_netlink.c | 3 +++ 7 files changed, 20 insertions(+), 3 deletions(-) Signed-off-by: David S. Miller commit d5dc056cce9e60528d5eac64efed623d26ffe46f Merge: 00ae702 7371400 Author: David S. Miller Date: Wed Mar 31 19:32:50 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 7371400431389e1df6a2a05ab9882055b8a6ff2c Author: Daniel Mack Date: Mon Mar 29 17:14:18 2010 +0200 net/wireless/libertas: do not call wiphy_unregister() w/o wiphy_register() The libertas driver calls wiphy_unregister() without a prior wiphy_register() when a devices fails initialization. Fix this by introducing a private flag. [ 9.310000] Unable to handle kernel NULL pointer dereference at virtual address 00000000 [...] [ 9.330000] [] (wiphy_unregister+0xfc/0x19c) from [] (lbs_cfg_free+0x70/0x9c [libertas]) [ 9.330000] [] (lbs_cfg_free+0x70/0x9c [libertas]) from [] (lbs_remove_card+0x180/0x210 [libertas]) [ 9.330000] [] (lbs_remove_card+0x180/0x210 [libertas]) from [] (if_sdio_probe+0xdc4/0xef4 [libertas_sdio]) [ 9.330000] [] (if_sdio_probe+0xdc4/0xef4 [libertas_sdio]) from [] (sdio_bus_probe+0xd4/0xf0) [ 9.330000] [] (sdio_bus_probe+0xd4/0xf0) from [] (driver_probe_device+0xa4/0x174) [ 9.330000] [] (driver_probe_device+0xa4/0x174) from [] (__driver_attach+0x60/0x84) [ 9.330000] [] (__driver_attach+0x60/0x84) from [] (bus_for_each_dev+0x4c/0x8c) [ 9.330000] [] (bus_for_each_dev+0x4c/0x8c) from [] (bus_add_driver+0xa0/0x228) [ 9.330000] [] (bus_add_driver+0xa0/0x228) from [] (driver_register+0xc0/0x150) [ 9.330000] [] (driver_register+0xc0/0x150) from [] (if_sdio_init_module+0x6c/0x108 [libertas_sdio]) [ 9.330000] [] (if_sdio_init_module+0x6c/0x108 [libertas_sdio]) from [] (do_one_initcall+0x5c/0x1bc) [ 9.330000] [] (do_one_initcall+0x5c/0x1bc) from [] (sys_init_module+0xc0/0x1f0) [ 9.330000] [] (sys_init_module+0xc0/0x1f0) from [] (ret_fast_syscall+0x0/0x30) Signed-off-by: Daniel Mack 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: netdev@vger.kernel.org Signed-off-by: John W. Linville commit 8e1a53c615e8efe0fac670f2973da64758748a8a Author: Dan Carpenter Date: Sun Mar 28 14:55:00 2010 +0300 iwlwifi: range checking issue IWL_RATE_COUNT is 13 and IWL_RATE_COUNT_LEGACY is 12. IWL_RATE_COUNT_LEGACY is the right one here because iwl3945_rates doesn't support 60M and also that's how "rates" is defined in iwlcore_init_geos() from drivers/net/wireless/iwlwifi/iwl-core.c. rates = kzalloc((sizeof(struct ieee80211_rate) * IWL_RATE_COUNT_LEGACY), GFP_KERNEL); Signed-off-by: Dan Carpenter Cc: stable@kernel.org Acked-by: Zhu Yi Signed-off-by: John W. Linville commit 2d20c72c021d96f8b9230396c8e3782f204214ec Author: Valentin Longchamp Date: Fri Mar 26 11:44:33 2010 +0100 setup correct int pipe type in ar9170_usb_exec_cmd An int urb is constructed but we fill it in with a bulk pipe type. Commit f661c6f8c67bd55e93348f160d590ff9edf08904 implemented a pipe type check when CONFIG_USB_DEBUG is enabled. The check failed for all the ar9170 usb transfers and the driver could not configure the wifi dongle. This went unnoticed until now because most people don't have CONFIG_USB_DEBUG enabled. Signed-off-by: Valentin Longchamp Cc: Stable Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 9e76ad2a27f592c1390248867391880c7efe78b3 Author: Gertjan van Wingerde Date: Wed Mar 24 21:42:37 2010 +0100 rt2x00: Disable powersaving by default in rt2500usb. Recent bug reports have shown that rt2500usb also suffers from the powersave problems that the PCI rt2x00 drivers suffer from. So disable powersaving by default for rt2500usb as well. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 71976907842abb71a0e6fda081e1d16e00420849 Author: Gertjan van Wingerde Date: Wed Mar 24 21:42:36 2010 +0100 rt2x00: Fix typo in RF register programming of rt2800. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 48a6be6a0dd3982bb2d48e82b3e6f5458d9f3c63 Author: Shanyu Zhao Date: Tue Mar 16 10:22:26 2010 -0700 iwlwifi: clear unattended interrupts in tasklet Previously in interrupt handling tasklet, iwlwifi driver only clear/ack those interrupts that are enabled by the driver through inta_mask. If the hardware generates unattended interrupts, driver will not ack them, defeating the interrupt coalescing feature. This results in high number of interrupts per second and high CPU utilization. This patch addresses this issue by acking those unattended interrupts in the tasklet. Local test showed an order of magnitude improvement in terms of the number of interrupts without sacrificing networking throughput. This is a workaround for hardware issue. Signed-off-by: Shanyu Zhao Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre commit be6b38bcb175613f239e0b302607db346472c6b6 Author: Wey-Yi Guy Date: Thu Mar 18 09:05:00 2010 -0700 iwlwifi: counting number of tfds can be free for 4965 Forget one hunk in 4965 during "iwlwifi: error checking for number of tfds in queue" patch. Reported-by: Shanyu Zhao Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre CC: stable@kernel.org commit f6c8f1523a2de3b84340e45913cbcee8bee74570 Author: Reinette Chatre Date: Fri Mar 12 11:13:26 2010 -0800 iwlwifi: fix regulatory Commit "cfg80211: convert bools into flags" mistakenly modified iwlwifi's regulatory settings instead of just converting it. Fix this. This fixes http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2172 Signed-off-by: Reinette Chatre CC: stable@kernel.org commit 7236fe29fd72d17074574ba312e7f1bb9d10abaa Author: Johannes Berg Date: Mon Mar 22 13:42:43 2010 -0700 mac80211: move netdev queue enabling to correct spot "mac80211: fix skb buffering issue" still left a race between enabling the hardware queues and the virtual interface queues. In hindsight it's totally obvious that enabling the netdev queues for a hardware queue when the hardware queue is enabled is wrong, because it could well possible that we can fill the hw queue with packets we already have pending. Thus, we must only enable the netdev queues once all the pending packets have been processed and sent off to the device. In testing, I haven't been able to trigger this race condition, but it's clearly there, possibly only when aggregation is being enabled. Signed-off-by: Johannes Berg Cc: stable@kernel.org Signed-off-by: John W. Linville commit 05a9a1617026977422c7c5ed3aeac6f46fa2132c Author: Hans de Goede Date: Wed Mar 17 14:37:16 2010 +0100 Add USB ID for Thomson SpeedTouch 120g to p54usb id table Thanks to Chris Chabot for giving his old wireless usb dongle to me to test it under Linux. Signed-off-by: Hans de Goede Signed-off-by: John W. Linville commit e5868ba10c3c5d8a56c06bbafe098103356ac03f Author: Benjamin Larsson Date: Fri Mar 19 01:46:10 2010 +0100 Add a pci-id to the mwl8k driver Signed-off-by: Benjamin Larsson Signed-off-by: John W. Linville commit eb3d72c8b7e6bb6a55e15272c52eb4eadf7fb1f1 Author: Ben Konrath Date: Thu Mar 18 19:06:57 2010 -0400 ar9170: add support for NEC WL300NU-G USB dongle This patch adds support for the NEC WL300NU-G USB wifi dongle. Signed-off-by: Ben Konrath Signed-off-by: John W. Linville commit 533866b12cce484994163b1e201778cbac4c04c5 Author: Porsch, Marco Date: Wed Feb 24 09:53:13 2010 +0100 mac80211: fix PREQ processing and one small bug 1st) a PREQ should only be processed, if it has the same SN and better metric (instead of better or equal). 2nd) next_hop[ETH_ALEN] now actually used to buffer mpath->next_hop->sta.addr for use out of lock. Signed-off-by: Marco Porsch Acked-by: Javier Cardona Cc: stable@kernel.org Signed-off-by: John W. Linville commit c7a00dc73b7185ab2ebd1aa7ce710c7b4edc77a4 Author: John W. Linville Date: Wed Mar 17 11:28:18 2010 -0400 mac80211: correct typos in "unavailable upon resume" warning Signed-off-by: John W. Linville commit 368d06f5b0eefcbf37d677d3b65381310a251f03 Author: John W. Linville Date: Tue Mar 16 15:40:59 2010 -0400 wireless: convert reg_regdb_search_lock to mutex Stanse discovered that kmalloc is being called with GFP_KERNEL while holding this spinlock. The spinlock can be a mutex instead, which also enables the removal of the unlock/lock around the lock/unlock of cfg80211_mutex and the call to set_regdom. Reported-by: Jiri Slaby Cc: stable@kernel.org Signed-off-by: John W. Linville commit 5a0e3ad6af8660be21ca98a971cd00f331318c05 Author: Tejun Heo Date: Wed Mar 24 17:04:11 2010 +0900 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h percpu.h is included by sched.h and module.h and thus ends up being included when building most .c files. percpu.h includes slab.h which in turn includes gfp.h making everything defined by the two files universally available and complicating inclusion dependencies. percpu.h -> slab.h dependency is about to be removed. Prepare for this change by updating users of gfp and slab facilities include those headers directly instead of assuming availability. As this conversion needs to touch large number of source files, the following script is used as the basis of conversion. http://userweb.kernel.org/~tj/misc/slabh-sweep.py The script does the followings. * Scan files for gfp and slab usages and update includes such that only the necessary includes are there. ie. if only gfp is used, gfp.h, if slab is used, slab.h. * When the script inserts a new include, it looks at the include blocks and try to put the new include such that its order conforms to its surrounding. It's put in the include block which contains core kernel includes, in the same order that the rest are ordered - alphabetical, Christmas tree, rev-Xmas-tree or at the end if there doesn't seem to be any matching order. * If the script can't find a place to put a new include (mostly because the file doesn't have fitting include block), it prints out an error message indicating which .h file needs to be added to the file. The conversion was done in the following steps. 1. The initial automatic conversion of all .c files updated slightly over 4000 files, deleting around 700 includes and adding ~480 gfp.h and ~3000 slab.h inclusions. The script emitted errors for ~400 files. 2. Each error was manually checked. Some didn't need the inclusion, some needed manual addition while adding it to implementation .h or embedding .c file was more appropriate for others. This step added inclusions to around 150 files. 3. The script was run again and the output was compared to the edits from #2 to make sure no file was left behind. 4. Several build tests were done and a couple of problems were fixed. e.g. lib/decompress_*.c used malloc/free() wrappers around slab APIs requiring slab.h to be added manually. 5. The script was run on all .h files but without automatically editing them as sprinkling gfp.h and slab.h inclusions around .h files could easily lead to inclusion dependency hell. Most gfp.h inclusion directives were ignored as stuff from gfp.h was usually wildly available and often used in preprocessor macros. Each slab.h inclusion directive was examined and added manually as necessary. 6. percpu.h was updated not to include slab.h. 7. Build test were done on the following configurations and failures were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my distributed build env didn't work with gcov compiles) and a few more options had to be turned off depending on archs to make things build (like ipr on powerpc/64 which failed due to missing writeq). * x86 and x86_64 UP and SMP allmodconfig and a custom test config. * powerpc and powerpc64 SMP allmodconfig * sparc and sparc64 SMP allmodconfig * ia64 SMP allmodconfig * s390 SMP allmodconfig * alpha SMP allmodconfig * um on x86_64 SMP allmodconfig 8. percpu.h modifications were reverted so that it could be applied as a separate patch and serve as bisection point. Given the fact that I had only a couple of failures from tests on step 6, I'm fairly confident about the coverage of this conversion patch. If there is a breakage, it's likely to be something in one of the arch headers which should be easily discoverable easily on most builds of the specific arch. Signed-off-by: Tejun Heo Guess-its-ok-by: Christoph Lameter Cc: Ingo Molnar Cc: Lee Schermerhorn commit ed391f4ebf8f701d3566423ce8f17e614cde9806 Author: Tejun Heo Date: Tue Mar 23 15:55:39 2010 +0900 iwlwifi: don't include iwl-dev.h from iwl-devtrace.h iwl-devtrace.h is used to declare and define trace points and including iwl-dev.h from the file, which in turn includes other generic headers, can lead to problems like generating duplicate copies of generic trace points depending on the order of includes. Don't include iwl-dev.h from iwl-devtrace.h but include it from its users - iwl-io.h and iwl-devtrace.c. Signed-off-by: Tejun Heo Acked-by: Reinette Chatre Cc: Zhu Yi Cc: Intel Linux Wireless Cc: Ingo Molnar commit 44ebb95290afcc687511ad3f7fd6434e867c270a Author: Joe Perches Date: Fri Mar 26 16:27:55 2010 +0000 drivers/net: Fix continuation lines Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit c2c77ec83bdad17fb688557b5b3fdc36661dd1c6 Author: Andrei Emeltchenko Date: Fri Mar 19 10:26:28 2010 +0200 Bluetooth: Fix kernel crash on L2CAP stress tests Added very simple check that req buffer has enough space to fit configuration parameters. Shall be enough to reject packets with configuration size more than req buffer. Crash trace below [ 6069.659393] Unable to handle kernel paging request at virtual address 02000205 [ 6069.673034] Internal error: Oops: 805 [#1] PREEMPT ... [ 6069.727172] PC is at l2cap_add_conf_opt+0x70/0xf0 [l2cap] [ 6069.732604] LR is at l2cap_recv_frame+0x1350/0x2e78 [l2cap] ... [ 6070.030303] Backtrace: [ 6070.032806] [] (l2cap_add_conf_opt+0x0/0xf0 [l2cap]) from [] (l2cap_recv_frame+0x1350/0x2e78 [l2cap]) [ 6070.043823] r8:dc5d3100 r7:df2a91d6 r6:00000001 r5:df2a8000 r4:00000200 [ 6070.050659] [] (l2cap_recv_frame+0x0/0x2e78 [l2cap]) from [] (l2cap_recv_acldata+0x2bc/0x350 [l2cap]) [ 6070.061798] [] (l2cap_recv_acldata+0x0/0x350 [l2cap]) from [] (hci_rx_task+0x244/0x478 [bluetooth]) [ 6070.072631] r6:dc647700 r5:00000001 r4:df2ab740 [ 6070.077362] [] (hci_rx_task+0x0/0x478 [bluetooth]) from [] (tasklet_action+0x78/0xd8) [ 6070.087005] [] (tasklet_action+0x0/0xd8) from [] Signed-off-by: Andrei Emeltchenko Acked-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit aef7d97cc604309b66f6f45cce02cd734934cd4e Author: Marcel Holtmann Date: Sun Mar 21 05:27:45 2010 +0100 Bluetooth: Convert debug files to actually use debugfs instead of sysfs Some of the debug files ended up wrongly in sysfs, because at that point of time, debugfs didn't exist. Convert these files to use debugfs and also seq_file. This patch converts all of these files at once and then removes the exported symbol for the Bluetooth sysfs class. Signed-off-by: Marcel Holtmann commit 101545f6fef4a0a3ea8daf0b5b880df2c6a92a69 Author: Marcel Holtmann Date: Mon Mar 15 14:12:58 2010 -0700 Bluetooth: Fix potential bad memory access with sysfs files When creating a high number of Bluetooth sockets (L2CAP, SCO and RFCOMM) it is possible to scribble repeatedly on arbitrary pages of memory. Ensure that the content of these sysfs files is always less than one page. Even if this means truncating. The files in question are scheduled to be moved over to debugfs in the future anyway. Based on initial patches from Neil Brown and Linus Torvalds Reported-by: Neil Brown Signed-off-by: Marcel Holtmann commit 4227f62db38ed221a49908c224b9fa2b91dc797b Merge: 0641e4f c8406ea Author: David S. Miller Date: Thu Mar 18 21:18:19 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit c8406ea8fa1adde8dc5400127281d497bbcdb84a Author: Adel Gadllah Date: Sun Mar 14 19:16:25 2010 +0100 iwlwifi: Silence tfds_in_queue message Commit a239a8b47cc0e5e6d7416a89f340beac06d5edaa introduced a noisy message, that fills up the log very fast. The error seems not to be fatal (the connection is stable and performance is ok), so make it IWL_DEBUG_TX rather than IWL_ERR. Signed-off-by: Adel Gadllah Cc: stable@kernel.org Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 4fdec031b9169b3c17938b9c4168f099f457169c Author: Felix Fietkau Date: Fri Mar 12 04:02:43 2010 +0100 ath9k: fix BUG_ON triggered by PAE frames When I initially stumbled upon sequence number problems with PAE frames in ath9k, I submitted a patch to remove all special cases for PAE frames and let them go through the normal transmit path. Out of concern about crypto incompatibility issues, this change was merged instead: commit 6c8afef551fef87a3bf24f8a74c69a7f2f72fc82 Author: Sujith Date: Tue Feb 9 10:07:00 2010 +0530 ath9k: Fix sequence numbers for PAE frames After a lot of testing, I'm able to reliably trigger a driver crash on rekeying with current versions with this change in place. It seems that the driver does not support sending out regular MPDUs with the same TID while an A-MPDU session is active. This leads to duplicate entries in the TID Tx buffer, which hits the following BUG_ON in ath_tx_addto_baw(): index = ATH_BA_INDEX(tid->seq_start, bf->bf_seqno); cindex = (tid->baw_head + index) & (ATH_TID_MAX_BUFS - 1); BUG_ON(tid->tx_buf[cindex] != NULL); I believe until we actually have a reproducible case of an incompatibility with another AP using no PAE special cases, we should simply get rid of this mess. This patch completely fixes my crash issues in STA mode and makes it stay connected without throughput drops or connectivity issues even when the AP is configured to a very short group rekey interval. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 3f60ebc9d6291863652d564bacc430629271e6a9 Author: Grazvydas Ignotas Date: Thu Mar 11 17:45:26 2010 +0200 wl1251: fix potential crash In case debugfs does not init for some reason (or is disabled on older kernels) driver does not allocate stats.fw_stats structure, but tries to clear it later and trips on a NULL pointer: Unable to handle kernel NULL pointer dereference at virtual address 00000000 PC is at __memzero+0x24/0x80 Backtrace: [] (wl1251_debugfs_reset+0x0/0x30 [wl1251]) [] (wl1251_op_stop+0x0/0x12c [wl1251]) [] (ieee80211_stop_device+0x0/0x74 [mac80211]) [] (ieee80211_stop+0x0/0x4ac [mac80211]) [] (dev_close+0x0/0xb4) [] (dev_change_flags+0x0/0x184) [] (devinet_ioctl+0x0/0x704) [] (inet_ioctl+0x0/0x100) Add a NULL pointer check to fix this. Signed-off-by: Grazvydas Ignotas Acked-by: Kalle Valo Cc: stable@kernel.org Signed-off-by: John W. Linville commit d89b218b801fd93ea95880f1c7fde348cbcc51c5 Merge: 80a1860 bec68ff Author: Linus Torvalds Date: Sat Mar 13 14:50:18 2010 -0800 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: (108 commits) bridge: ensure to unlock in error path in br_multicast_query(). drivers/net/tulip/eeprom.c: fix bogus "(null)" in tulip init messages sky2: Avoid rtnl_unlock without rtnl_lock ipv6: Send netlink notification when DAD fails drivers/net/tg3.c: change the field used with the TG3_FLAG_10_100_ONLY constant ipconfig: Handle devices which take some time to come up. mac80211: Fix memory leak in ieee80211_if_write() mac80211: Fix (dynamic) power save entry ipw2200: use kmalloc for large local variables ath5k: read eeprom IQ calibration values correctly for G mode ath5k: fix I/Q calibration (for real) ath5k: fix TSF reset ath5k: use fixed antenna for tx descriptors libipw: split ieee->networks into small pieces mac80211: Fix sta_mtx unlocking on insert STA failure path rt2x00: remove KSEG1ADDR define from rt2x00soc.h net: add ColdFire support to the smc91x driver asix: fix setting mac address for AX88772 ipv6 ip6_tunnel: eliminate unused recursion field from ip6_tnl{}. net: Fix dev_mc_add() ... commit c32da02342b7521df25fefc2ef20aee0e61cf887 Merge: dca1d9f 318ae2e Author: Linus Torvalds Date: Fri Mar 12 16:04:50 2010 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (56 commits) doc: fix typo in comment explaining rb_tree usage Remove fs/ntfs/ChangeLog doc: fix console doc typo doc: cpuset: Update the cpuset flag file Fix of spelling in arch/sparc/kernel/leon_kernel.c no longer needed Remove drivers/parport/ChangeLog Remove drivers/char/ChangeLog doc: typo - Table 1-2 should refer to "status", not "statm" tree-wide: fix typos "ass?o[sc]iac?te" -> "associate" in comments No need to patch AMD-provided drivers/gpu/drm/radeon/atombios.h devres/irq: Fix devm_irq_match comment Remove reference to kthread_create_on_cpu tree-wide: Assorted spelling fixes tree-wide: fix 'lenght' typo in comments and code drm/kms: fix spelling in error message doc: capitalization and other minor fixes in pnp doc devres: typo fix s/dev/devm/ Remove redundant trailing semicolons from macros fix typo "definetly" -> "definitely" in comment tree-wide: s/widht/width/g typo in comments ... Fix trivial conflict in Documentation/laptops/00-INDEX commit dee60269f0fe90927ce5095eef3a8723bbb9c53e Merge: 51f5f8c 1382c71 Author: John W. Linville Date: Wed Mar 10 16:34:38 2010 -0500 Merge branch 'wireless-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 51f5f8ca446d4c59041b9b6995821e13208897ea Author: Eric Dumazet Date: Wed Mar 10 17:13:36 2010 +0100 mac80211: Fix memory leak in ieee80211_if_write() Fix memory leak and use kmalloc() instead of kzalloc() as we are going to overwrite the allocated buffer. Signed-off-by: Eric Dumazet Signed-off-by: John W. Linville commit 2a13052fe495948e572839e514e0e0cd236c50b0 Author: Juuso Oikarinen Date: Tue Mar 9 14:25:02 2010 +0200 mac80211: Fix (dynamic) power save entry Currently hardware with !IEEE80211_HW_PS_NULLFUNC_STACK and IEEE80211_HW_REPORTS_TX_ACK_STATUS will never enter PSM due to the conditions in the power save entry functions. Fix those conditions. Signed-off-by: Juuso Oikarinen Cc: stable@kernel.org Signed-off-by: John W. Linville commit 41093167ec6c1854903a4bc38a37b5740c028984 Author: Zhu Yi Date: Tue Mar 9 16:05:31 2010 +0800 ipw2200: use kmalloc for large local variables Fixed below compiler warning: drivers/net/wireless/ipw2x00/ipw2200.c: In function ‘ipw_load_firmware’: drivers/net/wireless/ipw2x00/ipw2200.c:3260: warning: the frame size of 1168 bytes is larger than 1024 bytes Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5f13bfac0718ce6f83ecba3755f224c3790e8d66 Author: Bruno Randolf Date: Tue Mar 9 16:56:10 2010 +0900 ath5k: read eeprom IQ calibration values correctly for G mode we read the IQ correction values (i_cal and q_cal) for G mode from a wrong location (the same shifts as for A mode is applied which is incorrect). use correct locations, matching the docs and HAL sources. also we should write IQ correction only when we have that information in the EEPROM, starting from version 4. also write it in the same way as we do in the periodic recalibration (enable last), just to be sure. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 86415d43efd4f7093979cfa8a80232114266f1a4 Author: Bruno Randolf Date: Tue Mar 9 16:56:05 2010 +0900 ath5k: fix I/Q calibration (for real) I/Q calibration was completely broken, resulting in a high number of CRC errors on received packets. before i could see around 10% to 20% CRC errors, with this patch they are between 0% and 3%. 1.) the removal of the mask in commit "ath5k: Fix I/Q calibration (f1cf2dbd0f798b71b1590e7aca6647f2caef1649)" resulted in no mask beeing used when writing the I/Q values into the register. additional errors in the calculation of the values (see 2.) resulted too high numbers, exceeding the masks, so wrong values like 0xfffffffe were written. to be safe we should always use the bitmask when writing parts of a register. 2.) using a (s32) cast for q_coff is a wrong conversion to signed, since we convert to a signed value later by substracting 128. this resulted in too low numbers for Q many times, which were limited to -16 by the boundary check later on. 3.) checked everything against the HAL sources and took over comments and minor optimizations from there. 4.) we can't use ENABLE_BITS when we want to write a number (the number can contain zeros). also always write the correction values first and set ENABLE bit last, like the HAL does. Signed-off-by: Bruno Randolf Cc: stable@kernel.org Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit a3b980fd1391e75068ae25f3817728b27bfdb04c Author: Bruno Randolf Date: Tue Mar 9 16:55:33 2010 +0900 ath5k: fix TSF reset to reset the TSF, AR5K_BEACON_RESET_TSF has to be 1, not 0. also we have a function for that so use it. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 8bd8beab49fec3f7d014c328641bd94de3df744b Author: Bruno Randolf Date: Tue Mar 9 16:55:23 2010 +0900 ath5k: use fixed antenna for tx descriptors when using a fixed antenna we should use the antenna number in all tx descriptors, otherwise the hardware will sometimes send the frame out on the other antenna. it seems like the hardware does not always respect the default antenna and diversity settings (esp. AR5K_STA_ID1_DEFAULT_ANTENNA). also i would like to note that antenna diversity does not always work correctly on 5414 (at least) when only one antenna is connected: for example all frames might be received on antenna A but still the HW tries to send on antenna B some times, causing packet loss. this is both verified with the antenna statistics output of the previous patch and a spectrum analyzer. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 8e59340e4fb65cfd748eaa1e23db057c52520f35 Author: Zhu Yi Date: Mon Mar 8 13:18:03 2010 +0800 libipw: split ieee->networks into small pieces The ieee->networks consists of 128 struct libipw_network entries. If we allocate this chunk of memory altogether, it ends up with an order 4 page allocation. High order page allocation is likely to fail on system high load. This patch splits the big chunk memory allocation into small pieces, each is 344 bytes, allocates them with 128 times. The patch fixed bug http://bugzilla.kernel.org/show_bug.cgi?id=14989 Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 38a679a52be13d5a0c766597ab823e06688d6e8e Author: Jouni Malinen Date: Sat Mar 6 18:35:08 2010 +0200 mac80211: Fix sta_mtx unlocking on insert STA failure path Commit 34e895075e21be3e21e71d6317440d1ee7969ad0 introduced sta_mtx locking into sta_info_insert() (now sta_info_insert_rcu), but forgot to unlock this mutex on one of the error paths. Fix this by adding the missing mutex_unlock() call for the case where STA insert fails due to an entry existing already. This may happen at least in AP mode when a STA roams between two BSSes (vifs). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit e5a9a35cb9c0d92d7c986cb3696fb794be100087 Author: Helmut Schaa Date: Fri Mar 5 17:44:22 2010 +0100 rt2x00: remove KSEG1ADDR define from rt2x00soc.h Remove the KSEG1ADDR define from rt2x00soc.h as it redefines and covers the correct one from the arch/mips/include/asm/addrspace.h. Otherwise the driver oopses on the target platform (Ralink rt3050 board). Signed-off-by: Helmut Schaa Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 1382c71c764540880d35485b033a44ce104d8e2e Author: Reinette Chatre Date: Thu Feb 25 10:02:19 2010 -0800 Revert "iwlwifi: Send broadcast probe request only when asked to" This reverts commit 21b2d8bd2f0d4e0f21ade147fd193c8b9c1fd2b9. As explained by Johannes: When we build a probe request frame in the buffer with the SSID, we could arrive over the limit of 200 bytes. When we build it in the buffer without the SSID (wildcard) we don't arrive over 200 bytes, but the ucode still allows direct probe in addition because it has an internal buffer that is larger when it inserts the SSID... Signed-off-by: Reinette Chatre commit 1d79e53c56afe0826a311c3bc1653ad938166c22 Author: Reinette Chatre Date: Fri Feb 26 11:01:36 2010 -0800 iwl3945: fix memory corruption Recent patch "iwlwifi: move 3945 clip groups to 3945 data" exposed a memory corruption problem. When initializing the clip groups the code was mistakenly using the iwlagn rate count, not the 3945 rate count. This resulted in more memory being written than was allocated. "iwlwifi: move 3945 clip groups to 3945 data" moved the location where the clip groups are stored and the impact is now severe in that the number of configured TX queues is modified. Previously the "temperature" field was overwritten, which did not seem to affect the operation. Fix this one instance where wrong rate count was used. I also noticed one more location where the iwlagn rate count was used to index an iwl3945 array, fix this. I also modified one location that modified the iwlagn rate count to obtain the iwl3945 rate count ... just use the iwl3945 rate count directly. This fixes http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2165 and http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2168 Signed-off-by: Reinette Chatre commit 318ae2edc3b29216abd8a2510f3f80b764f06858 Merge: 25cf84c 3e58974 Author: Jiri Kosina Date: Mon Mar 8 16:55:37 2010 +0100 Merge branch 'for-next' into for-linus Conflicts: Documentation/filesystems/proc.txt arch/arm/mach-u300/include/mach/debug-macro.S drivers/net/qlge/qlge_ethtool.c drivers/net/qlge/qlge_main.c drivers/net/typhoon.c commit 28812fe11a21826ba4c97c6c7971a619987cd912 Author: Andi Kleen Date: Tue Jan 5 12:48:07 2010 +0100 driver-core: Add attribute argument to class_attribute show/store Passing the attribute to the low level IO functions allows all kinds of cleanups, by sharing low level IO code without requiring an own function for every piece of data. Also drivers can extend the attributes with own data fields and use that in the low level function. This makes the class attributes the same as sysdev_class attributes and plain attributes. This will allow further cleanups in drivers. Full tree sweep converting all users. Signed-off-by: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit 984b3f5746ed2cde3d184651dabf26980f2b66e5 Author: Akinobu Mita Date: Fri Mar 5 13:41:37 2010 -0800 bitops: rename for_each_bit() to for_each_set_bit() Rename for_each_bit to for_each_set_bit in the kernel source tree. To permit for_each_clear_bit(), should that ever be added. The patch includes a macro to map the old for_each_bit() onto the new for_each_set_bit(). This is a (very) temporary thing to ease the migration. [akpm@linux-foundation.org: add temporary for_each_bit()] Suggested-by: Alexey Dobriyan Suggested-by: Andrew Morton Signed-off-by: Akinobu Mita Cc: "David S. Miller" Cc: Russell King Cc: David Woodhouse Cc: Artem Bityutskiy Cc: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12c3400a84742f8bb0e4edc822e9ccba58781e0c Author: Jiri Pirko Date: Thu Mar 4 03:32:16 2010 -0800 rndis_wlan: correct multicast_list handling V3 My previous patch (655ffee284dfcf9a24ac0343f3e5ee6db85b85c5) added locking in a bad way. Because rndis_set_oid can sleep, there is need to prepare multicast addresses into local buffer under netif_addr_lock first, then call rndis_set_oid outside. This caused reorganizing of the whole function. Signed-off-by: Jiri Pirko Reported-by: Jussi Kivilinna Signed-off-by: David S. Miller commit e5c1a0aa00ce94ab0cd669bb290c3ae4657242a3 Merge: 1cd4efd 31f66be Author: David S. Miller Date: Wed Mar 3 22:42:54 2010 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 31f66be44a657a14e0ab3536e4877c66c9ce031e Author: Helmut Schaa Date: Wed Mar 3 17:42:55 2010 +0100 rt2x00: Export rt2x00soc_probe from rt2x00soc Export rt2x00soc_probe from rt2x00soc as it is used in rt2800pci. Otherwise loading rt2800pci gives "rt2800pci: Unknown symbol rt2x00soc_probe". Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 4fa004373133ece3d9b1c0a7e243b0e53760b165 Author: Sujith Date: Mon Mar 1 14:42:57 2010 +0530 mac80211: Fix HT rate control configuration Handling HT configuration changes involved setting the channel with the new HT parameters and then issuing a rate_update() notification to the driver. This behavior changed after the off-channel changes. Now, the channel is not updated with the new HT params in enable_ht() - instead, it is now done when the scan work terminates. This results in the driver depending on stale information, defaulting to non-HT mode always. Fix this by passing the new channel type to the driver. Cc: stable@kernel.org Signed-off-by: Sujith Signed-off-by: John W. Linville commit d4612cb86ed8db8956b6b19435f8a30de6c67ffe Author: Marcel Holtmann Date: Tue Mar 2 15:48:23 2010 +0000 Bluetooth: Use single_open() for inquiry cache within debugfs The inquiry cache information in debugfs should be using seq_file support and not allocating memory on the stack for the string. Since the usage of these information is really seldom, using single_open() for it is good enough. Signed-off-by: Marcel Holtmann Signed-off-by: David S. Miller commit b08dfd0435333818a03b38867c556ebcbb3abc02 Author: Johannes Berg Date: Fri Jan 29 11:54:56 2010 -0800 iwlwifi: load firmware asynchronously before mac80211 registration At the wireless summit in Portland we discussed a way of loading firmware asynchronously from ->probe() before registration to mac80211, in order to register with the wireless subsystems with complete information in cases where firmware is required to know parameters. This is not yet the case in iwlwifi, but for some new features we're working on it will be the case since those will only be supported by new firmware images. Hence, to start with, convert iwlwifi to load firmware asynchronously from probe, unbinding the device when firmware loading fails, and only registering with the wireless subsystems after firmware has been loaded successfully. Future patches will hook into this to register the new firmware capabilities, depending on the firmware API version. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 535765179fd4e8af26b69d2240d7ec33702a370a Author: Johannes Berg Date: Wed Dec 23 13:15:30 2009 +0100 ar9170: load firmware asynchronously This converts ar9170 to load firmware asynchronously out of ->probe() and only register with mac80211 when all firmware has been loaded successfully. If, on the other hand, any firmware fails to load, it will now unbind from the device. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6e93d7195e75741e9ebe23ca5591977d0b39ecc0 Author: Helmut Schaa Date: Tue Mar 2 16:34:49 2010 +0100 rt2x00: fix rt2800pci compilation with SoC Compiling rt2800pci with CONFIG_RT2800PCI_SOC fails with "... rt2880pci.c: error: incompatible type for argument 2 of 'rt2x00soc_probe'". Fix this by using &rt2800pci_ops instead of rt2800pci_ops. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 51b2853fd91a3c8fd9f3adc1549569d2c1dc2a2d Author: Bryan Polk Date: Mon Mar 1 12:23:28 2010 -0500 rt2x00: Add USB ID for CEIVA adapter to rt73usb This adds support for CEIVA USB wireless adapters to the rt73usb driver. Signed-off-by: Bryan Polk Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 9c87ba6734422034fccb938da1039ed63da1395c Author: Jouni Malinen Date: Sun Feb 28 12:13:46 2010 +0200 mac80211: Fix reassociation processing (within ESS roaming) Commit e1dd33f60ced091114e4aacf141e0d03b88d3e13 changed cfg80211 to allow association commands while in associated state to enable support for roaming within an ESS. However, this was not enough to resolve all cases with mac80211 which needs some additional handling of the reassociation case to clear internal state with the BSS that was in use previously. This patch makes ieee80211_mgd_assoc() accept a valid reassociation command and clean the association state with the previous BSS. This fixes roaming between BSSes in an ESS when using wpa_supplicant with -Dnl80211. Signed-off-by: Jouni Malinen Cc: stable@kernel.org Signed-off-by: John W. Linville commit a9f042cbe5284f34ccff15f3084477e11b39b17b Author: Ming Lei Date: Sun Feb 28 00:56:24 2010 +0800 ath9k: fix lockdep warning when unloading module Since txq->axq_lock may be hold in softirq context, it must be acquired with spin_lock_bh() instead of spin_lock() if softieq is enabled. The patch fixes the lockdep warning below when unloading ath9k modules. ================================= [ INFO: inconsistent lock state ] 2.6.33-wl #12 --------------------------------- inconsistent {IN-SOFTIRQ-W} -> {SOFTIRQ-ON-W} usage. rmmod/3642 [HC0[0]:SC0[0]:HE1:SE1] takes: (&(&txq->axq_lock)->rlock){+.?...}, at: [] ath_tx_node_cleanup+0x62/0x180 [ath9k] {IN-SOFTIRQ-W} state was registered at: [] __lock_acquire+0x2f6/0xd35 [] lock_acquire+0xcd/0xf1 [] _raw_spin_lock_bh+0x3b/0x6e [] spin_lock_bh+0xe/0x10 [ath9k] [] ath_tx_tasklet+0xcd/0x391 [ath9k] [] ath9k_tasklet+0x70/0xc8 [ath9k] [] tasklet_action+0x8c/0xf4 [] __do_softirq+0xf8/0x1cd [] call_softirq+0x1c/0x30 [] do_softirq+0x4b/0xa3 [] irq_exit+0x4a/0x8c [] do_IRQ+0xac/0xc3 [] ret_from_intr+0x0/0x16 [] cpuidle_idle_call+0x9e/0xf8 [] cpu_idle+0x62/0x9d [] rest_init+0x7e/0x80 [] start_kernel+0x3e8/0x3f3 [] x86_64_start_reservations+0xa7/0xab [] x86_64_start_kernel+0xf8/0x107 irq event stamp: 42037 hardirqs last enabled at (42037): [] _raw_spin_unlock_irqrestore+0x47/0x56 hardirqs last disabled at (42036): [] _raw_spin_lock_irqsave+0x2b/0x88 softirqs last enabled at (42000): [] spin_unlock_bh+0xe/0x10 [ath9k] softirqs last disabled at (41998): [] _raw_spin_lock_bh+0x18/0x6e other info that might help us debug this: 4 locks held by rmmod/3642: #0: (rtnl_mutex){+.+.+.}, at: [] rtnl_lock+0x17/0x19 #1: (&wdev->mtx){+.+.+.}, at: [] cfg80211_netdev_notifier_call+0x28d/0x46d [cfg80211] #2: (&ifmgd->mtx){+.+.+.}, at: [] ieee80211_mgd_deauth+0x3f/0x17e [mac80211] #3: (&local->sta_mtx){+.+.+.}, at: [] sta_info_destroy_addr+0x2b/0x5e [mac80211] stack backtrace: Pid: 3642, comm: rmmod Not tainted 2.6.33-wl #12 Call Trace: [] valid_state+0x178/0x18b [] ? save_stack_trace+0x2f/0x4c [] ? check_usage_backwards+0x0/0x88 [] mark_lock+0x113/0x230 [] __lock_acquire+0x36a/0xd35 [] ? native_sched_clock+0x2d/0x5f [] ? ath_tx_node_cleanup+0x62/0x180 [ath9k] [] lock_acquire+0xcd/0xf1 [] ? ath_tx_node_cleanup+0x62/0x180 [ath9k] [] ? trace_hardirqs_off+0xd/0xf [] _raw_spin_lock+0x36/0x69 [] ? ath_tx_node_cleanup+0x62/0x180 [ath9k] [] ath_tx_node_cleanup+0x62/0x180 [ath9k] [] ? trace_hardirqs_on+0xd/0xf [] ath9k_sta_remove+0x22/0x26 [ath9k] [] __sta_info_destroy+0x1ad/0x38c [mac80211] [] sta_info_destroy_addr+0x3e/0x5e [mac80211] [] ieee80211_set_disassoc+0x175/0x180 [mac80211] [] ieee80211_mgd_deauth+0x58/0x17e [mac80211] [] ? __mutex_lock_common+0x37f/0x3a4 [] ? cfg80211_netdev_notifier_call+0x28d/0x46d [cfg80211] [] ieee80211_deauth+0x1e/0x20 [mac80211] [] __cfg80211_mlme_deauth+0x130/0x13f [cfg80211] [] ? cfg80211_netdev_notifier_call+0x28d/0x46d [cfg80211] [] ? trace_hardirqs_off+0xd/0xf [] __cfg80211_disconnect+0x111/0x189 [cfg80211] [] cfg80211_netdev_notifier_call+0x2ce/0x46d [cfg80211] [] notifier_call_chain+0x37/0x63 [] raw_notifier_call_chain+0x14/0x16 [] call_netdevice_notifiers+0x1b/0x1d [] dev_close+0x6a/0xa6 [] rollback_registered_many+0xb6/0x2f4 [] unregister_netdevice_many+0x1b/0x66 [] ieee80211_remove_interfaces+0xc5/0xd0 [mac80211] [] ieee80211_unregister_hw+0x47/0xe8 [mac80211] [] ath9k_deinit_device+0x7a/0x9b [ath9k] [] ath_pci_remove+0x38/0x76 [ath9k] [] pci_device_remove+0x2d/0x51 [] __device_release_driver+0x7b/0xd1 [] driver_detach+0x98/0xbe [] bus_remove_driver+0x94/0xb7 [] driver_unregister+0x6c/0x74 [] pci_unregister_driver+0x46/0xad [] ath_pci_exit+0x15/0x17 [ath9k] [] ath9k_exit+0xe/0x2f [ath9k] [] sys_delete_module+0x1c7/0x236 [] ? retint_swapgs+0x13/0x1b [] ? trace_hardirqs_on_caller+0x119/0x144 [] ? audit_syscall_entry+0x11e/0x14a [] system_call_fastpath+0x16/0x1b wlan1: deauthenticating from 00:23:cd:e1:f9:b2 by local choice (reason=3) PM: Removing info for No Bus:wlan1 cfg80211: Calling CRDA to update world regulatory domain PM: Removing info for No Bus:rfkill2 PM: Removing info for No Bus:phy1 ath9k 0000:16:00.0: PCI INT A disabled Signed-off-by: Ming Lei Signed-off-by: John W. Linville commit 86baf712295a00d664da8566186b67041c89b15b Author: Dan Carpenter Date: Sat Feb 27 09:12:34 2010 +0300 zd1211rw: fix potential array underflow The first chunk fixes a debugging assert to print a warning about array underflows. The second chunk corrects a potential array underflow. I also removed an assert in the second chunk because it can no longer happen. Signed-off-by: Dan Carpenter Acked-by: Benoit Papillault Signed-off-by: John W. Linville commit 3082a2b7b1af1b1508c1c3fa589566064f926f40 Author: Matthew Garrett Date: Tue Feb 16 16:36:25 2010 -0500 rfkill: Add support for KEY_RFKILL Add support for handling KEY_RFKILL in the rfkill input module. This simply toggles the state of all rfkill devices. The comment in rfkill.h is also updated to reflect that RFKILL_TYPE_ALL may be used inside the kernel. Signed-off-by: Matthew Garrett Acked-by: Marcel Holtmann Signed-off-by: John W. Linville commit 6510b8917948283005a125c8337d3312a8a0561c Author: Stanislaw Gruszka Date: Fri Feb 26 15:10:28 2010 +0100 airo: return from set_wep_key() when key length is zero Even if keylen == 0 is a bug and should not really happen, better avoid possibility of passing bad value to firmware. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 47871889c601d8199c51a4086f77eebd77c29b0b Merge: c16cc0b 30ff056 Author: David S. Miller Date: Sun Feb 28 19:23:06 2010 -0800 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ Conflicts: drivers/firmware/iscsi_ibft.c commit 655ffee284dfcf9a24ac0343f3e5ee6db85b85c5 Author: Jiri Pirko Date: Sat Feb 27 07:35:45 2010 +0000 wireless: convert to use netdev_for_each_mc_addr also added missed locking in rndis_wlan.c Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 46976c042ba1ff59253f2f7a513099175c24794e Merge: 024c378 f6e623a6 Author: David S. Miller Date: Sun Feb 28 00:57:28 2010 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6 commit f6e623a65cb301088bd04794043e82bfc996c512 Author: Johann Felix Soden Date: Mon Feb 15 22:23:48 2010 +0100 Bluetooth: Fix out of scope variable access in hci_sock_cmsg() The pointer data can point to the variable ctv. Access to data happens when ctv is already out of scope. Signed-off-by: Johann Felix Soden Signed-off-by: Marcel Holtmann commit 705e5711b61e9622b2d88850f38c219014aa0780 Author: Stephen Coe Date: Tue Feb 16 11:29:44 2010 -0500 Bluetooth: Add SCO fallback for unsupported feature error The Bluetooth SIG PTS test case: TC_AG_ACS_BV_10_I, rejects eSCO with "Unsupported Feature or Parameter Value" (0x11). This patch adds case for SCO fallback. 2007-09-20 12:20:37.787747 > HCI Event: Number of Completed Packets (0x13) plen 5 handle 38 packets 1 2007-09-20 12:20:37.842154 < HCI Command: Setup Synchronous Connection (0x01|0x0028) plen 17 handle 38 voice setting 0x0060 2007-09-20 12:20:37.847037 > HCI Event: Command Status (0x0f) plen 4 Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1 2007-09-20 12:20:37.855233 > HCI Event: Max Slots Change (0x1b) plen 3 handle 38 slots 1 2007-09-20 12:20:39.913354 > HCI Event: Synchronous Connect Complete (0x2c) plen 17 status 0x11 handle 38 bdaddr 00:16:93:01:01:7A type eSCO Error: Unsupported Feature or Parameter Value 2007-09-20 12:20:39.922629 > HCI Event: Max Slots Change (0x1b) plen 3 handle 38 slots 5 2007-09-20 12:20:58.126886 < ACL data: handle 38 flags 0x02 dlen 8 L2CAP(d): cid 0x0041 len 4 [psm 0] 0000: 0b 53 01 b8 .S.. 2007-09-20 12:20:58.130138 > HCI Event: Number of Completed Packets (0x13) plen 5 handle 38 packets 1 Signed-off-by: Stephen Coe Signed-off-by: Marcel Holtmann commit 943da25d95c7e8fd8c39dbf09e030f5da46f5d85 Author: Marcel Holtmann Date: Sat Feb 13 02:28:41 2010 +0100 Bluetooth: Add controller types for BR/EDR and 802.11 AMP With the Bluetooth 3.0 specification and the introduction of alternate MAC/PHY (AMP) support, it is required to differentiate between primary BR/EDR controllers and 802.11 AMP controllers. So introduce a special type inside HCI device for differentiation. For now all AMP controllers will be treated as raw devices until an AMP manager has been implemented. Signed-off-by: Marcel Holtmann commit b914a250e7b390c713b36a9405a39c4c11abad80 Author: Marcel Holtmann Date: Mon Feb 8 16:47:04 2010 +0100 Bluetooth: Convert Marvell driver to use per adapter debugfs The debugfs support of the Marvell driver is buggy. It is limited to one controller per system. Fix this by using the controller specific debugfs directory as parent. Signed-off-by: Marcel Holtmann commit ca325f698996c1a0770a67f41e7dc97a007d8bc2 Author: Marcel Holtmann Date: Mon Feb 8 16:22:31 2010 +0100 Bluetooth: Convert inquiry cache to use debugfs instead of sysfs The output of the inquiry cache is only useful for debugging purposes and so move it into debugfs. Signed-off-by: Marcel Holtmann commit c13854cef4751000b968d4e8ac95796562d5b96f Author: Marcel Holtmann Date: Mon Feb 8 15:27:07 2010 +0100 Bluetooth: Convert controller hdev->type to hdev->bus The hdev->type is misnamed and should be actually hdev->bus instead. So convert it now. Signed-off-by: Marcel Holtmann commit 10f7891f998e84acfa31ac9c5a0fea052c39ecb8 Author: Dan Carpenter Date: Mon Feb 8 08:43:17 2010 +0300 Bluetooth: Add missing kfree() on error path in Atheros driver Add a couple kfree() calls on an error path. Signed-off-by: Dan Carpenter Signed-off-by: Marcel Holtmann commit 8978111e2d148f75bd5e329a14600feadc567381 Author: Márton Németh Date: Sun Jan 10 13:39:15 2010 +0100 Bluetooth: Make USB device id constant The id_table field of the struct usb_device_id is constant in so it is worth to make bcm203x_table also constant. The semantic match that finds this kind of pattern is as follows: (http://coccinelle.lip6.fr/) // @r@ disable decl_init,const_decl_init; identifier I1, I2, x; @@ struct I1 { ... const struct I2 *x; ... }; @s@ identifier r.I1, y; identifier r.x, E; @@ struct I1 y = { .x = E, }; @c@ identifier r.I2; identifier s.E; @@ const struct I2 E[] = ... ; @depends on !c@ identifier r.I2; identifier s.E; @@ + const struct I2 E[] = ...; // Signed-off-by: Márton Németh Cc: Julia Lawall Cc: cocci@diku.dk Signed-off-by: Marcel Holtmann commit 8e5b2308489dbca27c104fc6a557d4c9348552e5 Author: Peter Huewe Date: Tue Dec 22 09:34:20 2009 +0100 Bluetooth: Add __init/__exit macros to Marvell SDIO driver Trivial patch which adds the __init/__exit macros to the module_init/ module_exit functions of btmrvl_sdio.c driver. Signed-off-by: Peter Huewe Signed-off-by: Marcel Holtmann commit ce300c7ffa61165f9bfd16e511ee0cd4114977ab Merge: 8266d71 9e3bd91 Author: David S. Miller Date: Sat Feb 27 02:05:54 2010 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 9e3bd9190800e8209b4a3e1d724c35f0738dcad2 Author: Linus Torvalds Date: Fri Feb 26 10:34:27 2010 -0800 b43: fall back gracefully to PIO mode after fatal DMA errors This makes the b43 driver just automatically fall back to PIO mode when DMA doesn't work. The driver already told the user to do it, so rather than have the user reload the module with a new flag, just make the driver do it automatically. We keep the message as an indication that something is wrong, but now just automatically fall back to the hopefully working PIO case. (Some post-2.6.33 merge fixups by Larry Finger and yours truly... -- JWL) Signed-off-by: Linus Torvalds Signed-off-by: John W. Linville commit 0e0a228398cc967c922759be36c69d32e4f62701 Author: Juuso Oikarinen Date: Fri Feb 26 08:13:41 2010 +0200 mac80211: fix direct probe loop on ieee80211_work_purge If authentication has already been performed when the WLAN interface is stopped, (sometimes) the ieee80211_work_purge would corrupt some ieee80211_work-structures. The outcome is this (cleaned up): [ 2252.398681] WARNING: at net/mac80211/work.c:995 ieee80211_work_purge [ 2252.466430] Backtrace: [ 2252.529266] (ieee80211_work_purge+0x0/0xcc [mac80211]) [ 2252.546875] (ieee80211_stop+0x0/0x4c0 [mac80211]) Additionally, one would get this, going on regarless of the WLAN interface state, going on forever: [ 2252.859985] wlan0: direct probe to 00:90:4c:60:04:00 (try -996717525) [ 2253.055419] wlan0: direct probe to 00:90:4c:60:04:00 (try -996717524) [ 2253.250610] wlan0: direct probe to 00:90:4c:60:04:00 (try -996717523) [ 2253.446014] wlan0: direct probe to 00:90:4c:60:04:00 (try -996717522) [ 2253.641357] wlan0: direct probe to 00:90:4c:60:04:00 (try -996717521) Signed-off-by: Juuso Oikarinen Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit b446918b77c717a34eaa853dfab55f579d330551 Author: Helmut Schaa Date: Wed Feb 24 14:19:37 2010 +0100 mac80211: use listen interval 5 as default Currently if a driver does not set hw.max_listen_interval a listen interval of 1 is negotiated with the AP. Thus, the AP could drop buffered frames for us after just one beacon interval which can easily happen with the current powersave and scan implementation. To avoid this issue increase the default interval to 5 which should be a reasonable safe default. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 7bfbae10dc10a5c94a780d117a57e875d77e8e5a Author: Felix Fietkau Date: Wed Feb 24 04:43:05 2010 +0100 ath9k: disable RIFS search for AR91xx based chips While ath9k does not support RIFS yet, the ability to receive RIFS frames is currently enabled for most chipsets in the initvals. This is causing baseband related issues on AR9160 and AR9130 based chipsets, which can lock up under certain conditions. This patch fixes these issues by overriding the initvals, effectively disabling RIFS for all affected chipsets. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 08b2cb0f0613a444368eadca0b67c906d91ab007 Merge: be41f5c ab9bdc3 Author: John W. Linville Date: Fri Feb 26 16:58:26 2010 -0500 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit be41f5c7e3688a4555d7fbaa09578fd628bb4cdf Merge: 64463da 8961212 Author: John W. Linville Date: Fri Feb 26 16:58:18 2010 -0500 Merge branch 'wireless-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 64463da913bc8f791980ba28d93ac5e716ab9cc5 Merge: 4a6967b a120e91 Author: John W. Linville Date: Fri Feb 26 16:54:45 2010 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-core.h net/mac80211/rate.c commit 19bc291c99f018bd4f2c38bbf69144086dca903f Merge: 0448873 4a6967b Author: David S. Miller Date: Thu Feb 25 23:26:21 2010 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-core.h drivers/net/wireless/rt2x00/rt2800pci.c commit 04488734806948624dabc4514f96f14cd75b9a50 Merge: 54831a8 c4d4979 Author: David S. Miller Date: Thu Feb 25 23:22:42 2010 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit a85821fce2c100a6680511f9693b76f9717fbdee Merge: 10df38c 14ef2b0 Author: Linus Torvalds Date: Thu Feb 25 14:42:39 2010 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (41 commits) HID: usbhid: initialize interface pointers early enough HID: extend mask for BUTTON usage page HID: hid-ntrig: Single touch mode tap HID: hid-ntrig: multitouch cleanup and fix HID: n-trig: remove unnecessary tool switching HID: hid-ntrig add multi input quirk and clean up HID: usbhid: introduce timeout for stuck ctrl/out URBs HID: magicmouse: coding style and probe failure fixes HID: remove MODULE_VERSION from new drivers HID: fix up Kconfig entry for MagicMouse HID: add a device driver for the Apple Magic Mouse. HID: Export hid_register_report HID: Support for MosArt multitouch panel HID: add pressure support for the Stantum multitouch panel HID: fixed bug in single-touch emulation on the stantum panel HID: fix typo in error message HID: add mapping for "AL Network Chat" usage HID: use multi input quirk for TouchPack touchscreen HID: make full-fledged hid-bus drivers properly selectable HID: make Wacom modesetting failures non-fatal ... commit 89612124d6d62230043ebd827a2b54ea5ea5280c Author: Abhijeet Kolekar Date: Fri Feb 19 11:49:49 2010 -0800 iwlwifi: increase command buffer size Increase the buffer size for commands with "huge" bit set. This has been recently observed for 6050 cards where for even with huge bit set few commands were not properly allocated memory with the command overwriting the buffer allocated for it.. Also add a check to see if command size exceeds the maximum allowable size. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre commit ab9bdc34d68dafc6fea0ba733231f1c9696ce9c4 Author: Reinette Chatre Date: Tue Feb 23 14:02:52 2010 -0800 Revert "iwlwifi: Monitor and recover the aggregation TX flow failure" This reverts commit 1db5950f1d0b82e07371b211a48317b8972da063. The goal of "iwlwifi: Monitor and recover the aggregation TX flow failure" is to first detect when data transmission stalls and then to recover from this situation with a reset of the radio or the firmware, depending on how bad the transmission failures are. Unfortunately we have found that this change causes excessive resets with its current detection algorithm. It also performs its recovery action when none is really needed, like when we are not associated. Revert this change until the issues have been addressed. Signed-off-by: Reinette Chatre commit 0ddf477b8a9b02412a6cabd51c486998811c7dd1 Author: Jiri Pirko Date: Sat Feb 20 00:13:58 2010 +0000 net: convert multiple drivers to use netdev_for_each_mc_addr, part3 Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 4a6967b88af02eebeedfbb91bc09160750225bb5 Author: Johannes Berg Date: Fri Feb 19 19:18:37 2010 +0100 mwl8k: convert to new station add/remove callbacks This converts mwl8k to use the new station add/remove callbacks instead of using the old sta_notify callback. The new callbacks can sleep, so a lot of code can be removed now. Signed-off-by: Johannes Berg Acked-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 4ca778605cfec53d8a689f0b57babb93b030c784 Author: Johannes Berg Date: Fri Feb 19 19:06:56 2010 +0100 ath9k: convert to new station add/remove callbacks This converts ath9k to use the new station add/remove callbacks instead of using the old sta_notify callback. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1d669cbf52a01490c14a999daa978e0fa00b494d Author: Johannes Berg Date: Fri Feb 19 19:06:55 2010 +0100 mac80211_hwsim: convert to new station add/remove callbacks This converts mac80211_hwsim to use the new station add/remove callbacks instead of using the old sta_notify callback. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 17f6f054fec57b1bd5c8333bc40b1f3b2b7941aa Author: Johannes Berg Date: Fri Feb 19 19:06:54 2010 +0100 p54: convert to new station add/remove callbacks This converts p54 to use the new station add/remove callbacks instead of using the old sta_notify callback. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3e60f8607e8072e8b554e9ccb8a4691c580adae4 Author: Johannes Berg Date: Fri Feb 19 19:06:53 2010 +0100 ar9170: convert to new station add/remove callbacks This converts ar9170 to use the new station add/remove callbacks instead of using the old sta_notify callback. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d8728ee919282c7b01b65cd479ec1e2a9c5d3ba8 Author: Felix Fietkau Date: Fri Feb 19 18:21:42 2010 +0100 ath9k: fix beacon timer restart after a card reset In AP mode, ath_beacon_config_ap only restarts the timer if a TSF restart is requested. Apparently this was added, because this function unconditionally sets the flag for TSF reset. The problem with this is, that ath9k_hw_reset() clobbers the timer registers (specified in the initvals), thus effectively disabling the SWBA interrupt whenever a card reset without TSF reset is issued (happens in a few places in the code). This patch fixes ath_beacon_config_ap to only issue the TSF reset flag when necessary, but reinitialize the timer unconditionally. Tests show, that this is enough to keep the SWBA interrupt going after a call to ath_reset() Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 528c3126a98e75f47fc9fa11b243c82a59271d0d Author: Wey-Yi Guy Date: Thu Feb 18 22:03:07 2010 -0800 iwlwifi: add debugfs to monitor force reset parameters Adding debugfs file to monitor the counters and other information related to "force_reset" request. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8a472da431998b7357e6dc562e79a3061ed56cad Author: Wey-Yi Guy Date: Thu Feb 18 22:03:06 2010 -0800 iwlwifi: separated time check for different type of force reset Use different timing duration check for different type of force reset, force reset request can come from different source and based on different reason; one type of reset request should not block other type of reset request. Adding structure to keep track of different force reset request. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d5755939e810f38c969a1d1b0effb2b75095b94e Author: Abhijeet Kolekar Date: Thu Feb 18 22:03:05 2010 -0800 iwlwifi: indicate calib version for 6050 series Indicate calibration version to uCode Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d2dfe6df755abb365aa3e2e67d88bda3cce5fd12 Author: Reinette Chatre Date: Thu Feb 18 22:03:04 2010 -0800 iwlwifi: enable serialization of synchronous commands Until now it was only possible to have one synchronous command running at any time. If a synchronous command is in progress when a second request arrives then the second command will fail. Create a new mutex specific for this purpose to only allow one synchronous command at a time, but enable other commands to wait instead of fail if a synchronous command is in progress. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4a6547c748229ba0425713b4adeb0f2d4000da9e Author: Reinette Chatre Date: Thu Feb 18 22:03:02 2010 -0800 iwl3945: remove STATUS macros from header iwl3945 includes iwl-core.h in which these STATUS flags are already defined. This also removes a potential confusing definition with iwlcore using STATUS_MODE_PENDING with value 18 and iwl3945 defining (but not using) STATUS_CONF_PENDING for value 18. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5c0ba62fd4b2dce08055a89600f1d834f9f0fe9e Author: Felix Fietkau Date: Fri Feb 19 01:46:36 2010 +0100 ath9k: fix rate control fallback rate selection When selecting the tx fallback rate, rc.c used a separate variable 'nrix' for storing the next rate index, however it did not use that as reference for further rate index lowering. Because of that, it ended up reusing the same rate for multiple multi-rate retry stages, thus decreasing delivery probability under changing link conditions. This patch removes the separate (unnecessary) variable and fixes fallback the way it was intended to work. This should result in increased throughput and better link stability. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit c332a4b8eed69a6853dbdbdf16696a45b93e2bf8 Author: Teemu Paasikivi Date: Thu Feb 18 13:25:57 2010 +0200 wl1271: Added alloc and free hw functions Moved allocation and freeing of context structure of the driver to separate functions from probe and remove functions. Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 9b28072220d56fda3249cb7e4e164038b456414d Author: Teemu Paasikivi Date: Thu Feb 18 13:25:56 2010 +0200 wl1271: Added IO reset and init functions Added reset and init functions to IO layer of the driver. Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 7b048c52d7283ebf07c826a45c631a6ba225c057 Author: Teemu Paasikivi Date: Thu Feb 18 13:25:55 2010 +0200 wl1271: Renamed IO functions In preparation for integration of SDIO implementation renamed some IO functions from wl1271_spi_* form to wl1271_*. Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 521a5b2137cc15430e3b1ea4c148663d1dbe077f Author: Teemu Paasikivi Date: Thu Feb 18 13:25:54 2010 +0200 wl1271: Moved common IO functions from wl271_spi.c to wl1271_io.c In prepraration for integration of SDIO implementation moved some IO functions common for SPI and SDIO to separate file. Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit c8c90873520ef4c201cfd03b4892ca8bbf551e2e Author: Kalle Valo Date: Thu Feb 18 13:25:53 2010 +0200 wl1271: add testmode support Testmode will be used to send PLT (Production Line Testing) commands from user space. Signed-off-by: Kalle Valo Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 1937e742639c03a6fe77239c3003ce9602302117 Author: Juuso Oikarinen Date: Thu Feb 18 13:25:52 2010 +0200 wl1271: Fix beacon filter table configuration The beacon filter table configuration ACX structure had certain elements reversed, resulting in firmware instability in regard of the feature. Fix the structure. Signed-off-by: Juuso Oikarinen Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit 8bf29b0eb3ba38c8cf55e60976f124672cda7ab2 Author: Juuso Oikarinen Date: Thu Feb 18 13:25:51 2010 +0200 wl1271: Fix ad-hoc SSID update If re-configuring the SSID while ad-hoc was already enabled, the beacon template would be properly updated, but the SSID passed in the CMD_JOIN would not - hence filtering etc would not work properly. Signed-off-by: Juuso Oikarinen Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit ee444cf0501183df1640cd35bebd4250989bfe99 Author: Juuso Oikarinen Date: Thu Feb 18 13:25:50 2010 +0200 wl1271: Fix WEP key handling WEP key index handling was broken: the default key when using key 0 was never specified to the FW, and if using other default than 0, it would be set on the TX path for every single TX'd frame. Signed-off-by: Juuso Oikarinen Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit fddc7dd7deaa400db314b214d92de95f865a8af0 Author: Juuso Oikarinen Date: Thu Feb 18 13:25:49 2010 +0200 wl1271: Fix key-remove error The new firmware does not allow removal of unicast keys - they will be automatically removed on the next CMD_JOIN. Signed-off-by: Juuso Oikarinen Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit 6c71b0ea761da416af54df4f72f48e71050cc012 Author: Juuso Oikarinen Date: Thu Feb 18 13:25:48 2010 +0200 wl1271: Optimized RX path packet retrieval Instead of acking RX packets read from the FW once all (of several possible) buffered packets are retrieved, ack packets one by one as they are read. This enables the FW to start receiving more packets from the network while the host read operation is still ongoing. Signed-off-by: Juuso Oikarinen Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit c82c1dde3024715c4cd8b6dd8cc7c75d8d7d93c8 Author: Kalle Valo Date: Thu Feb 18 13:25:47 2010 +0200 wl1271: wakeup chip in op_conf_tx() elp_wakeup() was missing in op_conf_tx() which caused wakeup problems in power save. I forgot to add this part when porting the patch from wl1251. Signed-off-by: Kalle Valo Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit e2e77b5ffb14211306ee093f01230f6ec69fab30 Author: Juuso Oikarinen Date: Thu Feb 18 13:25:46 2010 +0200 wl1271: Fix random MAC address setting If reverting to a random MAC address, the driver would not update it to the NVS file, and hence the firmware frame filtering would not work properly. So update the randomized MAC address to the NVS image. Signed-off-by: Juuso Oikarinen Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit 6f8434a754894f5743efc281fda3925ecac258b9 Author: Luciano Coelho Date: Thu Feb 18 13:25:45 2010 +0200 wl1271: skip 3 unused bytes from the NVS Our NVS uploading mechanism had a bug that was causing it to pass three extra zeros at the start of the NVS. This may be a problem in the NVS generation application, but for now we fix it in the driver. Signed-off-by: Luciano Coelho Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 12419cce88fa591a846a542d35cff43b69d9e271 Author: Luciano Coelho Date: Thu Feb 18 13:25:44 2010 +0200 wl1271: add most of the normal initialization commands to PLT mode We need to configure PLT mode almost in the same way as normal mode. Most of the configuration functions need to be called also when entering PLT, with the exception of a few RX and TX configuration (which cause mac80211 warnings if enable while runnning PLT tests). Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 7b21b6f8216494ab6b8b4dc9d15e48051a0f0a66 Author: Juuso Oikarinen Date: Thu Feb 18 13:25:43 2010 +0200 wl1271: Retrieve device mac address from the nvs file Instead of always randomizing the MAC address, retrieve and configure the MAC address from the device specific nvs file. For now, randomize an address only if the address in the NVS is zero. Signed-off-by: Juuso Oikarinen Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit 152ee6e09e2ce54d7d1cc9d338b82c0bf3cbbc95 Author: Juuso Oikarinen Date: Thu Feb 18 13:25:42 2010 +0200 wl1271: Use NVS INI file configuration Replace the hardcoded general and radio parameter configuration in the driver with configuration taken from the NVS file directly. Also remove the driver dependency to the structures with the parameter data. Signed-off-by: Juuso Oikarinen Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit c6999d831ab9ae5e368b20f3bc11b0ca9c17a7ec Author: Kalle Valo Date: Thu Feb 18 13:25:41 2010 +0200 wl1271: implement WMM Now that necessary commands for WMM are implemented, implement queue handling for WMM. But WMM is not enabled yet, only one queue is used. Based on a similar patch from wl1251. Signed-off-by: Kalle Valo Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit f2054df5170734eacd1db82138c70746ec8387de Author: Kalle Valo Date: Thu Feb 18 13:25:40 2010 +0200 wl1271: modify wl1271_acx_tid_cfg() to use function parameters For WMM we need to configure each tid separately so modify wl1271_acx_tid_cfg() to take the configuration from function parameters instead. Signed-off-by: Kalle Valo Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 243eeb51eaa0a33caeff3e2275b2460eea5579ec Author: Kalle Valo Date: Thu Feb 18 13:25:39 2010 +0200 wl1271: modify wl1271_acx_ac_cfg() to use function parameters For WMM we need to configure each queue separately so modify wl1271_acx_ac_cfg() to take the configuration from function parameters instead. Signed-off-by: Kalle Valo Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 30240fc76a57e37a4bb42976ff7162b5e45e6117 Author: Juuso Oikarinen Date: Thu Feb 18 13:25:38 2010 +0200 wl1271: Add SSID configuration for JOIN in ad-hoc This patch adds code to extract the SSID from the beacon template used for ad-hoc. The mac80211 currently does not provide the SSID, so this is a workaround for that, for now. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit ddb01a5b368270f3cc86b606ba6f7ee8795a8a99 Author: Juuso Oikarinen Date: Thu Feb 18 13:25:37 2010 +0200 wl1271: Fix channel changing code The channel changing code would a) change the BSSID to a dummy on upon channel change, breaking connectivity, and b) not update the channel number at all for ad-hoc, breaking adhoc. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit d8c42c0c282a5edd9ea2eef4c929d9cec2798653 Author: Juuso Oikarinen Date: Thu Feb 18 13:25:36 2010 +0200 wl1271: Fix PSM entry Currently the PSM entry function assumes successful operation, and enables ELP, BET and beacon filtering right away. This is bad, because the PSM entry may fail due to environmental issues, which will cause the ELP, BET and beacon filtering to be illegally enabled (because FW remains in active state.) Fix this by enabling ELP, BET and beacon filtering only after successful entry, and by ensuring the firmware is in active mode after the failure. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit 5b9a919a97ac8bdda8020c9b366491b5b91b196e Author: Jean-François Moine Date: Wed Feb 17 10:59:31 2010 -0600 p54usb: Add the USB ID for Belkin (Accton) FD7050E ver 1010ec Yet another USB ID. Signed-off-by: Jean-François Moine Signed-off-by: Larry Finger Cc: Stable Signed-off-by: John W. Linville commit ffb9eb3d8b450c22bbbc688c6b630141ac476fd9 Author: Kalle Valo Date: Wed Feb 17 17:58:10 2010 +0200 nl80211: add power save commands The most needed command from nl80211, which Wireless Extensions had, is support for power save mode. Add a simple command to make it possible to enable and disable power save via nl80211. I was also planning about extending the interface, for example adding the timeout value, but after thinking more about this I decided not to do it. Basically there were three reasons: Firstly, the parameters for power save are very much hardware dependent. Trying to find a unified interface which would work with all hardware, and still make sense to users, will be very difficult. Secondly, IEEE 802.11 power save implementation in Linux is still in state of flux. We have a long way to still to go and there is no way to predict what kind of implementation we will have after few years. And because we need to support nl80211 interface a long time, practically forever, adding now parameters to nl80211 might create maintenance problems later on. Third issue are the users. Power save parameters are mostly used for debugging, so debugfs is better, more flexible, interface for this. For example, wpa_supplicant currently doesn't configure anything related to power save mode. It's better to strive that kernel can automatically optimise the power save parameters, like with help of pm qos network and other traffic parameters. Later on, when we have better understanding of power save, we can extend this command with more features, if there's a need for that. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 088ea189c4c75cdf211146faa4b341a0f7476be6 Author: Darren Jenkins Date: Wed Feb 17 23:40:15 2010 +1100 drivers/net/wireless/p54/txrx.c Fix off by one error fix off by one error in the queue size check of p54_tx_qos_accounting_alloc() Coverity CID: 13314 Signed-off-by: Darren Jenkins Signed-off-by: John W. Linville commit fbc87d67af5ccd733f894273b215564c67e3a749 Author: Pavel Roskin Date: Thu Feb 11 17:56:06 2010 -0500 Introduce PCMCIA_DEVICE_PROD_ID3 ...and use it in hostap_cs and orinoco_cs. Another PCMCIA device with Intersil Prism chipset has been reported: Socket 0: product info: "Gigabyte", "GN-WLM01_P25L_ADAPTER", "ISL37300P", "Eval-RevA" manfid: 0x02e0, 0x1011 function: 6 (network) As it's the case with some other Prism based devices, the third ID string contains a design name that should be sufficient to identify the card as having Intersil Prism chipset and thus compatible with both orinoco_cs and hostap_cs. Introduce PCMCIA_DEVICE_PROD_ID3 that matches the third ID string only. Use it in orinoco_cs and hostap_cs to match cards with the third ID string indicating Prism chipset. Remove corresponding entries that use PCMCIA_DEVICE_PROD_ID123. Reported-by: Ozzy Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit b54452b07a7b1b8cc1385edba3ef2ef6d4679d5a Author: Alexey Dobriyan Date: Thu Feb 18 08:14:31 2010 +0000 const: struct nla_policy Make remaining netlink policies as const. Fixup coding style where needed. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 60b86755929e1a7e9038c8d860a8491cfdf8d93a Author: Joe Perches Date: Wed Feb 17 10:30:23 2010 +0000 usbnet: Convert dev(dbg|err|warn|info) macros to netdev_ These macros are too similar to the dev_ equivalents but take a usbnet * argument. Convert them to the recently introduced netdev_ macros and remove the old macros. The old macros had "\n" appended to the format string. Add the "\n" to the converted uses. Some existing uses of the dev macros in cdc_eem.c probably mistakenly had trailing "\n". No "\n" added there. Fix net1080 this/other log message inversion. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 496c185c9495629ef1c65387cb2594578393cfe0 Author: Luis R. Rodriguez Date: Tue Feb 16 15:16:45 2010 -0800 atl1c: Add support for Atheros AR8152 and AR8152 AR8151 is a Gigabit Ethernet device. AR8152 devices are Fast Ethernet devices, there are two revisions, a 1.0 and a 2.0 revision. This has been tested against these devices: Driver Model-name vendor:device Type atl1c AR8131 1969:1063 Gigabit Ethernet atl1c AR8132 1969:1062 Fast Ethernet atl1c AR8151(v1.0) 1969:1073 Gigabit Ethernet atl1c AR8152(v1.1) 1969:2060 Fast Ethernet This device has no hardware available yet so it goes untested, but it should work: atl1c AR8152(v2.0) 1969:2062 Fast Ethernet Signed-off-by: Luis R. Rodriguez Signed-off-by: David S. Miller commit 64b84010f9f85996a219fcc697396e7e11be3459 Author: Jouni Malinen Date: Tue Feb 16 17:56:18 2010 +0200 ath9k: Use the Beacon TX rate from mac80211 Instead of hardcoding the lowest rate for Beacon frames, use the rate index specified in the mac80211 TX info in AP mode. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit bef5d1c70d132145c0fc75b3586a19841a9a82e4 Author: Johannes Berg Date: Tue Feb 16 11:05:00 2010 +0100 mac80211: split ieee80211_drop_unencrypted Currently, ieee80211_drop_unencrypted is called from management and data frame context, and the different contexts pass different frames. This could lead to it processing an 802.3 frame as an 802.11 frame when MFP is enabled. Move the MFP part of ieee80211_drop_unencrypted into a new function that is only called for mgmt frames. Cc: Jouni Malinen Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 04662360854aefcb6337d93701892ad97411fdd0 Author: Pavel Roskin Date: Sat Feb 13 22:13:06 2010 -0500 mwl8k: disable softirqs when accessing sta_notify_list Use spin_[un]lock_bh in mwl8k_sta_notify(). The sta_notify handler is required to be atomic, yet it can be called in process context, so make sure one call won't preempt another. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 026331c4d9b526561ea96f95fac4bfc52b69e316 Author: Jouni Malinen Date: Mon Feb 15 12:53:10 2010 +0200 cfg80211/mac80211: allow registering for and sending action frames This implements a new command to register for action frames that userspace wants to handle instead of the in-kernel rejection. It is then responsible for rejecting ones that it decided not to handle. There is no unregistration, but the socket can be closed for that. Frames that are not registered for will not be forwarded to userspace and will be rejected by the kernel, the cfg80211 API helps implementing that. Additionally, this patch adds a new command that allows doing action frame transmission from userspace. It can be used either to exchange action frames on the current operational channel (e.g., with the AP with which we are currently associated) or to exchange off-channel Public Action frames with the remain-on-channel command. Signed-off-by: Jouni Malinen Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8404080568613d93ad7cf0a16dfb68459b42a264 Author: Johannes Berg Date: Mon Feb 15 12:46:39 2010 +0200 mac80211: reject unhandled action frames 802.11-2007 7.3.1.11 mandates that we need to reject action frames we don't handle by setting the 0x80 bit in the category and returning them to the sender, so do that. In AP mode, hostapd is responsible for this. Additionally, drop completely malformed action frames or ones that should've been encrypted as unusable, userspace shouldn't see those. Signed-off-by: Johannes Berg Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit de1ebdceb6a4fe1b7073b81d273285b7c8bed312 Author: Gertjan van Wingerde Date: Sun Feb 14 12:52:05 2010 +0100 rt2x00: rt2800 - Make rt30xx and rt35xx chipsets configurable. Support for rt30xx- and rt35xx-based devices is currently not functional in rt2800pci and rt2800usb. In order to not confuse users we shouldn't claim the PCI and USB device ID's for these devices. However, to allow for testing it is good to still have them available, although disabled by default. Make support for these device configuration options that default to off. For rt2800usb a 3rd class of devices is added, which are the unknown devices. For these devices it is known that they are either based on rt28xx, rt30xx or rt35xx, but it is not known on what chipset exactly. These devices are disabled by default as well, until it can be established on what chipset exactly they are based. Signed-off-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 49e721ec6ca74f90ee99089ad2de1c338a95c6d5 Author: Gertjan van Wingerde Date: Sat Feb 13 20:55:49 2010 +0100 rt2x00: rework RT chipset and revision determination for PCI an SOC devices. The recent rt2800 devices are no longer really identified by their PCI ID's, but rather by the contents of their CSR0 register. Also for the other chipsets is the contents of this CSR0 register important. Change the chipset determination logic to be more aligned with the rt2800 model. Preparation for the support of rt3070 / rt3090 based devices. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 714fa6636331d33c6045efe394f36c964a6c14ee Author: Gertjan van Wingerde Date: Sat Feb 13 20:55:48 2010 +0100 rt2x00: Reorganize RT chipset setting for PCI/SOC devices. Don't set the RT chipset for a device from within the generic PCI/SOC code, but rather from the individual drivers, so that individual drivers have more control over what RT chipset is set. Preparation for chip handling updates for rt2800 devices. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit cea90e55969ff70b970d64d564076a5469331527 Author: Gertjan van Wingerde Date: Sat Feb 13 20:55:47 2010 +0100 rt2x00: Introduce SoC interface type. Introduce the SoC interface type to detect SoC devices, instead of having them mimic being PCI devices. This allows for easier detection of SoC devices. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 15a69a81731d337a3d9db51692ff8704c1114f43 Author: Shimada Hirofumi Date: Sun Feb 14 04:16:16 2010 +0900 p54usb: Add usbid for Corega CG-WLUSB2GT. Signed-off-by: Shimada Hirofumi Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: John W. Linville commit 634c8d2587abbd680603e016ae1060129abdf46f Author: Hauke Mehrtens Date: Sat Feb 13 18:10:53 2010 +0100 rtl8187: fix typo in ifdef comment Cc: Herton Ronaldo Krzesinski Cc: Larry Finger Signed-off-by: Hauke Mehrtens Acked-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 063b2dfffc896fc5ac6943248c940619b94f09c2 Author: Hauke Mehrtens Date: Sat Feb 13 18:10:52 2010 +0100 b43legacy: fix typo in ifdef comment Cc: Larry Finger Cc: Stefano Brivio Signed-off-by: Hauke Mehrtens Signed-off-by: John W. Linville commit 2bf9fa6980a5ca12333634e48c8dd69024b88eba Author: Randy Dunlap Date: Fri Feb 12 13:02:23 2010 -0800 wireless: airo_cs build fixes When WEXT_PRIV is not enabled, airo_cs has build errors. It needs to include net/iw_handler.h and it should select WEXT_PRIV, like the airo driver does. drivers/net/wireless/airo.c:7655: error: unknown field 'num_private' specified in initializer drivers/net/wireless/airo.c:7655: warning: initialization makes pointer from integer without a cast drivers/net/wireless/airo.c:7656: error: unknown field 'num_private_args' specified in initializer drivers/net/wireless/airo.c:7656: warning: excess elements in struct initializer drivers/net/wireless/airo.c:7656: warning: (near initialization for 'airo_handler_def') drivers/net/wireless/airo.c:7658: error: unknown field 'private' specified in initializer drivers/net/wireless/airo.c:7658: warning: initialization makes integer from pointer without a cast drivers/net/wireless/airo.c:7658: error: initializer element is not computable at load time drivers/net/wireless/airo.c:7658: error: (near initialization for 'airo_handler_def.num_standard') drivers/net/wireless/airo.c:7659: error: unknown field 'private_args' specified in initializer drivers/net/wireless/airo.c:7659: warning: initialization from incompatible pointer type Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit 0e956c132f822d414a4ce84726ac1d1294364581 Author: Thadeu Lima de Souza Cascardo Date: Fri Feb 12 12:34:50 2010 -0200 nl80211: does not allow NEW_STATION and DEL_STATION for mesh As discussed in linux-wireless mailing list, adding and removing stations for mesh topologies is not necessary. Since doing it triggers bugs, the sugestion was to simply disable it. Tested using a custom iw command "station new". Works only after using hostapd. "station del" command also works. Signed-off-by: Thadeu Lima de Souza Cascardo Cc: Johannes Berg Cc: Simon Raffeiner Cc: Andrey Yurovsky Cc: Javier Cardona Signed-off-by: John W. Linville commit 2f5265e6e785b2a666dd985ea157bc8c260be8fa Author: Johannes Berg Date: Fri Feb 12 10:45:05 2010 +0100 mac80211: fix netdev rename Fix a copy bug introduced by commit 47846c9b0c10808d9337d2e7d09361f3e0a0a71a Author: Johannes Berg Date: Wed Nov 25 17:46:19 2009 +0100 mac80211: reduce reliance on netdev This manifested itself only in debug messages and in the debugfs rename failure that would always happen due to trying to rename the dir over itself. Signed-off-by: Johannes Berg Tested-by: Pavel Roskin Signed-off-by: John W. Linville commit f318d658decb5789cfbb43041daf3dc3aade1df0 Merge: 42c4568 1db5950 Author: John W. Linville Date: Mon Feb 15 16:04:43 2010 -0500 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 228da6c2e63b3b2064492b24ef83c07bcc48abbd Author: David S. Miller Date: Sun Feb 14 22:49:52 2010 -0800 mac80211: Fix error introduced in netdev_mc_count() changes. Commit 4cd24eaf0c6ee7f0242e34ee77ec899f255e66b5 ("net: use netdev_mc_count and netdev_mc_empty when appropriate") added this hunk to net/mac80211/iface.c: __dev_addr_unsync(&local->mc_list, &local->mc_count, - &dev->mc_list, &dev->mc_count); + &dev->mc_list, dev->mc_count); which is definitely not correct, introduced a warning (reported by Stephen Rothwell): net/mac80211/iface.c: In function 'ieee80211_stop': net/mac80211/iface.c:416: warning: passing argument 4 of '__dev_addr_unsync' makes pointer from integer without a cast include/linux/netdevice.h:1967: note: expected 'int *' but argument is of type 'int' and is thus reverted here. Signed-off-by: David S. Miller commit 5ecccb74dc91e22496a142b103ba958f93c29275 Merge: f6f2230 3d0beb9 Author: David S. Miller Date: Sun Feb 14 22:30:54 2010 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/mac80211/rate.c commit f6f223039c0d0683bdea1eabd35b309e10311a60 Merge: b3b3f04 42c4568 Author: David S. Miller Date: Sun Feb 14 17:45:59 2010 -0800 Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit ba211e3ec35820eced89bfe12e2d94e6352a4c5f Author: Joe Perches Date: Tue Feb 9 11:49:48 2010 +0000 drivers/net/atl1e: Use netdev_printk helpers Logging messages sometimes had duplicated "ATL1E" output. For instance: ATL1E 0000:03:00.0: ATL1E: eth0 NIC Link is Up<100 Mbps Full Duplex> is now: ATL1E 0000:03:00.0: eth0: NIC Link is Up <100 Mbps Full Duplex> Add some consistency to logging messages Add some missing \n's to logging messages Miscellaneous typo spelling corrections Change atl1e_validate_option argument from pdev to adapter Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 4cd24eaf0c6ee7f0242e34ee77ec899f255e66b5 Author: Jiri Pirko Date: Mon Feb 8 04:30:35 2010 +0000 net: use netdev_mc_count and netdev_mc_empty when appropriate This patch replaces dev->mc_count in all drivers (hopefully I didn't miss anything). Used spatch and did small tweaks and conding style changes when it was suitable. Jirka Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 42c4568a4ace0adc27a9d6f02936e2047ba6fc7e Author: Felix Fietkau Date: Thu Feb 11 18:07:19 2010 +0100 ath9k: add a workaround for ack timeout issues Adding support for setting the coverage class in some cases broke association and data transfer, as it overwrote the initial ACK timeout value from the initvals with a smaller value. I don't know why the new value works in 5 GHz (matches the initval there), but not in 2.4 GHz (initvals use 64us here), so until the problem is fully understood, the value should be increased again. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 1db5950f1d0b82e07371b211a48317b8972da063 Author: Trieu 'Andrew' Nguyen Date: Wed Feb 10 10:27:34 2010 -0800 iwlwifi: Monitor and recover the aggregation TX flow failure This change 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 16, no tx packets (tcp, udp, or ping - icmp) can be delivered. The driver recovers from this situation by reseting the uCode firmware. If the actual_ack_count/expected_ ack_count ratio drops below 50% (but not 0) and the aggregated ba_timeout retries just exceed 5 (but not 16), then the driver can reset the radio to bring the throughput up. Signed-off-by: Trieu 'Andrew' Nguyen Signed-off-by: Reinette Chatre commit a9e10fb9b1c6ad16e73cf2656951fce3a817611e Author: Wey-Yi Guy Date: Tue Feb 9 08:14:11 2010 -0800 iwlwifi: clear all the stop_queue flag after load firmware All the queues are awake and ready to use after loading firmware, for firmware reload case, if any queues was stopped before reload, mac80211 will wake those queues after restart hardware, so make sure all the flag used to keep track of the queue status are reset correctly. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit f36d04abe684f9e2b07c6ebe9f77ae20eb5c1e84 Author: Stanislaw Gruszka Date: Wed Feb 10 05:07:45 2010 -0800 iwlwifi: use dma_alloc_coherent Change pci_alloc_consistent() to dma_alloc_coherent() so we can use GFP_KERNEL flag. Signed-off-by: Stanislaw Gruszka Signed-off-by: Reinette Chatre commit 6c3872e1d52290dcd506473028867cacc6b7393d Author: Trieu 'Andrew' Nguyen Date: Mon Feb 8 13:53:05 2010 -0800 iwlwifi: Adjusting PLCP error threshold for 1000 NIC While testing the station with the NIC 1000 family, it is found that the plcp error can easily exceed 50 value in 100mSecs. This creates unneccessary radio reset/tuning. This patch raises the PLCP error threshold of the NIC 1000 from 50 to 200 error count. Signed-off-by: Trieu 'Andrew' Nguyen Signed-off-by: Reinette Chatre commit 4843b5a731b31916d100cfc5ba4d03ae78462ed9 Author: Reinette Chatre Date: Wed Feb 3 09:38:59 2010 -0800 iwlwifi: reset card during probe To ensure that card is in a sane state during probe we add a reset call. This change was prompted by users of kdump who was not able to bring up the wireless driver in the kdump kernel. The problem here was that the primary kernel, which is not running at the time, left the wireless card up and running. When the kdump kernel starts it is thus possible to immediately receive interrupts from firmware after registering interrupt, but without being ready to deal with interrupts from firmware yet. Reported-by: Stanislaw Gruszka Signed-off-by: Reinette Chatre commit bbcbb9ef9735c67da303d30bd6beb9e699f0f508 Author: Reinette Chatre Date: Tue Feb 2 10:57:12 2010 -0800 iwlwifi: fix scan race There is a problem if an "internal short scan" is in progress when a mac80211 requested scan arrives. If this new scan request arrives within the "next_scan_jiffies" period then driver will immediately return success and complete the scan. The problem here is that the scan has not been fully initialized at this time (is_internal_short_scan is still set to true because of the currently running scan), which results in the scan completion never to be sent to mac80211. At this time also, evan though the internal short scan is still running the state (is_internal_short_scan) will be set to false, so when the internal scan does complete then mac80211 will receive a scan completion. Fix this by checking right away if a scan is in progress when a scan request arrives from mac80211. Signed-off-by: Reinette Chatre commit 7bfedc59ee350727b115bbc79780c69b114f162d Author: Abhijeet Kolekar Date: Wed Feb 3 13:47:56 2010 -0800 iwlwifi: cleanup return values Cleanup return values and removes unnecessary code. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre commit a24dd27c47fcb31ba5c906b66e5cbc28bfa3fa5e Author: Wey-Yi Guy Date: Wed Feb 3 12:51:07 2010 -0800 iwlwifi: remove unused op-code in PHY Calibration command Number of calibration op-code are not used by driver, remove those from iwl-commands.h Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 45d427001b5eec03cecaacddb53c73af46bb263e Author: Wey-Yi Guy Date: Wed Feb 3 12:24:44 2010 -0800 iwlwifi: check for aggregation frame and queue Error checking for aggregation frames should go into aggregation queue, if aggregation queue not available, use legacy queue instead. Also make sure the aggregation queue is available to activate, if driver and mac80211 is out-of-sync, try to disable the queue and sync-up with mac80211. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 04cafd7fa74d5f70efc93bef36f118177057ff74 Author: Wey-Yi Guy Date: Wed Feb 3 11:47:20 2010 -0800 iwlwifi: add debug function to reset/reload radio/firmware Adding function to force reset radio or reload firmware from debugfs. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit a93e7973d0983d22fcbe5f691244736211639fe7 Author: Wey-Yi Guy Date: Wed Feb 3 11:47:19 2010 -0800 iwlwifi: multiple force reset mode Provide the function to perform different type of uCode reset/reload operation. When uCode detect error and can not fix itself, this iwl_force_reset() function allow driver to perform the necessary reset/reload functions and help to bring uCode back to normal operation state. Currently only 2 type of force reset are available: - reset radio - reload firmware Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit dff010ac8e57e43669518a14c0e945dfeb80c2a7 Author: Wey-Yi Guy Date: Tue Feb 2 16:58:34 2010 -0800 iwlwifi: clear all tx queues when firmware ready Reset and clear all the tx queues when finished downloading runtime uCode and ready to go into operation mode. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 4cad6c7c38930618d77e65af82c1403d63879eee Author: Sujith Date: Wed Feb 10 14:52:21 2010 +0530 mac80211: Deny TX BA session requests during disassociation In associated state, when bringing an interface down, existing BA sessions are torn down. When this is in progress, nothing prevents mac80211 from accepting another BA session start request. Use a new station flag to fix this. Signed-off-by: Sujith Acked-by: Johannes Berg Signed-off-by: John W. Linville commit f32338319f10c4ca5499c19edc5b3618896920ba Author: Deepak Saxena Date: Tue Feb 9 13:35:43 2010 -0800 Add Station and AdHoc mode support to libertas_tf Add support for using the libertas_tf driver on a managed or ad-hoc network. Signed-off-by: Deepak Saxena Signed-off-by: John W. Linville commit 2ac2927a953a01c83df255118922cce1523d1a18 Author: Bob Copeland Date: Tue Feb 9 13:06:54 2010 -0500 ath5k: use correct packet type when transmitting The hardware needs to know what type of frames are being sent in order to fill in various fields, for example the timestamp in probe responses (before this patch, it was always 0). Set it correctly when initializing the TX descriptor. Signed-off-by: Bob Copeland Cc: stable@kernel.org Signed-off-by: John W. Linville commit b1109bf085c8dd69537b7876ea83f914dd1fe46a Merge: 889b8f9 44bfce5 Author: David S. Miller Date: Tue Feb 9 11:44:44 2010 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 05df49865be08b30e7ba91b9d3d94d7d52dd3033 Author: Vivek Natarajan Date: Tue Feb 9 11:34:50 2010 +0530 ath9k: Enable IEEE80211_HW_REPORTS_TX_ACK_STATUS flag for ath9k. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 375177bf35efc08e1bd37bbda4cc0c8cc4db8500 Author: Vivek Natarajan Date: Tue Feb 9 14:50:28 2010 +0530 mac80211: Retry null data frame for power save. Even if the null data frame is not acked by the AP, mac80211 goes into power save. This might lead to loss of frames from the AP. Prevent this by restarting dynamic_ps_timer when ack is not received for null data frames. Cc: Johannes Berg Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 3ad2f3fbb961429d2aa627465ae4829758bc7e07 Author: Daniel Mack Date: Wed Feb 3 08:01:28 2010 +0800 tree-wide: Assorted spelling fixes In particular, several occurances of funny versions of 'success', 'unknown', 'therefore', 'acknowledge', 'argument', 'achieve', 'address', 'beginning', 'desirable', 'separate' and 'necessary' are fixed. Signed-off-by: Daniel Mack Cc: Joe Perches Cc: Junio C Hamano Signed-off-by: Jiri Kosina commit e15276a4b220c54db665cf46a92bd9ceb9aeb052 Author: Vivek Natarajan Date: Mon Feb 8 17:47:01 2010 +0530 mac80211: Reset dynamic ps timer in Rx path. The current mac80211 implementation enables power save if there is no Tx traffic for a specific timeout. Hence, PS is triggered even if there is a continuous Rx only traffic(like UDP) going on. This makes the drivers to wait on the tim bit in the next beacon to awake which leads to redundant sleep-wake cycles. Fix this by restarting the dynamic ps timer on receiving every data packet. Signed-off-by: Vivek Natarajan CC: stable@kernel.org Signed-off-by: John W. Linville commit 209c671db7a917740ab9873d442b10ae7e369937 Author: Andres Salomon Date: Sun Feb 7 21:47:50 2010 -0500 mac80211: make rate_control_alloc static rate_control_alloc is not used by anything outside of ieee80211_init_rate_ctrl_alg. Both are in rate.c; there's no reason to make rate_control_alloc visible outside of it. Signed-off-by: Andres Salomon Signed-off-by: John W. Linville commit 641eabb0a3717020d1a93d3f91493ab0d826c910 Author: Christian Lamparter Date: Sun Feb 7 16:01:55 2010 +0100 ath: fix WARN_ON with Polish (Poland) Contry code This patch fixes a WARN_ON which is triggered by Poland's country code. ath: EEPROM regdomain: 0x8268 ath: EEPROM indicates we should expect a country code ath: doing EEPROM country->regdmn map search ath: country maps to regdmn code: 0x37 ath: Country alpha2 being used: PL ath: Regpair used: 0x37 -----------[ cut here ]------------ WARNING: at drivers/net/wireless/ath/regd.c:155 ath_regd_init+0x30b Pid: 12661, comm: firmware/carl91 2.6.33-rc5-wl #18 Call Trace: [<>] ? warn_slowpath_common+0x76/0x8c [<>] ? ar9170_reg_notifier+0x0/0x2d [carl9170usb] [<>] ? ath_regd_init+0x30b/0x377 [ath] [<>] ? ar9170_register+0x3b3/0x3ca [carl9170usb] [...] ---[ end trace ]--- Note: Poland is just an example. But it is very likely that more country codes are affected. Cc: Luis R. Rodriguez Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 349e6b7289f8a3d3d5d3b859e00b41f27d1211df Author: Kalle Valo Date: Sun Feb 7 10:22:01 2010 +0200 mac80211: remove get_tx_stats() driver op get_tx_stats() driver operation is not currently used anywhere in mac80211 and there are no plans to use it in the not-so-near future. So it can go without anyone missing it. Signed-off-by: Kalle Valo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 00a08eb62f790383bcc8ea309d4afb9ef346ef0b Author: Kalle Valo Date: Sun Feb 7 10:21:53 2010 +0200 rt2x00: remove get_tx_stats() mac80211 op get_tx_stats() will be removed from mac80211. Compile-tested only. Signed-off-by: Kalle Valo Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 97e93fcd866ee7cc02082fc62509378f50547936 Author: Kalle Valo Date: Sun Feb 7 10:21:46 2010 +0200 p54: remove get_tx_stats() mac80211 op get_tx_stats() will be removed from mac80211. p54 uses struct ieee80211_tx_queue_stats also internally, so create a new identical struct p54_tx_queue_stats which the driver can use. Compile-tested only. Signed-off-by: Kalle Valo Tested-by: Christian Lamparter Signed-off-by: John W. Linville commit 1296d4744516aeae8809e2f47ceecd88df4b037f Author: Kalle Valo Date: Sun Feb 7 10:21:37 2010 +0200 iwlwifi: remove get_tx_stats() mac80211 op get_tx_stats() will be removed from mac80211. Compile-tested only. Cc: Zhu Yi Signed-off-by: Kalle Valo Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 8b2bbe66abfdc60f73b094a56ab29bfbf939201c Author: Kalle Valo Date: Sun Feb 7 19:51:00 2010 +0200 b43legacy: remove get_tx_stats() mac80211 op get_tx_stats() will be removed from mac80211. Compile-tested only. Cc: Larry Finger Cc: Stefano Brivio Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 3b27521a5be8b700451d54d4fa670f754e7f9720 Author: Kalle Valo Date: Sun Feb 7 19:50:50 2010 +0200 b43: remove get_tx_stats() mac80211 op get_tx_stats() will be removed from mac80211. Compile-tested only. Cc: Stefano Brivio Cc: Michael Buesch Cc: Larry Finger Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 3b2119096d7ec4ef50427e07b562897f2c139c11 Author: Kalle Valo Date: Sun Feb 7 10:21:07 2010 +0200 ath5k: remove get_tx_stats() mac80211 op get_tx_stats() will be removed from mac80211. Compile-tested only. Cc: Jiri Slaby Cc: Nick Kossifidis Cc: Luis R. Rodriguez Signed-off-by: Kalle Valo Acked-by: Bob Copeland Signed-off-by: John W. Linville commit d1ace8e57a4e3af78767684c6f6b5f8b88417abb Author: Kalle Valo Date: Sun Feb 7 10:21:00 2010 +0200 ar9170: remove get_tx_stats() mac80211 op get_tx_stats() will be removed from mac80211. Because ar9170 uses ieee80211_tx_queue_stats internally, create a new identical struct ar9170_tx_queue_stats which the driver can use. Compile-tested only. Signed-off-by: Kalle Valo Tested-by: Christian Lamparter Signed-off-by: John W. Linville commit 8ccbc3b8b0c919e8609560ca56cd777ece8d2c41 Author: Kalle Valo Date: Sun Feb 7 10:20:52 2010 +0200 mwl8k: remove get_tx_stats() mac80211 op get_tx_stats() will be removed from mac80211. mwl8k used struct ieee80211_tx_queue_stats internally to track the queue lenght. Replace struct ieee80211_tx_queue_stats with a simple len field in struct mwl8k_tx_queue. Limit and count fields seemed to be unused. Compile-tested only. Cc: Lennert Buytenhek Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 4046fe66ce74b66b553035c57c892f4715e074db Author: Kalle Valo Date: Sun Feb 7 10:20:44 2010 +0200 adm821: remove get_tx_stats() mac80211 op get_tx_stats() will be removed from mac80211. Compile-tested only. Cc: Michael Wu Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 733da37dab72de6b3f8b0c56b5cdea322f18a684 Author: Ming Lei Date: Sat Feb 6 22:38:23 2010 +0800 ath9k: fix keycache leak in split tkip case If split tkip key is used, ath_delete_key should delete rx key and rx mic key. This patch fixes the leak of hw keycache in the case. Signed-off-by: John W. Linville commit 29165e4c8b265a415f1fd1dca947b5d4c72abc47 Author: Johannes Berg Date: Sat Feb 6 15:20:13 2010 +0100 mac80211: fix deauth race When userspace requests a deauth while the authentication work is pending in the auth (not probe) state, we do not properly abort the work and then things get confused. Fix that and also improve the checks here to include the correct virtual interface, just in case two virtual interfaces would ever try to connect to the same BSS. Also fix a bug -- need to use list_del_rcu instead of just list_del to free a work item. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 21b2d8bd2f0d4e0f21ade147fd193c8b9c1fd2b9 Author: Samuel Ortiz Date: Fri Feb 5 11:33:48 2010 -0800 iwlwifi: Send broadcast probe request only when asked to When running directed active scans we currently end up sending both the SSID probe requests and an additional broadcast one. This is due to the fact that we always leave the probe request template SSID IE length to 0. Instead we should set it to the first SSID to scan, and fill the direct_scan array with the remaining SSIDs to scan for. This way we only send what we've been asked to: a broadcast probe request when no directed scan is requested, and directed probe requests otherwise. Signed-off-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ed56a3f15a0561e900957ecca0dee42b9b453a9e Author: Ben Cahill Date: Fri Feb 5 11:33:47 2010 -0800 iwlwifi: Add chain_noise support for 6050 Existing iwl6050_ops->iwl6050_hcmd_utils structure had no pointers to chain noise functions (gain_computation and chain_noise_reset). As it turns out, by adding chain_noise_scale (see related patch), there is no need for separate chain noise function, so simply use iwl6000_ops->iwl5000_hcmd_utils, and remove those for 6050. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d4fe5ac9e04e6e175a7bd7e29844b351533be591 Author: Ben Cahill Date: Fri Feb 5 11:33:46 2010 -0800 iwlwifi: Add chain noise scaling factor 6x50 device requires a different scaling factor for Rx gain values sent to device via PHY_CALIBRATION_CMD (CHAIN_NOISE_GAIN_CMD). Rather than create a new iwlXXXX_gain_computation() function, add new chain_noise_scale member to struct iwl_cfg, and keep using iwl5000_gain_computation(). Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 19885c4fbd79439efd6b3798bfb73f2f30e27104 Author: Johannes Berg Date: Fri Feb 5 11:45:06 2010 +0100 mac80211: fix bss_conf.dtim_period In AP mode, the only mode where the parameter is supposed to be valid, we never assign it! Fix that to allow drivers to avoid parsing the TIM IE for the value. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 199d69f27326858b16449eb1cc1623299db64415 Author: Benoit Papillault Date: Thu Feb 4 22:00:20 2010 +0100 mac80211: Added a new debugfs file for reading channel_type This file helps debugging HT channels since it displays if we are on ht20 or ht40+/ht40- Signed-off-by: Benoit Papillault Signed-off-by: John W. Linville commit 40e6fa829a2544c9f8fd5a94844fe502334d6afc Author: Holger Schurig Date: Thu Feb 4 14:37:45 2010 +0100 libertas: don't retry commands Retrying commands seldomly works, most often the firmware is in a weird state anyway and needs the device to reset. So it's better to report the broken state back to user-space. Also rename command_timer_fn() into lbs_cmd_timeout_handler(), which better reflect it's usage. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 85359499eec796e784e2f1e3d7bbb31d84dd4c2b Author: Kalle Valo Date: Thu Feb 4 15:33:25 2010 +0200 wl1251: fix txop unit mac80211 uses unit units of 32 usec with txop but wl1251_acx_ac_cfg() expects it to be usecs. This fortunately didn't cause any severe problems, only that firmware was using incorrect WMM settings. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 40bd5203ddb6b946b55c35d1c26dfe9ec1b232f5 Author: Rafał Miłecki Date: Thu Feb 4 13:11:54 2010 +0100 b43: N-PHY: handle allocation fail in samples generation Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 5f6393ecf5cc7d064ba9172e0a2e1c64bcaaaf2f Author: Rafał Miłecki Date: Thu Feb 4 13:08:08 2010 +0100 b43: N-PHY: load generated samples Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 9442e5b58edb4a108ec5aae420a6fff3a63acab0 Author: Rafał Miłecki Date: Thu Feb 4 12:23:12 2010 +0100 b43: N-PHY: partly implement SPUR workaround Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit bbc6dc121de92dee506e359eeb9b1d3973d0740a Author: Rafał Miłecki Date: Thu Feb 4 12:23:11 2010 +0100 b43: N-PHY: save calibration for further restore Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 984ff4ffb7fa36b9ac440a3802fd19658eccc84e Author: Rafał Miłecki Date: Thu Feb 4 12:23:10 2010 +0100 b43: N-PHY: prepare code for reapplying TX cal coeffs Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 67cbc3ed5b96a5acfddae142fa0e2adb1b6270d5 Author: Rafał Miłecki Date: Thu Feb 4 12:23:08 2010 +0100 b43: N-PHY: implement overriding RF control intc Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 371ba88322ea5750ad411fdef7674dcee50f7235 Author: Randy Dunlap Date: Wed Feb 3 15:31:07 2010 -0800 libertas/if_spi: needs linux/semaphore.h libertas/if_spi.c needs to #include linux/semaphore.h to fix build errors: drivers/net/wireless/libertas/if_spi.c:59: error: field 'spi_ready' has incomplete type drivers/net/wireless/libertas/if_spi.c:60: error: field 'spi_thread_terminated' has incomplete type drivers/net/wireless/libertas/if_spi.c:785: error: implicit declaration of function 'down_interruptible' drivers/net/wireless/libertas/if_spi.c:787: error: implicit declaration of function 'up' drivers/net/wireless/libertas/if_spi.c:834: error: implicit declaration of function 'down' drivers/net/wireless/libertas/if_spi.c:943: error: implicit declaration of function 'sema_init' Signed-off-by: Randy Dunlap Acked-by: Dan Williams Signed-off-by: John W. Linville commit 0866b03c7d7dee8a34ffa527ecda426c0f405518 Author: Larry Finger Date: Wed Feb 3 13:33:44 2010 -0600 b43/b43legacy: Wake queues in wireless_core_start If b43 or b43legacy are deauthenticated or disconnected, there is a possibility that a reconnection is tried with the queues stopped in mac80211. To prevent this, start the queues before setting STAT_INITIALIZED. In b43, a similar change has been in place (twice) in the wireless_core_init() routine. Remove the duplicate and add similar code to b43legacy. Signed-off-by: Larry Finger Cc: Stable [2.6.32] Signed-off-by: John W. Linville commit 74e2bd1fa3ae9695af566ad5a7a288898787b909 Author: Wey-Yi Guy Date: Wed Feb 3 09:28:55 2010 -0800 mac80211: tear down all agg queues when restart/reconfig hw When there is a need to restart/reconfig hw, tear down all the aggregation queues and let the mac80211 and driver get in-sync to have the opportunity to re-establish the aggregation queues again. Need to wait until driver re-establish all the station information before tear down the aggregation queues, driver(at least iwlwifi driver) will reject the stop aggregation queue request if station is not ready. But also need to make sure the aggregation queues are tear down before waking up the queues, so mac80211 will not sending frames with aggregation bit set. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 3f7c5c10e9dc6bf90179eb9f7c06151d508fb324 Author: Senthil Balasubramanian Date: Wed Feb 3 22:51:13 2010 +0530 ath9k: Enable TIM timer interrupt only when needed. The TIM timer interrupt is enabled even before the ACK of nullqos is received which is unnecessary. Also clean up the CONF_PS part of config callback properly for better readability. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 1a20034a73a40b8056731f9db0c535cec2961eb7 Author: Senthil Balasubramanian Date: Wed Feb 3 22:50:18 2010 +0530 ath9k: configure the beacon only if the STA is associated beacons configuration SHOULD be done only if the STA is associated. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 34e895075e21be3e21e71d6317440d1ee7969ad0 Author: Johannes Berg Date: Wed Feb 3 13:59:58 2010 +0100 mac80211: allow station add/remove to sleep Many drivers would like to sleep during station addition and removal, and currently have a high complexity there from not being able to. This introduces two new callbacks sta_add() and sta_remove() that drivers can implement instead of using sta_notify() and that can sleep, and the new sta_add() callback is also allowed to fail. The reason we didn't do this previously is that the IBSS code wants to insert stations from the RX path, which is a tasklet, so cannot sleep. This patch will keep the station allocation in that path, but moves adding the station to the driver out of line. Since the addition can now fail, we can have IBSS peer structs the driver rejected -- in that case we still talk to the station but never tell the driver about it in the control.sta pointer. If there will ever be a driver that has a low limit on the number of stations and that cannot talk to any stations that are not known to it, we need to do come up with a new strategy of handling larger IBSSs, maybe quicker expiry or rejecting peers. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 070bb5477fb4029131aad4941d7aaf0093db0c38 Author: Johannes Berg Date: Wed Feb 3 13:57:46 2010 +0100 mac80211: don't probe if we have probe response We can now easily determine whether we already have probe response information for the BSS we are asked to connect to, in which case there's little point in probing the BSS again. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 33e5a2f776e331dc8a4379b6efb660d38f182d96 Author: Johannes Berg Date: Wed Feb 3 10:24:30 2010 +0100 wireless: update radiotap parser Upstream radiotap has adopted the namespace proposal David Young made and I then took care of, for which I had adapted the radiotap parser as a library outside the kernel. This brings the in-kernel parser up to speed. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 690680360cd22b55235481ca3421a3450a96138a Author: Johannes Berg Date: Wed Feb 3 10:47:55 2010 +0100 mac80211_hwsim: add fake hw scan handler For debugging hardware scan trigger/complete functionality, it was useful to have code in hwsim that pretends to do a hardware scan. This code could be extended to actually do the scan, but for now it was sufficient for me to only pretend. Since hwsim was written to ease debugging, it only makes sense to add it to it permanently. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6e7e6213e4956828927c30e3ef5a42812d00c650 Merge: 5ffaf8a c0ce77b Author: John W. Linville Date: Mon Feb 8 16:38:38 2010 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: net/mac80211/scan.c commit 10be7eb36b93364b98688831ee7d26f58402bb96 Merge: 90c3033 5ffaf8a Author: David S. Miller Date: Thu Feb 4 08:58:14 2010 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 303863f43fa5106637325a213717b2f306e2efc3 Author: Adam Buchbinder Date: Fri Dec 11 16:35:37 2009 -0500 Fix a grammar error (redundant "be") in comment Signed-off-by: Adam Buchbinder Signed-off-by: Jiri Kosina commit 9c119ba54c0fcae72881948af3d37b47a2f8e1f9 Merge: a4b97f2 fdd3d63 Author: David S. Miller Date: Wed Feb 3 19:38:22 2010 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit d4bfa033ed84e0ae446eff445d107ffd5ee78df3 Author: Jiri Kosina Date: Fri Jan 29 15:03:36 2010 +0100 HID: make raw reports possible for both feature and output reports In commit 2da31939a42 ("Bluetooth: Implement raw output support for HIDP layer"), support for Bluetooth hid_output_raw_report was added, but it pushes the data to the intr socket instead of the ctrl one. This has been fixed by 6bf8268f9a91f1 ("Bluetooth: Use the control channel for raw HID reports") Still, it is necessary to distinguish whether the report in question should be either FEATURE or OUTPUT. For this, we have to extend the generic HID API, so that hid_output_raw_report() callback provides means to specify this value so that it can be passed down to lower level hardware drivers (currently Bluetooth and USB). Based on original patch by Bastien Nocera Acked-by: Marcel Holtmann Signed-off-by: Jiri Kosina commit 5ffaf8a361b4c9025963959a744f21d8173c7669 Author: Luis R. Rodriguez Date: Tue Feb 2 11:58:33 2010 -0500 ath9k: add support for 802.11n bonded out AR2427 Some single chip family devices are sold in the market with 802.11n bonded out, these have no hardware capability for 802.11n but ath9k can still support them. These are called AR2427. Cc: stable@kernel.org Reported-by: Rolf Leggewie Tested-by: Bernhard Reiter Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f09c256375c7cf1e112b8ef6306cdd313490d7c0 Author: Stanislaw Gruszka Date: Tue Feb 2 15:34:50 2010 +0100 airo: fix setting zero length WEP key Patch prevents call set_wep_key() with zero key length. That fix long standing regression since commit c0380693520b1a1e4f756799a0edc379378b462a "airo: clean up WEP key operations". Additionally print call trace when someone will try to use improper parameters, and remove key.len = 0 assignment, because it is in not possible code path. Reported-by: Chris Siebenmann Bisected-by: Chris Siebenmann Tested-by: Chris Siebenmann Cc: Dan Williams Cc: Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 299af9d3db0fd3a4994e5e66717ecd276bdd60da Author: Andriy Tkachuk Date: Tue Feb 2 16:33:53 2010 +0200 lib80211: Introduce TKIP_HDR_LEN define for code clarity Introduce TKIP_HDR_LEN define for code clarity (in the same way as CCMP_HDR_LEN). Also odd len variable (not used) dropped from lib80211_tkip_hdr(). Signed-off-by: Andriy V. Tkachuk Signed-off-by: John W. Linville commit d0833a6a2dbc169aba3abcc0904e5aea348bb4d3 Author: Andriy Tkachuk Date: Tue Feb 2 15:58:53 2010 +0200 lib80211: Cosmetics - make room for MIC/CRC near the actual calculation Signed-off-by: Andriy V. Tkachuk Signed-off-by: John W. Linville commit ab5132a26236e308c6d3d832a3e04fca351656d8 Author: Pavel Roskin Date: Sat Jan 30 21:37:24 2010 -0500 ath9k: fix access to freed data on unload Calling ath_bus_cleanup() after ieee80211_free_hw() resulted in access to common->bus_ops, which is already freed as part of the device data. Remove the cleanup field in struct ath_bus_ops, as it was never used properly. Remove ath_bus_cleanup(). Merge cleanup functions in place of the ath_bus_cleanup() calls. Take care not to use any device data after ieee80211_free_hw(). Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 3c384053ce4cb1949f5575c28e30e6ceea8cb39b Author: Vasanthakumar Date: Mon Feb 1 18:49:07 2010 +0530 mac80211: Don't call rate control when HW handles it Rate control should not be called to update the tx status when HW does the RC. Signed-off-by: Vasanthakumar Signed-off-by: John W. Linville commit b4d57adb727ec7c34020390eeb0eeb9e0a2959bc Author: Felix Fietkau Date: Sun Jan 31 23:25:24 2010 +0100 mac80211: fix sta lookup with AP VLAN interfaces and injected frames When injecting frames, mac80211 currently looks for the first AP interface that matches the source address of the injected frame. This breaks when such a frame is directed at a STA that has been moved to a VLAN. This patch fixes it by using sta_info_get_bss instead of sta_info_get, which also finds stations belonging to a VLAN interface of the same BSS as the AP interface. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 17ad353b8d9843731258b5d23556667b764939e9 Author: Felix Fietkau Date: Sun Jan 31 21:56:25 2010 +0100 mac80211: fix monitor mode tx radiotap header handling When an injected frame gets buffered for a powersave STA or filtered and retransmitted, mac80211 attempts to parse the radiotap header again, which doesn't work because it's gone at that point. This patch adds a new flag for checking the availability of a radiotap header, so that it only attempts to parse it once, reusing the tx info on the next call to ieee80211_tx(). This fixes severe issues with rekeying in AP mode. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 4754ffd68bc14de8db01451c49bb07adebe1e422 Author: Felix Fietkau Date: Sun Jan 31 21:50:12 2010 +0100 mac80211: fix sta lookup for received action frames on an AP VLAN When looking for a matching interface, __ieee80211_rx_handle_packet loops over all active interfaces, looking for matching stations. Because AP VLAN interfaces are not processed as part of this loop, it needs to use sta_info_get_bss instead of sta_info_get in order to find a STA that has been moved to a VLAN. This fixes issues with aggregation setup/teardown. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit e0b20f1c67fc4379fce430ff720969f35e123eed Author: Pavel Roskin Date: Sat Jan 30 19:55:27 2010 -0500 mac80211: reduce stack usage in sta_agg_status_read() Use a more compact and readable format for "agg_status" to reduce the stack frame to less than 1024 bytes. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 4c82bf8e5689b1dddd9bcec70efc3b70edef1670 Author: Pavel Roskin Date: Sat Jan 30 19:55:09 2010 -0500 mac80211: reduce stack usage in sta_ht_capa_read() The maximal size of the "ht_capa" file is 430 bytes. In most cases, it's much shorter. Use a 512 byte long buffer. 1024 bytes is too much and causes a warning with CONFIG_FRAME_WARN=1024. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 9501fefec6aa9a3319bb61edb99851ba30653f30 Author: Rafał Miłecki Date: Sat Jan 30 20:18:07 2010 +0100 b43: N-PHY: implement setting RF sequence Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 52cb5e978f505ba6436dfe1867da0d2818fdb9b7 Author: Rafał Miłecki Date: Sat Jan 30 20:18:06 2010 +0100 b43: N-PHY: add TX radio setup for newer PHYs Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 38bb902921dc31c15a707b74ebc6896438bb357e Author: Rafał Miłecki Date: Sat Jan 30 20:18:05 2010 +0100 b43: N-PHY: fix Cal TX IQ LO for newer PHYs Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 6e3b15a9e7c3e4f22e9ade658b9e185311078648 Author: Rafał Miłecki Date: Sat Jan 30 20:18:04 2010 +0100 b43: N-PHY: add RSSI selection for newer PHYs Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 99b82c419bc685c5ca3d8d815564bac41e2716e2 Author: Rafał Miłecki Date: Sat Jan 30 20:18:03 2010 +0100 b43: N-PHY: split RSSI selection into two per-PHY-revision functions Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 09d989d179d0c679043556dda77c51b41a2dae7e Author: Luis R. Rodriguez Date: Fri Jan 29 19:58:57 2010 -0500 cfg80211: add regulatory hint disconnect support This adds a new regulatory hint to be used when we know all devices have been disconnected and idle. This can happen when we suspend, for instance. When we disconnect we can no longer assume the same regulatory rules learned from a country IE or beacon hints are applicable so restore regulatory settings to an initial state. Since driver hints are cached on the wiphy that called the hint, those hints are not reproduced onto cfg80211 as the wiphy will respect its own wiphy->regd regardless. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a2bff2694b02448e1d5873ac010582bc9898021c Author: Luis R. Rodriguez Date: Fri Jan 29 19:58:56 2010 -0500 cfg80211: avoid flushing the global workqueue for core reg hints When cfg80211 starts it will send a core regulatory hint. This is sent to the global workqueue but we force processing of it by flushing the global workqueue. The flushing was done since cfg80211 needs last_request to always be populated. Avoid flushing the global workqueue by processing the work required immediately instead of putting it into a linked list and processing it after the flush. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ef5127a4d256b9c0f47caae6cdc8ccfceedb09f9 Author: Rafał Miłecki Date: Sat Jan 30 00:12:20 2010 +0100 b43: N-PHY: add workarounds for gain control Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 28fd7daabfb35b7a0df2f7eaf460221e16dd2608 Author: Rafał Miłecki Date: Sat Jan 30 00:12:19 2010 +0100 b43: N-PHY: update general workarounds Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 991a0987d9e821df1790bbbc368cf36db0c678d3 Author: Pavel Roskin Date: Fri Jan 29 17:22:26 2010 -0500 ath9k: allocate string buffer in read_file_dma() by kmalloc() Using stack for that causes warnings with CONFIG_FRAME_WARN=1024 Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit f643e51d717b52ac28830e8bb98559b006a73bf4 Author: Pavel Roskin Date: Fri Jan 29 17:22:12 2010 -0500 ath: make gcc check format arguments of ath_print(), fix all misuses Numeric channel is hard to get, so it won't be printed. Replace Mhz with MHz on the affected lines and add commas as needed. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit d3a571971e5af241074947fc80f6284677f6e014 Author: Reinette Chatre Date: Thu Jan 21 11:52:28 2010 -0800 iwlwifi: iwl_power_update_mode always hold mutex iwl_power_update_mode expects to be called with mutex held, for example to protect priv->vif. Only one caller currently does not do this, fix this. Also, add a comment to iwl_power_update_mode to indicate this requirement. Signed-off-by: Reinette Chatre commit 7ae810776a51dc4dc6580013b0f6ba0f34d2b165 Author: Johannes Berg Date: Thu Jan 21 11:47:59 2010 -0800 iwlwifi: fix typo in IWL_CCK_RATES_MASK Due to a typo, the variable contains OFDM rates as well. The only user doesn't care, so this change doesn't really do anything but fix up my confusion. Signed-off-by: Johannes Berg commit 71d75cf9ab858b99d072fece9784ab338af8e388 Author: Johannes Berg Date: Thu Jan 21 06:08:19 2010 -0800 iwlwifi: remove unused work structs auth_work, calibrated_work, update_link_led and report_work are never used, so remove them. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 80676518da523e926e70794ac2767829effcf3ba Author: Johannes Berg Date: Thu Jan 21 06:07:17 2010 -0800 iwlwifi: remove bg_up work There's no need to queue a work struct from within a work struct, just move the code to execute directly. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 9f1f3ceacb7e52d9bc0364b4f26ae418de79656f Author: Johannes Berg Date: Thu Jan 21 05:28:40 2010 -0800 iwlagn: simplify ucode loading Move the waiting into iwl5000_load_section instead of duplicating it in the caller. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit 4d6959219bb71aa34383fc1a1a520820aee6292b Author: Johannes Berg Date: Thu Jan 21 05:24:04 2010 -0800 iwlwifi: no need to test iw_mode in power saving mac80211 will only enable powersaving for station mode. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit fac06108701a2a081a47d4dc6f03220aaab54486 Author: Wey-Yi Guy Date: Wed Jan 20 12:22:54 2010 -0800 iwlwifi: update sensitivity calibration data for 1000 series Update sensitivity range values for 1000 series Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 9bead7632adb6341548056a80ec36e7ae098f4f4 Author: Wey-Yi Guy Date: Wed Jan 20 12:22:53 2010 -0800 iwlwifi: update sensitivity calibration data for 5x00 series Update sensitivity range values for 5x00 series Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 2494f63cc7394fc4424c4833b83d1831f52e54c8 Author: Wey-Yi Guy Date: Wed Jan 20 12:22:52 2010 -0800 iwlwifi: update sensitivity calibration data for 6x00 series Update sensitivity range values for 6000 & 6x50 series Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 47e28f41dce90ea4317d35cf23f232c1a6b07adf Author: Johannes Berg Date: Wed Jan 20 11:21:06 2010 -0800 iwlwifi: fix locking in iwl_mac_add_interface The corresponding iwl_mac_remove_interface only acquires the mutex, leading me to believe that the spinlock is not necessary. However, this doesn't actually acquire the mutex around the vif pointer check and assignment, fix that. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit a7fce6ee8dd693fb2a9d19ddf9ee1fe380893fa1 Author: Wey-Yi Guy Date: Tue Jan 19 16:51:50 2010 -0800 iwlwifi: sysassert identifier change Change in uCode to include a unique identifier as part of sysassert, in order to tell the difference, add the "ADVANCED SYSASSERT" description when dump nic error to indicate the difference. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 49dcc819b077c2d473062e17d5a1373a8b660e02 Author: Daniel Halperin Date: Tue Jan 19 10:22:19 2010 -0800 iwlwifi: optimize power saving In hostap AP mode, every time the client sends the AP a packet the STA_NOTIFY_AWAKE code is sent from mac80211. This results in a command being sent to the uCode even if the client was not asleep. The following simple patch has fixed the issue for me without any degradation that I can find. Signed-off-by: Daniel Halperin Acked-by: Johannes Berg Signed-off-by: Reinette Chatre commit 1dbfd9d46a6df5232ba0b12d2da950da89eff3da Author: Vivek Natarajan Date: Fri Jan 29 16:56:51 2010 +0530 ath9k: Handle full sleep in ps_restore. IDLE PS (Full Sleep) doesn't work when ifconfig up is done during Idle unassociated state. Fix this by restoring FULL SLEEP in ps_restore if CONF_IDLE is set. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 05ba712d7eb156009753e18e5116cabd869cc6e2 Merge: 257ddbd b473946 Author: David S. Miller Date: Thu Jan 28 06:12:38 2010 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 54233261d5aa2926f080b67ac22f508c9f15e690 Author: John W. Linville Date: Wed Jan 27 09:44:48 2010 -0500 cfg80211: fix wext-compat for setting rate to 'auto' Signed-off-by: John W. Linville commit 22e16e55e36ab91148592c9bf0f2444bf766cd3c Author: Larry Finger Date: Tue Jan 26 17:45:28 2010 -0600 rtl8187: Add callback for get_tsf Signed-off-by: Larry Finger Acked-by: Hin-Tak Leung Signed-off-by: John W. Linville commit da8604757b1cdf79f24e118b156349543eb1b722 Author: Larry Finger Date: Tue Jan 26 16:42:02 2010 -0600 b43: N PHY: Fix compilation after removal of typdef b43_c32 In the conversion between typedef and struct, two places that needed a "struct" were missed. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit d2bb8e02810cc5844fe2bd5a81d4058b8afe6de9 Author: John W. Linville Date: Tue Jan 26 16:22:20 2010 -0500 rtl8180: implement get_tsf op for mac80211 Signed-off-by: John W. Linville commit d3d5621abf6d2105700795fcbdf784b9cb46b495 Author: John W. Linville Date: Wed Jan 27 14:23:17 2010 -0500 libertas: add comment re: v10 firmware key handling Comment text suggested by Dan Williams in <1263952092.4481.2.camel@localhost.localdomain>. Signed-off-by: John W. Linville commit 47db3a677b533489d1a5a027282aa33f46dffa79 Author: Luca Verdesca Date: Tue Dec 22 18:10:01 2009 +0100 ath5k: adding LED support for AR5BXB63 cards With following patch, LED should now work with LiteOn AR5BXB63 mini pci-e cards. (Broken patch fixed-up by me...let's hope I did it right! -- JWL) Signed-off-by: Luca Verdesca Acked-by: Bob Copeland Signed-off-by: John W. Linville commit 56007a028c51cbf800a6c969d6f6431d23443b99 Author: Johannes Berg Date: Tue Jan 26 14:19:52 2010 +0100 mac80211: wait for beacon before enabling powersave Because DTIM information is required for powersave but is only conveyed in beacons, wait for a beacon before enabling powersave, and change the way the information is conveyed to the driver accordingly. mwl8k doesn't currently seem to implement PS but requires the DTIM period in a different way; after talking to Lennert we agreed to just have mwl8k do the parsing itself in the finalize_join work. Signed-off-by: Johannes Berg Acked-by: Lennert Buytenhek Signed-off-by: John W. Linville commit c21dbf9214bce129f92e1af05552553ff0e318ed Author: Johannes Berg Date: Tue Jan 26 14:15:46 2010 +0100 cfg80211: export cfg80211_find_ie This new function (previously a static function called just "find_ie" can be used to find a specific IE in a buffer of IEs. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 18c949070b57d2cbcc0b25c5cfa003ece204e468 Author: Johannes Berg Date: Mon Jan 25 19:07:39 2010 +0100 mac80211: fill jiffies/vif on filtered frames Filtered frames not only need their control information cleared to avoid wrong checks, but also need to have jiffies and vif assigned so they can be processed or expired. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f2982181e0531c0b12752336a1578626f99e7828 Author: Rafał Miłecki Date: Mon Jan 25 19:00:01 2010 +0100 b43: N-PHY: use cordic to generate samples Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 6f98e62a9f1bdbd83d8d1be8c2ca6f58099846ef Author: Rafał Miłecki Date: Mon Jan 25 19:00:00 2010 +0100 b43: update cordic code to match current specs Signed-off-by: Rafał Miłecki Tested-by: Larry Finger Signed-off-by: John W. Linville commit 986504540306137dfc90a936f9f25086d15621c5 Author: Rafał Miłecki Date: Mon Jan 25 18:59:59 2010 +0100 b43: make cordic common (LP-PHY and N-PHY need it) Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 3ed0fac3b56504aaaa3d800e7891ed4a7068b85c Author: Rafał Miłecki Date: Mon Jan 25 18:59:58 2010 +0100 b43: N-PHY: fix one bit off in parsing RF Ctrl Override arguments Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 723bae7ee44fd79c1cd3c7531ed581d373920774 Author: Johannes Berg Date: Mon Jan 25 13:36:36 2010 +0100 mac80211: track work started through callbacks Currently, the remain_on_channel work callback needs to track in its own data structure whether the work was just started or not. By reordering some code this becomes unnecessary, the generic wk->started variable can still be 'false' on the first invocation and only be 'true' on actual timeout invocations, so that the extra variable can be removed. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 382b16559d599c4260aeb82a5ea5ba44459d1cd2 Author: Johannes Berg Date: Mon Jan 25 11:36:16 2010 +0100 mac80211: fix sw crypto What a stupid mistake. In commit 813d76694043d00b59475baa1fbfaf54a2eb7fad Author: Johannes Berg Date: Sun Jan 17 01:47:58 2010 +0100 mac80211: move control.hw_key assignment I inserted code testing the wrong flags field, which means that the test is almost always true (it's really testing for the peer's WMM support) and thus the later parts of the stack assume hw crypto will be done even if that's not true. Obviously, that broke software crypto. Maxim said so specifically, and Jochen probably uses some cipher that iwl3945 doesn't support in hardware, which might also explain that Maxim reports that even hw crypto is broken. Fix this to test the right flags field. Reported-by: Maxim Levitsky Reported-by: Jochen Friedrich Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1396b231b0369c4146988c2f42fb416ae19e2572 Author: Felix Fietkau Date: Sun Jan 24 20:44:35 2010 +0100 mac80211: fix WARN_ON in the new work code ieee80211_work_rx_mgmt currently enqueues various management frames, including deauth and disassoc frames, however the function ieee80211_work_rx_queued_mgmt does not handle these, as they should only occur if the AP is buggy. It does emit a WARN_ON when this happens though, and several users have reported such instances. Fix the WARN_ON by not queueing such frames in the first place. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit eb807fb23878bc319e029ed8ce3d835d239723a5 Author: Kalle Valo Date: Sun Jan 24 14:55:12 2010 +0200 mac80211: fix update_tkip_key() documentation about the context Johannes noticed that I had incorrectly documented the context of update_tkip_key() driver operation. It must be atomic because all RX code is run inside rcu critical section. Reported-by: Johannes Berg Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 96869a39399269a776a94812e9fff3d38b47d838 Author: Michael Buesch Date: Sun Jan 24 13:13:32 2010 +0100 b43: Workaround circular locking in hw-tkip key update callback The TKIP key update callback is called from the RX path, where the driver mutex is already locked. This results in a circular locking bug. Avoid this by removing the lock. Johannes noted that there is a separate bug: The callback still breaks on SDIO hardware, because SDIO hardware access needs to sleep, but we are not allowed to sleep in the callback due to mac80211's RCU locking. Signed-off-by: Michael Buesch Tested-by: Larry Finger Reported-by: kecsa@kutfo.hit.bme.hu Cc: Johannes Berg Cc: stable Signed-off-by: John W. Linville commit 658965107e2a45a1a4297cb494adc55797dd9ad1 Author: Felix Fietkau Date: Sun Jan 24 03:26:11 2010 +0100 ath9k: improve max rate retry handling ath9k currently forces hw->max_rate_tries to 4 to work around rate control inefficiencies. This has some negative side effects, such as rate_control_send_low also using a maximum of 4 tries, which could negatively affect reliability of unicast management frames. This patch pushes the retry limit to the rate control instead, and allows it to use more tries on the last stage to prevent unnecessary packet loss. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit ff27fabe62d288038b36f41ac6a2190ed7d15993 Author: Daniel Halperin Date: Fri Jan 22 14:22:58 2010 -0800 iwlwifi: fix throughput degradation in aggregation mode The following commit commit e4da8c37af626001ff704fb29ea14eb58f5f7208 Author: Johannes Berg Date: Wed Dec 23 13:15:43 2009 +0100 mac80211: make off-channel work generic triggered a bug in iwlwifi where HT parameters would not be correctly set in some mac80211 pathways. The aggregation (and possibly other) station flags were not being set, which limited the size of aggregation blocks and reduced throughput at high rates. >From Johannes: """ Due to Wey-Yi's patch to use the set-channel command when the channel changes while associated, we don't get a full new RXON. Therefore, we don't re-set the rxon-station either. However, under some circumstances that apparently have gotten more likely mac80211 will first set up the BSS info, then add the station and then switch to an HT channel type. Therefore, the check for "priv->current_ht_config.is_ht" in iwl_rxon_add_station() will hit false and not fill in the HT information. However, that check can just be removed, which is the easiest fix for all this, because the HT capa struct is always there, just could possibly have the ht_supported member set to false. """ A sample good link in my 3x3 network improves by approximately 25% TCP throughput. This fixes Bug 2144 (http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2144). Signed-off-by: Daniel Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 81963d68575d497d626ce13e42c84518a931cc12 Author: Reinette Chatre Date: Fri Jan 22 14:22:57 2010 -0800 iwlwifi: cleanup spectrum measurement command support In iwlagn the support for spectrum measurement command has been disabled since v2.6.29 without any requests for it. In addition to this when this command is indeed enabled it has been found to trigger firmware SYSASSERT on at least 4965 and 5100 hardware (see http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=1952 ). Since then this code has been bitrotting and cannot just be enabled without porting. Remove support for spectrum measurement command from iwlagn. It can be added back if there is a future need and the firmware problem it triggers has been fixed. Support for the spectrim measurement notification remains as it has been enabled all the time. In addition to this remove the 3945 spectrum measurement command Kconfig option and make this command always supported. The code added by this enabling is minimal and only run when user triggers a spectrum measurement request via sysfs. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 65baa90d92097ce9b7c080697e6b370d335c2efc Author: Johannes Berg Date: Fri Jan 22 14:22:56 2010 -0800 iwlwifi: check endianness annotations by default sparse won't check endianness annotations by default, but iwlwifi is and should be clean so we can make sparse check them on it. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 875295f183a8cb18e9fde0edae0ab88719debcbd Author: Johannes Berg Date: Fri Jan 22 14:22:55 2010 -0800 iwlwifi: fix sparse warning sparse correctly warns about symbol not being static, make static to shut it up. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4c84a8f1679f754d6080e49892f5cae2c88c91a8 Author: Johannes Berg Date: Fri Jan 22 14:22:54 2010 -0800 iwlwifi: clean up debugfs code The debugfs code can be made a whole lot more efficient by using debugfs_remove_recursive(), the large chunk of variables can completely go away and by moving two variables we no longer need to allocate an extra chunk of memory. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 158bea07c6017fa67bc0c64815ce5c3a998083dc Author: Johannes Berg Date: Fri Jan 22 14:22:53 2010 -0800 iwlwifi: reorder device setup It is better to first notify cfg80211 about the hw rfkill state (so the rfkill device that will be registered won't have the wrong state while being registered), and the power/tt variable init can (and probably should) also be done first. Also rename iwl_setup_mac to iwl_mac_setup_register to better describe what it really does. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1d8c4ae9169ee8d8ca7fb84a7b6bb4c7a4d49397 Author: Johannes Berg Date: Fri Jan 22 14:22:52 2010 -0800 iwlwifi: is no longer experimental It really hasn't been for a long time, not sure why this stuck around. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 06702a735eacf8679e9ff0d49eb3c989bc6b96ce Author: Wey-Yi Guy Date: Fri Jan 22 14:22:51 2010 -0800 iwlwifi: module parameter to enable/disable bt co-exist Adding "bt_coex_active" module parameter for iwlcore to enable/disable BT coexist; if bt_coex_active is true (default), uCode will do kill/defer every time the priority line is asserted (BT is sending signals on the priority line in the PCIx). By disable the bt_coex_active, uCode will ignore the BT activity and perform the normal operation. Users might experience transmit issue on some platform due to this WiFi/BT co-exist problem. The possible symptoms are: NetworkManager and other similar programs can scan and find all the available APs, but will timeout and unable to associate with any of the APs; no out-going frames can be found with wireless sniffer tools. On those platforms, WiFi communication can be restored by set "bt_coex_active" module parameter to "false" Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit dab1c161fed18eb6b3472bdbfd827264caae097f Author: Wey-Yi Guy Date: Fri Jan 22 14:22:50 2010 -0800 iwlwifi: bit field description for BT Config command Give better bit filed define and description for flag parameter in REPLY_BT_CONFIG command: flags: bit 0 - 1: BT channel announcement enabled 0: disable bit 1 - 1: priority of BT device enabled 0: disable bit 2 - 1: BT 2 wire support enabled 0: disable Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3459ab5a1c92eaf8b76e9fa1b6ca529cf83066f3 Author: Reinette Chatre Date: Fri Jan 22 14:22:49 2010 -0800 iwlwifi: make broadcast station addition generic Add function pointer for broadcast station addition so that we can call it in from iwlcore at a later time. We only distinguish between iwlagn and iwl3945 broadcast station addition. For the iwl3945 station addition we add that function to iwlcore since that is where most station functionality resides, making it part of iwl3945 will require significant code reorganization that will dilute station management functionality. This seems to be an efficient solution. It may seem as though we are removing error checking when adding the 3945 broadcast station but this error checking was never really necessary since the function returns the station id and the broadcast station id is always set. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1fa97aaeb7fb5111f69abfdb8db656ce19e4951e Author: Reinette Chatre Date: Fri Jan 22 14:22:48 2010 -0800 iwlwifi: cleanup station adding code The work done when a station is added is very similar whether the station is added synchronously or asynchronously. Centralize this work. At the same time increase the status flags being checked for when the command returns with accompanying debug messages. Also increase checking when setting the "ucode active" state with accompanying debugging. This work is done in preparation for station notification support. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 07f33f92e8e1e6ed2ec9d4de048142e7a1d96856 Author: Abhijeet Kolekar Date: Fri Jan 22 14:22:47 2010 -0800 iwlwifi: enable DC calibration From: Abhijeet Kolekar For 6X50 DC calibration needs to be initialized else uCode will run an endless loop. Enbale DC calibration in hw config. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3e4fb5faefb57824f2e42305b3d5907845af978c Author: Trieu 'Andrew' Nguyen Date: Fri Jan 22 14:22:46 2010 -0800 iwlwifi: Tune radio to prevent unexpected behavior We have seen the throughput dropped due to external noisy environment and the radio is out of tune. There are lot of plcp errors indicating this condition. Eventually the station can get de-authenticated by the Access Point. By resetting and tuning the radio, the plcp errors are reduced or eliminated and the throughput starts to rise. To prevent unexpected behavior such as drop in throughput or deauthentication, - The change provides the driver feature to monitor and tune the radio base on the statistics notification from the uCode. - It also allows the setting of the plcp error rate threshold via the plcp_delta under debugfs interface. Signed-off-by: Trieu 'Andrew' Nguyen Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d4d59e88cb746165c6fe33eacb6f582d525c6ef1 Author: Wey-Yi Guy Date: Fri Jan 22 14:22:45 2010 -0800 iwlwifi: Logic to control how frequent radio should be reset if needed Add additional logic for internal scan routine to control how frequent this function should be performed. The intent of this function is to reset/re-tune the radio and bring the RF/PHY back to normal state, it does not make sense calling it too frequent, if reset the radio can not bring it back to normal state, it indicate there are other reason to cause the radio not operate correctly. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 220575f78fb0b8d2a1c41cd28115d52ae8d132ee Author: Henry Zhangh Date: Fri Jan 22 14:22:44 2010 -0800 iwlwifi: Fix A band scanning when associated This patch allows A band to be scanned when driver is associated to AP. Scan mechanism is that mac80211/cfg80211 requests driver to scan G band first and then immediately to scan A band. Original code require driver to wait for 2 seconds after any scan before another scan will be performed. This caused driver to service G band scan request from mac80211/cfg80211 but deny the A band scan request. Signed-off-by: Henry Zhangh Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit afbdd69af0e6a0c40676d4d4b94a0a4414708eaa Author: Wey-Yi Guy Date: Fri Jan 22 14:22:43 2010 -0800 iwlwifi: add function to reset/tune radio if needed Adding "radio reset" function to help reset and stabilize the radio. During normal operation, sometime for unknown reason, radio encounter problem and can not recover by itself; the best way to recover from it is to reset and re-tune the radio. Currently, there is no RF reset command available, but since radio will get reset when switching channel, use internal hw scan request to force radio reset and get back to normal operation state. The internal hw scan will only perform passive scan on the first available channel (not the channel being used) in associated state. The request should be ignored if already performing scan operation or STA is not in associated state. Also include an "internal_scan" debugfs file to help trigger the internal scan from user mode. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a13d276f1e49ae0bc4ad18ce8ea3c90656c9e8d4 Author: Wey-Yi Guy Date: Fri Jan 22 14:22:42 2010 -0800 iwlwifi: configure missed beacon threshold Add support to configure missed beacon threshold, by default, if receive "missed beacon" notification from uCode and has more than 5 consecutive beacon missed, then perform sensitivity calibration; with this change, allow user to adjust the missed beacon threshold from debugfs in case more sensitivity calibration required for better performance in noisy environment The default value (=5) should be good enough for the normal condition, but for very noisy environment, more sensitivity calibration could help improve the throughput, so by setting the missed beacon threshold to lower number, user might experience better performance result. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3b43a18743421cccd33902e29016fa49b2d52dbb Author: Kalle Valo Date: Sat Jan 23 20:27:14 2010 +0200 mac80211: fix tx select key null pointer crash with hostapd Pavel Roskin reported a crash in ieee80211_tx_h_select_key(): http://marc.info/?l=linux-wireless&m=126419655108528&w=2 This is a regression from patch "mac80211: move control.hw_key assignment". Fix it as suggested by Johannes, adding an else statement to make sure that tx->key is not accessed when it's null. Compile-tested only. Reported-by: Pavel Roskin Cc: Johannes Berg Signed-off-by: Kalle Valo Tested-by: Bob Copeland Signed-off-by: John W. Linville commit 51c24aaacaea90c8e87f1dec75a2ac7622b593f8 Merge: 4276e47 6be3257 Author: David S. Miller Date: Sat Jan 23 00:31:06 2010 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit f12553ebe045a8a40ab33fa500fb57d10706e226 Author: Johannes Berg Date: Fri Jan 22 22:07:59 2010 +0100 mac80211: add missing key check ieee80211_tx_h_select_key might decide that a frame need not be encrypted at all, in which case it will clear tx->key. In that case it may crash if a key was previously selected, e.g. as the default key. This is also due to my patch "mac80211: move control.hw_key assignment". Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b92f7d30830a319148df2943b7565989494e5ad1 Author: Christian Lamparter Date: Fri Jan 22 08:01:11 2010 +0100 p54pci: revise tx locking This patch continues the effort which began with: "[PATCH] p54pci: move tx cleanup into tasklet". Thanks to these changes, p54pci's interrupt & tx cleanup routines can be made lock-less. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 59af099b1956086b06c0d0f32ea99ce136b415b7 Author: Rafał Miłecki Date: Fri Jan 22 01:53:16 2010 +0100 b43: N-PHY: add TX tone Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 45ca697e60eb5d3cac4530ae3a88f96c297efb09 Author: Rafał Miłecki Date: Fri Jan 22 01:53:15 2010 +0100 b43: N-PHY: add setting power amplifier filters Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 10a798733e0f47923a1050231d8d39609c62be70 Author: Rafał Miłecki Date: Fri Jan 22 01:53:14 2010 +0100 b43: N-PHY: add running samples Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 75377b2476d85d90c0db07e780ee95741cff3a2d Author: Rafał Miłecki Date: Fri Jan 22 01:53:13 2010 +0100 b43: N-PHY: implement overriding RF control Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit aa4c7b2a2547db95388f795f092ea286fbdd98a1 Author: Rafał Miłecki Date: Fri Jan 22 01:53:12 2010 +0100 b43: check band width Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 4bb29f8c390fb7be207ec3f11b9d30ccdf1cb6ac Author: Felix Fietkau Date: Fri Jan 22 00:36:39 2010 +0100 mac80211: fix rx data handling for non-data frames on multiple vifs The loop that passes non-data frames to all relevant vifs inside the __ieee80211_rx_handle_packet keeps a pointer to the previous sdata to avoid having to make unnecessary copies of the frame it's handling. This led to a bug that caused it to apply the ieee80211_rx_data state to the wrong interface, thereby either missing the rx.sta pointer or having it assigned where it shouldn't be. This breaks (among other things) aggregation on some vifs, as action frame exchages are dropped to the cooked monitor interface due to rx->sta being NULL. Fix this by restructuring the loop so that it prepares the rx data just before making the skb copy and calling the rx handlers. Cc: stable@kernel.org Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 58da1318ee92ad3fe7917278d596768bbe441850 Author: Vasanthakumar Thiagarajan Date: Thu Jan 21 11:17:27 2010 +0530 ath9k: Fix wifi disconnection when collocated bt scan is active As all bt packets are priority traffic during bt scan, wifi will get disconnected when bt scan lasts for few seconds. Fix this by allocating 10% of bt period time (4.5ms) to wifi fully. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit a951ae2176b982574ffa197455db6c89359fd5eb Author: Bob Copeland Date: Wed Jan 20 23:51:04 2010 -0500 ath5k: fix setup for CAB queue The beacon sent gating doesn't seem to work with any combination of flags. Thus, buffered frames tend to stay buffered forever, using up tx descriptors. Instead, use the DBA gating and hold transmission of the buffered frames until 80% of the beacon interval has elapsed using the ready time. This fixes the following error in AP mode: ath5k phy0: no further txbuf available, dropping packet Add a comment to acknowledge that this isn't the best solution. Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 5d6ce628f986d1a3c523cbb0a5a52095c48cc332 Author: Bob Copeland Date: Wed Jan 20 23:51:03 2010 -0500 ath5k: dont use external sleep clock in AP mode When using the external sleep clock in AP mode, the TSF increments too quickly, causing beacon interval to be much lower than it is supposed to be, resulting in lots of beacon-not-ready interrupts. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=14802. Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit d0dd2de0d055f0ffb1e2ecdc21380de9d12a85e2 Author: Andriy Tkachuk Date: Wed Jan 20 13:55:06 2010 +0200 mac80211: Account HT Control field in Data frame hdrlen according to 802.11n-2009 ieee80211_hdrlen() should account account new HT Control field in 802.11 data frame header introduced by IEEE 802.11n standard. According to 802.11n-2009 HT Control field is present in data frames when both of following are met: 1. It is QoS data frame. 2. Order bit is set in Frame Control field. The change might be totally compatible with legacy non-11n aware frames, because 802.11-2007 standard states that "all QoS STAs set this subfield to 0". Signed-off-by: Andriy V. Tkachuk Acked-by : Benoit Papillault Signed-off-by: John W. Linville commit ef15aac6073b27fd4f70007784d2d52ed394bf43 Author: Johannes Berg Date: Wed Jan 20 12:02:33 2010 +0100 cfg80211: export multiple MAC addresses in sysfs If a device has multiple MAC addresses, userspace will need to know about that. Similarly, if it allows the MAC addresses to vary by a bitmask. If a driver exports multiple addresses, it is assumed that it will be able to deal with that many different addresses, which need not necessarily match the ones programmed into the device; if a mask is set then the device should deal addresses within that mask based on an arbitrary "base address". To test it all and show how it is used, add support to hwsim even though it can't actually deal with addresses different from the default. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b3fbdcf49f940d0703c356441e0daf045e64e076 Author: Johannes Berg Date: Thu Jan 21 11:40:47 2010 +0100 mac80211: pass vif and station to update_tkip_key When a TKIP key is updated, we should pass the station pointer instead of just the address, since drivers can use that to store their own data. We also need to pass the virtual interface pointer. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e4fca007b06165900d0e44e8d5e251376819bf5d Author: John W. Linville Date: Fri Jan 22 12:33:09 2010 -0500 mac80211: avoid NULL ptr deref when using WEP "mac80211: move control.hw_key assignment" changed an if-else into two separate if statments, but the if-else is needed to prevent dereferencing a null info->control.hw_key. This fixes avoids a lock-up during association on my machine when using WEP. Signed-off-by: John W. Linville commit 64147c729732ba9c9e50966971bdfbd503c888bb Author: John W. Linville Date: Tue Jan 19 17:07:41 2010 -0500 libertas/assoc.c: rearrange some strange line breaks Signed-off-by: John W. Linville commit c9f6a6567f3e8dd69dd3f80a67e73d7d10884bea Author: Luis R. Rodriguez Date: Tue Jan 19 14:04:19 2010 -0500 ath9k: make tx power config changes take effect immediatley Users wishing to tweak tx power want it to happen immediately, try to respect that. This was tested by Lorenzo by measuring the received signal strength from an AP with ath9k and the patch. Changing the tx power on the AP produced these results: 1) iwconfig wlan0 txpower 20 ---> Rx power -37dbm 2) iwconfig wlan0 txpower 15 ---> Rx power -41dbm 3) iwconfig wlan0 txpower 10 ---> Rx power -45dbm 4) iwconfig wlan0 txpower 5 ---> Rx power -51dbm 5) iwconfig wlan0 txpower 0 ---> Rx power -37dbm The result with 0 is an anomoly and would need to be addressed through a separate patch. Signed-off-by: Luis R. Rodriguez Tested-by: Lorenzo Bianconi Signed-off-by: John W. Linville commit 27e310c91c3433ab9997b925b3fd65e660634c76 Author: Jouni Malinen Date: Tue Jan 19 10:53:30 2010 -0800 nl80211: Allow association to change channels during reassociation nl80211_associate() was rejecting (re)association attempts with EBUSY in some cases where we are currently associated with an AP that uses different channel from the destination AP. Fix this by passing the current wdev to rdev_fixed_channel() in the same way that was already done for join-IBSS and connect commands. This allows the fixedchan check to skipped for the current wdev and allows the reassociation to proceed. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 1625c148cde23a8b4180e171ed4a17e17521b995 Author: Samuel Ortiz Date: Tue Jan 19 00:19:21 2010 +0100 libertas: Set/clear WPA keys before the WEP ones With the v10 firmware running on 8688 HW, clearing WPA keys after setting the WEP key prevents us from being able to associate with WEP APs. Swapping the calling order for assoc_helper_wpa_keys() and assoc_helper_wep_keys fixes that issue. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit de9a47f92795f697964f662415cb27816c2d9b76 Author: Rafał Miłecki Date: Mon Jan 18 00:21:49 2010 +0100 b43: N-PHY: silence warnings, add missing call Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 9145834e84805f5efcca4706edfd641047af1d55 Author: Rafał Miłecki Date: Mon Jan 18 00:21:35 2010 +0100 b43: N-PHY: implement and add multi-dimensional table reading Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit c643a66ef5ccfd4d359327fb8afa9949f1abbfdd Author: Rafał Miłecki Date: Mon Jan 18 00:21:27 2010 +0100 b43: N-PHY: implement and add reading one element tables Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 2581b1434ccba6960e0b671927d87c83b5152c9d Author: Rafał Miłecki Date: Mon Jan 18 00:21:21 2010 +0100 b43: N-PHY: implement and add multi-dimensional table writing Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit d41a3552f96673480d7913c170cab31fa00b7697 Author: Rafał Miłecki Date: Mon Jan 18 00:21:17 2010 +0100 b43: N-PHY: add writing one element tables Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit d713804c6032b95cd3035014e16fadebb9655c6f Author: Christian Lamparter Date: Sun Jan 17 23:19:25 2010 +0100 p54pci: move tx cleanup into tasklet This patch moves the tx cleanup routines out of the critical interrupt context and into the (previously known as rx) tasklet. The main goal of this operation is to remove the extensive usage of spin_lock_irqsaves in the generic p54common library. The next step would be to modify p54usb to do the rx processing inside a tasklet (just like usbnet). Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 288c8ce8047695fd8872dd5db3ef21a9679c402f Author: Christian Lamparter Date: Sun Jan 17 23:17:29 2010 +0100 p54pci: handle dma mapping errors This patch adds error-paths to handle pci_dma_mapping errors. Cc: Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit a98bfec2985221d8e0904a526cbe88590eaad2a6 Author: Benoit Papillault Date: Sun Jan 17 22:45:24 2010 +0100 mac80211: Fixed a bug in IBSS merge First, both beacons and probe responses can be used for IBSS merge. Next, sdata->u.ibss.bssid was always true (and thus IBSS merge was disabled). We should use sdata->u.ibss.fixed_bssid instead. Signed-off-by: Benoit Papillault Signed-off-by: John W. Linville commit ce9058aedd75f14785400dcc49a2bc352ca38871 Author: Benoit Papillault Date: Sun Jan 17 22:45:23 2010 +0100 mac80211: removed useless code in IBSS management ieee82011_sta_find_ibss() and ieee80211_sta_merge_ibss() are always called with a defined state. So it's useless to check it or set it in those function. Signed-off-by: Benoit Papillault Signed-off-by: John W. Linville commit 27032059677b98f33634ceb90488812db432cbc9 Author: Felix Fietkau Date: Sun Jan 17 21:08:50 2010 +0100 ath9k: fix RTS/CTS handling The Tx DMA descriptor has two kinds of flags that select RTS/CTS usage. The first one (global for the frame) selects whether RTS/CTS or CTS-to-self should be used, the second one enables RTS/CTS or CTS-to-self usage for an individual multi-rate-retry entry. Previously the code preparing the descriptor only enabled the global flag, if the first MRR series selected the local one. Fix this by enabling the global flag if any of the MRR entries need it. With this patch, rate control can properly select the use of RTS/CTS for all MRR entries except the first one, which is the default behavior. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 5f2aa25e0e5b221a176ab3d1c51d51da265cb4a7 Author: Johannes Berg Date: Sun Jan 17 15:49:02 2010 +0100 cfg80211: rcu-ify rdev and wdev Future code will need to look up rdev and wdev within atomic sections, but currently we need to lock a mutex for such lookups. Change the list handling for both to be RCU-safe so that we can look them up in rcu sections instead in the future. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c57199bc32ebcd914253496486d2e09b1c9a3de0 Author: Rafał Miłecki Date: Sun Jan 17 13:04:08 2010 +0100 b43: N-PHY: store seq mode for proper restoring (follow specs) Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 67c0d6e2d1abb9cbff9235143a8faaef89119628 Author: Rafał Miłecki Date: Sun Jan 17 13:04:02 2010 +0100 b43: N-PHY: move RF sequence declarations top, add missing calls Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 4f4ab6cd1486fcb0ab8d689d625ac7691198f36b Author: Rafał Miłecki Date: Sun Jan 17 13:03:55 2010 +0100 b43: N-PHY: implement chain selection Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 53ae8e8c92b2715f27c95e8e7169bca9a8909856 Author: Rafał Miłecki Date: Sun Jan 17 13:03:48 2010 +0100 b43: N-PHY: implement stopping playback Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit ad9716e8e8bc39664a0d41ec94f9bffbf748b45b Author: Rafał Miłecki Date: Sun Jan 17 13:03:40 2010 +0100 b43: N-PHY: implement MIMO config update Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit e53de67449bbcaf5551f54e506a4dff62fc6a49c Author: Rafał Miłecki Date: Sun Jan 17 13:03:32 2010 +0100 b43: N-PHY: implement TX PHY cleanup and setup Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 026816fce48390807859508cd5172e9c79901ef7 Author: Rafał Miłecki Date: Sun Jan 17 13:03:28 2010 +0100 b43: N-PHY: implement RX PHY cleanup and setup Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit c6fcf6bcfc3cfc1c00cc7fd9610cfa2b1a18041f Author: Johannes Berg Date: Sun Jan 17 01:47:59 2010 +0100 mac80211: re-enable re-transmission of filtered frames In an earlier commit, mac80211: disable software retry for now Pavel Roskin reported a problem that seems to be due to software retry of already transmitted frames. It turns out that we've never done that correctly, but due to some recent changes it now crashes in the TX code. I've added a comment in the patch that explains the problem better and also points to possible solutions -- which I can't implement right now. I disabled software retry of failed/filtered frames because it was broken. With the work of the previous patches, it now becomes fairly easy to re-enable it by adding a flag indicating that the frame shouldn't be modified, but still running it through the transmit handlers to populate the control information. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 813d76694043d00b59475baa1fbfaf54a2eb7fad Author: Johannes Berg Date: Sun Jan 17 01:47:58 2010 +0100 mac80211: move control.hw_key assignment When mac80211 asks a driver to encrypt a frame, it must assign the control.hw_key pointer for it to know which key to use etc. Currently, mac80211 does this whenever it would software-encrypt a frame. Change the logic of this code to assign the hw_key pointer when selecting the key, and later check it when deciding whether to encrypt the frame or let it be encrypted by the hardware. This allows us to later simply skip the encryption function since it no longer modifies the TX control. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a6bae9e7ab19876a157c91019852395539e4f20e Author: Johannes Berg Date: Sun Jan 17 01:47:57 2010 +0100 mac80211: remove useless setting of IEEE80211_TX_INTFL_DONT_ENCRYPT There's no value in setting a flag that will never be checked after this point, this seems to be legacy code -- I think previously the flag was used to check whether to encrypt the frame or not. Now, however, the flag need not be set, and setting it actually interferes if the frame will be processed again later. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 697e6a0fb0c8783695d4b4a5d7131476b296d623 Author: Johannes Berg Date: Sun Jan 17 01:47:56 2010 +0100 mac80211: clear TX control on filtered frames When an skb survived a round-trip through the driver and needs to be re-used, its control information is definitely not valid any more, the driver will have overwritten it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit edc6ccb7b992bd9ea5db4555c8f0bf74c656f964 Author: Johannes Berg Date: Sun Jan 17 01:47:55 2010 +0100 mac80211: move and rename misc tx handler This TX handler is used only for assigning the station pointer in the control information, so give it a better name. Also move it before rate control. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8e9310c1790566ea2de2e8b6e1c04bacbbee648c Author: Bob Copeland Date: Sat Jan 16 14:36:53 2010 -0500 mac80211: pid: replace open-coded msecs_to_jiffies Code directly scaling by HZ and rounding can be more efficiently and clearly performed with msecs_to_jiffies. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 1f44780827c6bbbcd1f12d5c6b6ce84f49a96bc0 Author: Reinette Chatre Date: Fri Jan 15 13:43:41 2010 -0800 iwlwifi: update copyright year to 2010 Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4e9772b0a94c7d3a5f7062ba94afdbb9e692275d Author: Wey-Yi Guy Date: Fri Jan 15 13:43:40 2010 -0800 iwlwifi: remove extra statistics request from debugfs When reading current ucode statistics information from debugfs, in current implementation, it will always send a new "statistics request" to uCode. In normal operation, uCode should report the statistics per beacon interval. Remove this extra request to reduce the additional command exchanges between driver and uCode. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1b3eb8236ad9369ae519216b61a3d22806370115 Author: Wey-Yi Guy Date: Fri Jan 15 13:43:39 2010 -0800 iwlwifi: display flowhandler register when sw error or on-demand Flowhandler handle the communication between driver and uCode, when any uCode error happen, we also like to know what is the status of the flowhandler; it can help to debug flowhandler related problem. Also adding debugfs file to dump current value of flowhandler registers. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2a11df6ee58d1b1fc7e5ecd7593a04d7555dc522 Author: Wey-Yi Guy Date: Fri Jan 15 13:43:38 2010 -0800 iwlwifi: software w/a for h/w bug cause Rx bit get clear This is a w/a for a hardware bug. the h/w bug may cause the Rx bit (bit 15 before shifting it to 31) to clear when using interrupt coalescing. This does not mean frames are lost - their processing is just delayed until next interrupt arrives. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2be76703a3afb281155894ac52d34f7f5d736633 Author: Wey-Yi Guy Date: Fri Jan 15 13:43:37 2010 -0800 iwlwifi: set interrupt coalescing timer range and default For interrupt coalescing timer, the CSR_INT_COALESCING is an 8 bit register in 32-usec unit, the range can go from 0x00 - 0xFF. set the range and default timeout value for both calibration mode and operation mode. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 937c397eb633b804d9a806d08c395ecfc42b1fec Author: Wey-Yi Guy Date: Fri Jan 15 13:43:36 2010 -0800 iwlwifi: correct return code for log_event When dumping event log in debugfs, iwl_dump_nic_event_log() should return the correct error code instead of let the calling function makes it own assumption. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 11fc524941248dc717f1af5dfa844eceb7c0217f Author: Wey-Yi Guy Date: Fri Jan 15 13:43:35 2010 -0800 iwlwifi: add num_of_sos_stats to statistics counter When uCode detects number of beacon missed consecutively above the internal missed beacon threshold (set by uCode), it will reset and re-tune the radio in order to get out of bad PHY state. This "num_of_sos_states" counter monitors number of time uCode encounters this bad condition and has to re-tune the radio. Signed-off-by: Wey-Yi Guy Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e3ef2164386a13a37714ec033e30811d052c7999 Author: Wey-Yi Guy Date: Fri Jan 15 13:43:34 2010 -0800 iwlwifi: format and show statistics counter from uCode To help debug uCode related problem, adding "delta" and "max" information in debugfs statistics counters display. Those information show the delta between two statistics report from uCode, user can monitor the counters for any "un-normal" behavior. Signed-off-by: Wey-Yi Guy Signed-off-by: Jay Sternberg Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9ed333e0298c8f12cf7f3b4aec4258e81ef588a0 Author: Wey-Yi Guy Date: Fri Jan 15 13:43:33 2010 -0800 iwlwifi: fix clear statistics counter command When receive reply statistics command with "clear" mask, just reset the accumulated statistics counters, but not the current statistics counters, so the accumulated statistics counter can provide the correct information. Signed-off-by: Wey-Yi Guy Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 861a57cd01f97e984320b5aeeee019ede48c714d Author: Felix Fietkau Date: Tue Jan 12 04:08:26 2010 +0100 mac80211: fix WMM AC default for non-QoS data frames The WMM AC selection added to the monitor mode selection function accidentally assigns non-QoS data frames to the same AC as mgmt frames (VO). This is not serious, but should be fixed anyway. This patch assigns them to the BE AC instead. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 031cf0e94c9c8302a4592707939d6c2039f17f28 Merge: 730dd70 ad580db Author: John W. Linville Date: Tue Jan 19 15:58:41 2010 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 6373464288cab09bc641be301d8d30fc9f64ba71 Merge: 6d95518 730dd70 Author: David S. Miller Date: Tue Jan 19 11:43:42 2010 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-core.h commit 2c8c1e7297e19bdef3c178c3ea41d898a7716e3e Author: Alexey Dobriyan Date: Sun Jan 17 03:35:32 2010 +0000 net: spread __net_init, __net_exit __net_init/__net_exit are apparently not going away, so use them to full extent. In some cases __net_init was removed, because it was called from __net_exit code. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 730dd70549e0ec755dd55615ba5cfc38a482a947 Author: Rafał Miłecki Date: Fri Jan 15 16:38:07 2010 +0100 b43: N-PHY: drop unused definition, uncomment needed call Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 6dcd9d911cace479ff5612dab3896c8fceb60773 Author: Rafał Miłecki Date: Fri Jan 15 16:24:57 2010 +0100 b43: N-PHY: implement TX power control coef setup Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 15931e318b27e85ea06f44d53abc3d3e6a3fc9ff Author: Rafał Miłecki Date: Fri Jan 15 16:20:56 2010 +0100 b43: N-PHY: add RX IQ calibrationi for rev < 3 Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit fb43b8e23519f853f142202bb341c21382f39070 Author: Rafał Miłecki Date: Fri Jan 15 16:10:48 2010 +0100 b43: N-PHY: add huge calculating TX IQ LO Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit e9762492f5c7176660ed030e9dd816b3208def12 Author: Rafał Miłecki Date: Fri Jan 15 16:08:25 2010 +0100 b43: N-PHY: implement calculating IQ gain params Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit de7ed0c6245276eaa62523ffb36512d88bf1efb3 Author: Rafał Miłecki Date: Fri Jan 15 16:06:35 2010 +0100 b43: N-PHY: update TX calibration ladder Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit c4a92003b0d02367bb1be94867a79651897e91ed Author: Rafał Miłecki Date: Fri Jan 15 15:55:18 2010 +0100 b43: N-PHY: add RX radio cores calibration Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit fe3e46e881daad2c7e3886e767bda90871d5f4d6 Author: Rafał Miłecki Date: Fri Jan 15 15:51:55 2010 +0100 b43: N-PHY: add TX LP FBW (TX filter 40 related) Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit b0022e15cc39abebd997fefa18cf3b6e141f76bd Author: Rafał Miłecki Date: Fri Jan 15 15:40:50 2010 +0100 b43: N-PHY: implement getting TX gains Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 34a56f2cae865224829d3fa7b8d7ddeee139191f Author: Rafał Miłecki Date: Fri Jan 15 15:29:05 2010 +0100 b43: N-PHY: implement calculating RX IQ comp Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 2faa6b832fb44b1910fe668a4ae127a69e998936 Author: Rafał Miłecki Date: Fri Jan 15 15:26:12 2010 +0100 b43: N-PHY: implement RX IQ estimation Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 2f258b74d13c200944ef018c71ed9d9a7d4da0b0 Author: Rafał Miłecki Date: Fri Jan 15 15:18:35 2010 +0100 b43: N-PHY: implement restoring general configuration Signed-off-by: Rafał Miłecki a Signed-off-by: John W. Linville commit 0914640072570f5867818884b8b78c0468b9747f Author: Rafał Miłecki Date: Fri Jan 15 15:17:10 2010 +0100 b43: N-PHY: implement workaround for TX IQ Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit a67162ab00d5f0d28f58a62ccd48e6a9cab07645 Author: Rafał Miłecki Date: Fri Jan 15 15:16:25 2010 +0100 b43: N-PHY: implement RX IQ coeffs Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 5c1a140afbd3abeec92b74c91ad495cf69af4de3 Author: Rafał Miłecki Date: Fri Jan 15 15:10:54 2010 +0100 b43: N-PHY: add function than forces (not) staying in carrier search Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 42e1547e5199ebfd41e3fb63db69dac8c4ed8d1c Author: Rafał Miłecki Date: Fri Jan 15 15:06:47 2010 +0100 b43: N-PHY: add RSSI calibration restore Signed-off-by: Rafał Miłecki ` Signed-off-by: John W. Linville commit e50cbcf6741684753da401722f337efacfa4a98f Author: Rafał Miłecki Date: Fri Jan 15 15:02:38 2010 +0100 b43: N-PHY: implement PA overriding (RF control related) Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 90b9738d85395d46ffdc961e1a0c80a17e8f4d32 Author: Rafał Miłecki Date: Fri Jan 15 14:48:21 2010 +0100 b43: N-PHY: RSSI calibration for rev < 3 Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit dfb4aa5dd0a9b61a6eaa64e9209b2f8839c0a256 Author: Rafał Miłecki Date: Fri Jan 15 14:45:13 2010 +0100 b43: N-PHY: add RSSI polling and setting 2055 (radio) VCM Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 3c95627d404e1094313f2dcb87424e2ae462e814 Author: Rafał Miłecki Date: Fri Jan 15 14:38:32 2010 +0100 b43: N-PHY: implement RSSI selection and offset scaling Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit bbec398c1b7baa1dbde1e49446d1cbf4c6c20fa1 Author: Rafał Miłecki Date: Fri Jan 15 14:31:39 2010 +0100 b43: N-PHY: add clip detection reading/writing and some classifier function Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 4cb9977516d0f52a779d12a430ccf263d35802fc Author: Rafał Miłecki Date: Fri Jan 15 13:40:58 2010 +0100 b43: N-PHY: split RSSI calibration into 2 functions (rev2, rev3) Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 4a933c8566da3e2b164ea74b1632bf2f43c8ee9b Author: Rafał Miłecki Date: Fri Jan 15 13:36:43 2010 +0100 b43: N-PHY: update CCA reset Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 0988a7a1a98300e90a6613b33738e07cdf8ce786 Author: Rafał Miłecki Date: Fri Jan 15 13:27:29 2010 +0100 b43: N-PHY: update init code to match current specs Previous init path was based on old specs from old driver. Update it as much as possible leaving some TODOs for not implemented functions. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 088e56b44a52bbd58a790627148cf75ed71ae34b Author: Rafał Miłecki Date: Fri Jan 15 13:02:45 2010 +0100 b43: N-PHY: add various tables Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 2a448bfc70f4fd4a54996d1c7a371ba28ec0568f Author: Rafał Miłecki Date: Fri Jan 15 12:54:30 2010 +0100 b43: N-PHY: add global variables to b43_phy_n struct Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 5b0ade3377b91da14410612b2051d66d26d31069 Author: Rafał Miłecki Date: Fri Jan 15 12:40:03 2010 +0100 b43: N-PHY: add missing register definitions Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit f8187b5b9780a9ac3c12c70413615a0fdf321cd5 Author: Rafał Miłecki Date: Fri Jan 15 12:34:21 2010 +0100 b43: N-PHY: add needed struct definitions Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 76a4db303d06066792bbc0e886def2cf99b232ef Author: Rafał Miłecki Date: Fri Jan 15 12:27:46 2010 +0100 b43: N-PHY: add shared memory offsets definitions Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 4772ae107c42cdce1d3864d8d540ea0401eb09d6 Author: Rafał Miłecki Date: Fri Jan 15 12:18:21 2010 +0100 b43: N-PHY: clean table init, check PHY rev Move table init to tables_nphy.c, detect newer PHY which use different init. We don't init newer PHYs yet but this at least shows what more is needed. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 003d6d2792bebb2b66966ce5f1da11849e855180 Author: Rafał Miłecki Date: Fri Jan 15 12:10:53 2010 +0100 b43: add new SSB's core id for BCM4328 Following line shows my BCM4328 detected on SSB. We didn't include 0x0C rev. ssb: Core 1 found: IEEE 802.11 (cc 0x812, rev 0x0C, vendor 0x4243) Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 857c0fc490d8474d1a232d9b6568a4b229634bcd Author: Rafał Miłecki Date: Fri Jan 15 12:01:49 2010 +0100 b43: use standard fls for finding the most significant bit Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit e239d8591843945630521ec85edca08289f1a751 Author: Felix Fietkau Date: Fri Jan 15 02:34:58 2010 +0100 ath9k: implement coverage class support Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 0005baf4a31efe6de6f922f73ccbd3762a110062 Author: Felix Fietkau Date: Fri Jan 15 02:33:40 2010 +0100 ath9k: cleanup slot time and ack/cts timeout handling Previously ath9k left the initialization of slot timing and ACK/CTS timeout to the mode specific initvals. This does not handle short vs long slot in 2.4 GHz and uses a rather strange value for the 2.4 GHz ACK timeout (64 usec). This patch uses the proper ath9k_hw functions for setting slot time and timeouts and also implements the switch between short and long slot time in 2.4 GHz Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 145b6d1a56f224d15c61aa7ecfda9a1171b47b6a Author: Ming Lei Date: Fri Jan 15 21:44:21 2010 +0800 mac80211: fix memory leak in ieee80211_send_probe_req This patch fixes memory leak in ieee80211_send_probe_req, which is introduced in 7c12ce8b854df346388ea56d684784e3484012cf: mac80211: use Probe Request template when sending a direct scan The patch is against the latest wireless-test tree. Signed-off-by: Ming Lei Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit 43d3534344bbdcfa9c61a6b38490cd4cbb2f6bb6 Author: Felix Fietkau Date: Fri Jan 15 03:00:48 2010 +0100 mac80211: force use_short_slot=true for 5GHz Normally 5GHz does not have a concept of long vs short slot time, however the slot time that it ends up using is the same as for 2.4 GHZ and use_short_slot == true Because of that, it makes more sense to force use_short_slot = true whenever 5 GHz is being used, so that this particular check does not have to be in every single driver that uses this flag. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 84920e3e47f654a22b540606fb8c1ab90b870942 Author: Luis R. Rodriguez Date: Thu Jan 14 20:08:20 2010 -0500 cfg80211: make regulatory_hint_11d() band specific In practice APs do not send country IE channel triplets for channels the AP is not operating on and if they were to do so they would have to use the regulatory extension which we currently do not process. No AP has been seen in practice that does this though so just drop those country IEs. Additionally it has been noted the first series of country IE channels triplets are specific to the band the AP sends. Propagate the band on which the country IE was found on reject the country IE then if the triplets are ever oustide of the band. Although we now won't process country IE information with multiple band information we leave the intersection work as is as it is technically possible for someone to want to eventually process these type of country IEs with regulatory extensions. Cc: Jouni Malinen Cc: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 93895757df4ebe22c98b9128b98ebf8cec972c60 Author: Benoit Papillault Date: Thu Jan 14 23:20:31 2010 +0100 mac80211: Fixed netif_tx_wake_all_queues in IBSS mode When ieee80211_offchannel_return is called, it needs to re-enabled TX queues that have been stopped in ieee80211_offchannel_stop_beaconing or ieee80211_offchannel_stop_station. It happens if we are doing a scan with an IBSS interface. In this case, the interface stopped transmitting. Signed-off-by: Benoit Papillault Signed-off-by: John W. Linville commit a0f2e0fca1e72c1de07e834be05b61d33842253e Author: Luis R. Rodriguez Date: Thu Jan 14 13:27:46 2010 -0500 cfg80211: Ingore country IEs with a zero set of number of channels Previous to this and the last patch, titled, "cfg80211: Fix 2 GHz subband calculation for country IEs" we would end up treating these IEs as single channel units. These are in fact just bogus IE triplets so ignore the entire IE if these are found. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5e4ea1f0ed256382d6d839fbd7a5c7f1b99b6cb0 Author: Sujith Date: Thu Jan 14 10:20:57 2010 +0530 ath9k: Fix panic on driver load The device has to be marked as invalid before registering the ISR. HW initialization takes place after the ISR has been registered, and the invalid flag is eventually cleared in the ->stop() callback. Reported-by: Pavel Roskin Signed-off-by: Sujith Signed-off-by: John W. Linville commit 2f1f00fc9b477481ad5c63976385c345851fee3d Author: Christoph Egger Date: Wed Jan 13 14:36:24 2010 +0100 Remove config option B43_LEGACY_RFKILL completely In f41f3f373dd72344c65d801d6381fe83ef3a2c54 the B43 driver was ported to use the cfg80211 API for rfkill and consequently the config option was dropped (RFKILL is now unconditionally enabled). However in the Kernel Info the feature is still checked and reported missing. This patch just removes the conditional and the relevant code blocks while still reporting that feature unconditionally would be another option (it's always there). Signed-off-by: Christoph Egger Signed-off-by: John W. Linville commit ececeecee8c60be96368bcc416057f38822012df Author: Luis R. Rodriguez Date: Tue Jan 12 18:23:04 2010 -0500 wl1271: remove unused flags These are unused and as with a previous patch 5ef5da for wl1251 this removes some other unused flags. the IRQ_MASK specifically conflicts with include/pcmcia/cs.h when using compat-wireless. Cc: Kalle Valo Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c2f4f527edab37f2f2130bd7813cd41db907ab6b Author: Tim Gardner Date: Tue Jan 12 12:58:17 2010 -0600 b43legacy: Declare all possible ucodeX.fw files Enhance module information with the names of the firmware files that could be used by this driver. This helps tools like Jockey to correctly detect and/or install the firmware files relevant to this driver. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit e99c7cd57b2481ee36b2338040e3ce1cd17e0763 Author: Luis R. Rodriguez Date: Thu Jan 7 17:24:55 2010 -0500 cfg80211: fix 2 GHz subband calculation for country IEs Country IEs triplets are getting an extra channel with the current count. This does not affect regulatory because we always took the intersection between what the AP gave and what CRDA believed is correct. This however does fix processing some Country IEs with multiple sequential 2 GHz triplets. Since our parser and the spec mandates all channels be monitonically increasing we would drop the IE after noticing the second triplet begins on a channel already processed. APs that send these type of country IEs seems rare though. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6021e08db47386507108a475e6c820a7006a4632 Author: Tim Gardner Date: Thu Jan 7 11:10:38 2010 -0700 b43: Declare at least one real firmware file using MODULE_FIRMWARE. BugLink: http://bugs.launchpad.net/bugs/488636 Enhances module information with the names of the firmware files that could be used by this driver. This helps tools like Jockey to correctly detect and/or install the firmware files relevant to this driver. Signed-off-by: Tim Gardner Signed-off-by: John W. Linville commit 79b6a5110abf6fd4454ba34e0960783a4a2c801a Author: John W. Linville Date: Thu Jan 14 17:00:54 2010 -0500 Revert "iwmc3200wifi: fix array out-of-boundary access" This reverts commit 6c853da3f30c93eae847ecbcd9fdf10ba0da04c2. From Message-ID: <1262663293.551.117.camel@debian> On Sat, 2010-01-02 at 22:09 +0800, Dan Carpenter wrote: > It don't think 6c853da3f30c93 is right. That's the patch > titled "iwmc3200wifi: fix array out-of-boundary access" > > Allocate priv->rx_packets[IWM_RX_ID_HASH + 1] because the max array > index is IWM_RX_ID_HASH according to IWM_RX_ID_GET_HASH(). > > In 2.6.33-rc2 IWM_RX_ID_GET_HASH() doesn't go as high as IWM_RX_ID_HASH > and I don't see any array out-of-bounds. > > #define IWM_RX_ID_GET_HASH(id) ((id) % IWM_RX_ID_HASH) Ah, you are right. I took '%' for '&'. John, would you revert it? Sorry for the false alarm. Thanks, -yi Reported-by: Dan Carpenter Reviewed-by: Zhu Yi Signed-off-by: John W. Linville commit 9a58a80a701bdb2d220cdab4914218df5b48d781 Author: Alexey Dobriyan Date: Thu Jan 14 03:10:54 2010 -0800 proc_fops: convert drivers/isdn/ to seq_file Convert code away from ->read_proc/->write_proc interfaces. Switch to proc_create()/proc_create_data() which make addition of proc entries reliable wrt NULL ->proc_fops, NULL ->data and so on. Problem with ->read_proc et al is described here commit 786d7e1612f0b0adb6046f19b906609e4fe8b1ba "Fix rmmod/read/write races in /proc entries" [akpm@linux-foundation.org: CONFIG_PROC_FS=n build fix] Signed-off-by: Alexey Dobriyan Signed-off-by: Tilman Schmidt Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit a5fb297d634ba20bd53a7d6fecd611bbfd342e78 Author: Lennert Buytenhek Date: Tue Jan 12 13:51:38 2010 +0100 mwl8k: update version number (to 0.12) and copyright Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit ee0ddf1865954f44ee929d963e2c968eb377f447 Author: Lennert Buytenhek Date: Tue Jan 12 13:51:30 2010 +0100 mwl8k: enable multi-BSS AP operation As follows: - GET_HW_SPEC is now responsible for setting priv->{ap,sta}_macids_supported, which are bitmasks of supported macids for AP and STA mode. (Typically, STA firmware images will support only one macid, #0, in STA mode, and AP firmware images will support macids #0-7, in AP mode.) - Our wiphy ->interfaces_modes is now set based on the non-zero-ness of these two bitmasks. - We main priv->macids_used, a bitmask of which macids are currently in use. ->add_interface() will assign the lowest free macid for this interface type as it is created, or bail out if there are no more free macids to assign. ->delete_interface() will mark the macid as being free again. This enables the multi-BSS code added in the previous commits. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit aa21d0f69a5ca28d33f584b8952cca154115fd26 Author: Lennert Buytenhek Date: Tue Jan 12 13:50:36 2010 +0100 mwl8k: post per-vif firmware commands as per-vif commands SET_BEACON, SET_MAC_ADDR, BSS_START and SET_NEW_STN are the currently supported firmware commands that are actually per-vif commands. Use mwl8k_post_pervif_cmd() for these commands, so that the macid of the vif they operate on gets passed down into the firmware. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit f57ca9c1af3c1e30a40ad99d75940176d8c3ff3a Author: Lennert Buytenhek Date: Tue Jan 12 13:50:14 2010 +0100 mwl8k: prepare for posting per-vif firmware commands One of the bytes in the mwl8k firmware command header is the 'macid' byte, which for per-vif commands indicates which of the BSSes this command is intended for. (For commands that are not per-vif commands, this byte can just be 0.) This patch adds mwl8k_post_pervif_cmd(), which will take the macid assigned to this interface (to be done in ->add_interface()), copy it into the command packet macid field, and post the command as usual. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit f5bb87cfba5ae9dd3724b846ac2fa7e033425c1c Author: Lennert Buytenhek Date: Tue Jan 12 13:49:51 2010 +0100 mwl8k: convert the priv->vif pointer to a list of vifs To prepare for adding multi-BSS support. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 06953235f48c696b22c5ed45570680fb070f7277 Author: Lennert Buytenhek Date: Tue Jan 12 13:49:41 2010 +0100 mwl8k: use firmware capability field to decide which bands to register Make the decision about whether to register the 2.4 and 5 GHz bands with mac80211 by looking at the capability field in GET_HW_SPEC (STA firmware only for now). This enables 5 GHz STA operation. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 42574ea2274ec0a2a9c58ab01be91b65e60a2291 Author: Lennert Buytenhek Date: Tue Jan 12 13:49:18 2010 +0100 mwl8k: allow selecting 5 GHz channels Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 8707d0262585423cdc053bf8db0912e53915e5e4 Author: Lennert Buytenhek Date: Tue Jan 12 13:49:15 2010 +0100 mwl8k: handle 5 GHz legacy rate bitmaps in firmware commands Whenever mac80211 gives us a legacy rate bitmap in the context of the 5 GHz band, we need to remember to shift the bitmap left by 5 positions before giving it to the firmware, as the firmware follows the bitmap bit assignment of the 2.4 GHz rate table even if we're on the 5 GHz band, and the 2.4 GHz rate table includes five non-OFDM rates at the start that are not valid in the 5 GHz band. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 854783444bab0024556c0aefdb0a860f2f1da286 Author: Lennert Buytenhek Date: Tue Jan 12 13:48:56 2010 +0100 mwl8k: properly set receive status rate index on 5 GHz receive The mwl8k firmware uses indices into the 2.4 GHz band rate table for the receive descriptor channel field even if the packet was received on a 5 GHz channel, while mac80211 expects an index into the 5 GHz band rate table when packets are received on the 5 GHz band, which presents a mismatch as the 5 GHz band rate table lacks the five non-OFDM rates that the 2.4 GHz rate table starts with. To handle this properly, we need to substract 5 from the rate index field if the packet was received on a 5 GHz channel (and was not received at an MCS rate). Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 4eae9edd38c0a9ce34e39100ccc69ff520bc1224 Author: Lennert Buytenhek Date: Tue Jan 12 13:48:32 2010 +0100 mwl8k: add 5 GHz band channels and rates Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 1349ad2f06f86f41415cf7ffa9e068fd4f89be87 Author: Lennert Buytenhek Date: Tue Jan 12 13:48:17 2010 +0100 mwl8k: move responsibility for initialising wiphy bands to GET_HW_SPEC So that we can make 2.4 GHz and 5 GHz band registration conditional on the capability bitmask returned by the firmware. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 777ad375d5960e0d2a945a34032b182eb2952d45 Author: Lennert Buytenhek Date: Tue Jan 12 13:48:04 2010 +0100 mwl8k: rename 2.4 GHz band/channels/rates related variables from FOO to FOO_24 To prepare for adding 5 GHz band/channels/rates. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit ca66527c60385dcec878ebd90749d1fdc43bc870 Author: Lennert Buytenhek Date: Tue Jan 12 13:47:53 2010 +0100 mwl8k: add another 88w8366 PCI ID 0x2a43 is a single-band (2.4GHz only) 88w8366 mini-PCIe card. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 657232b625890f202867ede0ed67ecf15827ff80 Author: Lennert Buytenhek Date: Tue Jan 12 13:47:47 2010 +0100 mwl8k: simplify sequence number assignment By storing the sequence counter in << 4 format, like other drivers do. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit c97470dd253831e880c72ea5d022ed7f3aee45c3 Author: Lennert Buytenhek Date: Tue Jan 12 13:47:37 2010 +0100 mwl8k: don't call SET_AID if we're not associated Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 9189c10087a738c764046fa27651d332594cd8e6 Author: Lennert Buytenhek Date: Tue Jan 12 13:47:32 2010 +0100 mwl8k: remove (mostly) write-only variable priv->current_channel Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit c92d4edecf489dbcbb2e5dd3c513790e57e2ea0e Author: Lennert Buytenhek Date: Tue Jan 12 13:47:22 2010 +0100 mwl8k: update MODULE_FIRMWARE tags Add MODULE_FIRMWARE tags for the mwl8k firmware images that don't have them yet, and move them to where the firmware image names are declared. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 4ff6ffa107ba1c6ba9a1cc75a1f304eaa79e8bf4 Author: Kalle Valo Date: Tue Jan 12 10:43:15 2010 +0200 wl1251: add U-APSD support wl1251 firmware supports U-APSD just with a simple queue configuration change so enable it. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 8f8ff91652fcf62b9fced5387956b4b269fde634 Author: Kalle Valo Date: Tue Jan 12 10:43:07 2010 +0200 wl1251: create qos null data template The qos null data template is needed for U-APSD. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 0c74211d19d83729c209ddcd4dc026c2aedeb29e Author: Kalle Valo Date: Tue Jan 12 10:42:53 2010 +0200 mac80211: check uapsd state for dynamic power save To make U-APSD client mode effective, we must not wake up from dynamic power save when transmitting frames. So if dynamic power save is enabled, it needs check the queue the transmitted packet is in and decide if we need to wake up or not. In a perfect world, where all packets would have correct QoS tags, U-APSD enabled queues should not trigger wakeup from power save. But in the real world, where very few packets have correct QoS tags, this won't work. For example, if only voip class has U-APSD enabled and we send a packet in voip class, but the packets we receive are in best effort class, we would receive the packets with the legacy power save method. And that would increase latencies too much from a voip application point of view. The workaround is to enable U-APSD for all qeueus and still use dynamic ps wakeup for all other queues except voip. That way we can still save power with a voip application and not sacrifice latency. Normal traffic (in background, best effort or video class) would still trigger wakeup from dynamic power save. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 5c1b98a52c3af1044c2d3842af8bae9a89502ca9 Author: Kalle Valo Date: Tue Jan 12 10:42:46 2010 +0200 mac80211: create tx handler for dynamic ps Currently dynamic ps check is in ieee80211_xmit(), but it's cleaner to have a separate tx handler for this. Also this is a prerequisite for U-APSD client mode which needs to know the queue frame is in. Also need_dynamic_ps() function is embedded to the tx handler. No functional changes expect that the code is run in a later phase than originally. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 50ae0cf15c3da2f6a8e4558de5010923e84736b2 Author: Kalle Valo Date: Tue Jan 12 10:42:39 2010 +0200 mac80211: add debugfs interface for U-APSD queue configuration Because it's not yet decided how to configure which queues are U-APSD enabled, add a debugfs interface for testing purposes. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit ab13315af97919fae0e014748105fdc2e30afb2d Author: Kalle Valo Date: Tue Jan 12 10:42:31 2010 +0200 mac80211: add U-APSD client support Add Unscheduled Automatic Power-Save Delivery (U-APSD) client support. The idea is that the data frames from the client trigger AP to send the buffered frames with ACs which have U-APSD enabled. This decreases latency and makes it possible to save even more power. Driver needs to use IEEE80211_HW_UAPSD to enable the feature. The current implementation assumes that firmware takes care of the wakeup and hardware needing IEEE80211_HW_PS_NULLFUNC_STACK is not yet supported. Tested with wl1251 on a Nokia N900 and Cisco Aironet 1231G AP and running various test traffic with ping. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 2d46d7c121436f1dafe91b0a8d9b99e534cfa5f8 Author: Johannes Berg Date: Sun Jan 10 17:12:41 2010 +0100 mac80211: remove unused type argument The type argument to DEBUGFS_ADD() isn't used and can be removed, it's around from before the conversion to debugfs_remove_recursive(). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 678f415fdc534c0a806fce992e4c62df0eff19d2 Author: Lennert Buytenhek Date: Sun Jan 10 14:07:53 2010 +0100 mac80211: flush workqueue before calling driver ->stop() method Since commit "mwl8k: handle station database update for AP's sta entry via ->sta_notify()", mwl8k every now and then gets a command timeout when ifconfig'ing a STA interface down. This turns out to be due to mwl8k_stop() being called while the work queue item that was scheduled by mwl8k_sta_notify() to remove the STA entry for the associated AP is still queued, and the former disables interrupts so that when the latter eventually runs, a command completion interrupt is never seen. Fix this by changing ieee80211_stop_device() so that the workqueue is flushed before drv_stop() is called, instead of doing it the other way around as is done now. (As ->stop() is allowed to sleep, there isn't any reason for drivers to queue work from within it.) Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 5e124bd5e00fcf54df555b368c2dafe6886f1df2 Author: Joe Perches Date: Fri Jan 8 22:33:38 2010 -0800 net/mac80211/mlme.c: Remove unnecessary semicolons Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 28f63a4bb744ea81030219aba2337fddb10b380b Author: H Hartley Sweeten Date: Fri Jan 8 16:14:10 2010 -0700 iwl-debugfs.c: remove unnecessary casts of void * void pointers do not need to be cast to other pointer types. Signed-off-by: H Hartley Sweeten Acked-by: Zhu Yi Cc: Reinette Chatre Signed-off-by: John W. Linville commit 8ce1ef4a914aef8b9b90a2a2c670494168a2cca9 Author: Wey-Yi Guy Date: Fri Jan 8 10:04:44 2010 -0800 iwlwifi: fix bug in tx byte count table When setting invalid byte count in txq byte count table, read pointer should be used instead of write pointer. Reported-by: Guo, Chaohong Signed-off-by: Wey-Yi Guy Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c15867f15f98e5ecbdbee5993db7f6f4b7100481 Author: Wey-Yi Guy Date: Fri Jan 8 10:04:43 2010 -0800 iwlwifi: remove obsoleted host command "RADAR_NOTIFICATION" host command is not used and not supported by uCode, remove it from driver code. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f0118a4575d45ce3074c830660de938bc6e17bda Author: Wey-Yi Guy Date: Fri Jan 8 10:04:42 2010 -0800 iwlwifi: ucode statistics data structure update Update data structure to match latest statistics report from uCode. Signed-off-by: Wey-Yi Guy Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f05279711b9a59ac10e0b6e5f3a7447886c72704 Author: Wey-Yi Guy Date: Fri Jan 8 10:04:41 2010 -0800 iwlwifi: add IEEE80211_AMPDU_TX_OPERATIONAL mac80211 do not check the return code now, what if mac80211 does start using the return code? IEEE80211_AMPDU_TX_OPERATIONAL is a valid action, just iwlwifi driver do not need to take any action for it; so instead of return "-EINVAL", it is a good program practice to return "-EOPNOTSUPP" to make sure mac80211 will not get wrong impression. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 90be561b119a9e5439733f09cc70bd4ce9ec8022 Author: Johannes Berg Date: Fri Jan 8 19:01:07 2010 +0100 mac80211: fix return from ieee80211_assoc_success sparse pointed out that I made a mistake converting the return value of ieee80211_assoc_success to bool, this place should return false instead of one of the enum values (which would be true). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 67e2eb27958cae758ccbc86443c360ec285acc3e Author: Lennert Buytenhek Date: Fri Jan 8 18:32:18 2010 +0100 mwl8k: move receive processing to tasklet Like how TX reclaim is done in a tasklet, move receive processing to tasklet context as well. This can have nice benefits for CPU utilisation and throughput, especially at 3-stream rates. (Use the same CLEAR_SEL trick as the TX reclaim tasklet does, to avoid having to touch the interrupt mask registers.) Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 1e9f9de3b17db3aa358f39d6932662324178350d Author: Lennert Buytenhek Date: Fri Jan 8 18:32:01 2010 +0100 mwl8k: keep TX_DONE interrupt masked while transmit reclaim is running By making use of the CLEAR_SEL feature of the mwl8k host interface interrupt controller, we can keep the TX_DONE interrupt source masked while the transmit reclaim tasklet is running (NAPI style) without having to touch the interrupt controller's interrupt mask register when entering or exiting polling mode, and without having to do any more register reads/writes than we do now. When CLEAR_SEL is enabled on the TX_DONE interrupt source, reading the interrupt status register will clear the TX_DONE status bit if it was set, allowing it to be set again if a new TX_DONE event arrives while we are running the TX reclaim tasklet, but such a new event will then not trigger another PCI interrupt until a zero is written to the TX_DONE interrupt status register bit. I.e., if we write a zero to the TX_DONE interrupt source bit in the interrupt status register when the TX reclaim tasklet thinks it's done, a PCI interrupt will be triggered if a new TX_DONE event arrived from the hardware between us deciding that there is no more work to do and re-enabling the TX_DONE interrupt source, thereby avoiding the classic NAPI poll mode exit race that would otherwise occur. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit efb7c49a68cf206f35793d7799608e1d69a209f9 Author: Lennert Buytenhek Date: Fri Jan 8 18:31:47 2010 +0100 mwl8k: allow limiting the amount of transmit reclaim done Add a limit argument to mwl8k_txq_reclaim(), to allow limiting the number of packets that it will reclaim, and make it return the number of packets that it reclaimed. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit b64fe619e371fc17d8d686d6d44aef1b41317880 Author: Lennert Buytenhek Date: Fri Jan 8 18:31:39 2010 +0100 mwl8k: basic AP interface support Add support for creating AP interfaces, and enabling beaconing. This allows running a basic AP (11b/g mode only for now). Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit a9e00b151ec2121b7ae09d84a2b5a68b6461e98a Author: Lennert Buytenhek Date: Fri Jan 8 18:31:30 2010 +0100 mwl8k: correctly set the mac_type field for AP SET_MAC_ADDR Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 3f5610ff560aeaccf051a6f93f25535c219599a0 Author: Lennert Buytenhek Date: Fri Jan 8 18:30:58 2010 +0100 mwl8k: implement AP firmware station database maintenance STA firmware uses UPDATE_STADB to manipulate the hardware station database, whereas AP firmware uses SET_NEW_STN -- this implements the latter, and hooks it into mwl8k_sta_notify(), to be used if we're running on AP firmware. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 088aab8b62666a002907c912cd346ae6dc9f42b7 Author: Lennert Buytenhek Date: Fri Jan 8 18:30:36 2010 +0100 mwl8k: add the AP version of USE_FIXED_RATE As with the STA version, unicast will use auto rate adaptation, but the AP version allows setting the rates to be used for management and multicast transmissions, which can be set based on the BSS basic rate set. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit b71ed2c6ce8b5c3782ed70d67dc9adbd7ed07684 Author: Lennert Buytenhek Date: Fri Jan 8 18:30:16 2010 +0100 mwl8k: simplify mwl8k_cmd_use_fixed_rate() As we always use the auto rate adaptation feature and never pass in a rate table, USE_FIXED_RATE can be simplified somewhat. While we're at it, rename it to *_sta, as this is the STA version of the command. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 62abd3cfb2f1a0ab1963ac4c4087c477da6b1f2a Author: Lennert Buytenhek Date: Fri Jan 8 18:28:34 2010 +0100 mwl8k: bump the transmit wait timeout to 5 seconds While it is reasonable to expect that at least one transmit ring entry will be processed per second while we are waiting for the transmit rings to drain, the firmware can end up doing batching of transmit ring status writeback, which means that the transmit rings can appear stuck for more than a second at a time. Bump the TX drain wait timeout up from 1 to 5 seconds to account for this. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit b569e924a9ea7c6f03dcf9b8a98d78d341925b87 Author: Lennert Buytenhek Date: Fri Jan 8 18:28:14 2010 +0100 mwl8k: undo transmit queue 0/1 swapping in mwl8k_cmd_set_edca_params() The comment and code in mwl8k_cmd_set_edca_params() suggest that the mapping between SET_EDCA_PARAMS queue numbers and transmit rings isn't actually 1:1, while tests show that the mapping is in fact 1:1. So, get rid of the transmit queue 0/1 swapping. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit c2c2b12a8b6cd23d4abbc086642647c656bf406c Author: Lennert Buytenhek Date: Fri Jan 8 18:27:59 2010 +0100 mwl8k: minor cleanups Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 3f0e0b220f80075ce15483b20458192c0ac27426 Author: Felix Fietkau Date: Fri Jan 8 18:15:13 2010 +0100 mac80211: do not transmit frames on unconfigured 4-addr vlan interfaces If frames are transmitted on 4-addr ap vlan interfaces with no station, they end up being transmitted unencrypted, even if the ap interface uses WPA. This patch add some sanity checking to make sure that this does not happen. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 0e5ded5a87c097760abd68521b86f1025dedc7d7 Author: Felix Fietkau Date: Fri Jan 8 18:10:58 2010 +0100 mac80211: allow station updates on ap interfaces for vlan stations Since the per-vif station changes, sta_info_get on the ap sdata no longer returns entries for stations on ap vlans. This causes issues with hostapd, which currently always passes the ap interface name to nl80211 calls. This patch provides bug compatibility with the earlier versions until hostapd is fixed. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit d524215f6cad245249df8def19125ae6fd0bcc9b Author: Felix Fietkau Date: Fri Jan 8 18:06:26 2010 +0100 mac80211: use nullfunc frames for 4-addr sta detection To detect incoming 4-addr stations, hostapd needs to receive a 4-addr data frame from the remote station, so that it can create the AP VLAN for it. With this patch, the mlme code emits a 4-addr nullfunc frame immediately after assoc. On the AP side it also drops 4-addr nullfunc frames to the cooked monitor mode interface, if the interface hasn't been fully set up to receive 4-addr data frames yet. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 199afd9d89b18e8b530734ed73788518e19bed9b Author: Sujith Date: Fri Jan 8 10:36:13 2010 +0530 ath9k: Fix monitor mode handling mac80211 passes appropriate flags indicating whether monitor mode is being used. Use this to set the HW opmode. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 1395d3f00a4164caae168b041855d48e0fa9ea4c Author: Sujith Date: Fri Jan 8 10:36:11 2010 +0530 ath9k: Add debugfs file for RX errors This file can be used to track frame reception errors. PHY error counts are also added. Location: ath9k/phy#/recv Signed-off-by: Sujith Signed-off-by: John W. Linville commit cc9c378aa57817003a094e4bb9a953337ebf035a Author: Sujith Date: Fri Jan 8 10:36:09 2010 +0530 ath9k: Fix queue handling The TX queues have to be stopped during an internal reset. Not handling this would result in packet loss - fix this. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 285f2ddae03ca207877262f5a9dbd9cddd8b3913 Author: Sujith Date: Fri Jan 8 10:36:07 2010 +0530 ath9k: Cleanup init/deinit routines The device initialization and termination functions were messy and convoluted. Introduce helper functions to clarify init_softc() and simplify things in general. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 1b04b9308ebc7f6accb319cf51c9b8ec29f79707 Author: Sujith Date: Fri Jan 8 10:36:05 2010 +0530 ath9k: Cleanup Powersave flags sc_flags has slowly become a kitchen sink over time. Move powersave related flags to a separate variable. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 556242049cc3992d0ee625e9f15c4b00ea4baac8 Author: Sujith Date: Fri Jan 8 10:36:02 2010 +0530 ath9k: Add new file init.c Move initialization/de-initialization related code to this file. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0fca65c1c0569d6a143e978b6f4974c519033e63 Author: Sujith Date: Fri Jan 8 10:36:00 2010 +0530 ath9k: Add a new file for GPIO Move all LED/RFKILL/BTCOEX related code to gpio.c Signed-off-by: Sujith Signed-off-by: John W. Linville commit cc5d8a3772ee4e2ed29558ba548b4747959ba971 Author: Luis R. Rodriguez Date: Thu Jan 7 17:24:57 2010 -0500 cfg80211: Fix country IE parsing for single channel triplets This enhances the way we parse country IEs to minimize the number of regulatory rules that we create. It also fixes our current implementation which treated country IE triplets with only one channel as one independed regulatory rule even though adjecent rules were also being provided. Without this patch APs which send country IE information with a channel triplet for each individual channel will force cfg80211 to deny HT40 operation as a regulatory rule would have been created independently for each channel and as such configured only for 20 MHz operation. Although 802.11n APs which send country IEs triplets in this fassion are likely rare Benoit reports this against the Ubiquity NanoStation M5, with Country "FR" and HT40 enabled. Since we now have a helper which parses the triplets in intermediate steps we now take care extra care to process padding. Reported-by: Benoit PAPILLAULT Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 08030db6e5275dda19ea1b3ab8a41c992799db4a Author: Luis R. Rodriguez Date: Thu Jan 7 17:24:56 2010 -0500 cfg80211: process the max power on a country IE The max power from each country IE triplet was being ignored. This fix isn't critical as CRDA was always being used for the lower limit, but we should process it in case the AP still wants to decrease power output even more for whatever reason. Reported-by: Benoit PAPILLAULT Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b74d12e116528fadc35f305eb6e9525a3a2b62b1 Author: Luis R. Rodriguez Date: Thu Jan 7 17:24:54 2010 -0500 cfg80211: add debug print when we drop a bogus country IE Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 81f14df0b3909875902b0253d7059e8a73dd0c7f Author: Rafał Miłecki Date: Thu Jan 7 14:09:27 2010 +0100 b43: LP-PHY: note and explain specs inconsistency Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 81ac3462d346ee7aaf037a35156b0a7a354e98cf Author: Johannes Berg Date: Wed Jan 6 15:30:58 2010 +0100 mac80211: fix a few work bugs Kalle and Lennert reported problems with the new work code, and at least Kalle's problem I was able to trace to a missing jiffies initialisation. I also ran into a problem where occasionally I couldn't connect, which seems fixed with kicking the work items after scanning. Finally, also add some sanity checking code to verify that we're not adding work items while an interface is down -- that case could lead to something similar to what Lennert was seeing. There still seems to be a race condition that we're trying to figure out separately. Signed-off-by: Johannes Berg Tested-by: Lennert Buytenhek Tested-by: Kalle Valo Signed-off-by: John W. Linville commit 34a6eddbabd704b3c7dae9362234552267573be2 Author: Jouni Malinen Date: Wed Jan 6 16:19:24 2010 +0200 cfg80211: Store IEs from both Beacon and Probe Response frames Store information elements from Beacon and Probe Response frames in separate buffers to allow both sets to be made available through nl80211. This allows user space applications to get access to IEs from Beacon frames even if we have received Probe Response frames from the BSS. Previously, the IEs from Probe Response frames would have overridden the IEs from Beacon frames. This feature is of somewhat limited use since most protocols include the same (or extended) information in Probe Response frames. However, there are couple of exceptions where the IEs from Beacon frames could be of some use: TIM IE is only included in Beacon frames (and it would be needed to figure out the DTIM period used in the BSS) and at least some implementations of Wireless Provisioning Services seem to include the full IE only in Beacon frames). The new BSS attribute for scan results is added to allow both the IE sets to be delivered. This is done in a way that maintains the previously used behavior for applications that are not aware of the new NL80211_BSS_BEACON_IES attribute. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 80a112ffe8dbada25f3780ecc4beebf23451d755 Author: Kalle Valo Date: Tue Jan 5 20:17:10 2010 +0200 wl1251: fix sleep related error paths in wl1251_op_bss_info_changed() In various cases wl1251_op_bss_info_changed() did not call elp_sleep() after an error was noticed. Fix it by using correct goto label. The bug was a theoretical one, in practise it doesn't matter because if commands start returning errors there will be lots of other problems. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit dc52f0a8e50303eb67ff8856cd8d1b461462ceec Author: Kalle Valo Date: Tue Jan 5 20:17:03 2010 +0200 wl1251: use mac80211 provided channel parameters in scanning The number of channels to be used in scan was hard coded in wl1251. The proper way is to use the channels array provided by mac80211. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit e477c56e852c4c6db1f7665c642c9f45f76616a9 Author: Kalle Valo Date: Tue Jan 5 20:16:57 2010 +0200 wl1251: get probe request template from mac80211 Instead of creating the template in driver, get it from mac80211 instead. Thanks to this, three functions can be now removed. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 3a98c30f3e8bb1f32b5bcb74a39647b3670de275 Author: Kalle Valo Date: Tue Jan 5 20:16:51 2010 +0200 wl1251: cleanup scanning code The current scanning code wasn't following the preferred style. Move code related to scan and trigger scan to commans to wl1251_cmd.c. Because there's now less code in wl1251_hw_scan(), the function can be now merged with wl1251_op_hw_scan(). Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 7c12ce8b854df346388ea56d684784e3484012cf Author: Kalle Valo Date: Tue Jan 5 20:16:44 2010 +0200 mac80211: use Probe Request template when sending a direct scan As mac80211 now has a separate function for creating Probe Request templates, better to use it when sending direct Probe Requests to an AP. Only the bssid needs to be updated in the template before sending it. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 05e54ea6cce400ac34528d705179b45244f61074 Author: Kalle Valo Date: Tue Jan 5 20:16:38 2010 +0200 mac80211: create Probe Request template Certain type of hardware, for example wl1251 and wl1271, need a template for the Probe Request. Create a function ieee80211_probereq_get() which creates the template and drivers send it to hardware. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit f7f70579340dba1e551c0e52349fde0370592174 Author: Kalle Valo Date: Tue Jan 5 20:16:32 2010 +0200 wl1251: get PS Poll and Nullfunc templates from mac80211 Now that mac80211 creates templates for PS Poll and Nullfunc frames, use them instead of creating our own. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit d8cd189e9b1e050629f545e76b21a321f62c29bf Author: Kalle Valo Date: Tue Jan 5 20:16:26 2010 +0200 mac80211: use PS Poll and Nullfunc templates when sending such frames To avoid duplicate code, use ieee80211_[pspoll|nullfunc]_get() to get templates for PS Poll and Nullfunc frames in mlme.c. Compile-tested only. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 7044cc565b45a898c140fb185174a66f2d68a163 Author: Kalle Valo Date: Tue Jan 5 20:16:19 2010 +0200 mac80211: add functions to create PS Poll and Nullfunc templates Some hardware, for example wl1251 and wl1271, handle the transmission of power save related frames in hardware, but the driver is responsible for creating the templates. It's better to create the templates in mac80211, that way all drivers can benefit from this. Add two new functions, ieee80211_pspoll_get() and ieee80211_nullfunc_get() which drivers need to call to get the frame. Drivers are also responsible for updating the templates after each association. Also new struct ieee80211_hdr_3addr is added to ieee80211.h to make it easy to calculate length of the Nullfunc frame. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit b3579d6adcf7b24464274967a96d12467cfb11a7 Author: Gertjan van Wingerde Date: Wed Dec 30 11:36:34 2009 +0100 rt2x00: Make rt2800_init_led static and don't export it. It is only used within the rt2800lib module itself. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 67a4c1e24d58e0d88ed88539641631f6fc8a0cfd Author: Gertjan van Wingerde Date: Wed Dec 30 11:36:32 2009 +0100 rt2x00: Unify rt2800 WPDMA ready waiting functions. The rt2800pci_wait_wpdma_ready and rt2800usb_wait_wpdma_ready functions are exactly the same, so unify them into rt200lib. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6c0fe26581406bff3d15fd6051453e80cfe70fd6 Author: Gertjan van Wingerde Date: Wed Dec 30 11:36:31 2009 +0100 rt2x00: RF3052 is a valid RF chipset for USB devices as well. The RF3052 chipset is now also being integrated onto USB devices, so allow the RF chipset and don't treat it as PCI/SOC only. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 13ae75b103e07304a34ab40c9136e9f53e06475c Author: Jouni Malinen Date: Tue Dec 29 12:59:45 2009 +0200 nl80211: New command for setting TX rate mask for rate control Add a new NL80211_CMD_SET_TX_BITRATE_MASK command and related attributes to provide support for setting TX rate mask for rate control. This uses the existing cfg80211 set_bitrate_mask operation that was previously used only with WEXT compat code (SIOCSIWRATE). The nl80211 command allows more generic configuration of allowed rates as a mask instead of fixed/max rate. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 37eb0b164cf9fa9f70c8500926f5cde7c652f48e Author: Jouni Malinen Date: Wed Jan 6 13:09:08 2010 +0200 cfg80211/mac80211: Use more generic bitrate mask for rate control Extend struct cfg80211_bitrate_mask to actually use a bitfield mask instead of just a single fixed or maximum rate index. This change itself does not modify the behavior (except for debugfs files), but it prepares cfg80211 and mac80211 for a new nl80211 command for setting which rates can be used in TX rate control. Since frames are now going through the rate control algorithm unconditionally, the internal IEEE80211_TX_INTFL_RCALGO flag can now be removed. The RC implementations can use the rate_idx_mask value to optimize their behavior if only a single rate is enabled. The old max_rate_idx in struct ieee80211_tx_rate_control is maintained (but commented as deprecated) for backwards compatibility with existing RC implementations. Once these implementations have been updated to use the more generic rate_idx_mask, the max_rate_idx value can be removed. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit e00cfce0cb2a397859607bf515c6de9ce064b64a Author: Jouni Malinen Date: Tue Dec 29 12:59:19 2009 +0200 mac80211: Select lowest rate based on basic rate set in AP mode If the basic rate set is configured to not include the lowest rate (e.g., basic rate set = 6, 12, 24 Mbps in IEEE 802.11g mode), the AP should not send out broadcast frames at 1 Mbps. This type of configuration can be used to optimize channel usage in cases where there is no need for backwards compatibility with IEEE 802.11b-only devices. In AP mode, mac80211 was unconditionally using the lowest rate for Beacon frames and similarly, with all rate control algorithms that use rate_control_send_low(), the lowest rate ended up being used for all broadcast frames (and all unicast frames that are sent before association). Change this to take into account the basic rate configuration in AP mode, i.e., use the lowest rate in the basic rate set instead of the lowest supported rate when selecting the rate. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 3dc1de0bf23816ed557ac8addf680cd5ee57e805 Author: Zhu Yi Date: Mon Dec 28 16:57:15 2009 +0800 mac80211: quit addba_resp_timer if Tx BA session is torn down Make addba_resp_timer aware the HT_AGG_STATE_REQ_STOP_BA_MSK mask so that when ___ieee80211_stop_tx_ba_session() is issued the timer will quit. Otherwise when suspend happens before the timer expired, the timer handler will be called immediately after resume and messes up driver status. Signed-off-by: Zhu Yi Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 6e08d228b6d8e93d7b25b3573c6da7da179c2ae1 Author: Lukáš Turek <8an@praha12.net> Date: Mon Dec 21 22:50:51 2009 +0100 ath5k: Implement mac80211 callback set_coverage_class The callback sets slot time as specified in IEEE 802.11-2007 section 17.3.8.6 (for 20MHz channels only for now) and raises ACK and CTS timeouts accordingly. The values are persistent, they are restored after device reset. Signed-off-by: Lukas Turek <8an@praha12.net> Signed-off-by: John W. Linville commit 3578e6ebb305e6bf7519f6e86741772892f4d51a Author: Lukáš Turek <8an@praha12.net> Date: Mon Dec 21 22:50:50 2009 +0100 ath5k: Reimplement clock rate to usec conversion The original code was correct in 802.11a mode only, 802.11b/g uses different clock rates. The new code uses values taken from FreeBSD HAL and should be correct for all modes including turbo modes. The former rate calculation was used by slope coefficient calculation function ath5k_hw_write_ofdm_timings. However, this function requires the 802.11a values even in 802.11g mode. Thus the use of ath5k_hw_htoclock was replaced by hardcoded values. Possibly the slope coefficient calculation is not related to clock rate at all. Signed-off-by: Lukas Turek <8an@praha12.net> Signed-off-by: John W. Linville commit e1aa369ec8fb981ef78bc5be3b3c58de7c5ff769 Author: Lukáš Turek <8an@praha12.net> Date: Mon Dec 21 22:50:49 2009 +0100 ath5k: Fix functions for getting/setting slot time Functions ath5k_hw_get_slot_time and ath5k_hw_set_slot_time were converting microseconds to clocks only for AR5210, although it's needed for all supported devices. The conversion was moved outside the hardware-specific branches. The original code also limited minimum slot time to 9, while turbo modes use 6, this was fixed too. Signed-off-by: Lukas Turek <8an@praha12.net> Signed-off-by: John W. Linville commit 310bc676e314e92c18257bfc916951879451ee32 Author: Lukáš Turek <8an@praha12.net> Date: Mon Dec 21 22:50:48 2009 +0100 mac80211: Add new callback set_coverage_class Mac80211 callback to driver set_coverage_class() sets slot time and ACK timeout for given IEEE 802.11 coverage class. The callback is optional, but it's essential for long distance links. Signed-off-by: Lukas Turek <8an@praha12.net> Signed-off-by: John W. Linville commit 81077e82c3f591578625805dd6464a27a9ff56ec Author: Lukáš Turek <8an@praha12.net> Date: Mon Dec 21 22:50:47 2009 +0100 nl80211: Add new WIPHY attribute COVERAGE_CLASS The new attribute NL80211_ATTR_WIPHY_COVERAGE_CLASS sets IEEE 802.11 Coverage Class, which depends on maximum distance of nodes in a wireless network. It's required for long distance links (more than a few hundred meters). The attribute is now ignored by two non-mac80211 drivers, rndis and iwmc3200wifi, together with WIPHY_PARAM_RETRY_SHORT and WIPHY_PARAM_RETRY_LONG. If it turns out to be a problem, we could split set_wiphy_params callback or add new capability bits. Signed-off-by: Lukas Turek <8an@praha12.net> Signed-off-by: John W. Linville commit 14acdde6e527950f66c084dbf19bad6fbfcaeedc Author: Luis R. Rodriguez Date: Fri Dec 18 11:26:04 2009 -0500 ath9k: re-enable ps by default for new single chip families The newer single chip hardware family of chipsets have not been experiencing issues with power saving set by default with recent fixes merged (even into stable). The remaining issues are only reported with AR5416 and since enabling PS by default can increase power savings considerably best to take advantage of that feature as this has been tested properly. For more details on this issue see the bug report: http://bugzilla.kernel.org/show_bug.cgi?id=14267 We leave AR5416 with PS disabled by default, that seems to require some more work. Cc: stable@kernel.org Cc: Peter Stuge Cc: Justin P. Mattock Cc: Kristoffer Ericson Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d4a66e752d0b19934dd208884f8605fe385aaaa9 Merge: bdbec4b fa15e99 Author: David S. Miller Date: Sun Jan 10 22:55:03 2010 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/benet/be_cmds.h include/linux/sysctl.h commit a3aa18842a5303fc28fcc4d57dbd16618bd830a0 Author: Alexey Dobriyan Date: Thu Jan 7 11:58:11 2010 +0000 drivers/net/: use DEFINE_PCI_DEVICE_TABLE() Use DEFINE_PCI_DEVICE_TABLE() so we get place PCI ids table into correct section in every case. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 1b8e664d34f2f551fd6c2d40033d29c13551292c Author: hartleys Date: Tue Jan 5 06:55:40 2010 +0000 drivers/net/atl1e/atl1e_main.c: use %pM to show MAC address Use the %pM kernel extension to display the MAC address. The only difference in the output is that the MAC address is shown in the usual colon-separated hex notation. Signed-off-by: H Hartley Sweeten Cc: David S. Miller Signed-off-by: David S. Miller commit 829911725f4bb72c30480aab756704d588c7cd1e Author: hartleys Date: Tue Jan 5 06:54:01 2010 +0000 drivers/net/atl1c/atl1c_main.c: use %pM to show MAC address Use the %pM kernel extension to display the MAC address. The only difference in the output is that the MAC address is shown in the usual colon-separated hex notation. Signed-off-by: H Hartley Sweeten Cc: David S. Miller Signed-off-by: David S. Miller commit cfa6cb2048beb35ae7f1d2fa19160aab240557d1 Merge: 8271195 8a5b33f Author: John W. Linville Date: Wed Jan 6 17:22:54 2010 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: net/mac80211/scan.c net/mac80211/wme.c commit 8271195e38d01f3551bb10b1c7de856cd8507882 Author: John W. Linville Date: Tue Jan 5 17:57:20 2010 -0500 wireless: fix build breakage when CONFIG_CFG80211_REG_DEBUG not set Bad macro definition in "cfg80211: add a regulatory debug print"... Signed-off-by: John W. Linville commit 4f9b2a7dea2bf1dd81f280aa5e8a40ed910d2f0a Merge: f3f66b6 7a4a77b Author: John W. Linville Date: Tue Jan 5 17:18:59 2010 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: net/mac80211/iface.c commit f3f66b69c8ff08b46975d9e99c7ecb92a8b12eda Author: Christian Lamparter Date: Mon Jan 4 00:52:56 2010 +0100 mac80211: fix ampdu_action tx_start ssn The start_seq_num is taken from the station's tid_seq[tid]. This is fine, except tid_seq sequence counter is shifted by 4 bits to accommodate for frame fragmentation. Both (iwlagn & ath9k) were unaffected by this minor glitch, because they don't read the *ssn for the AMPDU_TX_START action. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 341c97918ab7e84a155ea8b18759425304d213b6 Author: Lennert Buytenhek Date: Mon Jan 4 21:58:40 2010 +0100 mwl8k: pass GET_HW_SPEC capability bitmask up the stack This enables HT association and AMPDU in the receive direction for STA firmware images on hardware that supports it. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit a2292d83b5dcb7f378956a124854d2b17fa53aa3 Author: Lennert Buytenhek Date: Mon Jan 4 21:58:12 2010 +0100 mwl8k: trivial rx-only ampdu implementation AMPDU receive doesn't need any special handling, so let's enable this before tackling the transmit side. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 13935e2cf39b124c9a2ff0349b294e0b1e2e3aef Author: Lennert Buytenhek Date: Mon Jan 4 21:57:59 2010 +0100 mwl8k: pass in HT capabilities and rates when associating Pass the AP's MCS rate mask to SET_RATE when associating, and make UPDATE_STADB pass in the peer's HT caps and rates when adding a new hardware station database entry. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 610677d2f0415570a7590790e8be376a946cd08b Author: Lennert Buytenhek Date: Mon Jan 4 21:56:46 2010 +0100 mwl8k: allow setting HT channels Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 9e1b17ead81e72d3db37b4cf15cde1f613603822 Author: Lennert Buytenhek Date: Mon Jan 4 21:56:19 2010 +0100 mwl8k: add support for 88w8363 in STA mode Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit c3cbbe8a5cd2886e13e9c93e059d9761f3715665 Author: Lennert Buytenhek Date: Mon Jan 4 21:56:07 2010 +0100 mwl8k: fix changed flags handling in mwl8k_bss_info_changed() Previously, mwl8k_bss_info_changed() would refuse to do anything if the 'changed' argument indicated that the association status hadn't changed. Fix this up so that it will allow changing things like the preamble type, the slot time and the CTS-to-self protection method without having to reassociate. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit c6e9601071173fed2a77f9c435c41f3b33d1018f Author: Lennert Buytenhek Date: Mon Jan 4 21:55:52 2010 +0100 mwl8k: honor peer rate set When calling SET_RATE, SET_AID, or when creating a station database entry for our AP, pass in the AP's rate set instead of just blindly enabling all legacy rates, so as to end up doing the right thing when talking to 11b-only APs. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit a680400e8ac32adda81b5e2d7f23dfac63e064fe Author: Lennert Buytenhek Date: Mon Jan 4 21:55:42 2010 +0100 mwl8k: move ->peer_id from mwl8k_vif to mwl8k_sta For STA firmware, move the per-peer hardware station ID to the driver-private part of struct ieee80211_sta, where it belongs. (Since issuing a hardware station database maintenance command sleeps, we can't hold a reference to the ieee80211_sta * across the command, and since we won't know the station ID until after the command completes, we need to re-lookup the sta when the command is done to write the returned station ID back to its driver-private part.) Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 0a11dfc36604d9b24deda17461b7ea69851846aa Author: Lennert Buytenhek Date: Mon Jan 4 21:55:21 2010 +0100 mwl8k: remove mwl8k_vif::bssid, which is now useless Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit bbfd9128d3b4a80bea017ebdd47b31a80dc7eadf Author: Lennert Buytenhek Date: Mon Jan 4 21:55:12 2010 +0100 mwl8k: handle station database update for AP's sta entry via ->sta_notify() Inserting and removing a hardware station database entry for the AP when we are in managed mode is currently done in ->bss_info_changed(). To prepare for adding AP mode support, implement the ->sta_notify() driver method, and let that handle inserting and removing the hardware station database entry for our AP instead. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 25d81b1e1a0cca41a71a08468a7d3a4c751c8565 Author: Lennert Buytenhek Date: Mon Jan 4 21:54:41 2010 +0100 mwl8k: move struct peer_capability_info to its only user Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 9a2303b93039d0f3dd578cd75fe20ebaf075f1cb Author: Lennert Buytenhek Date: Mon Jan 4 21:54:25 2010 +0100 mwl8k: make the tx ring drain status messages somewhat more friendly Old: > phy0: timeout waiting for tx rings to drain (9 -> 5 pkts), retrying > phy0: timeout waiting for tx rings to drain (5 -> 2 pkts), retrying > phy0: tx rings drained New: > phy0: waiting for tx rings to drain (9 -> 5 pkts) > phy0: waiting for tx rings to drain (5 -> 2 pkts) > phy0: tx rings drained Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 153458ff7ed5949cd5b07a2355a34aad9891ad98 Author: Lennert Buytenhek Date: Mon Jan 4 21:54:08 2010 +0100 mwl8k: prevent freeing free IRQ if ieee80211_register_hw() fails Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 91942230689c1758685499e82e53769d5e7f32eb Author: Lennert Buytenhek Date: Mon Jan 4 21:53:54 2010 +0100 mwl8k: bail out if there is no AP firmware image support for this chip Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 4113f75187bfebccc54bf13c0ed09593023b53ca Author: Luis R. Rodriguez Date: Mon Jan 4 11:50:11 2010 -0500 cfg80211: add a regulatory debug print Instead of sprinkling code with ifdef's define REG_DBG_PRINT() instead. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6976b665fc2b19900659b964bba3b55de08f264f Author: Lennert Buytenhek Date: Sat Jan 2 10:31:50 2010 +0100 mwl8k: update version number to 0.11 Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit fc5f75773c0b3c5b44785e4efcc54c5f496211a9 Author: Kalle Valo Date: Wed Dec 30 15:54:03 2009 +0200 mac80211: fix ieee80211_change_mac() to use struct sockaddr Setting the mac address from user space was buggy. For example, when executing this command: ip link set wlan0 address 00:1f:df:88:cd:55 mac80211 used the address 01:00:00:1f:df:88 instead. It was shifted two bytes. The reason was that the addr (type of void *) provided to ieee80211_change_mac() is actually of type struct sockaddr, not just the mac address array. Also the call to eth_mac_addr() expects the address to be struct sockaddr. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 1990ca6113399be9249433d5ab377a2a444f1dd8 Author: Kalle Valo Date: Wed Dec 30 14:42:20 2009 +0200 mac80211: fix a warning related to pointer conversion to u64 cookie On a 32 bit system (in this case an omap 3430 system) gcc warned about pointer conversion: net/mac80211/work.c: In function 'ieee80211_remain_on_channel_timeout': net/mac80211/work.c:534: warning: cast from pointer to integer of different size net/mac80211/work.c: In function 'ieee80211_remain_done': net/mac80211/work.c:1030: warning: cast from pointer to integer of different size net/mac80211/work.c: In function 'ieee80211_wk_remain_on_channel': net/mac80211/work.c:1056: warning: cast from pointer to integer of different size net/mac80211/work.c: In function 'ieee80211_wk_cancel_remain_on_channel': net/mac80211/work.c:1072: warning: cast from pointer to integer of different size Fix it by casting the pointers to unsigned long instead. This makes the compiler happy again. Compile-tested only. Cc: Johannes Berg Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 29401f6630c02ce996561bf2667d84ecdfacb823 Author: Jouni Malinen Date: Tue Dec 29 12:43:58 2009 +0200 mac80211: No need to include WEXT headers here Remove the forgotten linux/wireless.h inclusion from mac80211. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 61b91c1ea31d0d3ae5f848f7f7eab53dd691f8d0 Author: Zhu Yi Date: Thu Dec 24 15:31:10 2009 +0800 iwlwifi: remove linux/utsrelease.h dependency Commit 250cce26d5d03337aec4ff8405121f026adb4a89 uses UTS_RELEASE as the the in-tree iwlwifi driver version. However the inclusion of generated/utsrelease.h makes it a unpleasant behaviour to recompile the driver everytime when utsrelease.h is updated. In fact, the driver module is already built with the UTS_RELEASE information via vermagic of modinfo. Mark the in-tree driver with the version string "in-tree" to distinguish with those old out-of-tree drivers. Reported-by: David Miller Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e5eb8bd9429ebd04cf906156d1fe40b52f88e82f Author: John W. Linville Date: Mon Jan 4 15:58:03 2010 -0500 mac80211: fix typo added by "mac80211: fix propagation of failed..." 'Typo: it's "Hardware", not "Harware". Hmm, sometimes it's hairware :-)"' -- Holger Schurig Reported-by: Holger Schurig Signed-off-by: John W. Linville commit 51633632ef614ef045f25d76fc7f0133d7cc60c6 Author: Juha Leppanen Date: Mon Jan 4 15:52:50 2010 -0500 wl1271: fix timeout in wl1271_top_reg_read I noticed a timeout bug in /drivers/net/wireless/wl12xx/wl1271_spi.c In the current code you cannot tell why you exited the "poll for data ready" do-while loop if exiting was done after the last possible loop. Then timeout==0 regardless of (val & OCP_READY_MASK) or !(val & OCP_READY_MASK), leading to possible false timeout... Simple correction could be decreasing timeout after checking for !(val & OCP_READY_MASK), not before (Manually converted from email to an actual patch by me. -- JWL) Reported-by: "Juha Leppanen" Signed-off-by: "Juha Leppanen" Signed-off-by: John W. Linville commit 3a999e6eb5d277cd6a321dcda3fc43c3d9e4e4b8 Merge: 6cd9b49 891dc5e Author: David S. Miller Date: Wed Dec 30 13:51:29 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 891dc5e73783eeabd2a704a9425e2a199b39c9f9 Merge: e1781ed 55afc80 Author: John W. Linville Date: Wed Dec 30 15:25:08 2009 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: drivers/net/wireless/libertas/scan.c commit e1781ed33a8809c58ad6c3b6d432d656446efa43 Author: Kalle Valo Date: Wed Dec 23 13:15:47 2009 +0100 mac80211: annotate sleeping driver ops To make it easier to notice cases of calling sleeping ops in atomic context, annotate driver-ops.h with appropiate might_sleep() calls. At the same time, also document in mac80211.h the op functions with missing contexts. mac80211 doesn't seem to use get_tx_stats anywhere currently. Just to be on the safe side, I documented it to be atomic, but hopefully the op can be removed in the future. Compile-tested only. Signed-off-by: Kalle Valo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 095d5ef608b58ece49f4131925700d27314ecdd8 Author: Johannes Berg Date: Wed Dec 23 13:15:46 2009 +0100 mac80211: remove requeue from work There's no need to be requeueing the work struct since we check for the scan after removing items due to possible timeouts. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1ed32e4fc8cfc9656cc1101e7f9617d485fcbe7b Author: Johannes Berg Date: Wed Dec 23 13:15:45 2009 +0100 mac80211: remove struct ieee80211_if_init_conf All its members (vif, mac_addr, type) are now available in the vif struct directly, so we can pass that instead of the conf struct. I generated this patch (except the mac80211 and header file changes) with this semantic patch: @@ identifier conf, fn, hw; type tp; @@ tp fn(struct ieee80211_hw *hw, -struct ieee80211_if_init_conf *conf) +struct ieee80211_vif *vif) { <... ( -conf->type +vif->type | -conf->mac_addr +vif->addr | -conf->vif +vif ) ...> } Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 98b6218388e345064c3f2d3c161383a18274c638 Author: Johannes Berg Date: Wed Dec 23 13:15:44 2009 +0100 mac80211/cfg80211: add station events When, for instance, a new IBSS peer is found, userspace wants to be notified. Add events for all new stations that mac80211 learns about. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e4da8c37af626001ff704fb29ea14eb58f5f7208 Author: Johannes Berg Date: Wed Dec 23 13:15:43 2009 +0100 mac80211: make off-channel work generic This changes mac80211 to allow being off-channel for any type of work, not just the 'remain-on-channel' work. This also helps fast transition to a BSS on a different channel. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b8bc4b0aa9bfba755c64b11b8f60e6cfab25dc9d Author: Johannes Berg Date: Wed Dec 23 13:15:42 2009 +0100 mac80211: support remain-on-channel command This implements the new remain-on-channel cfg80211 command in mac80211, extending the work interface. Also change the work purge code to be able to clean up events properly (pretending they timed out.) Signed-off-by: Jouni Malinen Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9588bbd5529461a3dacd435bf239c84c3508f569 Author: Jouni Malinen Date: Wed Dec 23 13:15:41 2009 +0100 cfg80211: add remain-on-channel command Add new commands for requesting the driver to remain awake on a specified channel for the specified amount of time (and another command to cancel such an operation). This can be used to implement userspace-controlled off-channel operations, like Public Action frame exchange on another channel than the operation channel. The off-channel operation should behave similarly to scan, i.e. the local station (if associated) moves into power save mode to request the AP to buffer frames for it and then moves to the other channel to allow the off-channel operation to be completed. The duration parameter can be used to request enough time to receive a response from the target station. Signed-off-by: Jouni Malinen Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b203ffc3a447eb8d9e6120b783ddee081b143061 Author: Jouni Malinen Date: Wed Dec 23 13:15:40 2009 +0100 mac80211: Generalize off-channel operation helpers from scan code The off-channel operations for going into power save mode (station mode) or stop beaconing (AP/IBSS) are not limited to scanning. Move these into a separate file and allow them to be used for other purposes, too. Signed-off-by: Jouni Malinen Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0c1ad2cac1cb54db38fd4cc1822965071ee83f6e Author: Johannes Berg Date: Wed Dec 23 13:15:39 2009 +0100 mac80211: proper bss private data handling cfg80211 offers private data for each BSS struct, which mac80211 uses. However, mac80211 uses internal and external (cfg80211) BSS pointers interchangeably and has a hack to put the cfg80211 bss struct into the private struct. Remove this hack, properly converting between the pointers wherever necessary. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8e664fb3fd2b04e3ac5fad7f046000ba54e0e275 Author: Johannes Berg Date: Wed Dec 23 13:15:38 2009 +0100 mac80211: split up and insert custom IEs correctly Currently, we insert all user-specified IEs before the HT IE for association, and after the HT IE for probe requests. For association, that's correct only if the user-specified IEs are RSN only, incorrect in all other cases including WPA. Change this to split apart the user-specified IEs in two places for association: before the HT IE (e.g. RSN), after the HT IE (generally empty right now I think?) and after WMM (all other vendor-specific IEs). For probes, split the IEs in different places to be correct according to the spec. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 77c8144ad3ee7fae834e13cb7e83f5b7c8c5329e Author: Johannes Berg Date: Wed Dec 23 13:15:37 2009 +0100 mac80211: refactor association Refactor the code to reserve an skb of the right size (instead of hoping 200 bytes are enough forever), and also put HT IE generation into an own function. Additionally, put the HT IE before the vendor-specific WMM IE. This still leaves things not quite ordered correctly, due to user-specified IEs, add a note about that for now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7d3a1c3b03c3a571a2c8c393b75558a5f4a7532a Author: Johannes Berg Date: Wed Dec 23 13:15:36 2009 +0100 mac80211: rewrite a few work messages The station we're authenticating/associating with may not always be an AP in the sense that word is mostly understood, so print only the MAC address of the peer instead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit af6b63741cc4e4dfd575d06beb333b11a8a6e0c0 Author: Johannes Berg Date: Wed Dec 23 13:15:35 2009 +0100 mac80211: generalise work handling In order to use auth/assoc for different purposes other than MLME, it needs to be split up. For other purposes, a generic work handling (potentially on another channel) will be useful. To achieve that, this patch moves much of the MLME work handling out of mlme into a new work API. The API can currently handle probing a specific AP, authentication and association. The MLME previously handled probe/authentication as one step and will continue to do so, but they are separate in the new work handling. Work items are RCU-managed to be able to check for existence of an item for a specific frame in the RX path, but they can be re-used which the MLME right now will do for its combined probe/auth step. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f679f65d417c3ea3f91b4bbfb68e3951c9eb8f04 Author: Johannes Berg Date: Wed Dec 23 13:15:34 2009 +0100 mac80211: generalise management work a bit As a first step of generalising management work, this renames a few things and puts more information directly into the struct so that auth/assoc need not access the BSS pointer as often -- in fact it can be removed from auth completely. Also since the previous patch made sure a new work item is used for association, we can make the different data a union. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 63f170e0c80a131cdd549fab7afb5036009944fc Author: Johannes Berg Date: Wed Dec 23 13:15:33 2009 +0100 mac80211: let cfg80211 manage auth state mac80211 currently hangs on to the auth state by keeping it on the work list. That can lead to confusing behaviour like rejecting scans while authenticated to any AP (but not yet associated.) It also means that it needs to keep track of the work struct while associated for when it gets disassociated (or disassociates.) Change this to free the work struct after the authentication completed successfully and allocate a new one for associating, thereby letting cfg80211 manage the auth state. Another change necessary for this is to tell cfg80211 about all unicast deauth frames sent to mac80211 since now it can no longer check the auth state, but that check was racy anyway. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a80f7c0b088187c8471b441d461e937991870661 Author: Johannes Berg Date: Wed Dec 23 13:15:32 2009 +0100 mac80211: introduce flush operation We've long lacked a good confirmation that frames have really gone out, e.g. before going off-channel for a scan. Add a flush() operation that drivers can implement to provide that confirmation, and use it in a few places: * before scanning sends the nullfunc frames * after scanning sends the nullfunc frames, if any * when going idle, to send any pending frames Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9607e6b66a0d25ca63b70d54a4283fa13d8f7c9d Author: Johannes Berg Date: Wed Dec 23 13:15:31 2009 +0100 mac80211: add ieee80211_sdata_running Instead of always using netif_running(sdata->dev) use ieee80211_sdata_running(sdata) now which is just an inline containing netif_running() for now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d30506e0357e5448c7d38bb3739c451dbe4c174e Author: John W. Linville Date: Tue Dec 22 18:13:05 2009 -0500 rtl8187: remove priv->mode It is checked in add_interface, but there it is easily replaced with a check of priv->vif. If that information should become necessary, it is available in vif->type anyway. It is also checked in led_turn_on and led_turn_off, where I made the substitutions as described above. Of course, these checks seem to have been incorrect since the driver was using NL80211_IFTYPE_MONITOR to indicate no interface rather than NL80211_IFTYPE_UNSPECIFIED. Anyway, I think these checks may be extraneous...? Signed-off-by: John W. Linville commit 643aab6733799586c798a7b54b85c34d587b25e3 Author: John W. Linville Date: Tue Dec 22 18:13:04 2009 -0500 rtl8180: remove priv->mode It is only checked in add_interface, and there it is easily replaced with a check of priv->vif. If that information should become necessary, it is available in vif->type anyway. Signed-off-by: John W. Linville commit 5122d8986232ef2a761f5cf70c31666c4d65c3e4 Author: Gertjan van Wingerde Date: Wed Dec 23 00:03:25 2009 +0100 rt2x00: Cleanup chip handling helper functions. Let each of them take a struct rt2x00_dev pointer as argument instead of a mixture of struct rt2x00_chip and struct rt2x00_dev pointers. Preparation for further clean ups in the rt2x00 chip handling, especially for rt2800 devices. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 73a2f1259ebb49f9768aa12eee2a1071345eb7f2 Author: Gertjan van Wingerde Date: Wed Dec 23 00:03:24 2009 +0100 rt2x00: convert RT2800PCI_PCI and RT2800PCI_SOC Kconfig symbols to booleans. There is no need for Kconfig symbols RT2800PCI_PCI and RT2800PCI_SOC to be tristates, as they are only used to check whether RT2800 PCI or SOC support is to be compiled in. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit ac394917f5138f9bb2774718312dec179164f3dc Author: Gertjan van Wingerde Date: Wed Dec 23 00:03:23 2009 +0100 rt2x00: Let rt2800lib check CONFIG_RT2X00_LIB_USB instead of CONFIG_RT2800USB rt2800lib currently checks whether RT2800USB is enabled in the configuration. Strictly speaking this is not necessary, it only needs to know whether the generic rt2x00usb library functions are available. Therefore check for RT2X00_LIB_USB instead. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 00e23ce219a9ac6c5f764342ca13f8ac1bab0382 Author: Gertjan van Wingerde Date: Wed Dec 23 00:03:22 2009 +0100 rt2x00: Fix checks for rt2800 SOC support. Fix checking for SOC support in rt2800pci. The wrong config (an unexisting one) was checked. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit baeb66fe2306783e3b9a492b03882f2e249b2eeb Author: John W. Linville Date: Fri Dec 18 17:59:02 2009 -0500 wireless: remove CONFIG_WIRELESS_OLD_REGULATORY This is no longer needed with the availability of CONFIG_CFG80211_INTERNAL_REGDB. Signed-off-by: John W. Linville commit 8f648c00039a42e67a9dff034c77d41502dab1f3 Author: Juuso Oikarinen Date: Fri Dec 11 15:41:10 2009 +0200 wl1271: Prevent performing "join" before association There is a minor bug in the code causing a "join" to be performed before there is an intention to associate. Fix this. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 04477bf095afd008b73717f7a4ea1fdf18b1b5e2 Author: Juuso Oikarinen Date: Fri Dec 11 15:41:09 2009 +0200 wl1271: Check vif for NULL when indicating beacon-loss Because the interface is started and the vif are created and destroyed separately, there is a slim possibility beacon-loss indications occur while there is no vif - causing a kernel-oops unless checked. Add checking for the vif. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 38ad2d87d42ba847c100ef132e8e363513982c8b Author: Juuso Oikarinen Date: Fri Dec 11 15:41:08 2009 +0200 wl1271: Add support for acx_pm_config This acx configures host clock parameters in correspondence with the clock request line - the settling time of the clock, and whether fast wake-up is supported. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 71449f8d7059b69e6e45063997d225d8202221a2 Author: Juuso Oikarinen Date: Fri Dec 11 15:41:07 2009 +0200 wl1271: Change booleans in struct wl1271 into a flags bitmask For cleaner implementation, change the bunch of booleans in the struct wl1271 structure into a flags bitmask. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 830fb67b8e37fb03cf703b4e1217fe30ce32d579 Author: Juuso Oikarinen Date: Fri Dec 11 15:41:06 2009 +0200 wl1271: Fix supported rate management Previously, only basic rates were used for data transmission - resulting in reduced transfer rates. This patch takes enables the firmware to take advantage of the full set of data rates supported by the AP. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit ec078d943b89c03e55ac9c8b28f39256d4d4045e Author: Juuso Oikarinen Date: Fri Dec 11 15:41:05 2009 +0200 wl1271: Change rates configured for templates Previously a "firmware chooses" value was used for the rates of all control message templates set to the firmware. This resulted in a too high rate to be chosen to transmit those messages. Change this by configuring a fixed low rate for the templates. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit e0d8bbf0d23e6b82f13b29f39593d5d13d923b2b Author: Juuso Oikarinen Date: Fri Dec 11 15:41:04 2009 +0200 wl1271: Add rudimentary ad-hoc support This patch adds rudimentary a-hoc support for the driver. It will allow setting up ad-hoc, and for other devices to scan and join. The beacon and probe response template setting is slightly dirty, and need to be properly implemented with support from mac80211. Also, the SSID is not configured to the firmware - the FW will not be able to respond to probe requests autonomously. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 26a63f6af58144818d4979cce1cbb8e49329f732 Author: Juuso Oikarinen Date: Fri Dec 11 15:41:03 2009 +0200 wl1271: Remove beacon-loss-ind from PSM entry failure handling Remove the beacon-loss indication to stack from PSM entry failure handling - this will cause more problems than it will solve due to the design of the mac80211. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 01ac17ecb6292ceab9bfc498145491b78552b239 Author: Juuso Oikarinen Date: Fri Dec 11 15:41:02 2009 +0200 wl1271: Add pre-power-on sleep This patch adds a short delay before powering on the wl1271. Normally, it is not needed, but if the wl1271 has been powered off shortly before, for reliable firmware-booting this small stabilization delay is required. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 9ccd921792e5b6719ff9e561438e095cba757727 Author: Juuso Oikarinen Date: Fri Dec 11 15:41:01 2009 +0200 wl1271: Implement chipset boot retry The wl1271 has a hardware bug which causes it to randomly (very infrequently) to fail powering up properly. This patch implements retry for the chipset boot sequence, to work around the hardware problem. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit af5e084b3200ab6e3033068a34fe16fd139be17b Author: Juuso Oikarinen Date: Fri Dec 11 15:41:00 2009 +0200 wl1271: prevent power save entry while not associated The mac80211 sometimes requests power save entry while not associated - this will cause problems, so prevent it if not associated. Go to powersave once association is complete. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 13f2dc52c69bcca074cd12d4806953b2af45c386 Author: Juuso Oikarinen Date: Fri Dec 11 15:40:59 2009 +0200 wl1271: Fix event acknowledging functionality In reference source, events are acknowledged separately - fix the driver to do the same. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit a6fe231361e35e3d068a63bbfd2318fa4e961ec5 Author: Juuso Oikarinen Date: Fri Dec 11 15:40:58 2009 +0200 wl1271: Use slow rates for association messages While not associated, default the data rates to 1 and 2mbps, so that only those rates will be used for association related message transfer. Once associated, configure the full rate-set supported by the AP. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 018b171c40b613da867e054f9b6b258ae9298133 Author: Juuso Oikarinen Date: Fri Dec 11 15:40:57 2009 +0200 wl1271: Remove smart reflex ACX Remove the smart-reflex ACX - the associated parameters are now configured in the radio parameters config. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 149e38789f3fea74b581f8ebb7eb947d3c6d8a4e Author: Juuso Oikarinen Date: Fri Dec 11 15:40:56 2009 +0200 wl1271: Configure smart-reflex paramter values. Configure correct values to be used with the smart-reflex configuration of the firmware. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 94210897e2b7df8446fdecd360342149e5b4a400 Author: Luciano Coelho Date: Fri Dec 11 15:40:55 2009 +0200 wl1271: use channel 1 when configuring the data path In the data path configuration, one of the parameters is the channel. We have been setting it to wl->channel, which is not correct in this case. This channel has nothing to do with the channel we're currently tuned to, since it is only used for calibration during this phase. Hardcoded the channel to 1, according to the reference driver. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 3ed8f2c61466f10d99585365fd2aaafaf2d4c949 Author: Luciano Coelho Date: Fri Dec 11 15:40:54 2009 +0200 wl1271: some new configuration values according to new reference In the new reference driver, some of the firmware configuration values have been changed. This patch changes them in the wl1271 driver accordingly. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 8cf5e8e509950237fa0982235a703348d8b6e670 Author: Luciano Coelho Date: Fri Dec 11 15:40:53 2009 +0200 wl1271: upload only the first 468 bytes from the NVS file We were uploading the whole NVS file, but that is wrong, because the same file also contains the initialization values. For the latest firmwares, we should upload only the initial 468 bytes from the file. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 98b2a68473ae975bc4abdeb66cd719ccfdad9d4a Author: Luciano Coelho Date: Fri Dec 11 15:40:52 2009 +0200 wl1271: add gpio_power file in debugfs to power the chip on and off Some debugging tools require the chip to be powered on before they can work. With these tools, we shouldn't upload the firmware nor boot the firmware ourselves, so this debufs file is provided. It always contains the gpio power setting (0 = off, 1 = on). To change the power setting, just write 0 or 1 to the file. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit 1b38ea8858fd169064683e27add43511308e521a Author: Luciano Coelho Date: Fri Dec 11 15:40:51 2009 +0200 wl1271: fix one typo in the rx_rssi_and_proc_compens values There was a typo in one of the values in the rx_rssi_and_proc_compens elemt of the Radio Parameters struct. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 6e92b416b0aa6a59629cc32ee2b27129d73b98b8 Author: Luciano Coelho Date: Fri Dec 11 15:40:50 2009 +0200 wl1271: implement dco itrim parameters setting Newer firmwares require the dco itrim parameters to be set during initialization. This patch implements the new ACX function and calls it. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit ac9b40fac6983ab30e8b5019a5d2abda200c89d5 Author: Luciano Coelho Date: Fri Dec 11 15:40:49 2009 +0200 wl1271: use the correct macro when setting the basic rates We were using CONF_TX_RATE_MASK_ALL when calling wl1271_acx_rate_policies() during init. We should use WL1271_DEFAULT_BASIC_RATE_SET instead. The values are the same, but the latter is just the correct macro to use. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit bdcbbb947be9778f740797a2bfc69c44a0d54776 Author: Luciano Coelho Date: Fri Dec 11 15:40:48 2009 +0200 wl1271: set null data template when BSSID is known The call to wl1271_cmd_build_null_data() was missing when we got associated, this was causing PS to fail. This patch adds the call and now PS seems to work. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit cd264769f7a571fc2a61765757ed85c56f02e9d3 Author: Luciano Coelho Date: Fri Dec 11 15:40:47 2009 +0200 wl1271: check result code from the join command We were not checking the return value from the call to wl1271_cmd_join(). Added a check to make things more reliable. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit a2d0e3f13037fa7dc4094c47e0378800a064ee26 Author: Luciano Coelho Date: Fri Dec 11 15:40:46 2009 +0200 wl1271: limit TX power to 25dBm for every channel The wl1271 firmware supports maximun 25.5dBm, so the driver was returning -EINVALID to anything above that. This patch uses the channel max_power option to limit the TX power to 25dBm. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 9cf25fed6a3b1c0792cbab3e934a4e2b6736d284 Author: Luciano Coelho Date: Fri Dec 11 15:40:45 2009 +0200 wl1271: remove workaround for disconnection Now we're using a the idle information coming from mac80211 to decide when to disconnect. If we have joined (ie. we're listening to a channel), whenever the interface goes to idle, we will issue a disconnect command. So the workaround to send a disconnect command before joining is not needed anymore. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit c7f43e451ba40e66a89d51e63bc21a57824592f2 Author: Luciano Coelho Date: Fri Dec 11 15:40:44 2009 +0200 wl1271: use join command with dummy BSSID When we need to change the channel before association, we have to send a join command with a valid BSSID. With this patch we use 0baddeadbeef as the BSSID. There are ongoing discussions with TI to get this done in a cleaner way. When we go back to idle, we issue a CMD_DISCONNECT to make sure the firmware stops listening to the channel and cleans things up internally. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit cf18be4467b5aca1ccf3b5a72b67fc33a0b30c59 Author: Luciano Coelho Date: Fri Dec 11 15:40:43 2009 +0200 wl1271: added radio parameters configuration values newer firmwares Add new radio parameters for new structures based on firmware revision 6.1.0.0.288. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit a3e84847b042f10262f8ef66db66a0e527a00cff Author: Luciano Coelho Date: Fri Dec 11 15:40:42 2009 +0200 wl1271: update radio and general parameters values There were some changes in the values we have to use for these settings. This patches updates them. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 76c0f8d396bd306111d349cfe770e1c4fcf70248 Author: Luciano Coelho Date: Fri Dec 11 15:40:41 2009 +0200 wl1271: updated general parameters structure for newer firmwares In revision 6.1.0.0.288 the general parameters structure has changed. This patch updates the driver code accordingly. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 937a67e75a93b63f0b5d33612901906b8eb2a688 Author: Luciano Coelho Date: Fri Dec 11 15:40:40 2009 +0200 wl1271: updated radio parameters structure for newer firmwares In revision 6.1.0.0.288 the radio parameters structure has changed. This patch updates the driver code accordingly. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit b02914af4d7020828ce921a572589dd793517c09 Author: Larry Finger Date: Thu Dec 10 17:35:01 2009 -0600 b43: Allow PIO mode to be selected at module load If userencounter the "Fatal DMA Problem" with a BCM43XX device, and still wish to use b43 as the driver, their only option is to rebuild the kernel with CONFIG_B43_FORCE_PIO. This patch removes this option and allows PIO mode to be selected with a load-time parameter for the module. Note that the configuration variable CONFIG_B43_PIO is also removed. Once the DMA problem with the BCM4312 devices is solved, this patch will likely be reverted. Signed-off-by: Larry Finger Tested-by: John Daiker Signed-off-by: John W. Linville commit 7dc6a7a7635365b140af969e972900866d0bf34b Author: Lennert Buytenhek Date: Mon Nov 30 18:33:09 2009 +0100 mwl8k: remove duplicate local per-vif copy of ieee80211_bss_conf Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 97474782959af87f5dc8049fca3bd3b25eb68308 Author: Lennert Buytenhek Date: Mon Nov 30 18:33:04 2009 +0100 mwl8k: remove unused mwl8k_vif::priv Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 89a91f4f4cdae92daf3693d4852ae4958abb6c58 Author: Lennert Buytenhek Date: Mon Nov 30 18:32:54 2009 +0100 mwl8k: fix up AP vs. STA firmware image receive descriptor handling The receive descriptor ops that are currently marked as being for 8687 only are actually used for all STA firmware images, whereas the receive descriptor ops marked as 8366 are only used on 8366 when an AP firmware image is in use. Rename the receive descriptor ops to reflect this, use the STA ops unconditionally if the firmware image loaded reported the STA ready code, and rename the mwl8k_device_info::rxd_ops member to ap_rxd_ops to indicate that it should only be used if we are running on AP firmware. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit be695fc4f0a7ff9c9f91d59536b029b781cfea62 Author: Lennert Buytenhek Date: Mon Nov 30 18:32:46 2009 +0100 mwl8k: do rx/tx ring initialisation after loading firmware Whether the firmware we have loaded is AP or STA firmware decides which receive descriptor format we have to use. Therefore, move rx/tx ring initialisation to be after firmware loading. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 22be40d9c53faa10d03a679160e0854ad115b610 Author: Lennert Buytenhek Date: Mon Nov 30 18:32:38 2009 +0100 mwl8k: get rid of the struct mwl8k_firmware abstraction Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 647ca6b01a5289948e970ea7c1f656f9d90b0a27 Author: Lennert Buytenhek Date: Mon Nov 30 18:32:20 2009 +0100 mwl8k: add 2.4GHz channels 12, 13 and 14 Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 49eb691c8f48a29adfdfbdeb82433f1f8cb6524d Author: Lennert Buytenhek Date: Mon Nov 30 18:32:13 2009 +0100 mwl8k: initialize the mwl8k_info_tbl table using the MWL* enums Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit e0493a8dd6351a114b53790dda6bd855ae73a85c Author: Lennert Buytenhek Date: Mon Nov 30 18:32:00 2009 +0100 mwl8k: inline qos field manipulation functions Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 74726e729291131ac2b9ab7e0bd2e18b7b03970d Author: Lennert Buytenhek Date: Mon Nov 30 18:31:52 2009 +0100 mwl8k: get rid of the AMSDU check in the transmit path Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 99200a992e365a73dc67a6570524e5f3af4386dd Author: Lennert Buytenhek Date: Mon Nov 30 18:31:40 2009 +0100 mwl8k: hw is never NULL in mwl8k_set_radio_preamble() Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 55489b6ed6801a42636fc3d4594b77dda9c409f2 Author: Lennert Buytenhek Date: Mon Nov 30 18:31:33 2009 +0100 mwl8k: firmware command code cleanup Sort firmware commands by command code, get rid of the 802_11 substring in all command names, and make sure that the command functions match the firmware command names. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit ea1e4b842049fcc4741096538114871a74859314 Merge: b6ce5c3 92c6f8d Author: John W. Linville Date: Mon Dec 28 15:09:11 2009 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit f83d664eef180478c2dc0a0099e9d7bc1c8177ff Author: John W. Linville Date: Fri Dec 25 16:35:43 2009 -0800 wireless: fix comments in genregdb.awk Apparently some awk versions choke on C-style comments -- who knew? :-) Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d346f49d0badd80aa9fc699fa9c6d5b23e778eb6 Merge: d87fd25 b6ce5c3 Author: David S. Miller Date: Fri Dec 25 16:34:56 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit b4de921ae6f7bb211868be4f7d56e80ac6da676c Merge: 17a3be3 ed4b201 Author: David S. Miller Date: Wed Dec 23 14:09:17 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit b6ce5c33001b1dc83e6a1a6f30c5dccccea651b6 Author: Sujith Date: Mon Dec 14 14:57:06 2009 +0530 ath9k: Fix TX poll routine Disable the TX hang monitoring routine when doing a scan. Monitoring for a hung situation is not really necessary during a scan run. Cc: stable@kernel.org Signed-off-by: Sujith Signed-off-by: John W. Linville commit 05c78d6d3ec5a8325398b3866e7e6bb88940d4fd Author: Sujith Date: Mon Dec 14 14:57:04 2009 +0530 ath9k: Remove ANI lock Cancel/restart the ANI timer directly. With this patch, the ANI lock can be removed. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0ce024cbcd5837596bc82861f1d3074d53e956f6 Author: Sujith Date: Mon Dec 14 14:57:00 2009 +0530 ath9k: Clarify Interrupt mitigation ath9k currently supports only RX interrupt mitigation. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 45d5d805988f1f3c0b24dac59fbba771b1f106a8 Author: Emese Revfy Date: Mon Dec 14 00:59:53 2009 +0100 iwlwifi: Constify struct iwl_ops Signed-off-by: Emese Revfy Signed-off-by: John W. Linville commit ba37a3d0395a66b3c9164c4f4d1318317da32e96 Author: Johannes Berg Date: Thu Dec 10 14:37:27 2009 -0800 iwlwifi: use new mac80211 SMPS Instead of hard-coding the SM PS mode per hardware, this makes iwlwifi support the new mac80211 API for controlling the SM PS mode. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 11466f1342a3400dd5e03da3d8c45aa4149c62d4 Author: Stefan Seyfried Date: Tue Dec 8 15:21:35 2009 +0100 zd1211rw: improve ejecting of fake CDROM The zd1211rw always assumed that the storage device is at endpoint 1, but there are devices (Spairon Homelink 1202) that are at endpoint 0. Try both, starting with 1 to make sure to not break existing setups. Signed-off-by: Stefan Seyfried Signed-off-by: John W. Linville commit 5b6e2f12edd6c46e87a2775321f1912d19be4b35 Author: Stefan Seyfried Date: Tue Dec 8 15:21:34 2009 +0100 ar9170usb: add Sphairon Homelink 1202 USB ID Signed-off-by: Stefan Seyfried Signed-off-by: John W. Linville commit 9da3e068142ec7856b2f13261dcf0660fad32b61 Author: Luis R. Rodriguez Date: Mon Dec 7 15:57:50 2009 -0500 mac80211: only bother printing highest data rate on debugfs if its set IEEE-802.11n spec says the RX highest data rate field does not specify the highest supported RX data rate if its not set. Ignore it if not set then. Refer to section 7.3.56.4 Cc: johannes@sipsolutions.net Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7db94e210351e8578d4a98fed3edd4df5f10ae9d Author: Luis R. Rodriguez Date: Mon Dec 7 14:54:45 2009 -0500 mac80211: parse the HT capabilities info through debugfs When debugging you want to be lazy and not have to parse bits yourself so let mac80211 debugfs do the parsing for you. This is what I get against my WRT610N: root@tux:~# cat /sys/kernel/debug/ieee80211/phy0/stations/00\:22\:6b\:aa\:bb\:01/ht_capa ht supported cap: 0x000e HT20/HT40 SM Power Save disabled No RX STBC Max AMSDU length: 7935 bytes No DSSS/CCK HT40 ampdu factor/density: 2/6 MCS mask: ff ff 00 00 00 00 00 00 00 00 MCS rx highest: 0 MCS tx params: 0 Cc: johannes@sipsolutions.net Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit cb136f54ee11f9ead716b5ad0b10fa1c1b05271d Author: Luis R. Rodriguez Date: Mon Dec 7 14:01:28 2009 -0500 mac80211: make debugfs mcs set entry reflect 16 bits The MCS set is 16 bits so when debugging ensure the full 16 bits are represented. Current reading would make you think its only 8 bits. Cc: johannes@sipsolutions.net Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c755ad34ab233afaaacd3d67190a8b74186f9fe8 Author: Luis R. Rodriguez Date: Mon Dec 7 12:38:41 2009 -0500 ath9k: add MCS rate index back to debufs rcstat Speaking of 802.11n rates in terms of Mbps doesn't really developers and is just useful for users. To aid debugging add the MCS index back and an HT20/HT40 mode. New screenshot: HT MCS Rate Success Retries XRetries PER 6.0: 0 0 0 0 9.0: 0 0 0 0 12.0: 26 260 0 49 18.0: 80 804 2 58 24.0: 0 0 0 0 36.0: 0 0 0 0 48.0: 0 0 0 0 54.0: 0 0 0 0 HT20 0 6.5: 1368 13660 0 48 HT20 1 13.0: 0 0 0 0 HT20 2 19.5: 0 0 0 0 HT20 3 26.0: 0 0 0 0 HT20 4 39.0: 0 0 0 0 HT20 5 52.0: 55 578 14 43 HT20 6 58.5: 29 306 8 69 HT20 7 65.0: 21 210 0 67 HT20 8 13.0: 21 210 0 56 HT20 9 26.0: 0 0 0 0 HT20 10 39.0: 0 0 0 0 HT20 11 52.0: 0 0 0 0 HT20 12 78.0: 0 0 0 0 HT20 13 104.0: 0 0 0 0 HT20 14 117.0: 0 0 0 0 HT20 15 130.0: 27 290 10 55 HT40 0 13.5: 79 687 16 17 HT40 1 27.5: 60 409 10 17 HT40 2 40.5: 56 381 21 25 HT40 3 54.0: 44 302 21 18 HT40 4 81.5: 19 171 2 14 HT40 5 108.0: 0 0 0 0 HT40 6 121.5: 0 0 0 0 HT40 7 135.0: 0 0 0 0 HT40 7 150.0: 0 0 0 0 HT40 8 27.0: 0 0 0 0 HT40 9 54.0: 0 0 0 0 HT40 10 81.0: 0 0 0 0 HT40 11 108.0: 11 100 0 18 HT40 12 162.0: 23 200 0 22 HT40 13 216.0: 61 580 0 35 HT40 14 243.0: 37 271 0 66 HT40 15 270.0: 65 217 2 73 HT40 15 300.0: 0 0 0 0 Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 265dc7f0964e4df95ab57a9d1618689301d39a55 Author: Jouni Malinen Date: Fri Dec 4 19:10:34 2009 +0200 mac80211_hwsim: Check all local addresses for TX Ack status Since mac80211_hwsim supports multiple virtual interfaces, we need to iterate through all active interfaces when figuring out whether there is a match during TX Ack status checking. This fixes TX status reporting for cases where secondary interfaces are used. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 2c7e6bc9ac7cb518cf037495932d80f71a1596f2 Author: Johannes Berg Date: Fri Dec 4 09:26:38 2009 +0100 mac80211: disallow fixing bitrates with hw rate control When hw rate control is used, these parameters have no meaning because the hardware cannot get at them right now, so disallow setting them. Also clean up the function a bit. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d80050c4c321a74cea28c6ef9695d8427a928417 Author: Joe Perches Date: Wed Dec 2 20:56:11 2009 -0800 iwmc3200wifi: Avoid an offset calculation for each management frame. Determine the offset at compile time. Signed-off-by: Joe Perches Acked-by: Zhu Yi Signed-off-by: John W. Linville commit 48631de9218a4563a6632e105676f42db3849c57 Author: Holger Schurig Date: Wed Dec 2 15:26:04 2009 +0100 libertas: remove priv->ratebitmap Used to be a write-only-variable :-) Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 0e78ff8fcc6dabeda313719deb751afbd20bea41 Author: Holger Schurig Date: Wed Dec 2 15:26:03 2009 +0100 libertas: remove priv->capability This variable was once set to WLAN_CAPABILITY_SHORT_PREAMBLE and there's no code that could change the variable to something else. Therefore it seems this is not necessary :-) Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 4143a23de096910e3ceb0939f41de6ffb8c59475 Author: Holger Schurig Date: Wed Dec 2 15:26:02 2009 +0100 libertas: make mesh configurable Mostly for the embedded people that know beforehand that they don't need MESH at all and want to save some bytes, but also helpful for the upcoming cfg80211 transition. text data bss dec hex filename 114264 2308 140 116712 1c7e8 libertas.ko with mesh 105026 2000 140 107166 1a29e libertas.ko without mesh -------------------------------------------------- -9238 -308 -9546 Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 602114ae595af6c89eab149cf9f939e3f7ef4a34 Author: Holger Schurig Date: Wed Dec 2 15:26:01 2009 +0100 libertas: add access functions for mesh open/connect status Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit e4da1a81a967c05dfde6f0498cff1f6fe6683f52 Author: Holger Schurig Date: Wed Dec 2 15:26:00 2009 +0100 libertas: move mesh SSID initialization into mesh.c Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit cd74468b8c56c1a809d9b7f913f11d8181c3a0b2 Author: Holger Schurig Date: Wed Dec 2 15:25:59 2009 +0100 libertas: decouple mesh and rtap While it's might be technically true that only MESH-enabled firmwares are also RTAP-enabled, I like to have this decoupled. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 55e1ff924414111a6afbfde00375a1302aef9353 Author: Holger Schurig Date: Wed Dec 2 15:25:58 2009 +0100 libertas: move mesh-related definitions into mesh.h Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit d6ede678c138061f5202b519f8f8d6372e2cb5bb Author: Holger Schurig Date: Wed Dec 2 15:25:57 2009 +0100 libertas: remove mesh_autostart_enabled and sync_channel mesh_autostart_enabled was nowhere set. Rumor is that this is used in the OLPC tree, but they never did submit their code upstream. After removing this code, it turned out that the sync_channel stuff is now also unused, so get rid of that as well. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit c24ef46e6b1597e54f185e0b48eb9073ef155a8c Author: Holger Schurig Date: Wed Dec 2 15:25:56 2009 +0100 libertas: use priv->mesh_tlv instead of priv->mesh_fw_ver Both variables contained the same information (no mesh, old mesh, new mesh). So we can get rid of one variable. Also move the mesh-version test from cmd.c into mesh.c. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 5d1ec85f00e999dba61bdcbd959d62439d418e56 Author: Johannes Berg Date: Wed Dec 2 12:43:43 2009 +0100 mac80211: dont try to use existing sta for AP Clean out some cruft that could use an already existing sta_info struct -- that case cannot happen. Also, there's a bug there -- if allocation/insertion fails then it is possible that we are left in a lingering state where mac80211 waits for the AP, cfg80211 waits for mac80211, but the AP has already replied. Since there's no way to indicate an internal error, pretend there was a timeout, i.e. that the AP never responded. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5fba4af32ceeb935b3926714df9a64a33c2c9cf5 Author: Johannes Berg Date: Wed Dec 2 12:43:42 2009 +0100 cfg80211: avoid sending spurious deauth to userspace Before commit ca9034592823e8179511e48a78731f95bfdd766c Author: Holger Schurig Date: Tue Oct 13 13:45:28 2009 +0200 cfg80211: remove warning in deauth case we assumed that drivers never give us spurious deauth frames because they filter them out based on the auth state they keep track of. This turned out to be racy, because userspace might deauth while the AP is also sending a deauth frame, so the warning was removed. However, in that case we should not tell userspace about the AP's frame if it requested deauth "first", where "first" means it came to cfg80211 first. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f38fd12fa7b7b98e158a9b31d388da34eef25c22 Author: Johannes Berg Date: Tue Dec 1 18:29:42 2009 +0100 mac80211: allow disabling 40MHz on 2.4GHz In some situations it is required that a system be configured with no support for 40 MHz channels in the 2.4 GHz band. Rather than imposing any such restrictions on everybody, allow configuration a system like that with a module parameter. It is writable at runtime but only takes effect at the time of the next association. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8b73d13a21ae889e747cac180ff27c5a0a88e6a4 Author: Johannes Berg Date: Tue Dec 1 14:24:24 2009 +0100 mac80211_hwsim: implement ampdu action Not that we actually ever aggregate anything, but it could potentially be useful anyhow to simulate aggregation sessions. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0f78231bffb868a30e8533aace142213266bb811 Author: Johannes Berg Date: Tue Dec 1 13:37:02 2009 +0100 mac80211: enable spatial multiplexing powersave Enable spatial multiplexing in mac80211 by telling the driver what to do and, where necessary, sending action frames to the AP to update the requested SMPS mode. Also includes a trivial implementation for hwsim that just logs the requested mode. For now, the userspace interface is in debugfs only, and let you toggle the requested mode at any time. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 18974b5b0b5e758d416c550553b143e5c8038281 Author: Zhu Yi Date: Tue Dec 1 10:18:38 2009 +0800 iwmc3200wifi: rx aggregation support When the device receives an A-MSDU frame (indicated by flag IWM_RX_TICKET_AMSDU_MSK), use ieee80211_amsdu_to_8023s to convert it to a list of 802.3 frames and handled them to upper layer. Cc: Johannes Berg Acked-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit eaf85ca7fecb218fc41ff57c1642ca73b097aabb Author: Zhu Yi Date: Tue Dec 1 10:18:37 2009 +0800 wireless: add ieee80211_amsdu_to_8023s Move the A-MSDU handling code from mac80211 to cfg80211 so that more drivers can use it. The new created function ieee80211_amsdu_to_8023s converts an A-MSDU frame to a list of 802.3 frames. Cc: Johannes Berg Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit ca99861d5421c91f5a8fd3a77acb4b7be14f119d Author: gregor kowski Date: Wed Dec 9 23:25:05 2009 +0100 mac80211 : fix a race with update_tkip_key The mac80211 tkip code won't call update_tkip_key, if rx packets are received without KEY_FLAG_UPLOADED_TO_HARDWARE. This can happen on first packet because the hardware key stuff is called asynchronously with todo workqueue. This patch workaround that by tracking if we sent the key to the driver. Signed-off-by: Gregor Kowski Signed-off-by: John W. Linville commit e54be4e7356c0612b48407d3b0647a29cb82e254 Author: Gertjan van Wingerde Date: Fri Dec 4 23:47:07 2009 +0100 rt2x00: Fix trimming of L2 padded frames. Ensure that frames without payload are properly trimmed in rt2x00queue_insert_l2pad. This should fix the bug reported by Benoit Papillault in: http://marc.info/?l=linux-wireless&m=125974773006734&w=2 Signed-off-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 5de42f9eeafa7d54ffb833e0526d4828e194fddb Author: Benoit Papillault Date: Fri Dec 4 23:47:06 2009 +0100 rt2x00: Fix rt2800usb RX frame format and as such L2PAD According to Ralink source code, the RX frame format is RXINFO + RXWI + 802.11 frame + RXD, including various padding. Before this patch, we were using RXD + RXWI + 802.11 frame, so RXD was not correct. Doing this, we fix the L2PAD bit which is now correctly set on received frames. Signed-off-by: Benoit Papillault Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 9c8427d9deca1c0c2415c8da0e731e13fc89d111 Author: Benoit PAPILLAULT Date: Fri Dec 4 23:47:05 2009 +0100 rt2x00: Disable RX aggregation for rt2800usb RX aggregation is a way to receive multiple 802.11 frames in one RX buffer. However, we don't know yet how to handle this case in rt2800usb_fill_rxdone and this has probably no impact on RX performance as well, so we disable it Signed-off-by: Benoit Papillault Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit b734083349d1f1aab1edc810cef02e8046251b48 Author: Gertjan van Wingerde Date: Fri Dec 4 23:47:04 2009 +0100 rt2x00: Only remove L2 padding in received frames if there is payload. L2 padding will only be present when there is actual payload present. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2e331462fcb3d897921d8a0af4fca1b08c1b7269 Author: Gertjan van Wingerde Date: Fri Dec 4 23:47:03 2009 +0100 rt2x00: Reorganize L2 padding inserting function. Simplify the rt2x00queue_insert_l2pad function by handling the alignment operations one by one. Do not special case special circumstances. Basically first perform header alignment, and then perform payload alignment (if any payload does exist). This results in a properly aligned skb. The end result is better readable code, with better results, as now L2 padding is inserted only when a payload is actually present in the frame. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 354e39dbb19f29ef28a9c2db9e55ff2a7435b35a Author: Gertjan van Wingerde Date: Fri Dec 4 23:47:02 2009 +0100 rt2x00: Remove SKBDESC_L2_PADDED flag. With the improved L2 padding code, this flag is no longer necessary, as the rt2x00queue_remove_l2pad is capable of detecting by itself if L2 padding is applied. For received frames the RX descriptor flag is still being checked. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 77e73d1849c860d22ebba8826ad162ccfda4c535 Author: Gertjan van Wingerde Date: Fri Dec 4 23:47:01 2009 +0100 rt2x00: Further L2 padding fixes. Fix a couple of more bugs in the L2 padding code: 1. Compute the amount of L2 padding correctly (in 3 places). 2. Trim the skb correctly when the L2 padding has been applied. Also introduce a central macro the compute the L2 padding size. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1398d4580eff2656f3a808ec24744ce5a842db35 Author: Alban Browaeys Date: Fri Dec 4 23:47:00 2009 +0100 rt2x00 : trim the skb after having the l2pad removed. Otherwise we end up truncating the skb before removing the l2pad thus we might have the truncated part become garbage while getting it back in remove_l2pad. For the same issue: remove the skb_trim from the rt2800 fill_rxdone (it is done after l2pad removal in rt2x00lib_rxdone). Signed-off-by: Alban Browaeys Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit e81e0aef32bfa7f593b14479b9c7eaa7196798ac Author: Alban Browaeys Date: Fri Dec 4 23:46:59 2009 +0100 rt2x00 : avoid timestamp for monitor injected frame. Do not include timestamp for a frame that has been injected through a monitor interface. Signed-off-by: Benoit PAPILLAULT Signed-off-by: Alban Browaeys Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6a325d856bc4509f29164fe42501b6909cf57dcf Author: Alban Browaeys Date: Fri Dec 4 23:46:58 2009 +0100 rt2x00 : modify padding location. The padding is to be added between header and payload for the only header need padding case. Signed-off-by: Benoit PAPILLAULT Signed-off-by: Alban Browaeys Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit c70762f9acad654002704f1e53436a0ba3356c31 Author: Alban Browaeys Date: Fri Dec 4 23:46:57 2009 +0100 rt2x00 : bail out of regbusy_read if device is removed. platform rfkill is async thus we may try to read while the device is already off. Signed-off-by: Alban Browaeys Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 050e8a47dc8b056c880f380ffd01055669f8fe68 Author: Kenichi HORIO Date: Fri Dec 4 23:46:56 2009 +0100 rt73usb: add WLI-U2-H54HP Signed-off-by: Kenichi HORIO Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4309af2735825115a982acf4c2c868b5c5671e7f Author: Wey-Yi Guy Date: Mon Dec 14 14:12:21 2009 -0800 iwlwifi: remove extra error msg on sensitivity calibration Do not need to log error when fail the sensitivity command, driver will send sensitivity write command to uCode after each sensitivity calibration if station is associated with AP. It is a normal case when user unload the module or shutdown the system while still associated with the AP, since uCode already on the way down, it will not reply the sensitivity write request; report error in this case will give misleading information, remove the error checking here to provide a clean shutdown if no other error detected. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b03d7d0fd3d23b7cf130fa702f4ae3b1bc827d4b Author: Wey-Yi Guy Date: Mon Dec 14 14:12:20 2009 -0800 iwlwifi: on-screen event log dump This feature enables the on-screen uCode event log dump. The original method will append the event log to syslog; with this capability, we also enable the user to write script to capture the events which provide additional flexibility to help uCode debugging Method 1) change to debugfs directory (sys/kernel/debug/phyX/iwlagn/data) 2) #cat log_event Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a9e1cb6a78ea8a74c49bf76726a2942f636a833b Author: Wey-Yi Guy Date: Thu Dec 10 14:37:26 2009 -0800 iwlwifi: add continuous uCode event log capability In order to help uCode debugging, adding the capability to provide continuous uCode event logging function. uCode events is located in round-robin event queue and filled by uCode, by enable continuous event logging, driver check the write pointer and log the newly added events in iwl_bg_ucode_trace() timer function. There is still possibility of missing events if event queue being wrapped before next event dump; but with this capability, we can have much better understanding of the uCode behavior during runtime; it can help to debug the uCode related issues. Methods to enable/disable the continuous event log: step 1: enable ucode trace timer "echo 1 > /sys/kernel/debug/ieee80211/phyX/iwlagn/debug/ucode_tracing" step 2: start ftrace sudo ./trace-cmd record -e iwlwifi_ucode:* sleep 1d step 3: stop ftrace sudo ./trace-cmd report trace.dat step 4: disable ucode trace timer "echo 0 > /sys/kernel/debug/ieee80211/phyX/iwlagn/debug/ucode_tracing" use "ucode_tracing" debugfs file to display number of event queue wrapped when driver attempt the continuous event logging. If event queue being wrapped more than once when driver has opportunity to log the event; it indicated there are events missing in the event log trace. This continuous event log function only available for 4965 and newer NICs. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 696bdee3ba216186e21997d20a839b76158346e6 Author: Wey-Yi Guy Date: Thu Dec 10 14:37:25 2009 -0800 iwlwifi: dump "Control and Status Register" when detect uCode HW/SW error When uCode HW/SW error detected, dumping important CSR (Control and Status Registers) values. Also add "csr" debugfs file to dump the current values of CSR defined in CSR table to syslog. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3a41bbd515d449604f3488c5f8dd62802f09d19b Author: Wey-Yi Guy Date: Thu Dec 10 14:37:24 2009 -0800 iwlwifi: log CT_CARD_DISABLED flag Change name from RF_CARD_DISABLED to CT_CARD_DISABLED to match the indication from uCode, also log the debug message when the condition detected in iwl_rx_card_state_notif() Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3b377ea9d4efc94dc52fe41b4dfdb463635ab298 Author: John W. Linville Date: Fri Dec 18 17:59:01 2009 -0500 wireless: support internal statically compiled regulatory database This patch provides infrastructure for machine translation of the regulatory rules database used by CRDA into a C data structure. It includes code for searching that database as an alternative to dynamic regulatory rules updates via CRDA. Most people should use CRDA instead of this infrastructure, but it provides a better alternative than the WIRELESS_OLD_REGULATORY infrastructure (which can now be removed). Signed-off-by: John W. Linville commit 59d9cb071d6209f2e8df2d16228cfdc7bab1f2d1 Author: Kalle Valo Date: Thu Dec 17 13:54:57 2009 +0100 mac80211: remove payload alignment warning The payload alignment warning enabled by MAC80211_DEBUG_PACKET_ALIGNMENT is difficult. To fix it, a firmware change is needed but in most cases that's very difficult. So the benefit from the warning is low and most probably it just creates more confusion for people who just enable all warnings (like it did for me). Remove the unaligned IP payload warning and the kconfig option. But leave the unaligned packet warning, it will be enabled with MAC80211_VERBOSE_DEBUG. Signed-off-by: Kalle Valo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4a40ccf8140d6b973d8b02dd5467b1fd876c0654 Author: Larry Finger Date: Sat Dec 12 18:04:46 2009 -0600 rtl8180: Remove usage of deprecated 'qual' When building rtl8180, the following warning occurs: CC [M] drivers/net/wireless/rtl818x/rtl8180_dev.o drivers/net/wireless/rtl818x/rtl8180_dev.c: In function ‘rtl8180_handle_rx’: drivers/net/wireless/rtl818x/rtl8180_dev.c:135: warning: ‘qual’ is deprecated (declared at include/net/mac80211.h:562) Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 6e850af58f93be8f1b4b79eb9c79d06788f38e78 Author: Jussi Kivilinna Date: Mon Nov 30 21:50:13 2009 +0200 rndis_wlan: copy module parameters for bcm4320a devices too rndis_wlan didn't copy module parameters for bcm4320a to private structure. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit cef6e91280b724e93b0fb8a9fd3e6bf072f54c81 Author: Jussi Kivilinna Date: Mon Nov 30 21:50:07 2009 +0200 rndis_wlan: move copy of module parameters to separate function Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit da2fb4e9c215b8f0f8954818691549f8a34135be Author: Kalle Valo Date: Mon Nov 30 10:18:47 2009 +0200 wl1251: enable WMM Everything is ready now and we can enable WMM in mac80211. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 46cb35f5e761306b031029af2061ea263359a764 Author: Kalle Valo Date: Mon Nov 30 10:18:40 2009 +0200 wl1251: update tx_hdr when aliging skb in tx Before transmission when aligning the buffer to 4-byte bounday, tx_hdr needs to be updated. Otherwise debug logs print false data. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 49e1b9faed736b20ad9a785638919341b567a595 Author: Kalle Valo Date: Mon Nov 30 10:18:33 2009 +0200 wl1251: implement WMM Now that necessary commands for WMM are implemented, implement queue handling for WMM. But WMM is not enabled yet, only one queue is used. Signed-off-by: Kalle Valo Reviewed-by: Janne Ylalehto Signed-off-by: John W. Linville commit 27336f1c0cd68fb9ae45493321f0d6980144230e Author: Kalle Valo Date: Mon Nov 30 10:18:27 2009 +0200 wl1251: implement wl1251_acx_tid_cfg() Needed for WMM. Signed-off-by: Kalle Valo Reviewed-by: Janne Ylalehto Signed-off-by: John W. Linville commit 86dff7a7955f1e14c1f2c142312462fae70ea7e4 Author: Kalle Valo Date: Mon Nov 30 10:18:19 2009 +0200 wl1251: implement acx_ac_cfg to configure hardware queues Needed for WMM. Signed-off-by: Kalle Valo Reviewed-by: Janne Ylalehto Signed-off-by: John W. Linville commit cdd1e9a91ea55594cbcc9847dbb9392e341cbefd Author: Kalle Valo Date: Mon Nov 30 10:18:12 2009 +0200 wl1251: use __dev_alloc_skb() on RX RX is handled in a workqueue therefore allocating for GFP_ATOMIC is overkill and not required. Based on a patch for wl1271 by Luis R. Rodriguez. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 7fa6282a1775bd41508220e65ba0cb92235b67d4 Author: Kalle Valo Date: Mon Nov 30 10:18:06 2009 +0200 wl1251: simplify ELP wakeup time calculation The wakeup time calculation was too complicated, simplify it. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit b5a167942cb388cc5f1a6085cb3506d5bf47517d Author: Kalle Valo Date: Mon Nov 30 10:17:59 2009 +0200 wl1251: reduce ELP wakeup timeout The original TI driver uses 100 ms timeout ELP wakeup timeout, better to use the same. Otherwise problems with wakeup might get unnoticed. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 478fdf2bcef73747eb99bc6dd3565f093942647a Author: Kalle Valo Date: Mon Nov 30 10:17:52 2009 +0200 wl1251: fix error handling in wl1251_op_config() Not all return values were checked and one exit from function didn't put firmware sleep after the error. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit d67e261829d405ed19a6c2e648f224e352012f52 Author: Kalle Valo Date: Mon Nov 30 10:17:45 2009 +0200 wl1251: print a debug message when tx_queue is full This debug message was missing and caused incomplete log messages. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit b7339b1de0f7b6b8c95a6df87ea2221521328d11 Author: Kalle Valo Date: Mon Nov 30 10:17:38 2009 +0200 wl1251: add tx queue status to debugfs Sometimes when debugging the state is good info. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 7dffb55b8a73228499ee65a3439f82112f4391c7 Author: Christian Lamparter Date: Sun Nov 29 01:01:14 2009 +0100 ar9170: fix AC_VIDEO txop parameter This patch fixes a rather embarrassing typo. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 07bc54575b413688d1586407a73793df8f68d115 Author: Christian Lamparter Date: Sun Nov 29 00:59:48 2009 +0100 ar9170: small misc changes This patch aggregates a bunch of small random changes that won't fit really anywhere else properly. 1. move tid-locating macro into a separate function. 2. remove redundant NULL check. 3. add modulation mask definition Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 15b098bbf79f06a09d3a15b911eb43295979deed Author: Christian Lamparter Date: Sun Nov 29 00:56:55 2009 +0100 ar9170: remove redundant frame flags The flags in question were once useful for debugging. Time has passed and now they do nothing more than duplicating txinfo->flags. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 53a76b58b66e77164c4a79c38da49b808d67477e Author: Christian Lamparter Date: Sun Nov 29 00:52:51 2009 +0100 ar9170: improve network latency AR9170 has the bad habit of choking when traffic builds up. Tests have shown that this can partially be attributed to a huge buildup of backlogged frames. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 5e0ec316522e0372b633407c903b88f58859303f Author: Christian Lamparter Date: Sun Nov 29 00:51:54 2009 +0100 ar9170: remove dead definitions This patch removes dead infrastructure which was meant for an out-of-tree rate control algorithm. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 411132628f95dd3d51b84e0e2d8ff8f4f2d09cdb Author: Luis R. Rodriguez Date: Wed Nov 25 21:00:30 2009 -0500 ath9k_hw: remove unused ath9k_hw_devname() and ath9k_hw_probe() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 12375ef933fa8271396ed0c1e318cb1bd2e2689d Author: Johannes Berg Date: Wed Nov 25 20:30:31 2009 +0100 mac80211: trace interface name It's not all that useful to have the vif/sdata pointer, we'd rather refer to the interfaces by their name. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 47846c9b0c10808d9337d2e7d09361f3e0a0a71a Author: Johannes Berg Date: Wed Nov 25 17:46:19 2009 +0100 mac80211: reduce reliance on netdev For bluetooth 3, we will most likely not have a netdev for a virtual interface (sdata), so prepare for that by reducing the reliance on having a netdev. This patch moves the name and address fields into the sdata struct and uses them from there all over. Some work is needed to keep them sync'ed, but that's not a lot of work and in slow paths anyway. In doing so, this also reduces the number of pointer dereferences in many places, because of things like sdata->dev->dev_addr becoming sdata->vif.addr. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit abe60632f311d515b082b450504ee24006023951 Author: Johannes Berg Date: Wed Nov 25 17:46:18 2009 +0100 mac80211: make station management completely depend on vif The station management currently uses the virtual interface, but you cannot add the same station to multiple virtual interfaces if you're communicating with it in multiple ways. This restriction should be lifted so that in the future we can, for instance, support bluetooth 3 with an access point that mac80211 is already associated to. We can do that by requiring all sta_info_get users to provide the virtual interface and making the RX code aware that an address may match more than one station struct. Thanks to the previous patches this one isn't all that large and except for the RX and TX status paths changes has low complexity. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 15920d8afc87861672e16fa95ae2764b065d6dd3 Author: Colin Ian King Date: Sun Aug 30 20:18:41 2009 -0600 wireless: hostap, fix oops due to early probing interrupt BugLink: https://bugs.launchpad.net/ubuntu/+bug/254837 Spurious shared interrupts or early probing interrupts can cause the hostap interrupt handler to oops before the driver has fully configured the IO base port addresses. In some cases the oops can be because the hardware shares an interrupt line, on other cases it is due to a race condition between probing for the hardware and configuring the IO base port. The latter occurs because the probing is required to determin the hardware port address which is only determined when the probe can interrupt the hardware (catch 22). This patch catches this pre-configured condition to avoid the oops. Signed-off-by: Colin Ian King Signed-off-by: Stefan Bader Acked-by: Tim Gardner Acked-by: Stefan Bader Signed-off-by: John W. Linville commit 254416aae70ab2e6b57fd79782c8a67196234d02 Author: John W. Linville Date: Wed Dec 9 16:43:52 2009 -0500 wireless: report reasonable bitrate for MCS rates through wext Previously, cfg80211 had reported "0" for MCS (i.e. 802.11n) bitrates through the wireless extensions interface. However, nl80211 was converting MCS rates into a reasonable bitrate number. This patch moves the nl80211 code to cfg80211 where it is now shared between both the nl80211 interface and the wireless extensions interface. Signed-off-by: John W. Linville