- 20 7月, 2016 2 次提交
-
-
由 Martin Blumenstingl 提交于
There were two paths in the code for "external" eeprom sources. The code in eeprom.c only handled the cases where the eeprom data was loaded via request_firmware. ahb.c and pci.c on the other hand had some duplicate code which was only used when the eeprom data was passed via ath9k_platform_data. With this change all eeprom data handling is now unified in eeprom.c. Signed-off-by: NMartin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Dan Kephart 提交于
When an NL80211_DISCONNECT is sent to cfg80211, the driver's cfg80211 disconnect function sets the sme_state to SME_DISCONNECTED before receiving a WMI_DISCONNECT_EVENT from the firmware. This caused cfg80211 to not know that the connection is disconnected because the driver fails to notify cfg80211 upon receiving WMI_DISCONNECT_EVENT from the firmware believing it is already disconnected. Signed-off-by: NDan Kephart <dan.kephart@lairdtech.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 19 7月, 2016 16 次提交
-
-
由 Pierre Le Magourou 提交于
When disabling tethering after having enabled it, the ath6kl driver does not set the IFF_LOWER_UP flag to 0 (carrier off) on the wlan interface. The upper layers (eg. connman) are not notified of the tethering mode status change. So, tethering can not be activated anymore. This patch adds a netif_carrier_off() call when stopping AP mode to fix the problem. Signed-off-by: NPierre Le Magourou <plemagourou@aldebaran.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Pierre Le Magourou 提交于
One minute after a successful connection, the kernel checks if the frequency and the channel width are well configured for the country we are in. (regulatory domain) ath6kl driver was setting the NL80211_CHAN_HT20 channel without checking for the HT capabilities. (we should have NL80211_CHAN_NO_HT in our case because the firmware did not support HT) This patch adds a check on ht_cap.ht_supported in order to create the channel corresponding to the firmware capabilities. Signed-off-by: NPierre Le Magourou <plemagourou@aldebaran.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Pierre Le Magourou 提交于
When enabling WLAN tethering, a new AP is visible and a STA could connect to it. When the STA tries to authenticate to the newly created AP, the WPA authentication mechanism is stuck in the 1/4 msg of 4-Way Handshake. In ath6kl_rx(), the ath6kl_find_sta() function is looking for the h_source field of the Ethernet frame header received by the STA. The datap pointer that points to the Ethernet frame header is incorrect, and was pointing at the wrong offset in the buffer. This commit adds a pad_before_data_start offset to set the datap pointer to the Ethernet frame header. datap->h_source parameter is now really pointing to the source ethernet address and the authentication process can continue. Signed-off-by: NPierre Le Magourou <plemagourou@aldebaran.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Michal Kazior 提交于
Ideally wake_tx_queue should be used regardless as it is a requirement for reducing bufferbloat and implementing airtime fairness in the future. However some setups (typically low-end platforms hosting QCA988X) suffer performance regressions with the current wake_tx_queue implementation. Therefore disable it unless it is really beneficial with current codebase (which is when firmware supports smart pull-push tx scheduling). Signed-off-by: NMichal Kazior <michal.kazior@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Amitkumar Karwar 提交于
Same skb is being reused for storing command response from firmware in PCIe chipsets. There was a bug while updating the skb length. This patch ensures skb length correctly gets updated based on rx_len. Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Amitkumar Karwar 提交于
In corner case, we may end up processing same interrupt twice. We have a logic to read pending interrupts at the end of interrupt processing routine. It has a race with interrupts read in interrupt handler. This patch solves the problem by ORing the interrupt bitmap in this case. The symptom for this bug is below messages in dmesg log. [ 11.522123] mwifiex_pcie 0000:01:00.0: CMD_RESP: invalid cmd resp [ 11.680412] mwifiex_pcie 0000:01:00.0: There is no command but got cmdrsp Link: https://bugzilla.kernel.org/show_bug.cgi?id=109681Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Karthik D A 提交于
It's been observed that request_irq() failure leads to a system crash due to a bug in mwifiex driver. When this failure happens, mwifiex_add_card() already takes care of clearing and freeing adapter->card pointer. This patch removes the redundant cleanup code causing crash. Signed-off-by: NKarthik D A <karthida@marvell.com> Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Arend Van Spriel 提交于
The sdio dpc starts processing when in SDIOD_STATE_DATA. This state was entered right after firmware download. This patch moves that transition just before enabling sdio interrupt handling thus avoiding watchdog expiry which would put the bus to sleep while probing. Reviewed-by: NHante Meuleman <hante.meuleman@broadcom.com> Reviewed-by: NPieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com> Reviewed-by: NFranky Lin <franky.lin@broadcom.com> Signed-off-by: NArend van Spriel <arend.vanspriel@broadcom.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Arend Van Spriel 提交于
When the host-interface bus has hard time handling transmit packets it informs higher layer about this and it would stop the netdev queue when needed. However, since commit 9cd18359 ("brcmfmac: Make FWS queueing configurable.") this was broken. With this patch the behaviour is restored. Cc: stable@vger.kernel.org # v4.5, v4.6, v4.7 Fixes: 9cd18359 ("brcmfmac: Make FWS queueing configurable.") Tested-by: NPer Förlin <per.forlin@gmail.com> Reviewed-by: NHante Meuleman <hante.meuleman@broadcom.com> Reviewed-by: NPieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com> Reviewed-by: NFranky Lin <franky.lin@broadcom.com> Signed-off-by: NArend van Spriel <arend.vanspriel@broadcom.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Wei Yongjun 提交于
memory is malloced in mwifiex_cfg80211_start_ap() and should be freed before leaving from the error handling cases, otherwise it will cause memory leak. Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Wei Yongjun 提交于
Fixes the following sparse warning: drivers/net/wireless/marvell/libertas/cfg.c:2047:5: warning: symbol 'lbs_set_power_mgmt' was not declared. Should it be static? Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Maxim Altshul 提交于
Adding this opcode, allows the TI wireless driver, to report throughput directly from FW to mac80211. This is used mainly for mesh metric calculation. Signed-off-by: NMaxim Altshul <maxim.altshul@ti.com> [kvalo@codeaurora.org: fix indentation] Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Maxim Altshul 提交于
FW will provide a TX rate per link for each FW status, and wlcore will be able to store the information for the use of the mesh hwmp module. This is used mainly in mesh. Rates are reported when a mesh interface is up. Signed-off-by: NMaxim Altshul <maxim.altshul@ti.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Rafał Miłecki 提交于
This was succesfully tested with 4366B1. A small workaround is needed for the main interface otherwise it would stuck at the hidden state. Signed-off-by: NRafał Miłecki <zajec5@gmail.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Maital Hahn 提交于
1. Added support for interface and role of mesh type. 2. Enabled enable/start of mesh-point role, and opening and closing a connection with a mesh peer. 3. Added multirole combination of mesh and ap under the same limits of dual ap mode. 4. Add support for 'sta_rc_update' opcode for mesh IF. The 'sta_rc_update' opcode is being used in mesh_plink.c. Add support in wlcore to handle this opcode correctly for mesh (as opposed to current implementation that handles STA only). 5. Bumped the firmware version to support new Mesh functionality Signed-off-by: NMaital Hahn <maitalm@ti.com> Signed-off-by: NYaniv Machani <yanivma@ti.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Prasun Maiti 提交于
For multiple REG Host Commands (e.g HostCmd_CMD_802_11_EEPROM_ACCESS, HostCmd_CMD_MAC_REG_ACCESS etc.) "cpu_to_leX"-converted values are saved to driver. So, "leX_to_cpu" conversion is required too many times afterwards in driver. This patch reduces the endian: conversion without saving "cpu_to_leX" converted values in driver. This will convert endianness in prepare command and command response path. Signed-off-by: NPrasun Maiti <prasunmaiti87@gmail.com> Acked-by: NAmitkumar Karwar <akarwar@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 12 7月, 2016 1 次提交
-
-
由 Arnd Bergmann 提交于
The iwl-debug.h header relies in implicit inclusion of linux/device.h and we get a lot of warnings without that: drivers/net/wireless/intel/iwlwifi/iwl-debug.h:44:23: error: 'struct device' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] void __iwl_err(struct device *dev, bool rfkill_prefix, bool only_trace, ^~~~~~ In file included from drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.h:66:0, from drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.c:68: drivers/net/wireless/intel/iwlwifi/iwl-trans.h: In function 'iwl_trans_tx': drivers/net/wireless/intel/iwlwifi/iwl-trans.h:1030:348: error: passing argument 1 of '__iwl_err' from incompatible pointer type [-Werror=incompatible-pointer-types] IWL_ERR(trans, "%s bad state = %d\n", __func__, trans->state); ^ In file included from drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.c:67:0: drivers/net/wireless/intel/iwlwifi/iwl-debug.h:44:6: note: expected 'struct device *' but argument is of type 'struct device *' void __iwl_err(struct device *dev, bool rfkill_prefix, bool only_trace, ^~~~~~~~~ The easiest workaround is to just declare 'struct device' before its first use, rather than including the entire header file. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Fixes: 21cb3222 ("iwlwifi: decouple PCIe transport from mac80211") Acked-by: NLuca Coelho <luciano.coelho@intel.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 11 7月, 2016 1 次提交
-
-
由 Luciano Coelho 提交于
The driver is now ready to load the new firmware versions. Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
-
- 08 7月, 2016 20 次提交
-
-
As hw cycle counters in QCA4019 wraparound independantly in QCA4019 it is possible cycle counter and rx clear counter would wraparound at the same time. Current logic assumes only one of the counters would wraparound at anytime. Fix this by moving 'else' part to another 'if'. Fixes: 8e100354 ("ath10k: fix cycle counter wraparound handling for QCA4019") Signed-off-by: NVasanthakumar Thiagarajan <vthiagar@qti.qualcomm.com> Reviewed-by: NJulian Calaby <julian.calaby@gmail.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Bjorn Andersson 提交于
Sometimes the firmware sends a HAL_DEL_BA_IND, the prima driver silently ignore this message so let's do the same to silence the error message. Cc: Nicolas Dechesne <nicolas.dechesne@linaro.org> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Benjamin Berg 提交于
This patch fixes some issues with interface reconfiguration. It could for example happen that an AP interface in beacon slot 0 was removed leaving an IBSS station in one of the other slots. When this happens the driver never sends out the beacon as it only tries to send a beacon from slot 0. Appart from that the tracking of required changes to the beacon config is relatively complicated and prone to errors. The approach taken here is to solve reconfiguration issues is to reconfigure the beacons when any interface changes. This means that the complexity of deciding whether an interface change may modify the beacon configuration is gone. It also means that the beacon config will be reliably updated when an interface is removed. The issue that a single non-AP interface might not be in beacon slot 0 and wouldn't be send out is solved by moving it into the first slot. The TSF value in hardware is adjusted accordingly so that the timestamp of the beacons stay consistent. Signed-off-by: NBenjamin Berg <benjamin.berg@open-mesh.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Benjamin Berg 提交于
The removed ATH9K_SLOT_TIME_X constants simply map the value in microseconds to the same integer. These constants were not used consistently, so fix the inconsistency issue by replacing all occurances with the integer equivalent. Signed-off-by: NBenjamin Berg <benjamin.berg@open-mesh.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Benjamin Berg 提交于
The ath9k driver modifies the TSF for VIFs for the purpose of sending beacons in a staggered fashion. This patch exposes this VIF specific adjustment of the TSF value to mac80211. Without the change the TSF routines handle the hardware TSF value instead of the actual TSF value as seen on the air. Signed-off-by: NBenjamin Berg <benjamin.berg@open-mesh.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Benjamin Berg 提交于
These changes make ath9k_hw_reset more consistent with other places that handle the TSF value by using the same helper routine. A slight improvement is to not assume that a fixed time of 1.5ms has passed for the initval writes when compared to the first write attempt. Instead the TSF value is re-calculated which will yield a higher accuracy of the restored TSF timer. Signed-off-by: NBenjamin Berg <benjamin.berg@open-mesh.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Benjamin Berg 提交于
The ath9k TSF handling routines need to be aware of the channel context that is being modified. With this change the TSF related values that are stored in each channel context will be correctly tracked and the harware will only be updated if the modified context is currently the active one. Without this change the TSF modifications done using these routines would for example be lost during a hardware reset as done by ath_complete_reset. Signed-off-by: NBenjamin Berg <benjamin.berg@open-mesh.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Benjamin Berg 提交于
Beacons were not send out at (timestamp % beacon_time == 0) for interfaces other than the primary one. To send out beacons with the correct timestamp according to 10.1.3.2 of the 802.11 standard the tsf_adjustment has to be set to the negative time difference instead of positive. This way the later beacons get corrected to have a lower (and similar) timestamp with regard to the beacon from slot 0. I am not aware about any issues that have been caused by this. Signed-off-by: NBenjamin Berg <benjamin.berg@open-mesh.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Martin Blumenstingl 提交于
No functional changes, this simply makes the code easier to understand because all initialization based on ath9k_platform_data is now within one function. Signed-off-by: NMartin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Martin Blumenstingl 提交于
ath9k_hw_init_macaddr unconditionally returns 0 in all cases, making the return value unnecessary. Signed-off-by: NMartin Blumenstingl <martin.blumenstingl@googlemail.com> Reviewed-by: NJulian Calaby <julian.calaby@gmail.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Martin Blumenstingl 提交于
Currently setting the MAC address via ath9k_platform_data works only due to the order in which init.c sets common->macaddr, which is done after ath9k_hw_init_macaddr was executed. It would be better if the latter was independent of the order in which it's being called. Signed-off-by: NMartin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Martin Blumenstingl 提交于
No functional changes - this only removes a variable which is set but never read. Signed-off-by: NMartin Blumenstingl <martin.blumenstingl@googlemail.com> Reviewed-by: NJulian Calaby <julian.calaby@gmail.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Martin Blumenstingl 提交于
Some devices running OpenWrt need this and it makes sense to add this to ath9k_platform_data as the next patches will add a devicetree (boolean) property for it as well. Suggested-by: NVittorio Gambaletta <openwrt@vittgam.net> Signed-off-by: NMartin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Bjorn Andersson 提交于
Fix up the wcn36xx_smd_update_scan_params() to work with non-ancient versions of the firmware and support actually specifying the list of channels. Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Bjorn Andersson 提交于
The CCU block in WCNSS is configured for appropriate routing of interrupts from the DXE to the application cpu, this is not dependant on the iris version (wcn3660 vs wcn3680), but rather if the SoC has a riva or pronto built in. Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Bjorn Andersson 提交于
Split the wcnss mmio space into explicit regions for ccu and dxe and acquire these from the node referenced by the qcom,mmio phandle. Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Bjorn Andersson 提交于
In preparation for handling incoming messages from IRQ context, change the indication list lock to a spinlock Signed-off-by: NBjorn Andersson <bjorn.andersson@sonymobile.com> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Bjorn Andersson 提交于
Merge the two allocation instead of separately allocating room for the indication payload. Signed-off-by: NBjorn Andersson <bjorn.andersson@sonymobile.com> Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Larry Finger 提交于
This driver contains some complicated if ... else if ... else constructions. These are replaced by switch statements to improve readability. Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Larry Finger 提交于
The driver for RTL8192DE chips is converted to use the common routine for getting the hardware information. Reported-by: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-