Fengguang Wu and Felix Fietkau
58dbda75bd
mt76: fix returnvar.cocci warnings
...
drivers/net/wireless/mediatek/mt76/mt76x2_main.c:86:5-8: Unneeded variable: "ret". Return "0" on line 112
Remove unneeded variable used to store return value.
Generated by: scripts/coccinelle/misc/returnvar.cocci
Fixes: a5f6039c8f9c ("mt76: add driver code for MT76x2e")
CC: Felix Fietkau <[email protected] >
Signed-off-by: Fengguang Wu <[email protected] >
Signed-off-by: Kalle Valo <[email protected] >
2018-01-30 10:23:03 +01:00
Felix Fietkau
808c1c571a
mt76x2: add functions for setting extended MAC address registers
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-30 10:23:03 +01:00
Lorenzo Bianconi and Felix Fietkau
dd270b09a7
mt7603: mcu: fix potential NULL pointer dereferencing on failed allocation
...
Signed-off-by: Lorenzo Bianconi <[email protected] >
2018-01-30 10:23:03 +01:00
Lorenzo Bianconi and Felix Fietkau
d543b03eac
mt7603: main: fix possible NULL pointer dereferencing in mt7603_ampdu_action()
...
Initialize mt76_txq pointer after ieee80211_txq pointer check.
Remove space after the pointer cast
Signed-off-by: Lorenzo Bianconi <[email protected] >
2018-01-30 10:23:03 +01:00
Felix Fietkau
d225fa72b8
mt7603: fix configuration for HT40
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-30 10:23:03 +01:00
Lorenzo Bianconi and Felix Fietkau
9659c8c19c
mt76x2: eeprom: fix typo in mt76x2_get_power_info_5g()
...
Fix typo in 5GHz power vs channel eeprom parsing
Fixes: 7bc04215a66b ("mt76: add driver code for MT76x2e")
Signed-off-by: Lorenzo Bianconi <[email protected] >
2018-01-30 10:23:03 +01:00
Lorenzo Bianconi and Felix Fietkau
bf6a341e9a
mt76x2: mac: fix possible NULL pointer dereferencing in mt76x2_mac_write_txwi()
...
Signed-off-by: Lorenzo Bianconi <[email protected] >
2018-01-30 10:23:03 +01:00
Lorenzo Bianconi and Felix Fietkau
0ee431dac9
mt76x2: fix possible NULL pointer dereferencing in mt76x2_ampdu_action()
...
Initialize mt76_txq pointer after ieee80211_txq pointer check.
Remove space after the pointer cast
Fixes: 7bc04215a66b ("mt76: add driver code for MT76x2e")
Signed-off-by: Lorenzo Bianconi <[email protected] >
2018-01-30 10:23:03 +01:00
Colin Ian King and Felix Fietkau
9e1b8edcf3
mt76: fix memcpy to potential null pointer on failed allocation
...
Currently if the allocation of skb fails and returns NULL then the
call to skb_put will cause a null pointer dereference. Fix this by
checking for a null skb and returning NULL. Note that calls to
function mt76x2_mcu_msg_alloc don't directly check the null return
but instead pass the NULL pointer to mt76x2_mcu_msg_send which
checks for the NULL and returns ENOMEM in this case.
Detected by CoverityScan, CID#1462624 ("Dereference null return value")
Fixes: 7bc04215a66b ("mt76: add driver code for MT76x2e")
Signed-off-by: Colin Ian King <[email protected] >
2018-01-30 10:23:03 +01:00
Felix Fietkau
4a11cc1256
mt7603: configure other-unicast drop based on monitor mode setting
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-30 10:23:03 +01:00
Lorenzo Bianconi and Felix Fietkau
a3323a115a
mt76x2: init: fix rx filter default value during init
...
mt76x2_mac_start writes dev->rxfilter to the hardware. It also happens
during init, before dev->rxfilter is filled with the initval register
value, leading to issues like promisc mode being enabled
unconditionally.
Fix this by reading the default value into dev->rxfilter earlier
Signed-off-by: Lorenzo Bianconi <[email protected] >
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-30 10:23:03 +01:00
Felix Fietkau
a3dbfdbc8c
mt76x2: configure rx filter based on monitor mode setting
...
Due to an unrelated issue, the MT_RX_FILTR_CFG_PROMISC flag is currently
unset, which means that monitor mode is unconditionally enabled.
Toggle this flag based on the mac80211 monitor mode setting instead
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-30 10:23:03 +01:00
Felix Fietkau
91cc0d4734
Partially revert "mt7603: use mcu command to set timing registers, fix OFDM timeout values"
...
This reverts commit 268467b9a4 .
It is unnecessary to go through the MCU for this.
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-30 10:23:03 +01:00
Felix Fietkau
af68a59c5f
mt7603: update firmware to version 20160107100755
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-30 10:23:03 +01:00
Felix Fietkau
e326bc2ac4
mt7603: remove some harmless WARN_ONs in rx path
...
Discard affected packets instead. Should reduce the frequency of bogus
bug reports
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-03 21:45:43 +01:00
Felix Fietkau
86ddef3b21
mt76x2: remove some harmless WARN_ONs in tx status and rx path
...
Discard affected packets instead. Should reduce the frequency of bogus
bug reports
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-03 21:45:43 +01:00
Felix Fietkau
7dd2a9e771
mt7603: initialize wtbl ps flag on station add
...
Ensure that the firmware hasn't changed anything
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-03 21:45:43 +01:00
Felix Fietkau
123acf2461
mt7603: set tx-skip flag for powersave clients
...
Helps flush out frames faster
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-03 21:45:43 +01:00
Felix Fietkau
dc7a351279
mt7603: clear wtbl PS bit for powersave responses
...
Avoids filtering frames that are supposed to be sent
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-03 21:45:43 +01:00
Felix Fietkau
41e6a04837
mt7603: make mt7603_mac_watchdog_reset() static
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-03 21:45:43 +01:00
Felix Fietkau
7dc8db1362
mt7603: clean up dma debug reads
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-03 21:45:43 +01:00
Felix Fietkau
4ed7e07cd8
mt7603: warn if PSE reset fails
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-03 21:45:43 +01:00
Felix Fietkau
30750599f0
mt7603: simplify PSE reset
...
Skip PSE client reset, it is done by the firmware already
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-03 21:45:43 +01:00
Felix Fietkau
4490f93669
mt7603: remove WARN_ON_ONCE for workaround checks
...
It can happen during normal operation and it confuses users more than it
actually helps. workaround trigger counts are still available via
debugfs
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-03 21:45:43 +01:00
Felix Fietkau
c86c3a0f5c
mt7603: remove watchdog reset on interface stop
...
It can be harmful in some cases
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-03 21:45:43 +01:00
Felix Fietkau
ea4c2a165a
mt7603: rename MT_PSE_RESET register
...
It is actually a dummy control register used for communicating reset
state with the MCU firmware
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-03 21:45:43 +01:00
Felix Fietkau
e7eaa7c09b
mt7603: rename mt7603_mac_reset to mt7603_pse_reset
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-03 21:45:43 +01:00
Felix Fietkau
c2bd89ee91
mt76x2: convert between per-chain tx power and combined output
...
Using both chains adds max. 3 dBm.
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-03 21:45:43 +01:00
Felix Fietkau
58364a2ac4
mt76x2: initialize channel power limits
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-03 21:45:43 +01:00
Felix Fietkau
1acde21849
mt76x2: add channel argument to eeprom tx power functions
...
Preparation for exposing maximum power to mac80211
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-03 21:45:43 +01:00
Felix Fietkau
0532315f76
mt76x2: increase OFDM SIFS time
...
Fixes throughput issues in combination with LDPC
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-03 21:45:43 +01:00
Felix Fietkau
2c1a77c74f
mt76x2: fix transmission of encrypted management frames
...
Hardware encryption seems to break encrypted unicast mgmt tx.
Unfortunately the hardware TXWI header does not have a bit to indicate
that a frame is software encrypted, so sw-encrypted frames need to use a
different WCID. For that to work, the CCMP PN needs to be generated in
software, which makes things a bit slower, so only do it for keys that
also need to tx management frames.
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-03 21:45:43 +01:00
Felix Fietkau
82acc859fb
mt7603: add missing include required on newer kernels
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-03 21:45:43 +01:00
Felix Fietkau
8c821aa63f
mac80211: add missing include
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-03 21:45:43 +01:00
Felix Fietkau
0a0d16f817
mt76x2: sync tx power related values with reference driver
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-11-16 20:34:46 +01:00
Felix Fietkau
4bc9aa9da7
mt76x2: add more gain tuning based on the latest reference driver
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-11-16 20:34:46 +01:00
Felix Fietkau
60a4d67ca9
mt76x2: implement dynamic AGC tuning based on false packet detection count
...
Significantly improves radio performance
Signed-off-by: Felix Fietkau <[email protected] >
2017-11-16 20:34:46 +01:00
Felix Fietkau
cc588c5e32
mt76x2: sync channel gain value with latest reference driver
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-11-16 20:34:46 +01:00
Felix Fietkau
fe7981687d
mt76x2: fix LNA gain register annotation
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-11-16 20:34:45 +01:00
Felix Fietkau
73902dc8a7
mt76x2: add rx statistics registers
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-11-16 20:34:45 +01:00
Felix Fietkau
7dfb354d3b
mt76: increase rx ring size for mt76x2
...
Should improve performance under load
Signed-off-by: Felix Fietkau <[email protected] >
2017-11-16 20:34:45 +01:00
Felix Fietkau
941555ba89
mt76x2: clear drop mask when sending a PS response
...
Should make handling powersave clients more reliable
Signed-off-by: Felix Fietkau <[email protected] >
2017-11-16 20:34:45 +01:00
Felix Fietkau
3e5afe7ba8
mt76x2: add helper function for setting drop mask
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-11-16 20:34:45 +01:00
Felix Fietkau
0dd8b688b2
mt76x2: clear per-WCID tx rate lookup register
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-11-16 20:34:45 +01:00
Felix Fietkau
f9d9c22491
mt76x2: clear drop flag for all WCIDs on init
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-11-16 20:34:45 +01:00
Felix Fietkau
8f1673a34b
mt76x2: limit client WCID entries to 0-127
...
The rx WCID lookup table and the per-WCID rate table only have 128
entries. All further WCID entries are tx-only.
Signed-off-by: Felix Fietkau <[email protected] >
2017-11-16 20:34:45 +01:00
Felix Fietkau
8e453b32e3
mac80211: move DT led configuration to the "led" child node
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-11-16 20:34:45 +01:00
Felix Fietkau
f5498d2aeb
debugfs: add support for changing the LED pin
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-11-16 20:34:45 +01:00
Felix Fietkau
0b7984e252
mt7603: remove unnecessary mcu register read function
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-11-16 20:34:45 +01:00
Kristian Evensen and Felix Fietkau
9d36ff2ba4
mt76x2: Add PCI identifier for MT7602
...
MT7602 is also available as a PCI card, so add the missing identifier.
Signed-off-by: Kristian Evensen <[email protected] >
2017-11-16 20:34:45 +01:00