aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* mac80211: allow controlling aggregation manuallyJohannes Berg2010-05-03
| | | | | | | | | | | | | | | | | This allows enabling TX and disabling both TX and RX aggregation sessions manually in debugfs. It is very useful for debugging session initiation and teardown problems since with this you don't have to force a lot of traffic to get aggregation and thus have less data to analyse. Also, to debug mac80211 code itself, make hwsim "support" aggregation sessions. It will still just transfer the frame, but go through the setup and teardown handshakes. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* orinoco_usb: implement fw downloadDavid Kilroy2010-05-03
| | | | | | | | | | | This involves some refactorring of the common fw download code to substitute ezusb versions of various functions. Note that WPA-enabled firmwares (9.xx series) will not work fully with orinoco_usb yet. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* orinoco_usb: avoid in_atomicDavid Kilroy2010-05-03
| | | | | | | | We expect to be either in process contect or soft interrupt context. So use in_softirq instead. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* orinoco: add orinoco_usb driverDavid Kilroy2010-05-03
| | | | | | | | | | | | | | | | | This driver uses the core orinoco modules for the bulk of the functionality. The low level hermes routines (for local bus cards) are replaced, the driver supplies its own ndo_xmit_start function, and locking is done with the _bh variant. Some recent functionality is not available to the USB cards yet (firmware loading and WPA). Out-of-tree driver originally written by Manuel Estrada Sainz. Thanks to Mark Davis for supplying hardware to test the updates. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* orinoco: encapsulate driver lockingDavid Kilroy2010-05-03
| | | | | | | | | | | | | | | Local bus and USB drivers will need to do locking differently. The original orinoco_usb patches had a boolean variable controlling whether spin_lock_bh was used, or irq based locking. This version provides wrappers for the lock functions and the drivers specify the functions pointers needed. This will introduce a performance penalty, but I'm not expecting it to be noticable. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* orinoco: allow driver to specify netdev_opsDavid Kilroy2010-05-03
| | | | | | | | | | | | Allow the main drivers to specify a custom version of the net_device_ops structure. This is required by orinoco_usb to supply a separate transmit function. Export existing net_device_ops callbacks so that the drivers can reuse some of the existing code. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* orinoco: add hermes_opsDavid Kilroy2010-05-03
| | | | | | | | | Pave the way for introducing USB alternative functions. Force callers to dereference ops instead of providing wrappers. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: fix ieee80211_find_sta[_by_hw]Johannes Berg2010-05-03
| | | | | | | | | | | | Both of these functions can currently return a station pointer that, to the driver, is invalid (in IBSS mode only) because adding the station failed. Check for that, and also make ieee80211_find_sta() properly use the per interface station search. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43legacy: Added get_survey callback in order to get channel noiseJohn W. Linville2010-05-03
| | | | Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Added get_survey callback in order to get channel noiseJohn W. Linville2010-05-03
| | | | Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: remove now unused noise field from struct rxdone_entry_descJohn W. Linville2010-05-03
| | | | | Signed-off-by: John W. Linville <linville@tuxdriver.com> Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
* iwmc3200wifi: cleanup unneeded debugfs error handlingJohn W. Linville2010-05-03
| | | | | | | | | | | | | | "iwl: cleanup: remove unneeded error handling" missed the one in if_sdio_debugfs_init(). I don't think we even need to check -ENODEV ourselves because if DEBUG_FS is not compiled in, all the debugfs utility functions will become no-op. Reported-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Acked-by: Dan Carpenter <error27@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: remove deprecated noise field from ieee80211_rx_statusJohn W. Linville2010-04-30
| | | | | | Also remove associated IEEE80211_HW_NOISE_DBM from ieee80211_hw_flags. Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: tell driver about IBSS mergeJohannes Berg2010-04-30
| | | | | | | | | | My previous patch "mac80211: notify driver about IBSS status" left a problem -- when we merge with a new BSSID, we never tell the driver that we left the old one. Fix that. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas_tf: avoid warning about pr_fmt redefinitionJohn W. Linville2010-04-30
| | | | | | | Also includes a minor cleanup regarding quotation of a standard kernel header file... Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rtl8180: fix tx status reportingJohn W. Linville2010-04-30
| | | | | | | | 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 <linville@tuxdriver.com> Cc: stable@kernel.org
* mac80211: notify driver about IBSS statusJohannes Berg2010-04-28
| | | | | | | | | Some drivers (e.g. iwlwifi) need to know and try to figure it out based on other things, but making it explicit is definitely better. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: fix supported rates IE if AP doesn't give us it's ratesStanislaw Gruszka2010-04-28
| | | | | | | | | | If AP do not provide us supported rates before assiociation, send all rates we are supporting instead of empty information element. v1 -> v2: Add comment. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: do not wip out old supported ratesStanislaw Gruszka2010-04-28
| | | | | | | | Use old supported rates, if AP do not provide supported rates information element in a new managment frame. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwl: cleanup: remove unneeded error handlingDan Carpenter2010-04-28
| | | | | | | | | | | | | | | | | | | | | | This is just a cleanup and doesn't change how the code works. debugfs_create_dir() and debugfs_create_file() return an error pointer (-ENODEV) if CONFIG_DEBUG_FS is not enabled, otherwise if an error occurs they return NULL. This is how they are implemented and what it says in the DebugFS documentation. DebugFS can not be compiled as a module. As a result, we only need to check for error pointers and particularly -ENODEV one time to know that DebugFS is enabled. This patch keeps the first check for error pointers and removes the rest. The other reason for this patch, is that it silences some Smatch warnings. Smatch sees the condition "(result != -ENODEV)" and assumes that it's possible for "result" to equal -ENODEV. If it were possible it would lead to an error pointer dereference. But since it's not, we can just remove the check. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: rt2800lib: update rfcsr & bbp init code for SoC devicesHelmut Schaa2010-04-28
| | | | | | | | | | | | | | | | | | Update the rfcsr and bbp init code for SoC devices to match with the latest Ralink driver. To have better control over which values are used for the register initialization create a new function rt2800_is_305x_soc which checks for SoC interface type, the correct RT chipset and the correct RF chipset. This is based on the assumption that all rt305x SoC devices use a rt2872 and rf3020/rf3021/rf3022. In case an unknown RF chipset is found on a SoC device with a rt2872 don't treat it as rt305x and just print a message. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Acked-by: Gertjan van Wingerde <gwingerde@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wl1271: fix a bunch of sparse warningsLuciano Coelho2010-04-28
| | | | | | | | | | | A couple of sparse warnings in some rate settings (missing cpu_to_le32) were fixed. Changed the conf_sg_settings struct from le to native endianess. The values are converted to le when copying them to the acx command instead. Reported-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com> Reviewed-by: Juuso Oikarinen <juuso.oikarinen@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wl1271: Rewrite hardware keep-alive handlingJuuso Oikarinen2010-04-28
| | | | | | | | | | | | | | | | The driver had a join command without keep-alive restart procedures in the channel changing code. After associated scans, the mac80211 does re-set the current channel, causing the join to occur. This would stop the hardware keep alive. To make the joins safer in this respect, this patch adds a join function that does the hardware-keep-alive magic along the join. This is now invoked in the above mentioned scenario, and also other scenarios. Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com> Reviewed-by: Teemu Paasikivi <ext-teemu.3.paasikivi@nokia.com> Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wl1271: Configure QOS nullfunc template for U-APSDSaravanan Dhanabal2010-04-28
| | | | | | | | | | | | When U-APSD is enabled, device is not sending power save state notifications to AP using QOS nullfunc frames. This patch configures nullfunc templates needed for U-APSD. Signed-off-by: Saravanan Dhanabal <ext-saravanan.dhanabal@nokia.com> Reviewed-by: Juuso Oikarinen <juuso.oikarinen@nokia.com> Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wl1271: Improve command pollingJuuso Oikarinen2010-04-28
| | | | | | | | | | | | | | | | In testing I noticed that the wl1271 commands fall into two categories. In the first category are "fast" commands, these mostly take only 0 or 1 polls to complete, but occasionally upto 50 (giving a 0.5ms execution time.) In the second category, the command completion takes well more than 0.5ms (from 1.5ms upwards.) This patch fixes command polling such that it is optimal for the fast commands, but also allows sleep for the longer ones. Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com> Reviewed-by: Luciano Coelho <luciano.coelho@nokia.com> Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: Added get_survey callback in order to get channel noiseBenoit Papillault2010-04-28
| | | | | Signed-off-by: Benoit Papillault <benoit.papillault@free.fr> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rtl8180: use cached queue mapping for skb in rtl8180_txJohn W. Linville2010-04-28
| | | | Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: fix 8686 firmware loading regressionDan Williams2010-04-28
| | | | | | | | | | | The 'ready' condition was incorrectly evaluated which sometimes lead to failures loading the second-stage firmware on 8686 devices. (This was introduced in "libertas: consolidate SDIO firmware wait code". -- JWL) Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wl1251: remove usage of deprecated noise valueJohn W. Linville2010-04-28
| | | | Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: remove usage of deprecated noise valueJohn W. Linville2010-04-28
| | | | | Signed-off-by: John W. Linville <linville@tuxdriver.com> Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
* p54: remove usage of deprecated noise valueJohn W. Linville2010-04-28
| | | | Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas_tf: remove usage of deprecated noise valueJohn W. Linville2010-04-28
| | | | Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43legacy: remove usage of deprecated noise valueJohn W. Linville2010-04-28
| | | | Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: remove usage of deprecated noise valueJohn W. Linville2010-04-28
| | | | Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: remove usage of deprecated noise valueJohn W. Linville2010-04-28
| | | | Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath5k: remove usage of deprecated noise valueJohn W. Linville2010-04-28
| | | | Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ar9170: remove usage of deprecated noise valueJohn W. Linville2010-04-28
| | | | Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mwl8k: remove usage of deprecated noise valueJohn W. Linville2010-04-28
| | | | Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: fix rts threshold checkShanyu Zhao2010-04-27
| | | | | | | | | | | | | | | | | | | | Currently whenever rts thresold is set, every packet will use RTS protection no matter its size exceeds the threshold or not. This is due to a bug in the rts threshold check. if (len > tx->local->hw.wiphy->rts_threshold) { txrc.rts = rts = true; } Basically it is comparing an int (len) and a u32 (rts_threshold), and the variable len is assigned as: len = min_t(int, tx->skb->len + FCS_LEN, tx->local->hw.wiphy->frag_threshold); However, when frag_threshold is "-1", len is always "-1", which is 0xffffffff therefore rts is always set to true. CC: stable@kernel.org Signed-off-by: Shanyu Zhao <shanyu.zhao@intel.com> Reviewed-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: give virtual interface to hw_scanJohannes Berg2010-04-27
| | | | | | | | | | | When scanning, it is somewhat important to scan on the correct virtual interface. All drivers that currently implement hw_scan only support a single virtual interface, but that may change and then we'd want to be ready. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* cfg80211: Remove default dynamic PS timeout valueJuuso Oikarinen2010-04-27
| | | | | | | | | | Now that the mac80211 is choosing dynamic ps timeouts based on the ps-qos network latency configuration, configure a default value of -1 as the dynamic ps timeout in cfg80211. This value allows the mac80211 to determine the value to be used. Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: Determine dynamic PS timeout based on ps-qos network latencyJuuso Oikarinen2010-04-27
| | | | | | | | | Determine the dynamic PS timeout based on the configured ps-qos network latency. For backwards wext compatibility, allow the dynamic PS timeout configured by the cfg80211 to overrule the automatically determined value. Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: Avoid corrupt frames being forwarded to mac80211.Vivek Natarajan2010-04-27
| | | | | | | | | | | | | | | If bit 29 is set, MAC H/W can attempt to decrypt the received aggregate with WEP or TKIP, eventhough the received frame may be a CRC failed corrupted frame. If this bit is set, H/W obeys key type in keycache. If it is not set and if the key type in keycache is neither open nor AES, H/W forces key type to be open. But bit 29 should be set to 1 for AsyncFIFO feature to encrypt/decrypt the aggregate with WEP or TKIP. Cc: stable@kernel.org Reported-by: Johan Hovold <johan.hovold@lundinova.se> Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com> Signed-off-by: Ranga Rao Ravuri <ranga.ravuri@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k_htc: Handle CONF_IDLE during unassociated state to save power.Vivek Natarajan2010-04-27
| | | | | Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: implement ap isolation supportFelix Fietkau2010-04-27
| | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* cfg80211: add ap isolation supportFelix Fietkau2010-04-27
| | | | | | | This is used to configure APs to not bridge traffic between connected stations. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* MAINTAINERS: add entry for include/linux/iw_handler.hJohn W. Linville2010-04-27
| | | | Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k_hw: Fix TX interrupt mitigation settingsLuis R. Rodriguez2010-04-27
| | | | | | | | | | | | | | | TX interrupt mitigation reduces the number of interrupts by addressing several interrupt actions (AR_IMR_TXOK, AR_IMR_TXDESC) all in one interrupt so when enabling it discard setting the other interrupts. Without this TX interrupt mitigation would actually increase the number of interrupts two-fold. We still leave TX interrupt mitigation disabled as it is still being tested. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k_hw: fix noisefloor timeout handling on AR9003Felix Fietkau2010-04-27
| | | | | | | | | | When the noisefloor calibration times out, do not load -50 into the registers, since this might cause rx issues. Instead, leave enough time for the noise floor calibration to complete until the next check. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k_hw: Fix endian bug in an AR9003 EEPROM fieldFelix Fietkau2010-04-27
| | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>