lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 23 Dec 2020 13:08:29 +0200
From:   Kalle Valo <kvalo@...eaurora.org>
To:     Abhishek Kumar <kuabhs@...omium.org>
Cc:     Youghandhar Chintala <youghand@...eaurora.org>,
        netdev <netdev@...r.kernel.org>,
        Brian Norris <briannorris@...omium.org>,
        linux-wireless <linux-wireless@...r.kernel.org>,
        LKML <linux-kernel@...r.kernel.org>,
        ath10k <ath10k@...ts.infradead.org>,
        Douglas Anderson <dianders@...omium.org>,
        Rakesh Pillai <pillair@...eaurora.org>,
        Jakub Kicinski <kuba@...nel.org>,
        "David S. Miller" <davem@...emloft.net>
Subject: Re: [PATCH 3/3] ath10k: Set wiphy flag to trigger sta disconnect on hardware restart

Abhishek Kumar <kuabhs@...omium.org> writes:

> On Tue, Dec 15, 2020 at 9:24 AM Youghandhar Chintala
> <youghand@...eaurora.org> wrote:
>>
>> From: Rakesh Pillai <pillair@...eaurora.org>
>>
>> Currently after the hardware restart triggered from the driver,
>> the station interface connection remains intact, since a disconnect
>> trigger is not sent to userspace. This can lead to a problem in
>> hardwares where the wifi mac sequence is added by the firmware.
>>
>> After the firmware restart, during subsytem recovery, the firmware
>> restarts its wifi mac sequence number. Hence AP to which our device
>> is connected will receive frames with a  wifi mac sequence number jump
>> to the past, thereby resulting in the AP dropping all these frames,
>> until the frame arrives with a wifi mac sequence number which AP was
>> expecting.
>>
>> To avoid such frame drops, its better to trigger a station disconnect
>> upon the  hardware restart. Indicate this support via a WIPHY flag
>> to mac80211, if the hardware params flag mentions the support to
>> add wifi mac sequence numbers for TX frames in the firmware.
>>
>> All the other hardwares, except WCN3990, are not affected by this
>> change, since the hardware params flag is not set for any hardware
>> except for WCN3990
>>
>> Tested-on: WCN3990 hw1.0 SNOC WLAN.HL.3.1-01040-QCAHLSWMTPLZ-1
>> Tested-on: QCA6174 hw3.2 PCI WLAN.RM.4.4.1-00110-QCARMSWP-1
>> Tested-on: QCA6174 hw3.2 SDIO WLAN.RMH.4.4.1-00048
>>
>> Signed-off-by: Rakesh Pillai <pillair@...eaurora.org>
>> Signed-off-by: Youghandhar Chintala <youghand@...eaurora.org>
>> ---
>>  drivers/net/wireless/ath/ath10k/core.c | 15 +++++++++++++++
>>  drivers/net/wireless/ath/ath10k/hw.h   |  3 +++
>>  drivers/net/wireless/ath/ath10k/mac.c  |  3 +++
>>  3 files changed, 21 insertions(+)
>>
>> diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
>> index 796107b..4155f94 100644
>> --- a/drivers/net/wireless/ath/ath10k/core.c
>> +++ b/drivers/net/wireless/ath/ath10k/core.c
>> @@ -90,6 +90,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
>>                 .hw_filter_reset_required = true,
>>                 .fw_diag_ce_download = false,
>>                 .tx_stats_over_pktlog = true,
>> +               .tx_mac_seq_by_fw = false,
>
> Probably orthogonal to this patch, there is a static array maintained
> for different hardware configs and the structure members like
> "tx_mac_seq_by_fw" are initialized. This does not seem to be scalable
> and probably these parameters can be auto populated based on FW
> capabilities and so we don't have to maintain the static array.
> Thoughts?

I'm not sure what you mean. But if you are saying that we should move
ath10k_hw_params_list entirely to firmware then that is a huge task as
we would need to make changes in every firmware branch, and there are so
many different branches that I have lost count. And due to backwards
compatibility we still need to have ath10k_hw_params_list in ath10k for
few years.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

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

Powered by blists - more mailing lists