2020-04-17 07:09:20

by Luca Coelho

[permalink] [raw]
Subject: [PATCH v2 v5.7 0/6] iwlwifi: fixes intended for v5.7 2020-04-03-2

From: Luca Coelho <[email protected]>

Hi,

This is v2 of the series, with the comments addressed. I'll assign
them directly to you, as we had agreed before.

In v2:
* Dropped "iwlwifi: mvm: don't call iwl_mvm_free_inactive_queue()
under RCU", while waiting for Johannes address the comment;

* Dropped "iwlwifi: msix: limit max RX queues for 9000 family",
since, as Emmanuel noted, NSSN is currently disabled;

* Fixed the commit message in "iwlwifi: mvm: limit maximum queue
appropriately", so that it says "queue 31" instead of "queue 32".

This is my first patchset with fixes for v5.7.

The changes are:

* Remove ACK enabled aggregation support flag, since we never really
supported it;
* A few fixes for the queues configuration on the 9000 family of
devices that were causing FW hangs;
* A fix for the TCM statistics gathering code;

Cheers,
Luca.


Ilan Peer (1):
iwlwifi: mvm: Do not declare support for ACK Enabled Aggregation

Johannes Berg (4):
iwlwifi: pcie: actually release queue memory in TVQM
iwlwifi: pcie: indicate correct RB size to device
iwlwifi: mvm: limit maximum queue appropriately
iwlwifi: mvm: fix inactive TID removal return value usage

Mordechay Goodstein (1):
iwlwifi: mvm: beacon statistics shouldn't go backwards

.../net/wireless/intel/iwlwifi/fw/api/txq.h | 6 +++---
.../net/wireless/intel/iwlwifi/iwl-nvm-parse.c | 6 ++----
drivers/net/wireless/intel/iwlwifi/mvm/rx.c | 13 +++++++++++--
drivers/net/wireless/intel/iwlwifi/mvm/sta.c | 9 +++++++--
.../intel/iwlwifi/pcie/ctxt-info-gen3.c | 18 ++++++++++++++----
.../net/wireless/intel/iwlwifi/pcie/tx-gen2.c | 3 +++
6 files changed, 40 insertions(+), 15 deletions(-)

--
2.25.1


2020-04-17 07:09:24

by Luca Coelho

[permalink] [raw]
Subject: [PATCH v2 v5.7 2/6] iwlwifi: mvm: beacon statistics shouldn't go backwards

From: Mordechay Goodstein <[email protected]>

We reset statistics also in case that we didn't reassoc so in
this cases keep last beacon counter.

