Skip to content

Commit d7ad141

Browse files
committed
Merge tag 'wireless-drivers-next-2020-05-30' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next
Kalle Valo says: ==================== wireless-drivers-next patches for v5.8 Third set of patches for v5.8. Final new features before the merge window (most likely) opens, noteworthy here is adding WPA3 support to old drivers rt2800, b43 and b43_legacy. Major changes: ath10k * SDIO and SNOC busses are not experimental anymore ath9k * allow receive of broadcast Action frames ath9k_htc * allow receive of broadcast Action frames rt2800 * enable WPA3 support out of box b43 * enable WPA3 support b43_legacy * enable WPA3 support mwifiex * advertise max number of clients to user space mt76 * mt7663: add remain-on-channel support * mt7915: add spatial reuse support * add support for mt7611n hardware iwlwifi * add ACPI DSM support * support enabling 5.2GHz bands in Indonesia via ACPI * bump FW API version to 56 ==================== Signed-off-by: David S. Miller <[email protected]>
2 parents b8ded9d + e948ed0 commit d7ad141

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

120 files changed

+1634
-743
lines changed

MAINTAINERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14066,7 +14066,7 @@ F: drivers/net/wireless/ath/wcn36xx/
1406614066

1406714067
QUANTENNA QTNFMAC WIRELESS DRIVER
1406814068
M: Igor Mitsyanko <[email protected]>
14069-
M: Sergey Matyukevich <smatyukevich@quantenna.com>
14069+
R: Sergey Matyukevich <geomatsi@gmail.com>
1407014070
1407114071
S: Maintained
1407214072
F: drivers/net/wireless/quantenna

drivers/net/wireless/ath/ath10k/Kconfig

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,10 @@ config ATH10K_AHB
2828
This module adds support for AHB bus
2929

3030
config ATH10K_SDIO
31-
tristate "Atheros ath10k SDIO support (EXPERIMENTAL)"
31+
tristate "Atheros ath10k SDIO support"
3232
depends on ATH10K && MMC
3333
---help---
34-
This module adds experimental support for SDIO/MMC bus. Currently
35-
work in progress and will not fully work.
34+
This module adds support for SDIO/MMC bus.
3635

3736
config ATH10K_USB
3837
tristate "Atheros ath10k USB support (EXPERIMENTAL)"
@@ -42,7 +41,7 @@ config ATH10K_USB
4241
work in progress and will not fully work.
4342

4443
config ATH10K_SNOC
45-
tristate "Qualcomm ath10k SNOC support (EXPERIMENTAL)"
44+
tristate "Qualcomm ath10k SNOC support"
4645
depends on ATH10K
4746
depends on ARCH_QCOM || COMPILE_TEST
4847
select QCOM_QMI_HELPERS

drivers/net/wireless/ath/ath10k/ce.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ struct ath10k_ce_ring {
110110
struct ce_desc_64 *shadow_base;
111111

112112
/* keep last */
113-
void *per_transfer_context[0];
113+
void *per_transfer_context[];
114114
};
115115

