Felix Fietkau
bfda6a2984
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-30 10:35:37 +01:00
Felix Fietkau
69c07bce67
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-30 10:34:04 +01:00
Felix Fietkau
2b5ea6f4e7
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-30 10:34:03 +01:00
Felix Fietkau
bd7f6e167e
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-30 10:33:41 +01:00
Felix Fietkau
f0a63aeba0
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-30 10:33:40 +01:00
Felix Fietkau
3a3a799042
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-30 10:33:11 +01:00
Felix Fietkau
2cda0ad31f
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-30 10:32:53 +01:00
Felix Fietkau
380a56b74c
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-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
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
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
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
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
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
1be430fc8a
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:43:27 +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
Felix Fietkau
e20a9c13a5
move mmio functions/init to mt76.ko
...
Signed-off-by: Felix Fietkau <[email protected] >
2015-12-06 17:52:00 +01:00
Felix Fietkau
00af5f3105
add accessor function for struct ieee80211_hw from mt76x2_dev
...
Signed-off-by: Felix Fietkau <[email protected] >
2015-12-06 17:37:45 +01:00
Felix Fietkau
1212107d7b
move header pad insert/remove functions and utility header to a new core module
...
Signed-off-by: Felix Fietkau <[email protected] >
2015-12-06 17:01:42 +01:00
Felix Fietkau
a0ee20716f
add a mt76x2_ prefix to all files
...
Signed-off-by: Felix Fietkau <[email protected] >
2015-12-06 16:54:53 +01:00