On 9/9/24 5:04 PM, Kalle Valo wrote:
Marek Vasut <marex@xxxxxxx> writes:
On 9/9/24 11:35 AM, Kalle Valo wrote:
Marek Vasut <marex@xxxxxxx> writes:
From: Ajay Singh <ajay.kathat@xxxxxxxxxxxxx>
Add support for the WILC3000 chip. The chip is similar to WILC1000,
except that the register layout is slightly different and it does
not support WPA3/SAE.
Signed-off-by: Ajay Singh <ajay.kathat@xxxxxxxxxxxxx>
Signed-off-by: Marek Vasut <marex@xxxxxxx>
[...]
--- a/drivers/net/wireless/microchip/wilc1000/cfg80211.c
+++ b/drivers/net/wireless/microchip/wilc1000/cfg80211.c
@@ -313,6 +313,13 @@ static int connect(struct wiphy *wiphy, struct net_device *dev,
vif->connecting = true;
+ if (sme->auth_type == NL80211_AUTHTYPE_SAE &&
+ is_wilc3000(vif->wilc->chipid)) {
+ netdev_err(dev, "WILC3000: WPA3 not supported\n");
+ ret = -EOPNOTSUPP;
+ goto out_error;
+ }
This looks wrong. If wilc3000 doesn't support SAE you shouldn't
advertise NL80211_FEATURE_SAE to user space. I think the check for
wilc3000 should be in wilc_create_wiphy():
if (!is_wilc3000(vif->wilc->chipid))
It is probably better to do "if (is_wilc1000(wl->chipid))" here.
Good point.
I did send v5 which grew a few more patches to address getting chipid early.