Linux wireless drivers development
 help / color / mirror / Atom feed
* [PATCH] rt2800: enable MFP support unconditionally
@ 2020-05-25 13:45 Rui Salvaterra
  2020-05-25 13:46 ` Rui Salvaterra
  0 siblings, 1 reply; 2+ messages in thread
From: Rui Salvaterra @ 2020-05-25 13:45 UTC (permalink / raw)
  To: johannes
  Cc: stf_xl, julian.calaby, kvalo, Larry.Finger, linux-wireless,
	Rui Salvaterra

This gives us WPA3 support out of the box without having to manually disable
hardware crypto. The driver will fall back to software crypto if the connection
requires management frame protection.

Suggested-by: Stanislaw Gruszka <stf_xl@wp.pl>
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
---
 drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 4 +---
 drivers/net/wireless/ralink/rt2x00/rt2x00mac.c | 3 ++-
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
index 6beac1f74e7c..a779fe771a55 100644
--- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
@@ -9971,9 +9971,7 @@ static int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
 	if (!rt2x00_is_usb(rt2x00dev))
 		ieee80211_hw_set(rt2x00dev->hw, HOST_BROADCAST_PS_BUFFERING);
 
-	/* Set MFP if HW crypto is disabled. */
-	if (rt2800_hwcrypt_disabled(rt2x00dev))
-		ieee80211_hw_set(rt2x00dev->hw, MFP_CAPABLE);
+	ieee80211_hw_set(rt2x00dev->hw, MFP_CAPABLE);
 
 	SET_IEEE80211_DEV(rt2x00dev->hw, rt2x00dev->dev);
 	SET_IEEE80211_PERM_ADDR(rt2x00dev->hw,
diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c b/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c
index 32efbc8e9f92..4f19581edd0f 100644
--- a/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c
+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c
@@ -468,7 +468,8 @@ int rt2x00mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
 	if (!test_bit(DEVICE_STATE_PRESENT, &rt2x00dev->flags))
 		return 0;
 
-	if (!rt2x00_has_cap_hw_crypto(rt2x00dev))
+	/* The hardware can't do MFP */
+	if (!rt2x00_has_cap_hw_crypto(rt2x00dev) || sta->mfp)
 		return -EOPNOTSUPP;
 
 	/*
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] rt2800: enable MFP support unconditionally
  2020-05-25 13:45 [PATCH] rt2800: enable MFP support unconditionally Rui Salvaterra
@ 2020-05-25 13:46 ` Rui Salvaterra
  0 siblings, 0 replies; 2+ messages in thread
From: Rui Salvaterra @ 2020-05-25 13:46 UTC (permalink / raw)
  To: johannes; +Cc: stf_xl, julian.calaby, kvalo, Larry.Finger, linux-wireless

Crap. Please ignore this, I sent the old version by mistake.

On Mon, 25 May 2020 at 14:45, Rui Salvaterra <rsalvaterra@gmail.com> wrote:
>
> This gives us WPA3 support out of the box without having to manually disable
> hardware crypto. The driver will fall back to software crypto if the connection
> requires management frame protection.
>
> Suggested-by: Stanislaw Gruszka <stf_xl@wp.pl>
> Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
> ---
>  drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 4 +---
>  drivers/net/wireless/ralink/rt2x00/rt2x00mac.c | 3 ++-
>  2 files changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
> index 6beac1f74e7c..a779fe771a55 100644
> --- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
> +++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
> @@ -9971,9 +9971,7 @@ static int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
>         if (!rt2x00_is_usb(rt2x00dev))
>                 ieee80211_hw_set(rt2x00dev->hw, HOST_BROADCAST_PS_BUFFERING);
>
> -       /* Set MFP if HW crypto is disabled. */
> -       if (rt2800_hwcrypt_disabled(rt2x00dev))
> -               ieee80211_hw_set(rt2x00dev->hw, MFP_CAPABLE);
> +       ieee80211_hw_set(rt2x00dev->hw, MFP_CAPABLE);
>
>         SET_IEEE80211_DEV(rt2x00dev->hw, rt2x00dev->dev);
>         SET_IEEE80211_PERM_ADDR(rt2x00dev->hw,
> diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c b/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c
> index 32efbc8e9f92..4f19581edd0f 100644
> --- a/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c
> +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c
> @@ -468,7 +468,8 @@ int rt2x00mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
>         if (!test_bit(DEVICE_STATE_PRESENT, &rt2x00dev->flags))
>                 return 0;
>
> -       if (!rt2x00_has_cap_hw_crypto(rt2x00dev))
> +       /* The hardware can't do MFP */
> +       if (!rt2x00_has_cap_hw_crypto(rt2x00dev) || sta->mfp)
>                 return -EOPNOTSUPP;
>
>         /*
> --
> 2.26.2
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-05-25 13:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-05-25 13:45 [PATCH] rt2800: enable MFP support unconditionally Rui Salvaterra
2020-05-25 13:46 ` Rui Salvaterra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox