Hello Marek, On 10/3/24 13:14, Marek Vasut wrote: > Register wiphy after reading out chipid, so the chipid can be > used to determine chip features and not advertise WPA3/SAE > support to userspace on WILC3000. Note that wilc_netdev_cleanup() > will deregister the wiphy in fail path. > > Signed-off-by: Marek Vasut <marex@xxxxxxx> [...] > diff --git a/drivers/net/wireless/microchip/wilc1000/cfg80211.c b/drivers/net/wireless/microchip/wilc1000/cfg80211.c > index 11e0f8a473467..30015c5920467 100644 > --- a/drivers/net/wireless/microchip/wilc1000/cfg80211.c > +++ b/drivers/net/wireless/microchip/wilc1000/cfg80211.c > @@ -1761,7 +1761,6 @@ static struct wilc *wilc_create_wiphy(struct device *dev) > { > struct wiphy *wiphy; > struct wilc *wl; > - int ret; > > wiphy = wiphy_new(&wilc_cfg80211_ops, sizeof(*wl)); > if (!wiphy) > @@ -1804,14 +1803,8 @@ static struct wilc *wilc_create_wiphy(struct device *dev) > BIT(NL80211_IFTYPE_P2P_GO) | > BIT(NL80211_IFTYPE_P2P_CLIENT); > wiphy->flags |= WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL; > - wiphy->features |= NL80211_FEATURE_SAE; > set_wiphy_dev(wiphy, dev); > wl->wiphy = wiphy; > - ret = wiphy_register(wiphy); I think you did not address one of my comment in v5 about this change: in wilc_cfg80211_init (wilc_create_wiphy's caller), there is still a wiphy_unregister in the failure path, which does not make sense anymore since this function does not register wiphy anymore. Once fixed: with this patch iw phy shows correctly on my platform that wilc3000 does not support SAE authenticate command while wilc1000 does. And wilc1000 still works correctly, even with wpa3. Tested-by: Alexis Lothoré <alexis.lothore@xxxxxxxxxxx> Tested-on: WILC1000SD 07 SDIO WILC_WIFI_FW_REL_16_1_2 Tested-on: WILC3000 A SDIO WILC_WIFI_FW_REL_16_1_1 Thanks, Alexis -- Alexis Lothoré, Bootlin Embedded Linux and Kernel engineering https://bootlin.com