On 9/9/24 02:35, Kalle Valo wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe > > 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(): > Actually, the chip ID is not available when wilc_create_wiphy() is called but is set later in the device probe function. Therefore, adding the 'is_wilc3000(vif->wilc->chipid)' condition may not work as expected. Also, I think there is no API to change "wiphy->features" after wiphy is registered to set it later when chip ID information is available. Does it make sense to add a module parameter for device type(wilc1000 or wilc3000) to address device-specific featurization. > if (!is_wilc3000(vif->wilc->chipid)) > wiphy->features |= NL80211_FEATURE_SAE; > > -- > https://patchwork.kernel.org/project/linux-wireless/list/ > > https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches