summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* tipc: convert legacy nl bearer dump to nl compatRichard Alpe2015-02-095-34/+278
| | | | | | | | | | | | | | | | | | | Introduce a framework for dumping netlink data from the new netlink API and formatting it to the old legacy API format. This is done by looping the dump data and calling a format handler for each entity, in this case a bearer. We dump until either all data is dumped or we reach the limited buffer size of the legacy API. Remember, the legacy API doesn't scale. In this commit we convert TIPC_CMD_GET_BEARER_NAMES to use the compat layer. Signed-off-by: Richard Alpe <richard.alpe@ericsson.com> Reviewed-by: Erik Hugne <erik.hugne@ericsson.com> Reviewed-by: Ying Xue <ying.xue@windriver.com> Reviewed-by: Jon Maloy <jon.maloy@ericsson.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* tipc: move and rename the legacy nl api to "nl compat"Richard Alpe2015-02-0913-76/+130
| | | | | | | | | | | | | The new netlink API is no longer "v2" but rather the standard API and the legacy API is now "nl compat". We split them into separate start/stop and put them in different files in order to further distinguish them. Signed-off-by: Richard Alpe <richard.alpe@ericsson.com> Reviewed-by: Erik Hugne <erik.hugne@ericsson.com> Reviewed-by: Ying Xue <ying.xue@windriver.com> Reviewed-by: Jon Maloy <jon.maloy@ericsson.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge tag 'wireless-drivers-next-for-davem-2015-02-07' of ↵David S. Miller2015-02-09173-2183/+6463
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Major changes: iwlwifi: * more work for new devices (4165 / 8260) * cleanups / improvemnts in rate control * fixes for TDLS * major statistics work from Johannes - more to come * improvements for the fw error dump infrastructure * usual amount of small fixes here and there (scan, D0i3 etc...) * add support for beamforming * enable stuck queue detection for iwlmvm * a few fixes for EBS scan * fixes for various failure paths * improvements for TDLS Offchannel wil6210: * performance tuning * some AP features brcm80211: * rework some code in SDIO part of the brcmfmac driver related to suspend/resume that were found doing stress testing * in PCIe part scheduling of worker thread needed to be relaxed * minor fixes and exposing firmware revision information to user-space, ie. ethtool. mwifiex: * enhancements for change virtual interface handling * remove coupling between netdev and FW supported interface combination, now conversion from any type of supported interface types to any other type is possible * DFS support in AP mode ath9k: * fix calibration issues on some boards * Wake-on-WLAN improvements ath10k: * add support for qca6174 hardware * enable RX batching to reduce CPU load Conflicts: drivers/net/wireless/rtlwifi/pci.c Conflict resolution is to get rid of the 'end' label and keep the rest. Signed-off-by: David S. Miller <davem@davemloft.net>
| * Merge ath-next from ath.gitKalle Valo2015-02-0628-435/+2953
| |\ | | | | | | | | | | | | | | | | | | Major changes in ath10k: * add support for qca6174 hardware * enable RX batching to reduce CPU load
| | * ath10k: enable qca6174 hw3.2Michal Kazior2015-02-042-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 3.2 revision has a different target BMI version so it wasn't recognized by ath10k (despite the chip_id rev being on the supported list already). Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: add log level configuration for fw_dbglogSenthilKumar Jegadeesan2015-02-045-16/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce an optional log level configuration for the existing debugfs fw_dbglog file. It allows users to configure the desired log level for firmware dbglog messages. To configure log level as WARN: echo 0xffffffff 2 > /sys/kernel/debug/ieee80211/phy0/ath10k/fw_dbglog The values are: VERBOSE 0 INFO 1 WARN 2 ERR 3 Signed-off-by: SenthilKumar Jegadeesan <sjegadee@qti.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: Use TX cksum offload only for CHECKSUM_PARTIALHelmut Schaa2015-02-041-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise ath10k will just checksum everything even if it did not go through the TCP/IP stack (for example bridged frames). In the worst case this could mean recreating the checksum for incorrect data. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: fix beacon deadlockMichal Kazior2015-02-043-24/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should fix a very rare occurrence of the following deadlock: [<ffffffffa018265e>] ath10k_wmi_tx_beacons_nowait+0x1e/0x50 [ath10k_core] [<ffffffffa01829b6>] ath10k_wmi_op_ep_tx_credits+0x16/0x40 [ath10k_core] [<ffffffffa017d685>] ath10k_htc_send+0x285/0x3d0 [ath10k_core] [<ffffffffa0184b81>] ath10k_wmi_cmd_send_nowait+0x81/0x110 [ath10k_core] [<ffffffffa0184c61>] ath10k_wmi_tx_beacon_nowait.part.33+0x51/0x90 [ath10k_core] [<ffffffffa0184cd0>] ath10k_wmi_tx_beacons_iter+0x30/0x40 [ath10k_core] [<ffffffff81882246>] __iterate_active_interfaces+0xa6/0x100 [<ffffffffa0184ca0>] ? ath10k_wmi_tx_beacon_nowait.part.33+0x90/0x90 [ath10k_core] [<ffffffff818822ae>] ieee80211_iterate_active_interfaces_atomic+0xe/0x10 [<ffffffffa0182676>] ath10k_wmi_tx_beacons_nowait+0x36/0x50 [ath10k_core] [<ffffffffa01829b6>] ath10k_wmi_op_ep_tx_credits+0x16/0x40 [ath10k_core] [<ffffffffa017d140>] ath10k_htc_rx+0x280/0x410 [ath10k_core] [<ffffffffa01bcbf0>] ? ath10k_ce_completed_recv_next+0x60/0x80 [ath10k_pci] [<ffffffffa01bc6ab>] ath10k_pci_ce_recv_data+0x11b/0x1d0 [ath10k_pci] [<ffffffffa01bcf44>] ath10k_ce_per_engine_service+0x64/0xc0 [ath10k_pci] [<ffffffffa01bcfc2>] ath10k_ce_per_engine_service_any+0x22/0x50 [ath10k_pci] [<ffffffffa01bc4d0>] ath10k_pci_tasklet+0x30/0x90 [ath10k_pci] [<ffffffff81055a55>] tasklet_action+0xc5/0x100 To prevent this make sure to release ar->data_lock while calling to ath10k_wmi_beacon_send_ref_nowait(). Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: change dma beacon cmd prototypeMichal Kazior2015-02-043-23/+38
| | | | | | | | | | | | | | | | | | | | | | | | The command logic shouldn't really care about arvif structure. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: prevent setting wrong key idx for stationSenthilKumar Jegadeesan2015-02-042-93/+72Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ath10k driver sets wrong default key idx that results in sending unicast frames with multicast key. The reason for this behavior is that cached broadcast key is installed for station MAC address on association. After dot1x completes, unicast key is installed for station MAC address. Default key idx is set to broadcast key id when driver tries to send broadcast frame. This causes firmware to use broadcast key id to transmit unicast frames to stations. Used TX_USAGE flag to set default key for stations. Added callback for setting unicast default idx which will be invoked on every default key idx configuration. Signed-off-by: SenthilKumar Jegadeesan <sjegadee@qti.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: fix target wakeup timeoutRajkumar Manoharan2015-01-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During drv_start/drv_stop stress testing in ARM platform, sometimes target is taking more that 5ms to wake up. Similar behaviour also noted during driver load and unload iterations. On such cases, the wakup duration lies between 5-6ms. Hence increasing pci wakup timeout 10ms to be more safer. With this changes, able to complete power down/up >100 iterations without any issues. Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: Enable the MCS8 and MCS9 at 2.4G bandYanbo Li2015-01-292-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | Enable the MCS8 and MCS9 support for 2.4G band, it will use these data rate with other devices having the same capability. Signed-off-by: Yanbo Li <yanbol@qti.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: disable sta keepaliveMichal Kazior2015-01-292-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Firmware revisions providing sta keepalive service have it enabled by default. mac80211 already does idle connection polling so it makes no sense to duplicate this in ath10k. mac80211 wouldn't even know of the offloaded keepalive NullFunc frames. This prevents sending out some extraneous frames on the air. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: implement sta keepalive commandJanusz Dziedzic2015-01-294-0/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New wmi-tlv firmware for qca6174 has STA keepalive service available. The service can provide automatic idle connection polling via NullFunc frames to AP when acting as a client. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: use per-vif wmm param setup if possibleMichal Kazior2015-01-291-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | New wmi-tlv firmware for qca6174 supports this. This should fix issues related to multi-vif WMM. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: implement per-vdev wmm param setup commandMichal Kazior2015-01-295-0/+63
| | | | | | | | | | | | | | | | | | | | | | | | New wmi-tlv firmware for qca6174 supports this. This will be used soon. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: move wmm param storage to vifMichal Kazior2015-01-296-34/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mac80211 already requests WMM per vif but firmware wasn't able to handle this until now. However new wmi-tlv firmware for qca6174 is capable of this. This prepares per-vif WMM param setup. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: fix pmf for wmi-tlv on qca6174Marek Kwaczynski2015-01-271-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New wmi-tlv firmware uses HTT 3.0 protocol which uses TX_FRM command for management frames (instead of a dedicated command). To support PMF it is necessary to provide explicit tailroom. Signed-off-by: Marek Kwaczynski <marek.kwaczynski@tieto.com> Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: remove sw encryption for pmfMarek Kwaczynski2015-01-271-4/+1Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | Software encryption was never necessary. Tested with fw 636 and fw 10.x. Signed-off-by: Marek Kwaczynski <marek.kwaczynski@tieto.com> Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: disable irqs after fw crashMichal Kazior2015-01-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It makes little sense to keep handling irqs if fw is dead. This prevents multiple fw register dumps upon crash on some devices (seen on QCA6174). Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: disable uapsd autotriggerMichal Kazior2015-01-271-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only userspace can make an educated decision when a trigger frame is required so make sure the autotrigger service is disabled. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: implement uapsd autotrigger commandJanusz Dziedzic2015-01-273-0/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New wmi-tlv firmware for qca6174 has u-UAPSD autotrigger service. If it is enabled firmware generates trigger frames automatically as configured. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: fix nullfunc workaroundMichal Kazior2015-01-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The workaround couldn't work correctly because the 802.11 header wasn't properly stripped of QoS Data bit so it wasn't recognized in the later parts of tx path as NullFunc frame and ended up in HTT Tx instead of HTT Mgmt Tx. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: fix dtim period with beacon templatesMichal Kazior2015-01-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Firmware supporting beacon templates (i.e. wmi-tlv for qca6174) doesn't implicitly take dtim period from the template. Instead it requires vdev param to be set accordingly. This fixes dtim period being stuck at 3. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: use idr api for msdu_idsMichal Kazior2015-01-273-59/+35Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HTT Tx protocol uses arbitrary host assigned ids too associate with MSDUs when delivering completions. Instead of rolling out own id generation scheme use the tools provided in kernel. This should have little to no effect on performance. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: fix 10.2 fw stats parsingMichal Kazior2015-01-272-2/+212
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both 10.2 firmware binaries 10.2-00082-4 and 10.2.4.20 have introduced ABI changes to fw_stats each. This caused fw_stats to output wrong data. Define new structures and use them to parse the statistics correctly. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: split fw pdev stats parsingMichal Kazior2015-01-272-72/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will make it easier to implement fw stats parsing for firmware 10.2. This also renames a few structures for consistency. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: add support for qca6174Michal Kazior2015-01-279-35/+302
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QCA6174 in combination with new wmi-tlv firmware is capable of multi-channel, beamforming, tdls and other features. This patch just makes it possible to boot these devices and do some basic stuff like connect to an AP without encryption. Some things may not work or may be unreliable. New features will be implemented later. This will be addressed eventually with future patches. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: add support for qca6174 Rx descriptorsMichal Kazior2015-01-272-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QCA6174 chip has an extra 4 bytes in rx_ppdu_end structure which is used in htt_rx_desc and HTT Rx ring offset setup. This is necessary for correct Rx for QCA6174 (otherwise Rx descriptors are overwritten and corrupted). This means QCA988X will have an extra 4 byte padding in Rx descriptor layout which is harmless. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: reset chip before reading chip_id in probeMichal Kazior2015-01-271-12/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are some very rare cases with some hardware configuration that the device doesn't init quickly enough in which case reading chip_id yielded 0. This caused driver to subsequently fail to setup the device. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: implement rx reorder supportMichal Kazior2015-01-275-36/+463
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New firmware and firmware (qca6174 hw3.0+ and fw 266+) are capable of full aggregation rx reordering. If it's enabled then Rx is handled via a new, separate htt event. The rx ring behaviour is changed a little to support the new rx scheme. These changes shouldn't affect qca988x performance. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: introduce struct ath10k_skb_rxcbMichal Kazior2015-01-273-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | It doesn't make much sense to share the ath10k_skb_cb with Rx path. The Rx path doesn't need to keep any mac80211's data. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: implement diag eventMichal Kazior2015-01-272-0/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some firmware revisions may report this event as part of their diagnostics. This avoids `unknown event` warnings and adds tracing for the event. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: implement diag data container eventMichal Kazior2015-01-273-0/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some firmware revisions may report this event as part of their diagnostics. This avoids `unknown event` warnings and adds tracing for the event. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: fix hwmon temperature input unitsRajkumar Manoharan2015-01-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | To be compliant with the hwmon interface the unit needs to be millidegree Celsius. Fix that. Reported-by: Matthias Kaehlcke <mka@google.com> Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: document switch case fall-through in __ath10k_scan_finishJohn W. Linville2015-01-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a comment for indicating that the ATH10K_SCAN_RUNNING case falls through to the ATH10K_SCAN_ABORTING case in __ath10k_scan_finish. This will document that the lack of a break is intentional. Coverity: CID 1260017 Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: prevent fw reg dump spamMichal Kazior2015-01-151-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Originally the explicit fw register dump was added to wait_for_target_init because interrupts are masked early during power_up. Due to some changes in power_up/reset sequences sometimes when fw crashed ath10k would print the dump more than once via hif_stop -> warm_reset -> wait_for_target_init, possibly with different values each. Prevent this by doing the explicit fw register dump only during power_up instead of wait_for_target_init. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: fix duration calculation for quiet paramRajkumar Manoharan2015-01-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The duty cycle (% of quiet duration) is used to put the device in quiet mode for the given period. Currently the quiet duration is wrongly calculated which results in not enabling quiet mode. Fix the calculation as below duration = (period * duty cycle) / 100 Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: implement support for ap beacon offloadingMichal Kazior2015-01-151-0/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New firmware revisions support beacon and probe response templates instead. This means SWBA events are no longer delivered for these firmware revisions. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: implement p2p bcn ie commandMichal Kazior2015-01-154-0/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | Along beacon template host is expected to setup p2p information elements as well. Implement wmi interface for it. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: implement prb tmpl wmi commandMichal Kazior2015-01-154-0/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New firmware revisions with beacon templates need probe templates as well because they don't forward probe requests to host at all. This is required for new firmware to work with direct probe requests (notably required by hidden ssid AP). Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: implement beacon template commandMichal Kazior2015-01-154-0/+103
| | | | | | | | | | | | | | | | | | | | | | | | New firmware revisions may support setting beacon template. Implement wmi interface for it. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: implement new beacon tx status eventMichal Kazior2015-01-152-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | This event is delivered to host by firmware if it supports beacon templates only. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: fix config_enabled check for hwmonRajkumar Manoharan2015-01-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Because of wrong macro check in commit 96bba98393f9 ("ath10k: fix build error when hwmon is off"), hwmon never be enabled. Fix that. Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: Fix potential Rx ring corruptionVasanthakumar Thiagarajan2015-01-131-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When replenishing Rx buffers driver updates the address of the buffer and the index of rx buffer in rx ring to the firmware. Change in order by CPU can cause rx ring corruption. Add memory barrier before updating rx buffer index to guarantee the order. This could fix some instances of rx ring corruption due to done bit in rx attention flag not set. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qti.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: fixup wait_for_completion_timeout return handlingNicholas Mc Guire2015-01-134-7/+5Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | wait_for_completion_timeout does not return negative values so the tests for <= 0 are not needed and the case differentiation in the error handling path unnecessary. Signed-off-by: Nicholas Mc Guire <der.herr@hofr.at> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: fill max_num_vdevs for wmi-tlvMichal Kazior2015-01-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recent commit 30c78167bc6536d9074aa79385a575596343bf69 ("ath10k: set max_num_vdevs based on wmi op version") skipped wmi-tlv case and left max_num_vdevs reset. Make sure it is properly set. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: Remove unused htt->max_throughput_mbpsSujith Manoharan2015-01-132-2/+0Star
| | | | | | | | | | | | | | | | | | | | | htt->max_throughput_mbps is not used anywhere. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: fix error return codeJulia Lawall2015-01-131-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: add support to send delbaRajkumar Manoharan2015-01-131-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This per-station debugfs entry helps to send delba in manual mode for debugging purpose. It accepts tid, initiator and reason code as inputs. To send delba, echo 0 1 37 >/sys/kernel/debug/ieee80211/phyX/netdev:wlanX/ stations/XX:XX:XX:XX:XX:XX/delba Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>