Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> writes: > The purpose of this was to keep all the queues updated with > the Rx sequence numbers because unlikely yet possible > situations where queues can't understand if a specific > packet needs to be dropped or not. > > Unfortunately, it was reported that this caused issues in > our DMA engine. We don't fully understand how this is related, > but this is being currently debugged. For now, just don't send > this notification to the Rx queues. This de-facto reverts my > commit 3c514bf831ac12356b695ff054bef641b9e99593: > > iwlwifi: mvm: add a loose synchronization of the NSSN across Rx queues > > This issue was reported here: > https://bugzilla.kernel.org/show_bug.cgi?id=204873 > https://bugzilla.kernel.org/show_bug.cgi?id=205001 > and others maybe. > > Fixes: 3c514bf831ac ("iwlwifi: mvm: add a loose synchronization of the NSSN across Rx queues") > CC: <stable@xxxxxxxxxxxxxxx> # 5.3+ > Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> > --- > v2: avoid the unused variable warning > --- > drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | 22 ++++++++++++------- > 1 file changed, 14 insertions(+), 8 deletions(-) > > diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c > index 75a7af5ad7b2..392bfa4b496c 100644 > --- a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c > +++ b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c > @@ -514,14 +514,20 @@ static bool iwl_mvm_is_sn_less(u16 sn1, u16 sn2, u16 buffer_size) > > static void iwl_mvm_sync_nssn(struct iwl_mvm *mvm, u8 baid, u16 nssn) > { > - struct iwl_mvm_rss_sync_notif notif = { > - .metadata.type = IWL_MVM_RXQ_NSSN_SYNC, > - .metadata.sync = 0, > - .nssn_sync.baid = baid, > - .nssn_sync.nssn = nssn, > - }; > - > - iwl_mvm_sync_rx_queues_internal(mvm, (void *)¬if, sizeof(notif)); > + /* > + * This allow to synchronize the queues, but it has been reported > + * to cause FH issues. Don't send the notification for now. > + * > + * struct iwl_mvm_rss_sync_notif notif = { > + * .metadata.type = IWL_MVM_RXQ_NSSN_SYNC, > + * .metadata.sync = 0, > + * .nssn_sync.baid = baid, > + * .nssn_sync.nssn = nssn, > + * }; > + * > + * > + * iwl_mvm_sync_rx_queues_internal(mvm, (void *)¬if, sizeof(notif)); > + */ Please don't comment out code, instead remove entirely. You can find the old code from the git history anyway. -- https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches