aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* mac80211: remove the dependency on crypto_blkcipherFelix Fietkau2011-04-04
| | | | | | | | | | | | | The only thing that using crypto_blkcipher with ecb does over just using arc4 directly is wrapping the encrypt/decrypt function into a for loop, looping over each individual character. To be able to do this, it pulls in around 40 kb worth of unnecessary kernel modules (at least on a MIPS embedded device). Using arc4 directly not only eliminates those dependencies, it also makes the code smaller. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mwifiex: remove unnecessary _set_auth functionsMarc Yang2011-04-04
| | | | | | | | | | | | | | mwifiex_set_encrypt_mode() mwifiex_set_auth_mode() mwifiex_set_auth() These functions are confusing and misleading. And they are really not needed at all. Some unused definitions are also removed. Signed-off-by: Marc Yang <yangyang@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mwifiex: remove helper functions for displaying 11n capabilitiesYogesh Ashok Powar2011-04-04
| | | | | | | | | 'iw list' is sufficient to retrieve the information which was displayed by these functions. Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: fix suppressing probe responses in ad-hoc modeFelix Fietkau2011-04-04
| | | | | | | | | | | | | The commit "mac80211: reply to directed probes in IBSS" changed ad-hoc specific code to respond to unicast probe requests, even if drv_tx_last_beacon returns false, however due to confusion over the meaning of the IEEE80211_RX_RA_MATCH flag, it also unconditionally enabled responding to multicast probe requests. Fix this by explicitly checking for a multicast destination address instead. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k_hw: remove ath9k_get_channel_edgesMohammed Shafi Shajakhan2011-04-04
| | | | | | | This function is nowhere used. Signed-off-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: remove set11n_virtualmorefragMohammed Shafi Shajakhan2011-04-04
| | | | | | | This does not seems to be used anywhere so remove it. Signed-off-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: cleanup few redundant macrosMohammed Shafi Shajakhan2011-04-04
| | | | | Signed-off-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wifi: Add hwflags to debugfs.Ben Greear2011-04-04
| | | | | | | Aids debugging wifi behaviour. Signed-off-by: Ben Greear <greearb@candelatech.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlegacy: MAINTAINERSStanislaw Gruszka2011-04-04
| | | | | | | Add iwlegacy driver to MAINTAINERS. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* Merge branch 'wireless-next-2.6' of ↵John W. Linville2011-04-04
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6
| * iwlagn: remove deprecated module parametersWey-Yi Guy2011-03-25
| | | | | | | | | | | | Number of deprecated module parameters need to be remove for 2.6.40 kernel Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlagn: remove reference to 3945 and 4965Wey-Yi Guy2011-03-25
| | | | | | | | | | | | After driver split, remove the unused reference to 3945 and 4965 Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlagn: remove 3945 only station codeWey-Yi Guy2011-03-25
| | | | | | | | | | | | After driver split, no more 3945 only station support needed. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlwifi: remove legacy isr taskletWey-Yi Guy2011-03-25
| | | | | | | | | | | | After driver split, no need for support legacy isr, remove it. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlwifi: set default aggregation frame limit to 63Daniel Halperin2011-03-25
| | | | | | | | | | | | | | | | | | This gives much better performance at fast 3x3 rates (up to ~160 Mbps). The scheduler will still make most decisions about batch size based on available packets and RX parameters. Signed-off-by: Daniel Halperin <dhalperi@cs.washington.edu> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlwifi: add RATE_MCS_RATE_MSKDaniel Halperin2011-03-25
| | | | | | | | | | | | | | | | | | Throughout the code we use rate_n_flags & 0xff to extract the lower byte of the rate_n_flags u32 that contains the information about the rate. Add a #define and remove the use of the magic number. Signed-off-by: Daniel Halperin <dhalperi@cs.washington.edu> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlwifi: cleanup and bugfix tx aggregation codeDaniel Halperin2011-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the driver split, there's no need for no_agg_framecnt_info since all devices have this set to false. Secondly, the compressed block ack handling code was broken. Fix this. (1) A shift less than zero simply implies that the buffer wrapped, this is expected. Remove the incorrect comment. (2) The (agg->frame_count > (64-sh)) condition can happen if the last frame is dropped. E.g., if I send 7 frames and the 6th is received but the 7th is lost, the other side may only shift the window 6, not 7 frames since the last bit is a 0. This is perfectly fine behavior and doesn't invalidate the feedback. (3) Store the feedback from a Compressed BA in the first newly received frame, rather than the start of the window. This way it will get processed by the rate selection code. Feedback stored in a non-received frame is likely to get overwritten by the retransmission. This is based on the approach taken by minstrel_ht. Signed-off-by: Daniel Halperin <dhalperi@cs.washington.edu> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlwifi: limit number of attempts for highest HT rateDaniel Halperin2011-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When filling out its rate scale table, iwlwifi repeats the first HT rate IWL_HT_NUMBER_TRY times. The hardware scheduler will stop using aggregation for any frame that fails LINK_QUAL_AGG_DISABLE_START_DEF times. Currently, both these constants equal 3. If iwlwifi probes a faster rate than the link supports, all frames in a (potentially tens of frames large) batch will fail IWL_HT_NUMBER_TRY times. Because this happens to be as large as LINK_QUAL_AGG_DISABLE_START_DEF, all frames will then be sent individually. This leads to a short, but performance-degrading window where the legacy stop-and-wait MAC takes over. Bounding the initial rate by (LINK_QUAL_AGG_DISABLE_START_DEF-1) attempts makes the third try use a lower rate and hence more be likely to succeed. This somewhat mitigates the above described behavior. Signed-off-by: Daniel Halperin <dhalperi@cs.washington.edu> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlagn: fix aggregation queue scheduler setupJohannes Berg2011-03-25
| | | | | | | | | | | | | | | | | | | | | | | | iwlagn's hardware scheduler needs to be set up with the right aggregation frame limit and buffer sizes. To achieve this, we need to move the hardware queue setup to when the session becomes operational. Tested-by: Daniel Halperin <dhalperi@cs.washington.edu> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlagn: clean up TX aggregation codeJohannes Berg2011-03-25
| | | | | | | | | | | | | | | | | | | | Since the driver split, there's no need for function pointers any more for aggregation queue setup and teardown as all devices now share the same code. Simplify this. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlagn: use 6030 configuration for 6035 seriesWey-Yi Guy2011-03-25
| | | | | | | | | | | | | | 6035 series of devices should use the same uCode as 6030 series, change it. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlegacy: MAINTAINERSWey-Yi Guy2011-03-25
| | | | | | | | | | | | Add iwlegacy driver to MAINTAINERS file and mark as 'Orphan' Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
* | ath9k_hw: remove pCap->tx_triglevel_maxFelix Fietkau2011-03-30
| | | | | | | | | | | | | | It has the same purpose (and value) as ah->config.max_txtrig_level Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k_hw: remove ATH9K_HW_CAP_ENHANCEDPMFelix Fietkau2011-03-30
| | | | | | | | | | | | | | It is not used anywhere Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k_hw: remove pCap->keycache_sizeFelix Fietkau2011-03-30
| | | | | | | | | | | | | | | | | | Similar to the number of tx queue, the number of keycache entries depends on the chip and shouldn't be messed with based on EEPROM data. Remove this field and stick to using AR_KEYTABLE_SIZE Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k_hw: remove pCap->reg_capFelix Fietkau2011-03-30
| | | | | | | | | | | | | | It is not used anywhere and seems pointless Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k_hw: remove ah->config.ht_enableFelix Fietkau2011-03-30
| | | | | | | | | | | | | | | | It is only used in one place, and the device id check that it's based on can be moved there as well. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k_hw: remove pCap->total_queuesFelix Fietkau2011-03-30
| | | | | | | | | | | | | | | | | | | | | | The EEPROM contains a field that can restrict the number of hardware queues, however this is not only useless (all the known chips contain the same number of hardware queues), but also potentially dangerous in case of a misprogrammed EEPROM (could trigger driver crashes), so let's just ignore it completely. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k_hw: turn a few big macros into functionsFelix Fietkau2011-03-30
| | | | | | | | | | | | | | | | | | RF_BANK_SETUP, REG_WRITE_RF_ARRAY and REG_WRITE_ARRAY are way too big, so they shouldn't be inlined at every single callsite, especially since they can easily be turned into real functions. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k_hw: replace REG_READ+REG_WRITE with REG_RMWFelix Fietkau2011-03-30
| | | | | | | | | | | | | | It's easier to read and it slightly decreases code size Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k_hw: add a new register op for read-mask-writeFelix Fietkau2011-03-30
| | | | | | | | | | | | | | | | Reduces the number of calls to register ops. On MIPS this reduces the ath9k_hw binary size from 321k down to 310k Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k_hw: embed the ath_ops callbacks in the ath_hw structFelix Fietkau2011-03-30
| | | | | | | | | | | | | | | | | | With this change, loading the address to a register read/write function costs only one pointer dereference instead of two. On MIPS this reduces ath9k_hw binary size from 326k down to 321k. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | cfg80211: Add nl80211 event for deletion of a station entryJouni Malinen2011-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | Indicate an NL80211_CMD_DEL_STATION event when a station entry in mac80211 is deleted to match with the NL80211_CMD_NEW_STATION event that is used when the entry was added. This is needed, e.g., to allow user space to remove a peer from RSN IBSS Authenticator state machine to avoid re-authentication and re-keying delays when the peer is not reachable anymore. Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com> Reviewed-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Support RSN IBSSJouni Malinen2011-03-30
| | | | | | | | | | | | | | | | | | | | Add support for using RSN IBSS with ath9k. For now, this uses software crypto for group addressed frames in RSN IBSS, but that may be optimized in the future by extending the key cache design to support per-STA RX GTK. Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: fix stuck beacon detectionFelix Fietkau2011-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stuck beacon detection is supposed to trigger when 9 consecutive beacons could not be sent by the hardware. When the driver runs only one active AP mode interface, it still configures the hardware beacon timer for 4 (ATH_BCBUF) beacon slots slots, which causes stuck beacon detection to be reset if ath9k_hw_stoptxdma clears the stuck frames between SWBA intervals. Fix this by not resetting the missed beacon count for empty slots and multiplying the threshold not by the maximum number of beacon slots but by the configured number of beacon interfaces. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: trigger nfcal only after multiple missed beacons in AP modeFelix Fietkau2011-03-30
| | | | | | | | | | | | | | | | | | Single missed (i.e. not transmitted) beacons in AP mode are not very rare and not necessarily an indicator of strong interference, so only trigger noise floor recalibration when multiple consecutive beacons could not be transmitted. Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: fix beacon timer handling issuesFelix Fietkau2011-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AP mode beacon timers in ath9k are configured in milliseconds, which breaks when increasing ATH_BCBUF to 8 instead of 4 (due to rounding errors). Since the hardware timers are actually configured in microseconds, it's better to let the driver use that unit directly. To be able to do that, the beacon interval parameter abuse for passing certain flags needs to be removed. This is easy to do, because those flags are completely unnecessary anyway. ATH9K_BEACON_ENA is ignored, ATH9K_BEACON_RESET_TSF can be replaced with calling ath9k_hw_reset_tsf from the driver directly. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | libertas_spi: Add support for suspend/resumeVasily Khoruzhick2011-03-30
| | | | | | | | | | | | | | | | Add support for suspend/resume in if_spi. Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Acked-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | wireless: mwifiex: initial commit for Marvell mwifiex driverBing Zhao2011-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This driver adds WiFi support for Marvell 802.11n based chipsets with SDIO interface. Currently only SD8787 is supported. More chipsets will be supported later. drivers/net/wireless/mwifiex/ Signed-off-by: Nishant Sarmukadam <nishants@marvell.com> Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Kiran Divekar <dkiran@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com> Signed-off-by: Marc Yang <yangyang@marvell.com> Signed-off-by: Ramesh Radhakrishnan <rramesh@marvell.com> Signed-off-by: Frank Huang <frankh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k_hw: remove AR9485 1.0 supportLuis R. Rodriguez2011-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only AR9485 1.1 was sold. This debloats the driver by ~14 KiB. text data bss dec hex filename 300413 624 1056 302093 49c0d drivers/net/wireless/ath/ath9k/ath9k_hw.ko text data bss dec hex filename 310285 624 1056 311965 4c29d drivers/net/wireless/ath/ath9k/ath9k_hw-old.ko $ du -b ath9k_hw* 6210541 ath9k_hw.ko 6225089 ath9k_hw-old.ko Cc: Bill Wu <bill.wu@atheros.com> Cc: Paul Shaw <paul.shaw@atheros.com> Cc: Forbes Tsai <Forbes.Tsai@Atheros.com> Cc: Jesmine Chen <jesmine.chen@atheros.com> Cc: Marvian Chen <Hou-hua.Chen@Atheros.com> Cc: Vivek Natarajan <vivek.natarajan@atheros.com> Cc: Bernadette Yetso <bernadette.yetso@atheros.com> Cc: Sarvesh Shrivastava <sarvesh.shrivastava@atheros.com> Acked-by: Yi-Chen Su <yi-chen.su@atheros.com> Acked-by: Jeffrey Chung <jeffrey.chung@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | mac80211: Minor optimization in tx status handlingHelmut Schaa2011-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ieee80211_tx_status iterates over all tx rates the driver reports back in order to 1) mark tx rates as invalid if the driver cannot have tried that rate 2) find the actually used tx rate for the final retransmission By leaving the for loop when the first invalid rate index is found we can move the rates_idx assignment after the loop and therefore save a few assignments and conditionals. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: remove the pending frames ath_txq_schedule workaroundFelix Fietkau2011-03-30
| | | | | | | | | | | | | | | | | | | | | | This workaround called ath_txq_schedule whenever there were still pending frames for a queue, but the queue depth was zero. Because of its its high false positive probability (e.g. with paused TIDs) and because it is in the way of other pending work (AP powersave fixes), it is better to remove this code entirely. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k_hw: force rx chainmask to 7 on AR9100Felix Fietkau2011-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | Most AR9100 devices already have a chainmask of 7 (three antennas), however on the ones that don't (rx and tx chainmask set to 5), problems with IQ mismatch calibration have been observed. This shows up as tx queue hangs (and subsequent hardware resets) if traffic is sent during this type of calibration. Forcing the rx chainmask to 7 fixes the calibration issues with no apparent negative side effects on throughput and stability. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k_hw: enable a BlockAck related fixup specific to AR9100Felix Fietkau2011-03-30
| | | | | | | | | | | | | | Fixes interop issues with aggregation in combination with multi-BSSID Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: add support for overriding LED pin and GPIO settings from platform dataFelix Fietkau2011-03-30
| | | | | | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: add support for overriding the MAC address through platform dataFelix Fietkau2011-03-30
| | | | | | | | | | | | | | | | On some devices the correct MAC address is not in the EEPROM data, but stored somewhere else. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: add an interface for overriding the value of specific GPIO pinsFelix Fietkau2011-03-30
| | | | | | | | | | | | | | | | | | Some devices control antenna settings or other things through GPIO pins of the wireless interface. Add a debugfs interface for changing those and keeping them set across card resets. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: remove unnecessary debugfs return code checksFelix Fietkau2011-03-30
| | | | | | | | | | | | | | | | | | Since the ath9k debugfs directory is cleaned up by debugfs_remove_recursive, there's no point in checking the return code of every single debugfs create line. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | rtlwifi: rtl8192c{e,u}: Remove some extraneous casts on memcpy commandsLarry Finger2011-03-30
| | | | | | | | | | Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | mwl8k: Queue ADDBA requests in respective data queuesNishant Sarmukadam2011-03-30
| | | | | | | | | | | | | | | | | | | | Queue ADDBA requests in respective data queues to avoid ADDBA requests and the the related data packets (to the same ra/tid) queued in the hardware to be sent out asynchronously. Signed-off-by: Nishant Sarmukadam <nishants@marvell.com> Signed-off-by: Brian Cavagnolo <brian@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>