Search Linux Wireless

Re: [PATCH] wifi: iwlwifi: Ensure ack flag is properly cleared.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2023-08-08 at 13:56 -0700, greearb@xxxxxxxxxxxxxxx wrote:
> From: Ben Greear <greearb@xxxxxxxxxxxxxxx>
> 
> Debugging indicates that nothing else is clearing the info->flags,
> so some frames were flagged as ACKed when they should not be.
> Explicitly clear the ack flag to ensure this does not happen.
> 
> Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx>
> ---
>  drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
> index 0abc31a6951d..67f208cc19c8 100644
> --- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
> @@ -1863,6 +1863,7 @@ static void iwl_mvm_rx_tx_cmd_single(struct iwl_mvm *mvm,
>                 iwl_trans_free_tx_cmd(mvm->trans, info->driver_data[1]);
>  
>                 memset(&info->status, 0, sizeof(info->status));
> +               info->flags &= ~(IEEE80211_TX_STAT_ACK | IEEE80211_TX_STAT_TX_FILTERED);
>  
>                 /* inform mac80211 about what happened with the frame */
>                 switch (status & TX_STATUS_MSK) {
> @@ -2241,6 +2242,8 @@ static void iwl_mvm_tx_reclaim(struct iwl_mvm *mvm, int sta_id, int tid,
>                  */
>                 if (!is_flush)
>                         info->flags |= IEEE80211_TX_STAT_ACK;
> +               else
> +                       info->flags &= ~IEEE80211_TX_STAT_ACK;
>         }
>  
>         /*
Acked-by: Gregory Greenman <gregory.greenman@xxxxxxxxx>




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux