- 20 7月, 2016 1 次提交
-
-
由 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>
-
- 08 7月, 2016 11 次提交
-
-
由 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>
-
- 06 7月, 2016 1 次提交
-
-
由 Avraham Stern 提交于
Add the following to support beacon report radio measurement with the measurement mode field set to passive or active: 1. Propagate the required scan duration to the device 2. Report the scan start time (in terms of TSF) 3. Report each BSS's detection time (also in terms of TSF) TSF times refer to the BSS that the interface that requested the scan is connected to. Signed-off-by: NAssaf Krauss <assaf.krauss@intel.com> Signed-off-by: NAvraham Stern <avraham.stern@intel.com> [changed ath9k/10k, at76c59x-usb, iwlegacy, wl1251 and wlcore to match the new API] Signed-off-by: NLuca Coelho <luciano.coelho@intel.com> Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
-
- 30 6月, 2016 2 次提交
-
-
由 Sven Eckelmann 提交于
The function ar9003_hw_apply_minccapwr_thresh takes as second parameter not a pointer to the channel but a boolean value describing whether the channel is 2.4GHz or not. This broke (according to the origin commit) the ETSI regulatory compliance on 5GHz channels. Fixes: 3533bf6b ("ath9k: Fix regulatory compliance") Signed-off-by: NSven Eckelmann <sven@narfation.org> Cc: Simon Wunderlich <sw@simonwunderlich.de> Cc: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Eduardo Abinader 提交于
Just setting the proper return for reading beyond the eeprom data. Signed-off-by: NEduardo Abinader <eduardo.abinader@riverbed.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 14 6月, 2016 1 次提交
-
-
由 Miaoqing Pan 提交于
The incorrect GPIO mask cause kernel warning, when AR9462 access GPIO11. Also fix the mask for AR9565. WARNING: CPU: 1 PID: 199 at ../drivers/net/wireless/ath/ath9k/hw.c:2778 ath9k_hw_gpio_get+0x1a9/0x1b0 [ath9k_hw] CPU: 1 PID: 199 Comm: kworker/u16:9 Not tainted 4.7.0-rc1-next-20160530+ #5 Hardware name: Acer TravelMate P243/BA40_HC, BIOS V1.01 04/20/2012 Workqueue: events_power_efficient rfkill_poll 0000000000000000 ffff88002cf73d28 ffffffff813b8ddc 0000000000000000 0000000000000000 ffff88002cf73d68 ffffffff8107a331 00000ada00000086 ffff880148d9c018 000000000000000b ffff880147e68720 0000000000000200 Call Trace: [<ffffffff813b8ddc>] dump_stack+0x63/0x87 [<ffffffff8107a331>] __warn+0xd1/0xf0 [<ffffffff8107a41d>] warn_slowpath_null+0x1d/0x20 [<ffffffffc0775b19>] ath9k_hw_gpio_get+0x1a9/0x1b0 [ath9k_hw] [<ffffffffc047f3e4>] ath9k_rfkill_poll_state+0x34/0x60 [ath9k] [<ffffffffc06dbb53>] ieee80211_rfkill_poll+0x33/0x40 [mac80211] [<ffffffffc03ad65a>] cfg80211_rfkill_poll+0x2a/0xc0 [cfg80211] [<ffffffff817c5514>] rfkill_poll+0x24/0x50 [<ffffffff81093183>] process_one_work+0x153/0x3f0 [<ffffffff8109393b>] worker_thread+0x12b/0x4b0 [<ffffffff81093810>] ? rescuer_thread+0x340/0x340 [<ffffffff81099129>] kthread+0xc9/0xe0 [<ffffffff817d8f1f>] ret_from_fork+0x1f/0x40 [<ffffffff81099060>] ? kthread_park+0x60/0x60 Fixes: a01ab81b ("ath9k: define correct GPIO numbers and bits mask") Reported-by: NSudip Mukherjee <sudip.mukherjee@codethink.co.uk> Tested-by: NSudip Mukherjee <sudip.mukherjee@codethink.co.uk> Signed-off-by: NMiaoqing Pan <miaoqing@codeaurora.org> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 28 5月, 2016 3 次提交
-
-
由 Eduardo Abinader 提交于
On TX99 mode, instead of assuming interrupt mask non ATH9K_INT_GLOBAL, let ath9k_hw_disable_interrupts proper set interrupt ref count. This prevents some PCI PERR occurring specialy when setting 11b and n rates. Signed-off-by: NEduardo Abinader <eduardo.abinader@riverbed.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Eduardo Abinader 提交于
As there is current support for ar9002 tx99 mode, just allow to init debugfs and enable tx99. Signed-off-by: NEduardo Abinader <eduardo.abinader@riverbed.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Eduardo Abinader 提交于
Just some code cleanup to remove an empty if clause. Signed-off-by: NEduardo Abinader <eduardo.abinader@riverbed.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 10 5月, 2016 4 次提交
-
-
由 Helmut Schaa 提交于
Since commit cd6cfd73 "ath9k: do not set half/quarter channel flags in AR_PHY_MODE" the condition "rfMode & (AR_PHY_MODE_QUARTER | AR_PHY_MODE_HALF)" would never evaluate to true. Fix this by using the available IS_CHAN_HALF_RATE and IS_CHAN_QUARTER_RATE marcros instead. Signed-off-by: NHelmut Schaa <helmut.schaa@googlemail.com> Cc: Felix Fietkau <nbd@openwrt.org> Acked-by: NFelix Fietkau <nbd@openwrt.org> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Helmut Schaa 提交于
There's no need to keep the same for loop twice in the code. Move the txpower cap before the loop to reduce code complexity. Signed-off-by: NHelmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Helmut Schaa 提交于
Since ATH9K_TX99 depends on ATH9K_DEBUGFS anyway move it there such that "make menuconfig" will indent TX99 support below ath9k debugging. Signed-off-by: NHelmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Helmut Schaa 提交于
The same functionality as ar9003_hw_tx_power_regwrite is hardcoded in ar9003_hw_tx99_set_txpower. Just reuse the existing ar9003_hw_tx_power_regwrite for TX99 setup too. Signed-off-by: NHelmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 26 4月, 2016 2 次提交
-
-
The Wistron DNMA-92 and Compex WLM200NX have inverted LED polarity (active high instead of active low). The same PCI Subsystem ID is used by both cards, which are based on the same Atheros MB92 design. Cc: <linux-wireless@vger.kernel.org> Cc: <ath9k-devel@qca.qualcomm.com> Cc: <ath9k-devel@lists.ath9k.org> Cc: <stable@vger.kernel.org> Signed-off-by: NVittorio Gambaletta <linuxbugs@vittgam.net> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
The LED can be active high instead of active low on some hardware. Add the led_active_high module parameter. It defaults to -1 to obey platform data as before. Setting the parameter to 1 or 0 will force the LED respectively active high or active low. Cc: <linux-wireless@vger.kernel.org> Cc: <ath9k-devel@qca.qualcomm.com> Cc: <ath9k-devel@lists.ath9k.org> Cc: <stable@vger.kernel.org> Signed-off-by: NVittorio Gambaletta <linuxbugs@vittgam.net> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 19 4月, 2016 3 次提交
-
-
由 Colin Ian King 提交于
ah is written twice with the same value, remove one of the redundant assignments to ah. Signed-off-by: NColin Ian King <colin.king@canonical.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Zefir Kurtisi 提交于
Tx power limitations at upper layers are interpreted in the EIRP domain. When the user requests a given maximum txpower, e.g. with: 'iw phy0 set txpower fixed 1500', he expects the EIRP to be at or below 15dBm. In ath9k_hw_apply_txpower(), the interpretation is different: the antenna-gain is capped against the current txpower limit in the regulatory, but not against the user set value. It ensures that the resulting EIRP is below the limit defined by the active countrycode, but not below the value the user requested. In a scenario like e.g. a) antenna_gain=6 b) countrycode limits to eirp=18 c) user set txpower=15 this will cause a setting for AR_PHY_POWER_TX_RATE regs resulting in an EIRP > 15. This patch ensures that antenna-gain is considered whenever the txpower limit is adjusted and with that the user set limits are kept. Signed-off-by: NZefir Kurtisi <zefir.kurtisi@neratec.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Markus Elfring 提交于
Replace an explicit initialisation for one local variable at the beginning by a conditional assignment. Signed-off-by: NMarkus Elfring <elfring@users.sourceforge.net> Reviewed-by: NOleksij Rempel <linux@rempel-privat.de> Reviewed-by: NJulian Calaby <julian.calaby@gmail.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 16 4月, 2016 1 次提交
-
-
由 Oleksij Rempel 提交于
by moving common code to ar5008_hw_cmn_spur_mitigate i forgot to move mask_m & mask_p initialisation. This coused a performance regression on ar9281. Fixes: f911085f ("ath9k: split ar5008_hw_spur_mitigate and reuse common code in ar9002_hw_spur_mitigate.") Reported-by: NGustav Frederiksen <lkml2017@openmailbox.org> Tested-by: NGustav Frederiksen <lkml2017@openmailbox.org> Cc: <stable@vger.kernel.org> # 4.2+ Signed-off-by: NOleksij Rempel <linux@rempel-privat.de> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 12 4月, 2016 1 次提交
-
-
由 Johannes Berg 提交于
This enum is already perfectly aliased to enum nl80211_band, and the only reason for it is that we get IEEE80211_NUM_BANDS out of it. There's no really good reason to not declare the number of bands in nl80211 though, so do that and remove the cfg80211 one. Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
-
- 08 4月, 2016 2 次提交
-
-
由 Markus Elfring 提交于
In ath9k_hif_usb_rx_stream(), i is initialised in the for loop it's used in. Signed-off-by: NMarkus Elfring <elfring@users.sourceforge.net> Reviewed-by: NOleksij Rempel <linux@rempel-privat.de> [Rewrote commit message] Signed-off-by: NJulian Calaby <julian.calaby@gmail.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Ivan Safonov 提交于
"(thermometer < 0) ? 0 : (thermometer == X)" is equivalent to "thermometer == X" for X >= 0. Signed-off-by: NIvan Safonov <insafonov@gmail.com> [Updated commit message] Signed-off-by: NJulian Calaby <julian.calaby@gmail.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 04 4月, 2016 1 次提交
-
-
由 Miaoqing Pan 提交于
If no valid ADC randomness output, ath9k rng will continuously reading ADC, which will cause high CPU load. So increase the delay to wait for ADC ready. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=114261Signed-off-by: NMiaoqing Pan <miaoqing@codeaurora.org> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 15 3月, 2016 2 次提交
-
-
由 Arnd Bergmann 提交于
A cleanup patch in linux-3.18 moved around some code in the ath9k driver and left some code to be indented in a misleading way, made worse by the addition of some new code for p2p mode, as discovered by a new gcc-6 warning: drivers/net/wireless/ath/ath9k/init.c: In function 'ath9k_set_hw_capab': drivers/net/wireless/ath/ath9k/init.c:851:4: warning: statement is indented as if it were guarded by... [-Wmisleading-indentation] hw->wiphy->iface_combinations = if_comb; ^~ drivers/net/wireless/ath/ath9k/init.c:847:3: note: ...this 'if' clause, but it is not if (ath9k_is_chanctx_enabled()) ^~ The code is in fact correct, but the indentation is not, so I'm reformatting it as it should have been after the original cleanup. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Fixes: 499afacc ("ath9k: Isolate ath9k_use_chanctx module parameter") Fixes: eb61f9f6 ("ath9k: advertise p2p dev support when chanctx") Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Arnd Bergmann 提交于
Code that was added back in 2.6.38 has an obvious overflow when accessing a static array, and at the time it was added only a code comment was put in front of it as a reminder to have it reviewed properly. This has not happened, but gcc-6 now points to the specific overflow: drivers/net/wireless/ath/ath9k/eeprom.c: In function 'ath9k_hw_get_gain_boundaries_pdadcs': drivers/net/wireless/ath/ath9k/eeprom.c:483:44: error: array subscript is above array bounds [-Werror=array-bounds] maxPwrT4[i] = data_9287[idxL].pwrPdg[i][4]; ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ It turns out that the correct array length exists in the local 'intercepts' variable of this function, so we can just use that instead of hardcoding '4', so this patch changes all three instances to use that variable. The other two instances were already correct, but it's more consistent this way. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Fixes: 940cd2c1 ("ath9k_hw: merge the ar9287 version of ath9k_hw_get_gain_boundaries_pdadcs") Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 11 3月, 2016 5 次提交
-
-
由 Miaoqing Pan 提交于
Changes: - restrict only dump MAC registers - skip the register memory holes Data bus error, epc == 831d4040, ra == 831d403c Oops[#1]: CPU: 0 PID: 1536 Comm: cat Not tainted 3.14.0 #3 task: 82f87840 ti: 82f88000 task.ti: 82f88000 $ 0 : 00000000 00000001 deadc0de 1000fc03 $ 4 : b8100200 00000200 831e0000 80218788 $ 8 : 00000030 00000003 00000001 09524547 $12 : 00000000 810594f4 00000000 3a206d61 $16 : 831dd3c0 00000081 00000a00 c05ff000 $20 : 00005af6 00000200 00071b39 00071139 $24 : 00000001 80217760 $28 : 82f88000 82f89c60 c05ffa00 831d403c Hi : 00000000 Lo : 453c0000 epc : 831d4040 ath_ahb_exit+0x2198/0x2904 [ath9k] Not tainted ra : 831d403c ath_ahb_exit+0x2194/0x2904 [ath9k] Status: 1000fc03 KERNEL EXL IE Cause : 4080801c PrId : 00019374 (MIPS 24Kc) Stack : 00000001 00000000 0000000e 80475c60 0000000e 800a8ebc 00000000 00000000 00000001 00000007 00000000 800a9678 00000000 00000004 00000002 00000010 00000000 00000000 00000000 00000000 80475c60 0000000e 000009ec c05ff000 831dd3c0 00000080 00000a00 c05ff000 00005af6 00000200 00071b39 0007114d c05ff9ec 800a9904 831dd3c0 82f89d10 00000001 81082194 831d8f0c 82f89d14 ... Call Trace: [<831d4040>] ath_ahb_exit+0x2198/0x2904 [ath9k] [<831d403c>] ath_ahb_exit+0x2194/0x2904 [ath9k] Signed-off-by: NMiaoqing Pan <miaoqing@codeaurora.org> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Miaoqing Pan 提交于
Allow to set wl_active_time and wl_qc_time for SOC chips, also adjust bt_time_extend and bt_first_slot_time. Signed-off-by: NMiaoqing Pan <miaoqing@codeaurora.org> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Miaoqing Pan 提交于
The registers of AR_GPIO_INPUT_MUX1 and AR_GPIO_PDPU were removed from SOC chips, fix invalid accessing Signed-off-by: NMiaoqing Pan <miaoqing@codeaurora.org> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Miaoqing Pan 提交于
Add bits definition for AR_BT_COEX_MODE2 and AR_BT_COEX_MODE3, which needed by SOC chips (AR9340, AR9531, AR9550, AR9561). Signed-off-by: NMiaoqing Pan <miaoqing@codeaurora.org> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Miaoqing Pan 提交于
Add new platform data to allow override BTCoex default pin. Signed-off-by: NMiaoqing Pan <miaoqing@codeaurora.org> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-