aboutsummaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2010-07-27libertas: kill unused lbs_prepare_and_send_command()Dan Williams4-146/+9
Remove last bits of indirect command code. Signed-off-by: Dan Williams <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-27libertas: convert DEEP_SLEEP timer to a direct commandDan Williams2-12/+8
Other uses were already used direct command paths. Signed-off-by: Dan Williams <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-27libertas: convert PS_MODE to a direct commandDan Williams7-126/+95
Powersave looks like it got broken at some point but we'll fix that up when the command submission stuff is more understandable, which this series helps to do. That said, this patch should not further break powersave. Signed-off-by: Dan Williams <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-27libertas: remove unused indirect command response handlerDan Williams1-24/+1
Signed-off-by: Dan Williams <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-27libertas: convert CMD_FWT_ACCESS to a direct commandDan Williams5-34/+26
Slightly different approach here since there are so many arguments to the firmware command. Just let the caller fill them in before pushing the command to the firmware. Signed-off-by: Dan Williams <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-27libertas: convert Mesh Blinding Table access to a direct commandDan Williams5-46/+158
Signed-off-by: Dan Williams <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-27libertas: convert register access to direct commandsDan Williams6-180/+94
Signed-off-by: Dan Williams <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-27libertas: convert LED_GPIO_CTRL to a direct commandDan Williams1-3/+2
Signed-off-by: Dan Williams <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-27libertas: remove Beacon ControlDan Williams4-11/+2
For now; it's a pretty easy command to hook up and whenever OLPC figures out how they want the userspace interface to look (ie, not iwpriv commands) we can easily add it back in. Since the cfg80211 conversion it wasn't working anyway. Signed-off-by: Dan Williams <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-27libertas: remove unused Automatic Frequency Control commandDan Williams3-23/+3
It hasn't been hooked up to anything in a long time and it's not even listed in any of the firmware documentation I have (and I have v5.1, v8, v9, and v10). Signed-off-by: Dan Williams <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-27libertas: remove unused indirect TPC_CFG command leftoversDan Williams3-20/+0
These were no longer used but were left around; Transmit Power Control is done through the lbs_set_tpc_cfg() function. Signed-off-by: Dan Williams <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-27libertas: convert 11D_DOMAIN_INFO to a direct commandDan Williams7-238/+139
Signed-off-by: Dan Williams <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-27libertas: clean up RSSI commandDan Williams8-77/+51
Convert to a full direct command; previous code rolled a direct command by hand but left the original indirect command code intact but disabled. Signed-off-by: Dan Williams <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-27libertas: clean up MONITOR_MODE commandDan Williams4-72/+33
Convert to a full direct command; previous code rolled a direct command by handle but left the original indirect command code lying around. Signed-off-by: Dan Williams <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-27rt2500usb: disallow to set WEP key with non zero indexStanislaw Gruszka1-0/+8
On our hardware (050d:7050 Belkin Components F5D7050 Wireless G Adapter), setting any WEP key with non zero index, cause rx frames corruption. Note: perhaps (I did not check) this can be fixed differently - by using hw_key_idx the same as true MAC key index. But according to the comment in rt2x00mac_set_key(): "the hardware requires keys to be assigned in correct order (When key 1 is provided but key 0 is not, then the key is not found by the hardware during RX)" this will be quite problematic. Since WEP should not be used, disabling hardware crypto offload for it will not hurt much. Beside static one key WEP will still be offloaded. Signed-off-by: Stanislaw Gruszka <[email protected]> Acked-by: Ivo van Doorn <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-27rt2500usb: truly disable encryption when initializeStanislaw Gruszka1-0/+1
Without cipher part nullify of TXRX_CSR0 register we can receive corrupted frames (removed IV or IVC), after reloading rt2500usb module with nohwcrypt=1 option, if previous some keys were configured into the hardware. Signed-off-by: Stanislaw Gruszka <[email protected]> Acked-by: Ivo van Doorn <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-27rt2500usb: write keys to proper registersStanislaw Gruszka1-1/+1
Fix rt2500usb hardware encryption broken by commit 96b61bafe22b2f2abcc833d651739edb977f1b1e "rt2x00: Clean up USB vendor request buffer functions" Signed-off-by: Stanislaw Gruszka <[email protected]> Acked-by: Ivo van Doorn <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-27ath9k: remove unused base_index from rate table.Senthil Balasubramanian2-161/+160
base index is not used anymore and so remove it. Signed-off-by: Senthil Balasubramanian <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-27ath9k: Fix incorrect user ratekbs of MCS15 ShortGISenthil Balasubramanian1-1/+1
The user ratekbs of MCS15 ShortGI is incorrect and can not be lesser than MCS15 rate. This incorrect rate may affect switching to higher rates as the rate control algorithm always finds MCS15 is better than MCS15 ShortGI and results in lower throughput. Fix this by feeding the correct user ratekbs for MCS15 ShortGI rate. This issue affects 3 stream case very badly as the 3 stream rates are not used at all once we scale down to MCS15 from 3 stream rates. Signed-off-by: Senthil Balasubramanian <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-27ath9k: Add three stream rate control support for AR938X.Senthil Balasubramanian2-225/+366
This patch adds 3 stream rate control support for AR938X family chipsets which supports 3 streams. Signed-off-by: Senthil Balasubramanian <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-27ath9k: Introduce bit masks for valid and valid_single_stream.Senthil Balasubramanian2-145/+153
replace valid and valid_single_stream in rate table with bit masks and reorganize the code so adding 3x3 rate control would be easier. Signed-off-by: Senthil Balasubramanian <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-27p54: Added get_survey callback in order to get channel noiseJohn W. Linville1-0/+17
Signed-off-by: John W. Linville <[email protected]>
2010-07-27Merge branch 'master' of ↵John W. Linville2506-92640/+231984
git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-commands.h
2010-07-26rt2x00: Fix regression for rt2500pciIvo van Doorn1-6/+13
Since commit: commit f1aa4c541e98afa8b770a75ccaa8504d0bff44a7 Author: Ivo van Doorn <[email protected]> Date: Tue Jun 29 21:38:55 2010 +0200 rt2x00: Write the BSSID to register when interface is added mananged mode in rt2500pci was broken, due to intf->bssid containing random data rather then the expected 00:00:00:00:00:00 This is corrected by sending the BSSID to rt2x00lib_config_intf only in AP mode where the bssid is set to a valid value. Signed-off-by: Ivo van Doorn <[email protected]> Acked-by: Helmut Schaa <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-26ath9k_hw: simplify noisefloor calibration chainmask calculationFelix Fietkau1-18/+1
The noisefloor array index always corresponds to the rx chain number it belongs to (with an offset of 3 for the extension chain). It's much simpler (and actually more correct) to directly use the chainmask to calculate the bitmask for the noisefloor array, instead of using these weird chip revision checks and hardcoded mask values. Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-26ath9k_hw: fix a small typo in the noisefloor calibration debug codeFelix Fietkau1-1/+1
In the noisefloor array, the extension channel values start at index 3 Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-26ath9k_hw: fix invalid extension channel noisefloor readings in HT20Felix Fietkau3-2/+10
When the hardware is configured in HT20 mode, noise floor readings for the extension channel often return invalid values, which keep the values in the NF history buffer at the hardware-specific maximum limit. Fix this by discarding the extension channel values when in HT20 mode. Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-26ath9k: fix yet another buffer leak in the tx aggregation codeFelix Fietkau1-8/+8
When an aggregation session is being cleaned up, while the tx status for some frames is being processed, the TID is flushed and its buffers are sent out. Unfortunately that left the pending un-acked frames unprocessed, thus leaking buffers. Fix this by reordering the code so that those frames are processed first, before the TID is flushed. Signed-off-by: Felix Fietkau <[email protected]> Cc: [email protected] Signed-off-by: John W. Linville <[email protected]>
2010-07-26libertas: precedence bugDan Carpenter1-1/+1
Negate has precedence over comparison so the original test was always false. (Neither 0 nor 1 are equal to NL80211_IFTYPE_MONITOR). Signed-off-by: Dan Carpenter <[email protected]> Acked-by: Dan Williams <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-26ath9k: Fix inconsistency between txq->stopped and the actual queue stateVasanthakumar Thiagarajan3-4/+8
Sometimes txq state(txq->stopped) can be marked as started but the actual queue may not be started (in ATH_WIPHY_SCAN state, for example). Fix this. Signed-off-by: Vasanthakumar Thiagarajan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-26ath5k: snprintf() returns largish valuesDan Carpenter1-0/+18
snprintf() returns the number of characters that would have been written (not counting the NUL character). So we can't use it as the limiter to simple_read_from_buffer() without capping it first at sizeof(buf). Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-26ath9k: snprintf() returns largish valuesDan Carpenter1-0/+9
The snprintf() function returns the number of characters that would have been written (not counting the NUL character on the end). It could potentially be larger than the size of the buffer. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-26drivers/net/wireless/wl12xx: Use kmemdupJulia Lawall1-6/+2
Use kmemdup when some other buffer is immediately copied into the allocated region. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression from,to,size,flag; statement S; @@ - to = \(kmalloc\|kzalloc\)(size,flag); + to = kmemdup(from,size,flag); if (to==NULL || ...) S - memcpy(to, from, size); // </smpl> Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-26lib80211: remove unused host_build_iv optionJohn W. Linville3-15/+4
Signed-off-by: John W. Linville <[email protected]>
2010-07-26iwlwifi: assume vif is NULL for internal scans and non-NULL otherwiseJohn W. Linville2-2/+8
The current practice of checking vif for NULL in one place but not another seems to confuse some static checkers, smatch in particular. Since vif will only be NULL in the case of internal scans, adjust the checks accordingly. Reported-by: Dan Carpenter <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-07-26rtl8180: silence "dubious: x | !y" sparse warningJohn W. Linville1-1/+4
CHECK drivers/net/wireless/rtl818x/rtl8180_rtl8225.c drivers/net/wireless/rtl818x/rtl8180_rtl8225.c:53:33: warning: dubious: x | !y The existing code is clever and works fine, but it's not worth even a single line of Sparse warning SPAM... Signed-off-by: John W. Linville <[email protected]>
2010-07-26rtl8180: improve signal reporting for actual rtl8180 hardwareJohn W. Linville5-10/+68
Adapted from Realtek-provided driver... Signed-off-by: John W. Linville <[email protected]> Tested-by: Pauli Nieminen <[email protected]>
2010-07-26wl1251: fix sparse-generated warningsJohn W. Linville4-18/+20
CHECK drivers/net/wireless/wl12xx/wl1251_tx.c drivers/net/wireless/wl12xx/wl1251_tx.c:118:32: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1251_tx.c:118:32: expected unsigned short [unsigned] [usertype] frag_threshold drivers/net/wireless/wl12xx/wl1251_tx.c:118:32: got restricted __le16 [usertype] <noident> drivers/net/wireless/wl12xx/wl1251_tx.c:164:24: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1251_tx.c:164:24: expected unsigned short [unsigned] [usertype] length drivers/net/wireless/wl12xx/wl1251_tx.c:164:24: got restricted __le16 [usertype] <noident> drivers/net/wireless/wl12xx/wl1251_tx.c:166:22: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1251_tx.c:166:22: expected unsigned short [unsigned] [usertype] rate drivers/net/wireless/wl12xx/wl1251_tx.c:166:22: got restricted __le16 [usertype] <noident> drivers/net/wireless/wl12xx/wl1251_tx.c:167:29: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1251_tx.c:167:29: expected unsigned int [unsigned] [usertype] expiry_time drivers/net/wireless/wl12xx/wl1251_tx.c:167:29: got restricted __le32 [usertype] <noident> drivers/net/wireless/wl12xx/wl1251_tx.c:200:43: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/wl12xx/wl1251_tx.c:200:43: expected restricted __le16 [usertype] fc drivers/net/wireless/wl12xx/wl1251_tx.c:200:43: got unsigned short [unsigned] [assigned] [usertype] fc CHECK drivers/net/wireless/wl12xx/wl1251_cmd.c drivers/net/wireless/wl12xx/wl1251_cmd.c:428:39: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1251_cmd.c:428:39: expected unsigned int [unsigned] [usertype] rx_config_options drivers/net/wireless/wl12xx/wl1251_cmd.c:428:39: got restricted __le32 [usertype] <noident> drivers/net/wireless/wl12xx/wl1251_cmd.c:429:39: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1251_cmd.c:429:39: expected unsigned int [unsigned] [usertype] rx_filter_options drivers/net/wireless/wl12xx/wl1251_cmd.c:429:39: got restricted __le32 [usertype] <noident> drivers/net/wireless/wl12xx/wl1251_cmd.c:435:29: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1251_cmd.c:435:29: expected unsigned short [unsigned] [usertype] tx_rate drivers/net/wireless/wl12xx/wl1251_cmd.c:435:29: got restricted __le16 [usertype] <noident> drivers/net/wireless/wl12xx/wl1251_cmd.c:439:47: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1251_cmd.c:439:47: expected unsigned int [unsigned] [usertype] min_duration drivers/net/wireless/wl12xx/wl1251_cmd.c:439:47: got restricted __le32 [usertype] <noident> drivers/net/wireless/wl12xx/wl1251_cmd.c:441:47: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1251_cmd.c:441:47: expected unsigned int [unsigned] [usertype] max_duration drivers/net/wireless/wl12xx/wl1251_cmd.c:441:47: got restricted __le32 [usertype] <noident> CHECK drivers/net/wireless/wl12xx/wl1251_boot.c drivers/net/wireless/wl12xx/wl1251_boot.c:228:22: warning: symbol 'interrupt' shadows an earlier one /home/linville/git/wireless-next-2.6/arch/x86/include/asm/hw_irq.h:132:13: originally declared here Signed-off-by: John W. Linville <[email protected]>
2010-07-26iwlagn: use __packed on new structure definitionsJohn W. Linville1-6/+6
"iwlagn: add statistic notification structure for WiFi/BT devices" added several new '__attribute__ ((packed))' lines. Change them to the generic __packed. Signed-off-by: John W. Linville <[email protected]>
2010-07-23iwlwifi: remove spurious semicolonsJohannes Berg1-2/+2
defines shouldn't be terminated with a semicolon, the code using them should supply it. Luckily these are not used in a context where it matters. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]>
2010-07-23iwlwifi: reduce beacon fill conditionsJohannes Berg2-6/+2
Since the ibss_beacon variable will only be filled in the appropriate modes, there's no reason to be checking the mode again. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]>
2010-07-23iwlwifi: read multiple MAC addressesWey-Yi Guy3-5/+16
Some devices may have multiple MAC addresses in their EEPROM, read them and advertise them to cfg80211. Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2010-07-23iwlwifi: make iwl_mac_beacon_update staticJohannes Berg2-33/+31
This function is only needed in the same file it is defined in, i.e. iwl-core.c Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]>
2010-07-23iwlagn: fix firmware loading TLV error pathJohannes Berg1-44/+35
gcc complains about the firmware loading: iwl-agn.c: In function ‘iwlagn_load_firmware’: iwl-agn.c:1860: warning: ‘tlv_len’ may be used uninitialized in this function iwl-agn.c:1861: warning: ‘tlv_type’ may be used uninitialized in this function iwl-agn.c:1862: warning: ‘tlv_data’ may be used uninitialized in this function This is almost correct but we do do break out of the TLV parsing loop when setting ret. However, the code is hard to follow, and clearly even the compiler is having issues with it too. Additionally, however, the current code is wrong. If there is a TLV length check error, the code will report invalid TLV after parsing: ... because "len" will still be non-zero as we broke out of the loop. So to remove the warning and fix that issue, make the code easier to read by doing length checking with an error label. As a result, we can completely remove the "ret" variable. Also, while at it, remove the "fixed_tlv_size" variable since each TLV type has its own specified length, it just happens that we have only variable length, flags (0 length) and u32 TLVs right now. It should still be checked with more explicit length checks to make it easier to understand. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]>
2010-07-23iwlwifi: add TLV to specify the size of phy calibration tableWey-Yi Guy4-4/+37
Different devices have different size of phy calibration table; add new TLV to specify the size. If the TLV is not part of uCode header, the default table size will be used to make sure the backward compatibilities. Signed-off-by: Wey-Yi Guy <[email protected]>
2010-07-23iwlagn: add bluetooth stats to debugfsWey-Yi Guy8-0/+113
For WiFi/BT combo devices, add bluetooth statistics counter read function to debugfs. Signed-off-by: Wey-Yi Guy <[email protected]>
2010-07-23iwlagn: Add support for bluetooth statistics notificationWey-Yi Guy7-119/+271
WiFi/BT combo devices has different statistics notification structure, adding the support here to make sure the structure align correctly. Signed-off-by: Wey-Yi Guy <[email protected]>
2010-07-23iwlagn: add .cfg flag to idenfity the need for bt statisticsWey-Yi Guy2-0/+7
Only WiFi/BT combo devices need to use bluetooth version of statistics notification; adding the flag in .cfg file to indicate the need for using different data structure. Signed-off-by: Wey-Yi Guy <[email protected]>
2010-07-23iwlagn: add statistic notification structure for WiFi/BT devicesWey-Yi Guy6-27/+71
If its WiFi/BT combo device, the statistics notification sent by uCode will include the additional BT related statistics counters. Adding new data structure to support the new layout. Signed-off-by: Wey-Yi Guy <[email protected]>
2010-07-21b43: silence phy_n sparse warningsLarry Finger1-7/+9
drivers/net/wireless/b43/phy_n.c:512:53: warning: cast truncates bits from constant value (ffff0fff becomes fff) drivers/net/wireless/b43/phy_n.c:765:66: warning: cast truncates bits from constant value (ffff7fff becomes 7fff) drivers/net/wireless/b43/phy_n.c:1012:38: warning: cast truncates bits from constant value (ffff00ff becomes ff) drivers/net/wireless/b43/phy_n.c:1119:38: warning: cast truncates bits from constant value (ffff0fff becomes fff) drivers/net/wireless/b43/phy_n.c:2458:56: warning: cast truncates bits from constant value (ffff7fff becomes 7fff) drivers/net/wireless/b43/phy_n.c:2933:38: warning: cast truncates bits from constant value (ffff0fff becomes fff) drivers/net/wireless/b43/phy_n.c:3294:57: warning: cast truncates bits from constant value (ffff3fff becomes 3fff) Signed-off-by: Larry Finger <[email protected]> Signed-off-by: John W. Linville <[email protected]>