Re: [PATCH 1/3] cfg80211: Add wiphy flag to trigger STA disconnect after hardware restart
From: Abhishek Kumar
Date: Fri Feb 05 2021 - 23:14:01 EST
LGTM! If no one has any objections, I would be happy to see this
considered for upstream.
Reviewed-by: Abhishek Kumar <kuabhs@xxxxxxxxxxxx>
Thanks
Abhishek
On Tue, Dec 15, 2020 at 9:30 AM Youghandhar Chintala
<youghand@xxxxxxxxxxxxxx> wrote:
>
> Many wifi drivers (e.g. ath10k using qualcomm wifi chipsets)
> support silent target hardware restart/recovery. Out of these
> drivers which support target hw restart, certain chipsets
> have the wifi mac sequence number addition for transmitted
> frames done by the firmware. For such chipsets, a silent
> target hardware restart breaks the continuity of the wifi
> mac sequence number, since the wifi mac sequence number
> restarts from 0 after the restart, which in-turn leads
> to the peer access point dropping all the frames from device
> until it receives the frame with the mac sequence which was
> expected by the AP.
>
> Add a wiphy flag for the driver to indicate that it needs a
> trigger for STA disconnect after hardware restart.
>
> Tested on ath10k using WCN3990, QCA6174.
>
> Signed-off-by: Youghandhar Chintala <youghand@xxxxxxxxxxxxxx>
> ---
> include/net/cfg80211.h | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
> index ab249ca..7fba6f6 100644
> --- a/include/net/cfg80211.h
> +++ b/include/net/cfg80211.h
> @@ -4311,6 +4311,9 @@ struct cfg80211_ops {
> * @WIPHY_FLAG_HAS_STATIC_WEP: The device supports static WEP key installation
> * before connection.
> * @WIPHY_FLAG_SUPPORTS_EXT_KEK_KCK: The device supports bigger kek and kck keys
> + * @WIPHY_FLAG_STA_DISCONNECT_ON_HW_RESTART: The device needs a trigger to
> + * disconnect STA after target hardware restart. This flag should be
> + * exposed by drivers which support target recovery.
> */
> enum wiphy_flags {
> WIPHY_FLAG_SUPPORTS_EXT_KEK_KCK = BIT(0),
> @@ -4337,6 +4340,7 @@ enum wiphy_flags {
> WIPHY_FLAG_SUPPORTS_5_10_MHZ = BIT(22),
> WIPHY_FLAG_HAS_CHANNEL_SWITCH = BIT(23),
> WIPHY_FLAG_HAS_STATIC_WEP = BIT(24),
> + WIPHY_FLAG_STA_DISCONNECT_ON_HW_RESTART = BIT(25),
> };
>
> /**
> --
> 2.7.4
>