aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* mac80211: fix sta lookup with AP VLAN interfaces and injected framesFelix Fietkau2010-02-01
| | | | | | | | | | | | 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 <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: fix monitor mode tx radiotap header handlingFelix Fietkau2010-02-01
| | | | | | | | | | | | | | 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 <nbd@openwrt.org> Cc: stable@kernel.org Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: fix sta lookup for received action frames on an AP VLANFelix Fietkau2010-02-01
| | | | | | | | | | | | 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 <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: reduce stack usage in sta_agg_status_read()Pavel Roskin2010-02-01
| | | | | | | | 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 <proski@gnu.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: reduce stack usage in sta_ht_capa_read()Pavel Roskin2010-02-01
| | | | | | | | | 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 <proski@gnu.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: N-PHY: implement setting RF sequenceRafał Miłecki2010-02-01
| | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: N-PHY: add TX radio setup for newer PHYsRafał Miłecki2010-02-01
| | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: N-PHY: fix Cal TX IQ LO for newer PHYsRafał Miłecki2010-02-01
| | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: N-PHY: add RSSI selection for newer PHYsRafał Miłecki2010-02-01
| | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: N-PHY: split RSSI selection into two per-PHY-revision functionsRafał Miłecki2010-02-01
| | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* cfg80211: add regulatory hint disconnect supportLuis R. Rodriguez2010-02-01
| | | | | | | | | | | | | | | | 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 <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* cfg80211: avoid flushing the global workqueue for core reg hintsLuis R. Rodriguez2010-02-01
| | | | | | | | | | | | | | 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 <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: N-PHY: add workarounds for gain controlRafał Miłecki2010-02-01
| | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: N-PHY: update general workaroundsRafał Miłecki2010-02-01
| | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: allocate string buffer in read_file_dma() by kmalloc()Pavel Roskin2010-02-01
| | | | | | | Using stack for that causes warnings with CONFIG_FRAME_WARN=1024 Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath: make gcc check format arguments of ath_print(), fix all misusesPavel Roskin2010-02-01
| | | | | | | | 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 <proski@gnu.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ps3_gelic_wireless: fix format warningJohn W. Linville2010-02-01
| | | | Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlwifi: iwl_power_update_mode always hold mutexReinette Chatre2010-01-29
| | | | | | | | 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 <reinette.chatre@intel.com>
* iwlwifi: fix typo in IWL_CCK_RATES_MASKJohannes Berg2010-01-29
| | | | | | | | | 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 <johannes.berg@intel.com>
* iwlwifi: remove unused work structsJohannes Berg2010-01-29
| | | | | | | | auth_work, calibrated_work, update_link_led and report_work are never used, so remove them. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
* iwlwifi: remove bg_up workJohannes Berg2010-01-29
| | | | | | | | | 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 <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
* iwlagn: simplify ucode loadingJohannes Berg2010-01-29
| | | | | | | | Move the waiting into iwl5000_load_section instead of duplicating it in the caller. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
* iwlwifi: no need to test iw_mode in power savingJohannes Berg2010-01-29
| | | | | | | mac80211 will only enable powersaving for station mode. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
* iwlwifi: update sensitivity calibration data for 1000 seriesWey-Yi Guy2010-01-29
| | | | | | | Update sensitivity range values for 1000 series Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
* iwlwifi: update sensitivity calibration data for 5x00 seriesWey-Yi Guy2010-01-29
| | | | | | | Update sensitivity range values for 5x00 series Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
* iwlwifi: update sensitivity calibration data for 6x00 seriesWey-Yi Guy2010-01-29
| | | | | | | Update sensitivity range values for 6000 & 6x50 series Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
* iwlwifi: fix locking in iwl_mac_add_interfaceJohannes Berg2010-01-29
| | | | | | | | | | | 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 <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
* iwlwifi: sysassert identifier changeWey-Yi Guy2010-01-29
| | | | | | | | | 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 <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
* iwlwifi: optimize power savingDaniel Halperin2010-01-29
| | | | | | | | | | | | | | 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 <dhalperi@cs.washington.edu> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
* ath9k: Handle full sleep in ps_restore.Vivek Natarajan2010-01-29
| | | | | | | | | | 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 <vnatarajan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ps3_gelic_wireless: fix directed ssid scanHamish Guthrie2010-01-28
| | | | | | | | | | If the association worker requests a directed ssid scan and a bss list already exists, the directed scan is not done. This patch corrects this and cleans up a few typos and debug messages. Signed-off-by: Hamish Guthrie <hamish.guthrie@sonycom.com> Acked-by: Geoff Levand <geoffrey.levand@am.sony.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ps3_gelic_wireless: Remove PS3 gelic legacy wpa supportHamish Guthrie2010-01-28
| | | | | | | | | | | | | The current PS3 gelic wireless driver has support for wireless extensions. The original PS3 gelic wireless driver exposed a dedicated API for a dedicated wpa_supplicant driver. This old API could be enabled with CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE, however, as this is not being used by any distros, and it is being removed from the driver and from wpa_supplicant. Signed-off-by: Hamish Guthrie <hamish.guthrie@sonycom.com> Acked-by: Geoff Levand <geoffrey.levand@am.sony.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* cfg80211: fix wext-compat for setting rate to 'auto'John W. Linville2010-01-27
| | | | Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rtl8187: Add callback for get_tsfLarry Finger2010-01-27
| | | | | | Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Acked-by: Hin-Tak Leung <htl10@users.sourceforge.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: N PHY: Fix compilation after removal of typdef b43_c32Larry Finger2010-01-27
| | | | | | | | In the conversion between typedef and struct, two places that needed a "struct" were missed. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rtl8180: implement get_tsf op for mac80211John W. Linville2010-01-27
| | | | Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: add comment re: v10 firmware key handlingJohn W. Linville2010-01-27
| | | | | | | Comment text suggested by Dan Williams <dcbw@redhat.com> in <1263952092.4481.2.camel@localhost.localdomain>. Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath5k: adding LED support for AR5BXB63 cardsLuca Verdesca2010-01-27
| | | | | | | | | | | 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 <magooz@salug.it> Acked-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: wait for beacon before enabling powersaveJohannes Berg2010-01-26
| | | | | | | | | | | | | | | | 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 <johannes@sipsolutions.net> Acked-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* cfg80211: export cfg80211_find_ieJohannes Berg2010-01-26
| | | | | | | | | 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 <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: fill jiffies/vif on filtered framesJohannes Berg2010-01-25
| | | | | | | | | | 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 <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: N-PHY: use cordic to generate samplesRafał Miłecki2010-01-25
| | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: update cordic code to match current specsRafał Miłecki2010-01-25
| | | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Tested-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: make cordic common (LP-PHY and N-PHY need it)Rafał Miłecki2010-01-25
| | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: N-PHY: fix one bit off in parsing RF Ctrl Override argumentsRafał Miłecki2010-01-25
| | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: track work started through callbacksJohannes Berg2010-01-25
| | | | | | | | | | | | | 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 <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: fix sw cryptoJohannes Berg2010-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | What a stupid mistake. In commit 813d76694043d00b59475baa1fbfaf54a2eb7fad Author: Johannes Berg <johannes@sipsolutions.net> 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 <maximlevitsky@gmail.com> Reported-by: Jochen Friedrich <jochen@scram.de> Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: fix WARN_ON in the new work codeFelix Fietkau2010-01-25
| | | | | | | | | | | | 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 <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: fix update_tkip_key() documentation about the contextKalle Valo2010-01-25
| | | | | | | | | | 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 <johannes@sipsolutions.net> Signed-off-by: Kalle Valo <kalle.valo@iki.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Workaround circular locking in hw-tkip key update callbackMichael Buesch2010-01-25
| | | | | | | | | | | | | | | | | 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 <mb@bu3sch.de> Tested-by: Larry Finger <Larry.Finger@lwfinger.net> Reported-by: kecsa@kutfo.hit.bme.hu Cc: Johannes Berg <johannes@sipsolutions.net> Cc: stable <stable@kernel.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>