On 10/4/24 10:39 AM, Alexis Lothoré wrote:
Hello Marek,
Hi,
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
Fixed in V8, thank you.