aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/wireless
AgeCommit message (Collapse)AuthorFilesLines
2011-01-24wl12xx: fix some endianess bugsEliad Peller3-5/+5
pointed out by sparse warnings: CHECK drivers/net/wireless/wl12xx/cmd.c drivers/net/wireless/wl12xx/cmd.c:987:20: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/cmd.c:987:20: expected restricted __le16 [usertype] aging_period drivers/net/wireless/wl12xx/cmd.c:987:20: got int CHECK drivers/net/wireless/wl12xx/tx.c drivers/net/wireless/wl12xx/tx.c:197:2: warning: cast from restricted __le16 drivers/net/wireless/wl12xx/tx.c:197:2: warning: cast from restricted __le16 drivers/net/wireless/wl12xx/tx.c:197:2: warning: cast from restricted __le16 CHECK drivers/net/wireless/wl12xx/acx.c drivers/net/wireless/wl12xx/acx.c:816:23: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/acx.c:816:23: expected restricted __le32 [usertype] rate_policy_idx drivers/net/wireless/wl12xx/acx.c:816:23: got unsigned char [unsigned] [usertype] idx Signed-off-by: Eliad Peller <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: add hw configuration for max supported AMDPU sizeLuciano Coelho1-0/+2
The wl12xx chips do the AMDPU aggregation work in the firmware, but it supports a maximum of 8 frames per block. Configure the mac80211 hw structure accordingly. Signed-off-by: Luciano Coelho <[email protected]> Tested-by: Juuso Oikarinen <[email protected]>
2011-01-24wl12xx: change debug_level module param sysfs permissionsGuy Eilam2-7/+2
changed the visibility of the debug_level module parameter in the filesystem to be readable and writable to the root user. It is now accessible under /sys/module/wl12xx/parameters removed the debug_level debugfs file that was created under /sys/kernel/debug/... Signed-off-by: Guy Eilam <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: lock the RCU when accessing sta via ieee80211_find_sta()Luciano Coelho1-27/+33
We were calling ieee80211_find_sta() and the sta returned by it without locking the RCU, which is required by mac80211. Fix this and reorganize slightly the area of the code where the sta is used. Reported-by: Jonathan DE CESCO <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: don't modify the global supported band structuresLuciano Coelho2-2/+17
When 11a is not supported, we were modifying the global structure that contains the bands supported by the driver. This causes problems when having more one wl12xx device in the same system because they all use the same global. This also causes problems when the wl12xx_sdio module is removed and the wl12xx module remains. Fix this problem by copying the band structure into the wl12xx instance. Reported-by: Arik Nemtsov <[email protected]> Reported-by: Johannes Berg <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: don't join upon disassociationEliad Peller1-10/+12
wl12xx "rejoins" upon every BSS_CHANGED_BSSID notification. However, there is no need to rejoin after disassociation, so just filter out the case when the new bssid is 00:00:00:00:00:00. Signed-off-by: Eliad Peller <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: Enable AP-modeArik Nemtsov2-2/+7
Indicate support for the NL80211_IFTYPE_AP interface mode to enable AP mode operation. Disable 11a when operating in AP-mode (unsupported for now). Signed-off-by: Arik Nemtsov <[email protected]> Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: Read MAC address from NVS file on HW startupArik Nemtsov1-0/+12
Try to read the MAC address from the on-disk NVS file. A non-zero MAC address is required to add an AP interface. Signed-off-by: Arik Nemtsov <[email protected]> Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: AP mode - fetch appropriate firmware for APArik Nemtsov2-3/+33
AP and STA modes use different firmwares. Differentiate the firmware files by name and fetch the appropriate one when add_interface is called by mac80211. The STA firmware is chosen for PLT mode. Signed-off-by: Arik Nemtsov <[email protected]> Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: AP mode - encryption supportArik Nemtsov4-44/+223
Encryption key configuration is different for AP/STA modes. AP encryption keys are recorded when the BSS is not started. On BSS start they are propagated to the AP (in wl1271_ap_init_hwenc). Signed-off-by: Arik Nemtsov <[email protected]> Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: AP mode - record TX configuration settingsArik Nemtsov1-24/+48
Record TX configuration settings in the "conf" member of our global structure (struct wl1271) if conf_tx is called when the firmware is not loaded. Later on when the firmware is loaded, we apply the tx conf as part of the init sequence. Important for AP mode since conf_tx is called before add_interface (where the firmware is initialized). Signed-off-by: Arik Nemtsov <[email protected]> Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: AP mode - changes in TX pathArik Nemtsov2-10/+48
When in AP mode set appropriate HLID and rate policy for each skb. Respond to supported-rates related changes in op_tx only when acting as STA. Signed-off-by: Arik Nemtsov <[email protected]> Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: AP mode - add STA add/remove opsArik Nemtsov2-0/+119
Allocate and free host link IDs (HLIDs) for each link. A per-STA data structure keeps the HLID of each STA. Signed-off-by: Arik Nemtsov <[email protected]> Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: AP mode - change filter configArik Nemtsov1-10/+12
Do not configure a group address table in AP mode Signed-off-by: Arik Nemtsov <[email protected]> Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: AP mode config in ieee80211_ops.configArik Nemtsov1-22/+30
Separate configuration according to mode. AP has different rate set configuration and no handling of idle-state. Signed-off-by: Arik Nemtsov <[email protected]> Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: Configure AP on BSS info changeArik Nemtsov2-109/+234
Configure AP-specific beacon and probe response templates. Start the AP when beaconing is enabled. The wl1271_bss_info_changed() function has been split into AP/STA specific handlers. Signed-off-by: Arik Nemtsov <[email protected]> Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: Add AP related definitions to HOST-FW interfaceArik Nemtsov4-7/+37
Change structures in a non-destructive manner. This means no changes in size or location of existing members used by STA. Signed-off-by: Arik Nemtsov <[email protected]> Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: AP specific RX filter configurationArik Nemtsov5-8/+28
Set filters according to the mode of operation. Signed-off-by: Arik Nemtsov <[email protected]> Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: AP mode - init sequenceArik Nemtsov7-100/+317
Split HW init sequence into AP/STA specific parts The AP specific init sequence includes configuration of templates, rate classes, power mode, etc. Also unmask AP specific events in the event mbox. Separate the differences between AP and STA init into mode specific functions called from wl1271_hw_init. The first is called after radio configuration and the second after memory configuration. Signed-off-by: Arik Nemtsov <[email protected]> Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: AP mode - workaround for FW bug on station removeArik Nemtsov1-5/+21
Sometimes an event indicating station removal is not sent up by firmware. We work around this by always indicating success in when a wait for the event timeouts. Temporary workaround until a FW fix is introduced. Signed-off-by: Arik Nemtsov <[email protected]> Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: AP-mode high level commandsArik Nemtsov6-14/+419
Add commands to start/stop BSS, add/remove STA and configure encryption keys. Split the encryption commands "set key" and "set default key" into AP and STA specific versions. Signed-off-by: Arik Nemtsov <[email protected]> Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: AP mode - add AP specific eventArik Nemtsov3-3/+8
Add STA-remove completion event. Unmask it during boot if operating in AP-mode. Ignore unrelated events in AP-mode. Signed-off-by: Arik Nemtsov <[email protected]> Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: AP mode - AP specific CMD_CONFIGURE sub-commandsArik Nemtsov6-11/+98
Add AP max retries and rate policy configuration. Rename STA rate policy configuration function. Signed-off-by: Arik Nemtsov <[email protected]> Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: Add AP related configuration to conf_drv_settingsArik Nemtsov4-7/+90
Rate class configuration has been split up for AP and STA modes. Template related configuration likewise separated. Signed-off-by: Arik Nemtsov <[email protected]> Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: fix some sparse warningsEliad Peller4-15/+15
Note that wl1271_write32() calls cpu_to_le32() by itself, so calling wl1271_write32(addr, cpu_to_le32(val)) is in fact a bug on BE systems. Fix the following sparse warnings: drivers/net/wireless/wl12xx/cmd.c:662:16: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/cmd.c:662:16: expected unsigned short [unsigned] [addressable] [usertype] llc_type drivers/net/wireless/wl12xx/cmd.c:662:16: got restricted __be16 [usertype] <noident> drivers/net/wireless/wl12xx/cmd.c:674:17: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/cmd.c:674:17: expected unsigned int [unsigned] [addressable] [usertype] sender_ip drivers/net/wireless/wl12xx/cmd.c:674:17: got restricted __be32 [usertype] ip_addr drivers/net/wireless/wl12xx/rx.c:202:4: warning: incorrect type in argument 3 (different base types) drivers/net/wireless/wl12xx/rx.c:202:4: expected unsigned int [unsigned] [usertype] val drivers/net/wireless/wl12xx/rx.c:202:4: got restricted __le32 [usertype] <noident> drivers/net/wireless/wl12xx/acx.c:1247:23: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/acx.c:1247:23: expected restricted __le32 [usertype] ht_capabilites drivers/net/wireless/wl12xx/acx.c:1247:23: got unsigned long drivers/net/wireless/wl12xx/acx.c:1250:24: warning: invalid assignment: |= drivers/net/wireless/wl12xx/acx.c:1250:24: left side has type restricted __le32 drivers/net/wireless/wl12xx/acx.c:1250:24: right side has type unsigned long drivers/net/wireless/wl12xx/acx.c:1253:24: warning: invalid assignment: |= drivers/net/wireless/wl12xx/acx.c:1253:24: left side has type restricted __le32 drivers/net/wireless/wl12xx/acx.c:1253:24: right side has type unsigned long drivers/net/wireless/wl12xx/acx.c:1256:24: warning: invalid assignment: |= drivers/net/wireless/wl12xx/acx.c:1256:24: left side has type restricted __le32 drivers/net/wireless/wl12xx/acx.c:1256:24: right side has type unsigned long Signed-off-by: Eliad Peller <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: use after free in debug codeDan Carpenter1-1/+1
If debugging is turned on, then wl1271_dump() dereferences a freed variable. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-24wl12xx: remove redundant debugfs_remove_recursive() callEliad Peller2-21/+16
Upon rmmod, the <debugfs>/ieee80211/phyX dir is being removed. later, we try to remove <debugfs>/ieee80211/phyX/wl12xx, which might result in NULL dereference. Remove the excessive debugfs_remove_recursive() call. (consequently, there is no more need to save wl->rootdir) Reported-by: Arik Nemtsov <[email protected]> Signed-off-by: Eliad Peller <[email protected]> Signed-off-by: Luciano Coelho <[email protected]>
2011-01-21iwlwifi: initial P2P supportWey-Yi Guy3-2/+23
If PAN functionality is present, advertise P2P interface type support and thus support for P2P. However, the support is currently somewhat incomplete -- NoA schedule isn't added to probe responses, and 11b bitrates may be used still, etc. Therefore, make it all optional with a Kconfig option. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]>
2011-01-21iwlwifi: replace minimum slot time constantJohannes Berg3-8/+13
There are a number of places where the minimum slot time is hardcoded to 20 TU, add a new constant for that and use it everywhere. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]>
2011-01-21iwlwifi: implement remain-on-channelJohannes Berg5-2/+130
For device supporting PAN/P2P, use the PAN context to implement the remain-on-channel operation using device offloads so that the filters in the device will be programmed correctly -- otherwise we cannot receive any probe request frames during off-channel periods. Signed-off-by: Johannes Berg <[email protected]>
2011-01-21iwlagn: Enable idle powersave mode in 1000 seriesMeenakshi Venkataraman1-0/+1
The iwlagn powersave algorithm uses the supports_idle parameter to tell the device to save power when it is not associated with an AP and is idle. Enable this feature for the 1000 series of devices. Reported-by: Johannes Berg <[email protected]> Signed-off-by: Meenakshi Venkataraman <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]>
2011-01-21iwlwifi: correct debugfs data dumped from sramJay Sternberg1-25/+56
the sram data dumped through the debugfs interface would only work properly when dumping data on even u32 boundaries and swap bytes based on endianness on that boundary making byte arrays impossible to read. now addresses are displayed at the start of every line and the data is displayed consistently if dumping 1 byte or 20 and regardless of what is the starting address. if no lenght given, address displayed is u32 in device format Signed-off-by: Jay Sternberg <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]>
2011-01-21iwlwifi: add hw rev for 2000 series devicesWey-Yi Guy1-2/+7
2000 series device has different HW rev, add it Signed-off-by: Wey-Yi Guy <[email protected]>
2011-01-21iwlwifi: remove g2 from csr hw revWey-Yi Guy1-2/+3
Remove refernce of g2 and use offical number for hw rev. Signed-off-by: Wey-Yi Guy <[email protected]>
2011-01-21iwlagn: remove Gen2 from KconfigWey-Yi Guy1-2/+3
Remove Gen 2 from Kconfig file since 6005/6030/6150 series of products are released. Signed-off-by: Wey-Yi Guy <[email protected]>
2011-01-21iwlagn: add 2000 series to KconfigWey-Yi Guy1-0/+1
Add 2000 series support to Kconfig Signed-off-by: Wey-Yi Guy <[email protected]>
2011-01-21iwlagn: add 2000 series pci idWey-Yi Guy1-0/+43
Add PCI ID supports for all 2000 series devices Signed-off-by: Wey-Yi Guy <[email protected]>
2011-01-21 iwlagn: 2000 series devices supportWey-Yi Guy3-0/+568
Adding 2000 series devices supports, the 2000 series devices has many different SKUs which includes 1x1 and 2x2 devices,also with and without BT combo. Signed-off-by: Wey-Yi Guy <[email protected]>
2011-01-21iwlagn: add 2000 series EEPROM versionWey-Yi Guy1-0/+10
Adding EEPROM version for 2000 series devices Signed-off-by: Wey-Yi Guy <[email protected]>
2011-01-21iwlagn: remove reference to gen2a and gen2bWey-Yi Guy2-32/+36
Since 6005, 6030 and 6150 series are offical released, remove the reference to gen2x and use the product number instead. Signed-off-by: Wey-Yi Guy <[email protected]>
2011-01-21iwlwifi: use mac80211 throughput triggerWey-Yi Guy14-240/+106
Instead of keeping track of LED blink speed in the driver, use the new mac80211 trigger and link it up with an LED classdev that we now register. This also allows users more flexibility in how they want to have the LED blink or not. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]>
2011-01-21ath9k_hw: replace magic values in register writes with proper definesFelix Fietkau2-12/+14
Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2011-01-21ath5k: Simplify loop when setting up channelsBruno Randolf1-4/+3
Simplify confusing code and get rid of an unnecessary variable. Signed-off-by: Bruno Randolf <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2011-01-21ath9k: remove a bogus error messageFelix Fietkau1-3/+1
When beacons are being added or removed for an interface, ieee80211_beacon_get will sometimes not return a beacon. This is normal and should not result in useless logspam. Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2011-01-21ath5k: Remove redundant sc->curbandBruno Randolf2-9/+4
Remove sc->curband because the band is already stored in the current channel. Signed-off-by: Bruno Randolf <[email protected]> Acked-by: Bob Copeland <[email protected]> Acked-by: Nick Kossifidis <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2011-01-21ath5k: Remove unused sc->curmodeBruno Randolf2-19/+0
sc->curmode is set but never used. Remove it and the helper function. Also the ath5k_rate_update which is refered to in the comment does not exist (any more?) so we don't need to setup the band in that place. Signed-off-by: Bruno Randolf <[email protected]> Acked-by: Bob Copeland <[email protected]> Acked-by: Nick Kossifidis <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2011-01-21ath5: Remove unused CTL definitionsBruno Randolf1-23/+0
They are unused in ath5k and a more detailled definition is in ath/regd_common.h. Signed-off-by: Bruno Randolf <[email protected]> Acked-by: Bob Copeland <[email protected]> Acked-by: Nick Kossifidis <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2011-01-21ath5k: Add 802.11j 4.9GHz channels to allowed channelsBruno Randolf1-6/+13
Add the 802.11j (20MHz channel width) channels to the allowed channels. This still does not enable 802.11j in ath5k since these frequencies are out of the configured range. A later patch will deal with that. Signed-off-by: Bruno Randolf <[email protected]> Acked-by: Bob Copeland <[email protected]> Acked-by: Nick Kossifidis <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2011-01-21ath5k: Rename ath5k_copy_channelsBruno Randolf1-4/+4
Rename ath5k_copy_channels() to ath5k_setup_channels() - nothing is copied here. Signed-off-by: Bruno Randolf <[email protected]> Acked-by: Bob Copeland <[email protected]> Acked-by: Nick Kossifidis <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2011-01-21ath5k: Use mac80211 channel mapping functionBruno Randolf1-15/+8
Use mac80211 channel mapping function instead of own homegrown version. Signed-off-by: Bruno Randolf <[email protected]> Acked-by: Bob Copeland <[email protected]> Signed-off-by: John W. Linville <[email protected]>