aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-01-22Merge branch 'for-john' of ↵John W. Linville32-274/+583
git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next
2013-01-22Merge branch 'for-john' of ↵John W. Linville8-68/+212
git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next
2013-01-22mwifiex: fix typo in PCIe adapter NULL checkAvinash Patil1-1/+1
Add missing "!" as we are supposed to check "!card->adapter" in PCIe suspend handler. Cc: "3.2+" <[email protected]> Signed-off-by: Avinash Patil <[email protected]> Signed-off-by: Bing Zhao <[email protected]> Reviewed-by: Sergey V. <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-22ath9k: allow setting arbitrary antenna masks on AR9003+Felix Fietkau1-0/+3
Cc: [email protected] Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-22ath9k_hw: fix chain swap setting when setting rx chainmask to 5Felix Fietkau1-19/+6
Chain swapping should only be enabled when the EEPROM chainmask is set to 5, regardless of what the runtime chainmask is. Cc: [email protected] Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-22ath9k_hw: fix calibration issues on chainmask that don't include chain 0Felix Fietkau3-1/+4
Cc: [email protected] Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-22rtlwifi: Fix build warning introduced by commit a290593Larry Finger1-2/+2
The kbuild test robot reports the following warning with x86_64-randconfig-x955: warning: (RTL8192CE && RTL8192SE && RTL8192DE && RTL8723AE && RTL8192CU) selects RTLWIFI which has unmet direct dependencies (NETDEVICES && WLAN && (RTL8192CE || RTL8192CU || RTL8192SE || RTL8192DE)) This warning was introduced in commit a290593, "rtlwifi: Modify files for addition of rtl8723ae", and is d ue to a missing dependence of RTLWIFI on RTL8723AE. Signed-off-by: Larry Finger <[email protected]> Cc: kbuild test robot <[email protected]> Reported-by: kbuild test robot <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-22iwlegacy: fix IBSS cleanupStanislaw Gruszka1-21/+14
We do not correctly change interface type when switching from IBSS mode to STA mode, that results in microcode errors. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=886946 Reported-by: Jaroslav Skarvada <[email protected]> Cc: [email protected] Signed-off-by: Stanislaw Gruszka <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-22Merge branch 'for-john' of ↵John W. Linville6-31/+35
git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211
2013-01-22Merge branch 'for-john' of ↵John W. Linville1-0/+2
git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes
2013-01-18mac80211: allow drivers to access IPv6 informationJohannes Berg5-0/+78
To be able to implement NS response offloading (in regular operation or while in WoWLAN) drivers need to know the IPv6 addresses assigned to interfaces. Implement an IPv6 notifier in mac80211 to call the driver when addresses change. Unlike for IPv4, implement it as a callback rather than as a list in the BSS configuration, that is more flexible. Signed-off-by: Johannes Berg <[email protected]>
2013-01-18mac80211: improve aggregation debug messagesJohannes Berg2-22/+36
A lot of the aggregation messages don't indicate the station so they're hard to understand if there are multiple sessions in progress. Make that easier by adding the MAC address to most messages. Also add the TID if it wasn't already there. Signed-off-by: Johannes Berg <[email protected]>
2013-01-18mac80211: remove ARP filter enable/disable logicJohannes Berg8-39/+22
Depending on the driver, having ARP filtering for some addresses may be possible. Remove the logic that tracks whether ARP filter is enabled or not and give the driver the total number of addresses instead of the length of the list so it can make its own decision. Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-01-18mac80211: add op to configure default key idYoni Divinsky4-1/+53
There are hardwares which support offload of data packets for example when auto ARP is enabled the hw will send the ARP response. In such cases if WEP encryption is configured the hw must know the default WEP key in order to encrypt the packets correctly. When hw_accel is enabled and encryption type is set to WEP, the driver should get the default key index from mac80211. Signed-off-by: Yoni Divinsky <[email protected]> [cleanups, fixes, documentation] Signed-off-by: Johannes Berg <[email protected]>
2013-01-18Merge branch 'wl12xx-next' into for-linvilleLuciano Coelho47-2022/+4622
Conflicts: drivers/net/wireless/ti/wl12xx/main.c drivers/net/wireless/ti/wlcore/wlcore.h
2013-01-18Bluetooth: Fix using system-global workqueue when not necessaryJohan Hedberg2-3/+4
There's a per-HCI device workqueue (hdev->workqueue) that should be used for general per-HCI device work (except hdev->req_workqueue that's for hci_request() related work). This patch fixes places using the system-global work queue and makes them use the hdev->workqueue instead. Signed-off-by: Johan Hedberg <[email protected]> Acked-by: Marcel Holtmann <[email protected]> Signed-off-by: Gustavo Padovan <[email protected]>
2013-01-18Bluetooth: Use req_workqueue for hci_request operationsJohan Hedberg2-4/+5
This patch converts work assignment relying on hci_request() from the system-global work queue to the per-HCI device specific work queue (hdev->req_workqueue) intended for hci_request() related tasks. Signed-off-by: Johan Hedberg <[email protected]> Acked-by: Marcel Holtmann <[email protected]> Signed-off-by: Gustavo Padovan <[email protected]>
2013-01-18Bluetooth: Add a new workqueue for hci_request operationsJohan Hedberg2-0/+12
The hci_request function is blocking and cannot be called through the usual per-HCI device workqueue (hdev->workqueue). While hci_request is in progress any other work from the queue, including sending HCI commands to the controller would be blocked and eventually cause the hci_request call to time out. This patch adds a second workqueue to be used by operations needing hci_request and thereby avoiding issues with blocking other workqueue users. Signed-off-by: Johan Hedberg <[email protected]> Acked-by: Marcel Holtmann <[email protected]> Signed-off-by: Gustavo Padovan <[email protected]>
2013-01-16mac80211: split out chandef tracing macrosJohannes Berg1-9/+15
Some new APIs will require tracing a chandef without it being part of a channel context, so separate out the tracing macros for that. Signed-off-by: Johannes Berg <[email protected]>
2013-01-16cfg80211: check radar interface combinationsSimon Wunderlich6-8/+60
To ease further DFS development regarding interface combinations, use the interface combinations structure to test for radar capabilities. Drivers can specify which channel widths they support, and in which modes. Right now only a single AP interface is allowed, but as the DFS code evolves other combinations can be enabled. Signed-off-by: Simon Wunderlich <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-01-16cfg80211: Allow use_mfp to be specified with the connect commandJouni Malinen4-4/+16
The NL80211_ATTR_USE_MFP attribute was originally added for NL80211_CMD_ASSOCIATE, but it is actually as useful (if not even more useful) with NL80211_CMD_CONNECT, so process that attribute with the connect command, too. Signed-off-by: Jouni Malinen <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-01-16mac80211: add encrypt headroom to PERR framesBob Copeland1-1/+3
Mesh PERR action frames are robust and thus may be encrypted, so add proper head/tailroom to allow this. Fixes this warning when operating a Mesh STA on ath5k: WARNING: at net/mac80211/wpa.c:427 ccmp_encrypt_skb.isra.5+0x7b/0x1a0 [mac80211]() Call Trace: [<c011c5e7>] warn_slowpath_common+0x63/0x78 [<c011c60b>] warn_slowpath_null+0xf/0x13 [<e090621d>] ccmp_encrypt_skb.isra.5+0x7b/0x1a0 [mac80211] [<e090685c>] ieee80211_crypto_ccmp_encrypt+0x1f/0x37 [mac80211] [<e0917113>] invoke_tx_handlers+0xcad/0x10bd [mac80211] [<e0917665>] ieee80211_tx+0x87/0xb3 [mac80211] [<e0918932>] ieee80211_tx_pending+0xcc/0x170 [mac80211] [<c0121c43>] tasklet_action+0x3e/0x65 Signed-off-by: Bob Copeland <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-01-16mac80211: set NEED_TXPROCESSING for PERR framesBob Copeland1-0/+1
A user reported warnings in ath5k due to transmitting frames with no rates set up. The frames were Mesh PERR frames, and some debugging showed an empty control block with just the vif pointer: > [ 562.522682] XXX txinfo: 00000000: 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 ................ > [ 562.522688] XXX txinfo: 00000010: 00 00 00 00 00 00 00 00 54 b8 f2 > db 00 00 00 00 ........T....... > [ 562.522693] XXX txinfo: 00000020: 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 ................ Set the IEEE80211_TX_INTFL_NEED_TXPROCESSING flag to ensure that rate control gets run before the frame is sent. Signed-off-by: Bob Copeland <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-01-16nl80211: allow user-space to set address for P2P_DEVICEArend van Spriel2-0/+11
As per email discussion Jouni Malinen pointed out that: "P2P message exchanges can be executed on the current operating channel of any operation (both P2P and non-P2P station). These can be on 5 GHz and even on 60 GHz (so yes, you _can_ do GO Negotiation on 60 GHz). As an example, it would be possible to receive a GO Negotiation Request frame on a 5 GHz only radio and then to complete GO Negotiation on that band. This can happen both when connected to a P2P group (through client discoverability mechanism) and when connected to a legacy AP (assuming the station receive Probe Request frame from full scan in the beginning of P2P device discovery)." This means that P2P messages can be sent over different radio devices. However, these should use the same P2P device address so it should be able to provision this from user-space. This patch adds a parameter for this to struct vif_params which should only be used during creation of the P2P device interface. Cc: Jouni Malinen <[email protected]> Cc: Greg Goldman <[email protected]> Cc: Jithu Jance <[email protected]> Signed-off-by: Arend van Spriel <[email protected]> [add error checking] Signed-off-by: Johannes Berg <[email protected]>
2013-01-16{cfg,nl}80211: mesh power mode primitives and userspace accessMarco Porsch4-1/+113
Add the nl80211_mesh_power_mode enumeration which holds possible values for the mesh power mode. These modes are unknown, active, light sleep and deep sleep. Add power_mode entry to the mesh config structure to hold the user-configured default mesh power mode. This value will be used for new peer links. Add the dot11MeshAwakeWindowDuration value to the mesh config. The awake window is a duration in TU describing how long the STA will stay awake after transmitting its beacon in PS mode. Add access routines to: - get/set local link-specific power mode (STA) - get remote STA's link-specific power mode (STA) - get remote STA's non-peer power mode (STA) - get/set default mesh power mode (mesh config) - get/set mesh awake window duration (mesh config) All config changes may be done at mesh runtime and take effect immediately. Signed-off-by: Marco Porsch <[email protected]> Signed-off-by: Ivan Bezyazychnyy <[email protected]> Signed-off-by: Mike Krinkin <[email protected]> [fix commit message line length, error handling in set station] Signed-off-by: Johannes Berg <[email protected]>
2013-01-16{cfg,nl,mac}80211: set beacon interval and DTIM period on mesh joinMarco Porsch6-3/+27
Move the default mesh beacon interval and DTIM period to cfg80211 and make them accessible to nl80211. This enables setting both values when joining an MBSS. Previously the DTIM parameter was not set by mac80211 so the driver's default value was used. Signed-off-by: Marco Porsch <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-01-16mac80211: move add_tim to subfunctionMarco Porsch1-19/+28
This functions will be used for mesh beacons, too. Signed-off-by: Marco Porsch <[email protected]> [some formatting fixes] Signed-off-by: Johannes Berg <[email protected]>
2013-01-16mac80211: update mesh peer link counter during userspace peeringMarco Porsch3-17/+33
The established peer link count is indicated in mesh beacons and used for other internal tasks. Previously it was not updated when authenticated peering is performed in userspace. Signed-off-by: Marco Porsch <[email protected]> Acked-by: Thomas Pedersen <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-01-16nl80211: add range checks to mesh parametersMarco Porsch1-35/+44
Ranges are taken from IEEE 802.11-2012, common sense or current implementation requirements. Signed-off-by: Marco Porsch <[email protected]> Acked-by: Thomas Pedersen <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-01-16mac80211: allow disable power save in meshChun-Yeow Yeoh1-1/+2
Allow mesh interface to disable the power save which is by default turn on in certain chipset. Testing with 2 units of ZCN-1523H-5-16 featuring AR9280 chipset which have power save enabled by default. Constant reset if the average signal of the peer mesh STA is below -80 dBm and power save is enabled. Signed-off-by: Chun-Yeow Yeoh <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-01-16mac80211: call restart complete at wowlan resume timeJohannes Berg2-4/+8
When the driver's resume function can't completely restore the configuration in the device, it returns 1 from the callback which will be treated like a HW restart request, but done directly. In this case, also call the driver's restart_complete() function so it can finish the reconfiguration there. Signed-off-by: Johannes Berg <[email protected]>
2013-01-16mac80211: fix resume from WoWLANJohannes Berg1-2/+4
My commit 529ba6e9313dbe60dab7e72c6fdf647a012e9f5b ("mac80211: clean up association better in suspend") introduced a bug when resuming from WoWLAN when a device reset is desired. This case must not use the suspend_bss_conf as it hasn't been stored. Signed-off-by: Johannes Berg <[email protected]>
2013-01-16{cfg,mac}80211.h: fix some kernel-doc warningsYacine Belkadi2-80/+153
When building the 80211 DocBook, scripts/kernel-doc reports the following type of warnings: Warning(include/net/cfg80211.h:334): No description found for return value of 'cfg80211_get_chandef_type' These warnings are only reported when scripts/kernel-doc runs in verbose mode. To fix these use "Return:" to describe function return values. Signed-off-by: Yacine Belkadi <[email protected]> [adjust for freq_reg_info() change] Signed-off-by: Johannes Berg <[email protected]>
2013-01-16mac80211: fix monitor mode injectionFelix Fietkau1-3/+6
Channel contexts are not always used with monitor interfaces. If no channel context is set, use the oper channel, otherwise tx fails. Signed-off-by: Felix Fietkau <[email protected]> [check local->use_chanctx] Signed-off-by: Johannes Berg <[email protected]>
2013-01-16mac80211: synchronize scan off/on-channel and PS statesStanislaw Gruszka3-26/+14
Since: commit b23b025fe246f3acc2988eb6d400df34c27cb8ae Author: Ben Greear <[email protected]> Date: Fri Feb 4 11:54:17 2011 -0800 mac80211: Optimize scans on current operating channel. we do not disable PS while going back to operational channel (on ieee80211_scan_state_suspend) and deffer that until scan finish. But since we are allowed to send frames, we can send a frame to AP without PM bit set, so disable PS on AP side. Then when we switch to off-channel (in ieee80211_scan_state_resume) we do not enable PS. Hence we are off-channel with PS disabled, frames are not buffered by AP. To fix remove offchannel_ps_disable argument and always enable PS when going off-channel and disable it when going on-channel, like it was before. Cc: [email protected] # 2.6.39+ Signed-off-by: Stanislaw Gruszka <[email protected]> Tested-by: Seth Forshee <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-01-16mac80211: fix FT roamingJohannes Berg1-1/+11
During FT roaming, wpa_supplicant attempts to set the key before association. This used to be rejected, but as a side effect of my commit 66e67e418908442389d3a9e ("mac80211: redesign auth/assoc") the key was accepted causing hardware crypto to not be used for it as the station isn't added to the driver yet. It would be possible to accept the key and then add it to the driver when the station has been added. However, this may run into issues with drivers using the state- based station adding if they accept the key only after association like it used to be. For now, revert to the behaviour from before the auth and assoc change. Cc: [email protected] Reported-by: Cédric Debarge <[email protected]> Tested-by: Cédric Debarge <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-01-16iwlwifi: improve the reports in TX pathEmmanuel Grumbach4-20/+61
Also when things go wrong (queues don't get emtpy), try to get some data from the HW. Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-01-16iwlwifi: audit single frames from AGG queue in RSEmmanuel Grumbach1-0/+2
The rate scaling won't treat the information in a frame with IEEE80211_TX_CTL_AMPDU set if IEEE80211_TX_STAT_AMPDU is cleared. But all the frames coming from an AGG tx queue have IEEE80211_TX_CTL_AMPDU set, and IEEE80211_TX_STAT_AMPDU is set only if the frame was sent in an AMPDU. This means that all the data in frames in AGG tx queues that aren't sent as an AMPDU is thrown away. This is even more harmful when in bad link conditions, the frames are sent in an AMPDU and then finally sent as single frame. So a lot of failures weren't reported and the rate scaling got stuck in high rates leading to very poor connectivity. Fix that by clearing IEEE80211_TX_CTL_AMPDU when the frame isn't part of an AMPDU. This bug was introduced by 2eb81a40aa521035ff9c8c8309e482dff523f8c9 iwlwifi: don't clear CTL_AMPDU on frame status This fix basically reverts the aforementioned commit. Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-01-16iwlwifi: enable communication with WoWLAN firmwareJohannes Berg7-24/+136
On resuming, the opmode may have to be able to talk to the WoWLAN/D3 firmware in order to query it about its status and wakeup reasons. To do that, the opmode has to call the new d3_resume() transport API which will set up the device for command communcation. Reviewed-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-01-16iwlwifi: simplify scheduler memory clearingJohannes Berg1-15/+7
Writing 130 dwords into the device one by one is rather inefficient, every one needs to lock, grab NIC access (a few register reads/writes) and then write the address and data registers. Use the new memory clearing function to make this easier and faster. Reviewed-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-01-16iwlwifi: allow to zero SRAMEmmanuel Grumbach2-2/+4
Sending a NULL pointer to iwl_trans_write_mem allows now to zero SRAM. Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-01-16iwlwifi: don't enable all interrupts on resumingJohannes Berg1-3/+0
Enabling the RF-kill interrupt is sufficient for getting RF-kill notifications, and no other interrupt is needed as the device isn't functional when suspended and will be restarted/reconfigured when mac80211 resumes it later. Reviewed-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-01-16iwlwifi: don't memset scalar valuesJohannes Berg2-4/+4
The dma_addr_t type is a scalar value, so it should just be assigned, not memset. Reviewed-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-01-14bcma: use consistent case for 'hex' constantsNathan Hintz1-5/+5
Signed-off-by: Nathan Hintz <[email protected]> Acked-by: Hauke Mehrtens <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-14bcma: add support for 1 and 2 byte extended config space accessNathan Hintz1-7/+8
The sanity checks allow 1 and 2 byte reads/writes of the extended PCI config space to proceed; however, the code only supports 4 byte reads/writes. This patch adds support for 1 and 2 byte reads/writes of the extended PCI config space. Signed-off-by: Nathan Hintz <[email protected]> Acked-by: Hauke Mehrtens <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-14bcma: don't map/unmap a subset of the PCI config spaceNathan Hintz1-11/+11
For PCI config space access offsets < 256 for device '0', bcma_extpci_write_config performs an 'ioremap_nocache' on a 4 byte section of the PCI config space (an area that has already previously been mapped), and then subsequently unmaps that 4 byte section. This can't be a good thing for future read access from that now unmapped location. Modify the config space writes to use the existing access functions (similar to how it is done for the reads). Signed-off-by: Nathan Hintz <[email protected]> Acked-by: Hauke Mehrtens <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-14bcma: jump to 'out' label for invalid 'func' valueNathan Hintz1-1/+5
Consistently jump to the 'out' label for error conditions (adds missing check for 'func' validity in bcma_extpci_write_config). Signed-off-by: Nathan Hintz <[email protected]> Acked-by: Hauke Mehrtens <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-14bcma: delete duplicate readlNathan Hintz1-2/+0
The 'val' has already been read by the prior call to 'mips_busprobe32'; this 'readl' is unnecessary. Signed-off-by: Nathan Hintz <[email protected]> Acked-by: Hauke Mehrtens <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-14bcma: fix bcm4716/bcm4748 i2s irqflagNathan Hintz2-0/+29
The default irqflag assignment for the I2S core on some Broadcom 4716/4748 devices is invalid and needs to be corrected (from the Broadcom SDK). Signed-off-by: Nathan Hintz <[email protected]> Acked-by: Hauke Mehrtens <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-14ath9k_hw: ar9002_hw_spectral_scan_config() can be staticFengguang Wu1-1/+1
Signed-off-by: Fengguang Wu <[email protected]> Signed-off-by: John W. Linville <[email protected]>