Crap. Please ignore this, I sent the old version by mistake. On Mon, 25 May 2020 at 14:45, Rui Salvaterra <rsalvaterra@xxxxxxxxx> 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@xxxxx> > Signed-off-by: Rui Salvaterra <rsalvaterra@xxxxxxxxx> > --- > 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 >