Cc: [email protected] # v4.19+
Signed-off-by: Mordechay Goodstein <[email protected]>
Signed-off-by: Luca Coelho <[email protected]>
---
drivers/net/wireless/intel/iwlwifi/mvm/rx.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rx.c b/drivers/net/wireless/intel/iwlwifi/mvm/rx.c
index 5ee33c8ae9d2..77b8def26edb 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/rx.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/rx.c
@@ -8,7 +8,7 @@
* Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved.
* Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH
* Copyright(c) 2016 - 2017 Intel Deutschland GmbH
- * Copyright(c) 2018 - 2019 Intel Corporation
+ * Copyright(c) 2018 - 2020 Intel Corporation
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of version 2 of the GNU General Public License as
@@ -31,7 +31,7 @@
* Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved.
* Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH
* Copyright(c) 2016 - 2017 Intel Deutschland GmbH
- * Copyright(c) 2018 - 2019 Intel Corporation
+ * Copyright(c) 2018 - 2020 Intel Corporation
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -566,6 +566,7 @@ void iwl_mvm_rx_rx_mpdu(struct iwl_mvm *mvm, struct napi_struct *napi,

struct iwl_mvm_stat_data {
struct iwl_mvm *mvm;
+ __le32 flags;
__le32 mac_id;
u8 beacon_filter_average_energy;
void *general;
@@ -606,6 +607,13 @@ static void iwl_mvm_stat_iterator(void *_data, u8 *mac,
-general->beacon_average_energy[vif_id];
}

+ /* make sure that beacon statistics don't go backwards with TCM
+ * request to clear statistics
+ */
+ if (le32_to_cpu(data->flags) & IWL_STATISTICS_REPLY_FLG_CLEAR)
+ mvmvif->beacon_stats.accu_num_beacons +=
+ mvmvif->beacon_stats.num_beacons;
+
if (mvmvif->id != id)
return;

@@ -763,6 +771,7 @@ void iwl_mvm_handle_rx_statistics(struct iwl_mvm *mvm,

flags = stats->flag;
}
+ data.flags = flags;

iwl_mvm_rx_stats_check_trigger(mvm, pkt);

--
2.25.1

2020-04-17 07:09:41

by Luca Coelho

[permalink] [raw]
Subject: [PATCH v2 v5.7 6/6] iwlwifi: mvm: fix inactive TID removal return value usage

From: Johannes Berg <[email protected]>

The function iwl_mvm_remove_inactive_tids() returns bool, so we
should just check "if (ret)", not "if (ret >= 0)" (which would
do nothing useful here). We obviously therefore cannot use the
return value of the function for the free_queue, we need to use
the queue (i) we're currently dealing with instead.

Cc: [email protected] # v5.4+
Signed-off-by: Johannes Berg <[email protected]>
Signed-off-by: Luca Coelho <[email protected]>
---
drivers/net/wireless/intel/iwlwifi/mvm/sta.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
index 251d6fbb1da5..56ae72debb96 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
@@ -1169,9 +1169,9 @@ static int iwl_mvm_inactivity_check(struct iwl_mvm *mvm, u8 alloc_for_sta)
inactive_tid_bitmap,
&unshare_queues,
&changetid_queues);
- if (ret >= 0 && free_queue < 0) {
+ if (ret && free_queue < 0) {
queue_owner = sta;
- free_queue = ret;
+ free_queue = i;
}
/* only unlock sta lock - we still need the queue info lock */
spin_unlock_bh(&mvmsta->lock);
--
2.25.1

2020-04-17 07:10:21

by Luca Coelho

[permalink] [raw]
Subject: [PATCH v2 v5.7 1/6] iwlwifi: pcie: actually release queue memory in TVQM

From: Johannes Berg <[email protected]>

The iwl_trans_pcie_dyn_txq_free() function only releases the frames
that may be left on the queue by calling iwl_pcie_gen2_txq_unmap(),
but doesn't actually free the DMA ring or byte-count tables for the
queue. This leads to pretty large memory leaks (at least before my
queue size improvements), in particular in monitor/sniffer mode on
channel hopping since this happens on every channel change.

This was also now more evident after the move to a DMA pool for the
byte count tables, showing messages such as

BUG iwlwifi:bc (...): Objects remaining in iwlwifi:bc on __kmem_cache_shutdown()

This fixes https://bugzilla.kernel.org/show_bug.cgi?id=206811.

Signed-off-by: Johannes Berg <[email protected]>
Fixes: 6b35ff91572f ("iwlwifi: pcie: introduce a000 TX queues management")
Cc: [email protected] # v4.14+
Signed-off-by: Luca Coelho <[email protected]>
---
drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c b/drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c
index 86fc00167817..9664dbc70ef1 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c
+++ b/drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c
@@ -1418,6 +1418,9 @@ void iwl_trans_pcie_dyn_txq_free(struct iwl_trans *trans, int queue)

iwl_pcie_gen2_txq_unmap(trans, queue);

+ iwl_pcie_gen2_txq_free_memory(trans, trans_pcie->txq[queue]);
+ trans_pcie->txq[queue] = NULL;
+
IWL_DEBUG_TX_QUEUES(trans, "Deactivate queue %d\n", queue);
}

--
2.25.1

2020-04-17 07:10:22

by Luca Coelho

[permalink] [raw]
Subject: [PATCH v2 v5.7 3/6] iwlwifi: pcie: indicate correct RB size to device

From: Johannes Berg <[email protected]>

In the context info, we need to indicate the correct RB size
to the device so that it will not think we have 4k when we
only use 2k. This seems to not have caused any issues right
now, likely because the hardware no longer supports putting
multiple entries into a single RB, and practically all of
the entries should be smaller than 2k.

Nevertheless, it's a bug, and we must advertise the right
size to the device.

Note that right now we can only tell it 2k vs. 4k, so for
the cases where we have more, still use 4k. This needs to
be fixed by the firmware first.

Signed-off-by: Johannes Berg <[email protected]>
Fixes: cfdc20efebdc ("iwlwifi: pcie: use partial pages if applicable")
Cc: [email protected] # v5.6
Signed-off-by: Luca Coelho <[email protected]>
---
.../intel/iwlwifi/pcie/ctxt-info-gen3.c | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c b/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c
index 01f248ba8fec..9d5b1e51b50d 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c
+++ b/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c
@@ -129,6 +129,18 @@ int iwl_pcie_ctxt_info_gen3_init(struct iwl_trans *trans,
int cmdq_size = max_t(u32, IWL_CMD_QUEUE_SIZE,
trans->cfg->min_txq_size);

+ switch (trans_pcie->rx_buf_size) {
+ case IWL_AMSDU_DEF:
+ return -EINVAL;
+ case IWL_AMSDU_2K:
+ break;
+ case IWL_AMSDU_4K:
+ case IWL_AMSDU_8K:
+ case IWL_AMSDU_12K:
+ control_flags |= IWL_PRPH_SCRATCH_RB_SIZE_4K;
+ break;
+ }
+
/* Allocate prph scratch */
prph_scratch = dma_alloc_coherent(trans->dev, sizeof(*prph_scratch),
&trans_pcie->prph_scratch_dma_addr,
@@ -143,10 +155,8 @@ int iwl_pcie_ctxt_info_gen3_init(struct iwl_trans *trans,
cpu_to_le16((u16)iwl_read32(trans, CSR_HW_REV));
prph_sc_ctrl->version.size = cpu_to_le16(sizeof(*prph_scratch) / 4);

- control_flags = IWL_PRPH_SCRATCH_RB_SIZE_4K |
- IWL_PRPH_SCRATCH_MTR_MODE |
- (IWL_PRPH_MTR_FORMAT_256B &
- IWL_PRPH_SCRATCH_MTR_FORMAT);
+ control_flags |= IWL_PRPH_SCRATCH_MTR_MODE;
+ control_flags |= IWL_PRPH_MTR_FORMAT_256B & IWL_PRPH_SCRATCH_MTR_FORMAT;

/* initialize RX default queue */
prph_sc_ctrl->rbd_cfg.free_rbd_addr =
--
2.25.1

2020-04-17 07:11:56

by Luca Coelho

[permalink] [raw]
Subject: [PATCH v2 v5.7 4/6] iwlwifi: mvm: limit maximum queue appropriately

From: Johannes Berg <[email protected]>

Due to some hardware issues, queue 31 isn't usable on devices that have
32 queues (7000, 8000, 9000 families), which is correctly reflected in
the configuration and TX queue initialization.

However, the firmware API and queue allocation code assumes that there
are 32 queues, and if something actually attempts to use #31 this leads
to a NULL-pointer dereference since it's not allocated.

Fix this by limiting to 31 in the IWL_MVM_DQA_MAX_DATA_QUEUE, and also
add some code to catch this earlier in the future, if the configuration
changes perhaps.

Cc: [email protected] # v4.9+
Signed-off-by: Johannes Berg <[email protected]>
Signed-off-by: Luca Coelho <[email protected]>
---
drivers/net/wireless/intel/iwlwifi/fw/api/txq.h | 6 +++---
drivers/net/wireless/intel/iwlwifi/mvm/sta.c | 5 +++++
2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/fw/api/txq.h b/drivers/net/wireless/intel/iwlwifi/fw/api/txq.h
index 73196cbc7fbe..75d958bab0e3 100644
--- a/drivers/net/wireless/intel/iwlwifi/fw/api/txq.h
+++ b/drivers/net/wireless/intel/iwlwifi/fw/api/txq.h
@@ -8,7 +8,7 @@
* Copyright(c) 2007 - 2014 Intel Corporation. All rights reserved.
* Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH
* Copyright(c) 2016 - 2017 Intel Deutschland GmbH
- * Copyright(c) 2019 Intel Corporation
+ * Copyright(c) 2019 - 2020 Intel Corporation
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of version 2 of the GNU General Public License as
@@ -31,7 +31,7 @@
* Copyright(c) 2005 - 2014 Intel Corporation. All rights reserved.
* Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH
* Copyright(c) 2016 - 2017 Intel Deutschland GmbH
- * Copyright(c) 2019 Intel Corporation
+ * Copyright(c) 2019 - 2020 Intel Corporation
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -99,7 +99,7 @@ enum iwl_mvm_dqa_txq {
IWL_MVM_DQA_MAX_MGMT_QUEUE = 8,
IWL_MVM_DQA_AP_PROBE_RESP_QUEUE = 9,
IWL_MVM_DQA_MIN_DATA_QUEUE = 10,
- IWL_MVM_DQA_MAX_DATA_QUEUE = 31,
+ IWL_MVM_DQA_MAX_DATA_QUEUE = 30,
};

enum iwl_mvm_tx_fifo {
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
index 64ef3f3ba23b..251d6fbb1da5 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
@@ -722,6 +722,11 @@ static int iwl_mvm_find_free_queue(struct iwl_mvm *mvm, u8 sta_id,

lockdep_assert_held(&mvm->mutex);

+ if (WARN(maxq >= mvm->trans->trans_cfg->base_params->num_of_queues,
+ "max queue %d >= num_of_queues (%d)", maxq,
+ mvm->trans->trans_cfg->base_params->num_of_queues))
+ maxq = mvm->trans->trans_cfg->base_params->num_of_queues - 1;
+
/* This should not be hit with new TX path */
if (WARN_ON(iwl_mvm_has_new_tx_api(mvm)))
return -ENOSPC;
--
2.25.1

2020-04-17 07:11:56

by Luca Coelho

[permalink] [raw]
Subject: [PATCH v2 v5.7 5/6] iwlwifi: mvm: Do not declare support for ACK Enabled Aggregation

From: Ilan Peer <[email protected]>

As this was not supposed to be enabled to begin with.

Cc: [email protected] # v4.19+
Signed-off-by: Ilan Peer <[email protected]>
Signed-off-by: Luca Coelho <[email protected]>
---
drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
index 9e9810d2b262..ccf0bc16465d 100644
--- a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
@@ -532,8 +532,7 @@ static struct ieee80211_sband_iftype_data iwl_he_capa[] = {
IEEE80211_HE_MAC_CAP1_TF_MAC_PAD_DUR_16US |
IEEE80211_HE_MAC_CAP1_MULTI_TID_AGG_RX_QOS_8,
.mac_cap_info[2] =
- IEEE80211_HE_MAC_CAP2_32BIT_BA_BITMAP |
- IEEE80211_HE_MAC_CAP2_ACK_EN,
+ IEEE80211_HE_MAC_CAP2_32BIT_BA_BITMAP,
.mac_cap_info[3] =
IEEE80211_HE_MAC_CAP3_OMI_CONTROL |
IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_VHT_2,
@@ -617,8 +616,7 @@ static struct ieee80211_sband_iftype_data iwl_he_capa[] = {
IEEE80211_HE_MAC_CAP1_TF_MAC_PAD_DUR_16US |
IEEE80211_HE_MAC_CAP1_MULTI_TID_AGG_RX_QOS_8,
.mac_cap_info[2] =
- IEEE80211_HE_MAC_CAP2_BSR |
- IEEE80211_HE_MAC_CAP2_ACK_EN,
+ IEEE80211_HE_MAC_CAP2_BSR,
.mac_cap_info[3] =
IEEE80211_HE_MAC_CAP3_OMI_CONTROL |
IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_VHT_2,
--
2.25.1

2020-04-21 12:41:34

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH v2 v5.7 1/6] iwlwifi: pcie: actually release queue memory in TVQM

Luca Coelho <[email protected]> wrote:

> From: Johannes Berg <[email protected]>
>
> The iwl_trans_pcie_dyn_txq_free() function only releases the frames
> that may be left on the queue by calling iwl_pcie_gen2_txq_unmap(),
> but doesn't actually free the DMA ring or byte-count tables for the
> queue. This leads to pretty large memory leaks (at least before my
> queue size improvements), in particular in monitor/sniffer mode on
> channel hopping since this happens on every channel change.
>
> This was also now more evident after the move to a DMA pool for the
> byte count tables, showing messages such as
>
> BUG iwlwifi:bc (...): Objects remaining in iwlwifi:bc on __kmem_cache_shutdown()
>
> This fixes https://bugzilla.kernel.org/show_bug.cgi?id=206811.
>
> Signed-off-by: Johannes Berg <[email protected]>
> Fixes: 6b35ff91572f ("iwlwifi: pcie: introduce a000 TX queues management")
> Cc: [email protected] # v4.14+
> Signed-off-by: Luca Coelho <[email protected]>

6 patches applied to wireless-drivers.git, thanks.

b98b33d5560a iwlwifi: pcie: actually release queue memory in TVQM
290d5e495183 iwlwifi: mvm: beacon statistics shouldn't go backwards
d8d663970234 iwlwifi: pcie: indicate correct RB size to device
e5b72e3bc476 iwlwifi: mvm: limit maximum queue appropriately
38af8d5a90a8 iwlwifi: mvm: Do not declare support for ACK Enabled Aggregation
e6d419f94331 iwlwifi: mvm: fix inactive TID removal return value usage

--
https://patchwork.kernel.org/patch/11494275/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

2020-04-21 19:56:54

by Sasha Levin

[permalink] [raw]
Subject: Re: [PATCH v2 v5.7 5/6] iwlwifi: mvm: Do not declare support for ACK Enabled Aggregation

Hi

[This is an automated email]

This commit has been processed because it contains a -stable tag.
The stable tag indicates that it's relevant for the following trees: 4.19+

The bot has tested the following trees: v5.6.5, v5.5.18, v5.4.33, v4.19.116.

v5.6.5: Build OK!
v5.5.18: Build OK!
v5.4.33: Build OK!
v4.19.116: Failed to apply! Possible dependencies:
57a3a454f303 ("iwlwifi: split HE capabilities between AP and STA")
80aaa9c16415 ("mac80211: Add he_capa debugfs entry")
add7453ad62f ("wireless: align to draft 11ax D3.0")


NOTE: The patch will not be queued to stable trees until it is upstream.

How should we proceed with this patch?

--
Thanks
Sasha

2020-04-21 19:56:55

by Sasha Levin

[permalink] [raw]
Subject: Re: [PATCH v2 v5.7 2/6] iwlwifi: mvm: beacon statistics shouldn't go backwards

Hi

[This is an automated email]

This commit has been processed because it contains a -stable tag.
The stable tag indicates that it's relevant for the following trees: 4.19+

The bot has tested the following trees: v5.6.5, v5.5.18, v5.4.33, v4.19.116.

v5.6.5: Build OK!
v5.5.18: Build OK!
v5.4.33: Build OK!
v4.19.116: Failed to apply! Possible dependencies:
17b809c9b22e ("iwlwifi: dbg: move debug data to a struct")
22463857a16b ("iwlwifi: receive umac and lmac error table addresses from TLVs")
2d8c261511ab ("iwlwifi: add d3 debug data support")
33bdccb71aa6 ("iwlwifi: remove FSF's address from the license notice")
58d3bef4163b ("iwlwifi: remove all the d0i3 references")
68025d5f9bfe ("iwlwifi: dbg: refactor dump code to improve readability")
8d534e96b500 ("iwlwifi: dbg_ini: create new dump flow and implement prph dump")
a6820511f193 ("iwlwifi: dbg: split iwl_fw_error_dump to two functions")
ae17404e3860 ("iwlwifi: avoid code duplication in stopping fw debug data recording")
c5f97542aa06 ("iwlwifi: change monitor DMA to be coherent")
d25eec305c97 ("iwlwifi: fw: add a restart FW debug function")
da7527173b18 ("iwlwifi: debug flow cleanup")
ea7c2bfdec6d ("Revert "iwlwifi: allow memory debug TLV to specify the memory type"")
f130bb75d881 ("iwlwifi: add FW recovery flow")


NOTE: The patch will not be queued to stable trees until it is upstream.

How should we proceed with this patch?

--
Thanks
Sasha

2020-04-21 19:56:56

by Sasha Levin

[permalink] [raw]
Subject: Re: [PATCH v2 v5.7 4/6] iwlwifi: mvm: limit maximum queue appropriately

Hi

[This is an automated email]

This commit has been processed because it contains a -stable tag.
The stable tag indicates that it's relevant for the following trees: 4.9+

The bot has tested the following trees: v5.6.5, v5.5.18, v5.4.33, v4.19.116, v4.14.176, v4.9.219.

v5.6.5: Build OK!
v5.5.18: Build OK!
v5.4.33: Build OK!
v4.19.116: Failed to apply! Possible dependencies:
1169310fa9a8 ("iwlwifi: refactor txq_alloc for supporting more command type")
2d8c261511ab ("iwlwifi: add d3 debug data support")
718a8b23ad04 ("iwlwifi: unite macros with same meaning")
8093bb6d4fee ("iwlwifi: add PCI IDs for the 22260 device series")
99448a8c1145 ("iwlwifi: mvm: move queue management into sta.c")
9b3089bd820d ("iwlwifi: pcie: allow using tx init for other queues but the command queue")
a98e2802a654 ("iwlwifi: correct one of the PCI struct names")
afc1e3b4fc8f ("iwlwifi: mvm: use correct GP2 register address for 22000 family")
b998fbbd531f ("iwlwifi: implement BISR HW workaround for 22260 devices")
c30aef01bae9 ("iwlwifi: set 512 TX queue slots for AX210 devices")
c96b5eec2105 ("iwlwifi: refactor NIC init sequence")
cefec29ebdde ("iwlwifi: pcie: align licensing to dual GPL/BSD")
ff911dcaa2e4 ("iwlwifi: introduce device family AX210")

v4.14.176: Failed to apply! Possible dependencies:
0e1be40a45d7 ("iwlwifi: mvm: allow reading UMAC error data from SMEM in A000 devices")
251985c92865 ("iwlwifi: mvm: use shorter queues for mgmt and auxilary queues")
2ee824026288 ("iwlwifi: pcie: support context information for 22560 devices")
2f7a3863191a ("iwlwifi: rename the temporary name of A000 to the official 22000")
33708052993c ("iwlwifi: add support for 22560 devices")
3485e76e7349 ("iwlwifi: define minimum valid address for umac_error_event_table in cfg")
5369774c84ea ("iwlwifi: add TX queue size parameter to TX queue allocation")
718a8b23ad04 ("iwlwifi: unite macros with same meaning")
8093bb6d4fee ("iwlwifi: add PCI IDs for the 22260 device series")
80b0ebd488b3 ("Merge tag 'iwlwifi-next-for-kalle-2017-11-29' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next")
ab27926d9e4a ("iwlwifi: fix devices with PCI Device ID 0x34F0 and 11ac RF modules")
cb8550e15bd1 ("iwlwifi: fix multi queue notification for a000 devices")
dd05f9aab442 ("iwlwifi: pcie: dynamic Tx command queue size")
e59a00f48848 ("iwlwifi: fix indentation in a000 family configuration")
fb5b28469d2a ("iwlwifi: mvm: move umac_error_event_table validity check to where it's set")
ff911dcaa2e4 ("iwlwifi: introduce device family AX210")

v4.9.219: Failed to apply! Possible dependencies:
01796ff2fa6e ("iwlwifi: mvm: always free inactive queue when moving ownership")
0aaece81114e ("iwlwifi: split firmware API from iwl-trans.h")
1ea423b0e047 ("iwlwifi: remove unnecessary dev_cmd_headroom parameter")
310181ec34e2 ("iwlwifi: move to TVQM mode")
5594d80e9bf4 ("iwlwifi: support two phys for a000 devices")
623e7766be90 ("iwlwifi: pcie: introduce split point to a000 devices")
65e254821cee ("iwlwifi: mvm: use firmware station PM notification for AP_LINK_PS")
6b35ff91572f ("iwlwifi: pcie: introduce a000 TX queues management")
727c02dfb848 ("iwlwifi: pcie: cleanup rfkill checks")
8236f7db2724 ("iwlwifi: mvm: assign cab queue to the correct station")
87d0e1af9db3 ("iwlwifi: mvm: separate queue mapping from queue enablement")
bb49701b41de ("iwlwifi: mvm: support a000 SCD queue configuration")
cf90da352a32 ("iwlwifi: mvm: use mvm_disable_queue instead of sharing logic")
d172a5eff629 ("iwlwifi: reorganize firmware API")
df88c08d5c7e ("iwlwifi: mvm: release static queues on bcast release")
eda50cde58de ("iwlwifi: pcie: add context information support")


NOTE: The patch will not be queued to stable trees until it is upstream.

How should we proceed with this patch?

--
Thanks
Sasha

2020-04-21 20:14:31

by Luca Coelho

[permalink] [raw]
Subject: Re: [PATCH v2 v5.7 5/6] iwlwifi: mvm: Do not declare support for ACK Enabled Aggregation

On Tue, 2020-04-21 at 19:56 +0000, Sasha Levin wrote:
> Hi
>
> [This is an automated email]
>
> This commit has been processed because it contains a -stable tag.
> The stable tag indicates that it's relevant for the following trees: 4.19+
>
> The bot has tested the following trees: v5.6.5, v5.5.18, v5.4.33, v4.19.116.
>
> v5.6.5: Build OK!
> v5.5.18: Build OK!
> v5.4.33: Build OK!
> v4.19.116: Failed to apply! Possible dependencies:
> 57a3a454f303 ("iwlwifi: split HE capabilities between AP and STA")
> 80aaa9c16415 ("mac80211: Add he_capa debugfs entry")
> add7453ad62f ("wireless: align to draft 11ax D3.0")
>
>
> NOTE: The patch will not be queued to stable trees until it is upstream.
>
> How should we proceed with this patch?

Same thing as with the other patches: We definitely don't want all
these dependencies. Some functions were moved around and that's what's
causing the failures. I'll rebase this patch for those kernels where
it failed and submit separately.

--
Luca.

2020-04-21 20:15:23

by Luca Coelho

[permalink] [raw]
Subject: Re: [PATCH v2 v5.7 2/6] iwlwifi: mvm: beacon statistics shouldn't go backwards

On Tue, 2020-04-21 at 19:56 +0000, Sasha Levin wrote:
> Hi
>
> [This is an automated email]
>
> This commit has been processed because it contains a -stable tag.
> The stable tag indicates that it's relevant for the following trees: 4.19+
>
> The bot has tested the following trees: v5.6.5, v5.5.18, v5.4.33, v4.19.116.
>
> v5.6.5: Build OK!
> v5.5.18: Build OK!
> v5.4.33: Build OK!
> v4.19.116: Failed to apply! Possible dependencies:
> 17b809c9b22e ("iwlwifi: dbg: move debug data to a struct")
> 22463857a16b ("iwlwifi: receive umac and lmac error table addresses from TLVs")
> 2d8c261511ab ("iwlwifi: add d3 debug data support")
> 33bdccb71aa6 ("iwlwifi: remove FSF's address from the license notice")
> 58d3bef4163b ("iwlwifi: remove all the d0i3 references")
> 68025d5f9bfe ("iwlwifi: dbg: refactor dump code to improve readability")
> 8d534e96b500 ("iwlwifi: dbg_ini: create new dump flow and implement prph dump")
> a6820511f193 ("iwlwifi: dbg: split iwl_fw_error_dump to two functions")
> ae17404e3860 ("iwlwifi: avoid code duplication in stopping fw debug data recording")
> c5f97542aa06 ("iwlwifi: change monitor DMA to be coherent")
> d25eec305c97 ("iwlwifi: fw: add a restart FW debug function")
> da7527173b18 ("iwlwifi: debug flow cleanup")
> ea7c2bfdec6d ("Revert "iwlwifi: allow memory debug TLV to specify the memory type"")
> f130bb75d881 ("iwlwifi: add FW recovery flow")
>
>
> NOTE: The patch will not be queued to stable trees until it is upstream.
>
> How should we proceed with this patch?

Same thing as with the other patches: We definitely don't want all
these dependencies. Some functions were moved around and that's what's
causing the failures. I'll rebase this patch for those kernels where
it failed and submit separately.

--
Luca.

2020-04-21 20:15:24

by Luca Coelho

[permalink] [raw]
Subject: Re: [PATCH v2 v5.7 4/6] iwlwifi: mvm: limit maximum queue appropriately

On Tue, 2020-04-21 at 19:56 +0000, Sasha Levin wrote:
> Hi
>
> [This is an automated email]
>
> This commit has been processed because it contains a -stable tag.
> The stable tag indicates that it's relevant for the following trees: 4.9+
>
> The bot has tested the following trees: v5.6.5, v5.5.18, v5.4.33, v4.19.116, v4.14.176, v4.9.219.
>
> v5.6.5: Build OK!
> v5.5.18: Build OK!
> v5.4.33: Build OK!
> v4.19.116: Failed to apply! Possible dependencies:
> 1169310fa9a8 ("iwlwifi: refactor txq_alloc for supporting more command type")
> 2d8c261511ab ("iwlwifi: add d3 debug data support")
> 718a8b23ad04 ("iwlwifi: unite macros with same meaning")
> 8093bb6d4fee ("iwlwifi: add PCI IDs for the 22260 device series")
> 99448a8c1145 ("iwlwifi: mvm: move queue management into sta.c")
> 9b3089bd820d ("iwlwifi: pcie: allow using tx init for other queues but the command queue")
> a98e2802a654 ("iwlwifi: correct one of the PCI struct names")
> afc1e3b4fc8f ("iwlwifi: mvm: use correct GP2 register address for 22000 family")
> b998fbbd531f ("iwlwifi: implement BISR HW workaround for 22260 devices")
> c30aef01bae9 ("iwlwifi: set 512 TX queue slots for AX210 devices")
> c96b5eec2105 ("iwlwifi: refactor NIC init sequence")
> cefec29ebdde ("iwlwifi: pcie: align licensing to dual GPL/BSD")
> ff911dcaa2e4 ("iwlwifi: introduce device family AX210")
>
> v4.14.176: Failed to apply! Possible dependencies:
> 0e1be40a45d7 ("iwlwifi: mvm: allow reading UMAC error data from SMEM in A000 devices")
> 251985c92865 ("iwlwifi: mvm: use shorter queues for mgmt and auxilary queues")
> 2ee824026288 ("iwlwifi: pcie: support context information for 22560 devices")
> 2f7a3863191a ("iwlwifi: rename the temporary name of A000 to the official 22000")
> 33708052993c ("iwlwifi: add support for 22560 devices")
> 3485e76e7349 ("iwlwifi: define minimum valid address for umac_error_event_table in cfg")
> 5369774c84ea ("iwlwifi: add TX queue size parameter to TX queue allocation")
> 718a8b23ad04 ("iwlwifi: unite macros with same meaning")
> 8093bb6d4fee ("iwlwifi: add PCI IDs for the 22260 device series")
> 80b0ebd488b3 ("Merge tag 'iwlwifi-next-for-kalle-2017-11-29' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next")
> ab27926d9e4a ("iwlwifi: fix devices with PCI Device ID 0x34F0 and 11ac RF modules")
> cb8550e15bd1 ("iwlwifi: fix multi queue notification for a000 devices")
> dd05f9aab442 ("iwlwifi: pcie: dynamic Tx command queue size")
> e59a00f48848 ("iwlwifi: fix indentation in a000 family configuration")
> fb5b28469d2a ("iwlwifi: mvm: move umac_error_event_table validity check to where it's set")
> ff911dcaa2e4 ("iwlwifi: introduce device family AX210")
>
> v4.9.219: Failed to apply! Possible dependencies:
> 01796ff2fa6e ("iwlwifi: mvm: always free inactive queue when moving ownership")
> 0aaece81114e ("iwlwifi: split firmware API from iwl-trans.h")
> 1ea423b0e047 ("iwlwifi: remove unnecessary dev_cmd_headroom parameter")
> 310181ec34e2 ("iwlwifi: move to TVQM mode")
> 5594d80e9bf4 ("iwlwifi: support two phys for a000 devices")
> 623e7766be90 ("iwlwifi: pcie: introduce split point to a000 devices")
> 65e254821cee ("iwlwifi: mvm: use firmware station PM notification for AP_LINK_PS")
> 6b35ff91572f ("iwlwifi: pcie: introduce a000 TX queues management")
> 727c02dfb848 ("iwlwifi: pcie: cleanup rfkill checks")
> 8236f7db2724 ("iwlwifi: mvm: assign cab queue to the correct station")
> 87d0e1af9db3 ("iwlwifi: mvm: separate queue mapping from queue enablement")
> bb49701b41de ("iwlwifi: mvm: support a000 SCD queue configuration")
> cf90da352a32 ("iwlwifi: mvm: use mvm_disable_queue instead of sharing logic")
> d172a5eff629 ("iwlwifi: reorganize firmware API")
> df88c08d5c7e ("iwlwifi: mvm: release static queues on bcast release")
> eda50cde58de ("iwlwifi: pcie: add context information support")
>
>
> NOTE: The patch will not be queued to stable trees until it is upstream.
>
> How should we proceed with this patch?

Same thing as with the other patches: We definitely don't want all
these dependencies. Some functions were moved around and that's what's
causing the failures. I'll rebase this patch for those kernels where
it failed and submit separately.

--
Luca.

2020-04-21 20:56:28

by Sasha Levin

[permalink] [raw]
Subject: Re: [PATCH v2 v5.7 5/6] iwlwifi: mvm: Do not declare support for ACK Enabled Aggregation

On Tue, Apr 21, 2020 at 11:13:40PM +0300, Luca Coelho wrote:
>On Tue, 2020-04-21 at 19:56 +0000, Sasha Levin wrote:
>> Hi
>>
>> [This is an automated email]
>>
>> This commit has been processed because it contains a -stable tag.
>> The stable tag indicates that it's relevant for the following trees: 4.19+
>>
>> The bot has tested the following trees: v5.6.5, v5.5.18, v5.4.33, v4.19.116.
>>
>> v5.6.5: Build OK!
>> v5.5.18: Build OK!
>> v5.4.33: Build OK!
>> v4.19.116: Failed to apply! Possible dependencies:
>> 57a3a454f303 ("iwlwifi: split HE capabilities between AP and STA")
>> 80aaa9c16415 ("mac80211: Add he_capa debugfs entry")
>> add7453ad62f ("wireless: align to draft 11ax D3.0")
>>
>>
>> NOTE: The patch will not be queued to stable trees until it is upstream.
>>
>> How should we proceed with this patch?
>
>Same thing as with the other patches: We definitely don't want all
>these dependencies. Some functions were moved around and that's what's
>causing the failures. I'll rebase this patch for those kernels where
>it failed and submit separately.

No problem, this is more of a backport hint rather than us saying "we're
going to take all of this".

And thanks for the (future) backport :)

--
Thanks,
Sasha