116116
struct ath10k_ce_pipe {

drivers/net/wireless/ath/ath10k/core.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1262,7 +1262,7 @@ struct ath10k {
12621262
int coex_gpio_pin;
12631263

12641264
/* must be last */
1265-
u8 drv_priv[0] __aligned(sizeof(void *));
1265+
u8 drv_priv[] __aligned(sizeof(void *));
12661266
};
12671267

12681268
static inline bool ath10k_peer_stats_enabled(struct ath10k *ar)

drivers/net/wireless/ath/ath10k/coredump.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ struct ath10k_dump_file_data {
8888
u8 unused[128];
8989

9090
/* struct ath10k_tlv_dump_data + more */
91-
u8 data[0];
91+
u8 data[];
9292
} __packed;
9393

9494
struct ath10k_dump_ram_data_hdr {
@@ -100,7 +100,7 @@ struct ath10k_dump_ram_data_hdr {
100100
/* length of payload data, not including this header */
101101
__le32 length;
102102

103-
u8 data[0];
103+
u8 data[];
104104
};
105105

106106
/* magic number to fill the holes not copied due to sections in regions */

drivers/net/wireless/ath/ath10k/debug.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ struct ath10k_pktlog_hdr {
6565
__le16 log_type; /* Type of log information foll this header */
6666
__le16 size; /* Size of variable length log information in bytes */
6767
__le32 timestamp;
68-
u8 payload[0];
68+
u8 payload[];
6969
} __packed;
7070

7171
/* FIXME: How to calculate the buffer size sanely? */

drivers/net/wireless/ath/ath10k/htt.h

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -289,12 +289,12 @@ struct htt_rx_ring_setup_hdr {
289289

290290
struct htt_rx_ring_setup_32 {
291291
struct htt_rx_ring_setup_hdr hdr;
292-
struct htt_rx_ring_setup_ring32 rings[0];
292+
struct htt_rx_ring_setup_ring32 rings[];
293293
} __packed;
294294

295295
struct htt_rx_ring_setup_64 {
296296
struct htt_rx_ring_setup_hdr hdr;
297-
struct htt_rx_ring_setup_ring64 rings[0];
297+
struct htt_rx_ring_setup_ring64 rings[];
298298
} __packed;
299299

300300
/*
@@ -732,7 +732,7 @@ struct htt_rx_indication {
732732
* %mpdu_ranges starts after &%prefix + roundup(%fw_rx_desc_bytes, 4)
733733
* and has %num_mpdu_ranges elements.
734734
*/
735-
struct htt_rx_indication_mpdu_range mpdu_ranges[0];
735+
struct htt_rx_indication_mpdu_range mpdu_ranges[];
736736
} __packed;
737737

738738
/* High latency version of the RX indication */
@@ -741,7 +741,7 @@ struct htt_rx_indication_hl {
741741
struct htt_rx_indication_ppdu ppdu;
742742
struct htt_rx_indication_prefix prefix;
743743
struct fw_rx_desc_hl fw_desc;
744-
struct htt_rx_indication_mpdu_range mpdu_ranges[0];
744+
struct htt_rx_indication_mpdu_range mpdu_ranges[];
745745
} __packed;
746746

747747
struct htt_hl_rx_desc {
@@ -908,7 +908,7 @@ struct htt_append_retries {
908908
struct htt_data_tx_completion_ext {
909909
struct htt_append_retries a_retries;
910910
__le32 t_stamp;
911-
__le16 msdus_rssi[0];
911+
__le16 msdus_rssi[];
912912
} __packed;
913913

914914
/**
@@ -992,7 +992,7 @@ struct htt_data_tx_completion {
992992
} __packed;
993993
u8 num_msdus;
994994
u8 flags2; /* HTT_TX_CMPL_FLAG_DATA_RSSI */
995-
__le16 msdus[0]; /* variable length based on %num_msdus */
995+
__le16 msdus[]; /* variable length based on %num_msdus */
996996
} __packed;
997997

998998
#define HTT_TX_PPDU_DUR_INFO0_PEER_ID_MASK GENMASK(15, 0)
@@ -1007,7 +1007,7 @@ struct htt_data_tx_ppdu_dur {
10071007

10081008
struct htt_data_tx_compl_ppdu_dur {
10091009
__le32 info0; /* HTT_TX_COMPL_PPDU_DUR_INFO0_ */
1010-
struct htt_data_tx_ppdu_dur ppdu_dur[0];
1010+
struct htt_data_tx_ppdu_dur ppdu_dur[];
10111011
} __packed;
10121012

10131013
struct htt_tx_compl_ind_base {
@@ -1033,7 +1033,7 @@ struct htt_rc_update {
10331033
u8 addr[6];
10341034
u8 num_elems;
10351035
u8 rsvd0;
1036-
struct htt_rc_tx_done_params params[0]; /* variable length %num_elems */
1036+
struct htt_rc_tx_done_params params[]; /* variable length %num_elems */
10371037
} __packed;
10381038

10391039
/* see htt_rx_indication for similar fields and descriptions */
@@ -1050,7 +1050,7 @@ struct htt_rx_fragment_indication {
10501050
__le16 fw_rx_desc_bytes;
10511051
__le16 rsvd0;
10521052

1053-
u8 fw_msdu_rx_desc[0];
1053+
u8 fw_msdu_rx_desc[];
10541054
} __packed;
10551055

10561056
#define ATH10K_IEEE80211_EXTIV BIT(5)
@@ -1075,7 +1075,7 @@ struct htt_rx_pn_ind {
10751075
u8 seqno_end;
10761076
u8 pn_ie_count;
10771077
u8 reserved;
1078-
u8 pn_ies[0];
1078+
u8 pn_ies[];
10791079
} __packed;
10801080

10811081
struct htt_rx_offload_msdu {
@@ -1084,7 +1084,7 @@ struct htt_rx_offload_msdu {
10841084
u8 vdev_id;
10851085
u8 tid;
10861086
u8 fw_desc;
1087-
u8 payload[0];
1087+
u8 payload[];
10881088
} __packed;
10891089

10901090
struct htt_rx_offload_ind {
@@ -1167,7 +1167,7 @@ struct htt_rx_test {
11671167
* a) num_ints * sizeof(__le32)
11681168
* b) num_chars * sizeof(u8) aligned to 4bytes
11691169
*/
1170-
u8 payload[0];
1170+
u8 payload[];
11711171
} __packed;
11721172

11731173
static inline __le32 *htt_rx_test_get_ints(struct htt_rx_test *rx_test)
@@ -1201,7 +1201,7 @@ static inline u8 *htt_rx_test_get_chars(struct htt_rx_test *rx_test)
12011201
*/
12021202
struct htt_pktlog_msg {
12031203
u8 pad[3];
1204-
u8 payload[0];
1204+
u8 payload[];
12051205
} __packed;
12061206

12071207
struct htt_dbg_stats_rx_reorder_stats {
@@ -1490,7 +1490,7 @@ struct htt_stats_conf_item {
14901490
} __packed;
14911491
u8 pad;
14921492
__le16 length;
1493-
u8 payload[0]; /* roundup(length, 4) long */
1493+
u8 payload[]; /* roundup(length, 4) long */
14941494
} __packed;
14951495

14961496
struct htt_stats_conf {
@@ -1499,7 +1499,7 @@ struct htt_stats_conf {
14991499
__le32 cookie_msb;
15001500

15011501
/* each item has variable length! */
1502-
struct htt_stats_conf_item items[0];
1502+
struct htt_stats_conf_item items[];
15031503
} __packed;
15041504

15051505
static inline struct htt_stats_conf_item *htt_stats_conf_next_item(
@@ -1673,8 +1673,8 @@ struct htt_tx_fetch_ind {
16731673
__le32 token;
16741674
__le16 num_resp_ids;
16751675
__le16 num_records;
1676-
struct htt_tx_fetch_record records[0];
16771676
__le32 resp_ids[0]; /* ath10k_htt_get_tx_fetch_ind_resp_ids() */
1677+
struct htt_tx_fetch_record records[];
16781678
} __packed;
16791679

16801680
static inline void *
@@ -1689,13 +1689,13 @@ struct htt_tx_fetch_resp {
16891689
__le16 fetch_seq_num;
16901690
__le16 num_records;
16911691
__le32 token;
1692-
struct htt_tx_fetch_record records[0];
1692+
struct htt_tx_fetch_record records[];
16931693
} __packed;
16941694

16951695
struct htt_tx_fetch_confirm {
16961696
u8 pad0;
16971697
__le16 num_resp_ids;
1698-
__le32 resp_ids[0];
1698+
__le32 resp_ids[];
16991699
} __packed;
17001700

17011701
enum htt_tx_mode_switch_mode {
@@ -1727,7 +1727,7 @@ struct htt_tx_mode_switch_ind {
17271727
__le16 info0; /* HTT_TX_MODE_SWITCH_IND_INFO0_ */
17281728
__le16 info1; /* HTT_TX_MODE_SWITCH_IND_INFO1_ */
17291729
u8 pad1[2];
1730-
struct htt_tx_mode_switch_record records[0];
1730+
struct htt_tx_mode_switch_record records[];
17311731
} __packed;
17321732

17331733
struct htt_channel_change {
@@ -1757,7 +1757,7 @@ struct htt_peer_tx_stats {
17571757
u8 num_ppdu;
17581758
u8 ppdu_len;
17591759
u8 version;
1760-
u8 payload[0];
1760+
u8 payload[];
17611761
} __packed;
17621762

17631763
#define ATH10K_10_2_TX_STATS_OFFSET 136
@@ -2206,7 +2206,7 @@ struct htt_rx_desc {
22062206
struct rx_ppdu_end ppdu_end;
22072207
} __packed;
22082208
u8 rx_hdr_status[RX_HTT_HDR_STATUS_LEN];
2209-
u8 msdu_payload[0];
2209+
u8 msdu_payload[];
22102210
};
22112211

22122212
#define HTT_RX_DESC_HL_INFO_SEQ_NUM_MASK 0x00000fff

drivers/net/wireless/ath/ath10k/hw.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ enum qca9377_chip_id_rev {
165165
struct ath10k_fw_ie {
166166
__le32 id;
167167
__le32 len;
168-
u8 data[0];
168+
u8 data[];
169169
};
170170

171171
enum ath10k_fw_ie_type {

drivers/net/wireless/ath/ath10k/mac.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3967,6 +3967,9 @@ void ath10k_mgmt_over_wmi_tx_work(struct work_struct *work)
39673967
if (ret) {
39683968
ath10k_warn(ar, "failed to transmit management frame by ref via WMI: %d\n",
39693969
ret);
3970+
/* remove this msdu from idr tracking */
3971+
ath10k_wmi_cleanup_mgmt_tx_send(ar, skb);
3972+
39703973
dma_unmap_single(ar->dev, paddr, skb->len,
39713974
DMA_TO_DEVICE);
39723975
ieee80211_free_txskb(ar->hw, skb);

drivers/net/wireless/ath/ath10k/pci.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -178,15 +178,16 @@ struct ath10k_pci {
178178
*/
179179
u32 (*targ_cpu_to_ce_addr)(struct ath10k *ar, u32 addr);
180180

181+
struct ce_attr *attr;
182+
struct ce_pipe_config *pipe_config;
183+
struct ce_service_to_pipe *serv_to_pipe;
184+
181185
/* Keep this entry in the last, memory for struct ath10k_ahb is
182186
* allocated (ahb support enabled case) in the continuation of
183187
* this struct.
184188
*/
185-
struct ath10k_ahb ahb[0];
189+
struct ath10k_ahb ahb[];
186190

187-
struct ce_attr *attr;
188-
struct ce_pipe_config *pipe_config;
189-
struct ce_service_to_pipe *serv_to_pipe;
190191
};
191192

192193
static inline struct ath10k_pci *ath10k_pci_priv(struct ath10k *ar)

0 commit comments

Comments
 (0)