Felix Fietkau
e67e7a55fd
mt76x2: do not set status->aggr for NULL data frames
...
Avoids data connection stalls when the client toggles powersave mode
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-26 15:16:04 +01:00
Felix Fietkau
c6f8caced2
mt76: let mac80211 validate CCMP PN for fragmented frames
...
The rules for those are more complex and performance is not an issue
here
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-25 11:29:25 +01:00
Felix Fietkau
9b2c77826d
mt76: validate rx CCMP PN
...
Apparently hardware does not perform CCMP PN validation in hardware, so
we need to take care of this in the driver.
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-22 11:06:19 +01:00
Felix Fietkau
461cdf9f01
mt76: pass the per-vif wcid to the core for multicast rx
...
Preparation for adding software rx CCMP PN validation
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-22 11:06:17 +01:00
Felix Fietkau
b0508d3044
mt76: implement A-MPDU rx reordering in the driver code
...
This is required for performing CCMP PN validation in software
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-22 10:43:21 +01:00
Felix Fietkau
58a41f17aa
mt76: get station pointer by wcid and pass it to mac80211
...
Avoids the rhashtable lookup based on the MAC address inside mac80211
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-22 10:14:25 +01:00
Felix Fietkau
ad3f8e924e
mt76: add an intermediate struct for rx status information
...
Preparation for passing in more internal rx data via skb->cb
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-21 10:48:29 +01:00
Felix Fietkau
0f8327abba
mt76x2: fix TSF value in probe responses
...
Like beacons, probe responses need a hardware-generated TSF value. Set
the flag that causes the hw to generate it
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-19 18:07:54 +01:00
Felix Fietkau
68b0cf17ef
mt76x2: add functions for setting extended MAC address registers
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-17 11:50:14 +01:00
Felix Fietkau
d242650960
Revert "mt76x2: remove MAC address limitation for multi-vif setups"
...
This reverts commit 170f3341c6 .
2017-12-17 11:44:47 +01:00
Felix Fietkau
bdc6f2f970
Revert "mt76x2: clean up MAC/BSSID address initialization"
...
This reverts commit 3563b8fd0a .
2017-12-17 11:44:27 +01:00
Lorenzo Bianconi and Felix Fietkau
2d4b8f57cc
mt76x2: mac: fix possible NULL pointer dereferencing in mt76x2_mac_write_txwi()
...
Signed-off-by: Lorenzo Bianconi <[email protected] >
2017-12-14 16:42:01 +01:00
Felix Fietkau
3563b8fd0a
mt76x2: clean up MAC/BSSID address initialization
...
Drop the use of the EEPROM address entirely, rely on interface address
only
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-07 19:51:01 +01:00
Felix Fietkau
170f3341c6
mt76x2: remove MAC address limitation for multi-vif setups
...
The hardware has a separate set of registers to configure a
per-interface MAC address.
Signed-off-by: Lorenzo Bianconi <[email protected] >
Signed-off-by: Felix Fietkau <[email protected] >
2017-12-07 19:50:46 +01:00
Felix Fietkau
b4034cf325
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 18:14:12 +01:00
Felix Fietkau
792859b237
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-11-29 12:18:34 +01:00
Felix Fietkau
0ce792337d
mt76x2: add helper function for setting drop mask
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-11-16 14:07:03 +01:00
Felix Fietkau
d8140b6f40
mt76x2: clear per-WCID tx rate lookup register
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-11-15 18:07:39 +01:00
Felix Fietkau
e4e773440a
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-15 17:59:48 +01:00
Felix Fietkau
37654d7047
mt76x2: fix tx status ampdu length corner case
...
Sometimes the code would return a status update to mac80211 with a-mpdu
length of 0, leading to a crash in minstrel.
Make the logic of counting a-mpdu burst length easier to follow and add
an extra check to prevent this issue from happening.
Signed-off-by: Felix Fietkau <[email protected] >
2017-10-12 12:24:12 +02:00
Felix Fietkau
e78156982f
update to latest mac80211/cfg80211 API changes
...
Signed-off-by: Hauke Mehrtens <[email protected] >
Signed-off-by: Felix Fietkau <[email protected] >
2017-10-05 20:50:48 +02:00
Felix Fietkau
9af67d47e0
mt76x2: return -EOPNOTSUPP on unsupported ciphers
...
Silences a warning when using 802.11w
Signed-off-by: Felix Fietkau <[email protected] >
2017-01-14 23:04:59 +01:00
Lorenzo Bianconi and Felix Fietkau
93907807ca
mt76x2: fix typo in mt76x2_tx_get_max_txpwr_adj() signature
...
Signed-off-by: Lorenzo Bianconi <[email protected] >
2016-09-05 10:43:30 +02:00
Felix Fietkau
becce8bd46
mt76x2: fix more checkpatch errors
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-09-05 10:08:16 +02:00
Felix Fietkau
d7f5112c09
mt76x2: fix checkpatch warnings
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-09-04 18:59:22 +02:00
Felix Fietkau
01c63035b6
move mt76_remove_hdr_pad to mt76x2_mac.c
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-09-04 18:05:40 +02:00
Felix Fietkau
b300bdc42e
use the new bitfield accessor macros
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-09-04 17:37:26 +02:00
Felix Fietkau
53c1b7f6ac
update my email address
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-09-04 17:33:28 +02:00
Lorenzo Bianconi and Felix Fietkau
aa77eadf0e
mt76x2: add TPC support
...
add per-packet tx power adjustment support
Signed-off-by: Lorenzo Bianconi <[email protected] >
2016-08-25 12:57:47 +02:00
Felix Fietkau
ced81a3458
relicense to ISC (except for util.h which is based on GPL'd kernel code
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-07-12 08:38:46 +02:00
Felix Fietkau
f06ed811cd
mt76x2: handle peer in dynamic SMPS mode
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-06-17 14:44:12 +02:00
Felix Fietkau
3c8a4bc30e
mt76x2: implement survey support
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-06-15 16:47:23 +02:00
Felix Fietkau
6c4b37be98
move dev->chandef to mt76 struct
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-06-15 15:47:49 +02:00
Felix Fietkau
e4c05ba162
use nl80211_band instead of ieee80211_band
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-05-14 16:51:44 +02:00
Felix Fietkau
13c29223ef
Use NL80211_BAND_2GHZ instead of IEEE80211_BAND_2GHZ
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-05-14 16:49:30 +02:00
Felix Fietkau
079ad90fe2
update copyright lines
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-02-25 18:09:13 +01:00
Felix Fietkau
6735e9efac
mt76x2: remove mt76x2_mac_skb_tx_overhead, it is unused
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-02-20 20:25:18 +01:00
Felix Fietkau
84a312645c
mt76x2: fix trimming fragmented skbs
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-02-08 14:18:18 +01:00
Felix Fietkau
fa3ee92842
unify tx completion handling, allow a driver callback to clean up tx skbs
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-02-06 16:14:02 +01:00
Felix Fietkau
b08f5433d1
tx: move dma mapping code to core, unify tx callbacks into one that prepares tx_info, skb and txwi
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-02-03 20:14:53 +01:00
Felix Fietkau
435c5408a1
mt76x2: implement fragmented rx support
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-02-01 23:16:51 +01:00
Felix Fietkau
4ea91d1c39
mt76x2: fix FIFO status polling order
...
Reported-by: Johannes Stezenbach <[email protected] >
Signed-off-by: Felix Fietkau <[email protected] >
2016-02-01 13:26:47 +01:00
Felix Fietkau
1389db799a
move txwi cache to core
...
Signed-off-by: Felix Fietkau <[email protected] >
2015-12-17 15:50:01 +01:00
Felix Fietkau
85d62175b5
mt76x2: turn irqsave locks into bh locks for mac related code
...
Signed-off-by: Felix Fietkau <[email protected] >
2015-12-17 15:50:01 +01:00
Felix Fietkau
73956b2f60
mt76x2: make txwi cache storage area opaque in preparation for moving it to generic code
...
Signed-off-by: Felix Fietkau <[email protected] >
2015-12-17 15:49:59 +01:00
Felix Fietkau
57fea83360
mt76x2: rename struct mt76_txwi to mt76x2_txwi
...
Signed-off-by: Felix Fietkau <[email protected] >
2015-12-17 01:22:56 +01:00
Felix Fietkau
42b9c4db0a
move wcid and txq struct to mt76.h in preparation for making tx scheduling code more generic
...
Signed-off-by: Felix Fietkau <[email protected] >
2015-12-16 17:45:46 +01:00
Felix Fietkau
2044de5229
move mt76 state enum/storage to mt76.h
...
Signed-off-by: Felix Fietkau <[email protected] >
2015-12-06 22:05:42 +01:00
Felix Fietkau
66af6b3aad
move low level DMA code to mt76.ko
...
Signed-off-by: Felix Fietkau <[email protected] >
2015-12-06 21:32:43 +01:00
Felix Fietkau
62ecfb9730
move more register accessor functions to mt76.h
...
Signed-off-by: Felix Fietkau <[email protected] >
2015-12-06 18:01:45 +01:00