Skip to content

Commit 1136036

Browse files
shubhamdppull[bot]
authored andcommitted
[ESP32] Fix the wifi version returning WiFiVersionEnum::kA in case of error (#25565)
1 parent 3f77564 commit 1136036

File tree

1 file changed

+9
-13
lines changed

1 file changed

+9
-13
lines changed

src/platform/ESP32/DiagnosticDataProviderImpl.cpp

+9-13
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,7 @@ app::Clusters::WiFiNetworkDiagnostics::WiFiVersionEnum GetWiFiVersionFromAPRecor
9292
else if (ap_info.phy_11b)
9393
return WiFiVersionEnum::kB;
9494
else
95-
// TODO: This is keeping the old behavior, it doesn't look right.
96-
// https://github.com/project-chip/connectedhomeip/issues/25544
97-
return WiFiVersionEnum::kA;
95+
return WiFiVersionEnum::kUnknownEnumValue;
9896
}
9997
#endif // CHIP_DEVICE_CONFIG_ENABLE_WIFI
10098

@@ -237,7 +235,7 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetNetworkInterfaces(NetworkInterface **
237235
{
238236
memcpy(ifp->Ipv4AddressesBuffer[0], &(ipv4_info.ip.addr), kMaxIPv4AddrSize);
239237
ifp->Ipv4AddressSpans[0] = ByteSpan(ifp->Ipv4AddressesBuffer[0], kMaxIPv4AddrSize);
240-
ifp->IPv4Addresses = chip::app::DataModel::List<chip::ByteSpan>(ifp->Ipv4AddressSpans, 1);
238+
ifp->IPv4Addresses = app::DataModel::List<ByteSpan>(ifp->Ipv4AddressSpans, 1);
241239
}
242240

243241
static_assert(kMaxIPv6AddrCount <= UINT8_MAX, "Count might not fit in ipv6_addr_count");
@@ -256,7 +254,7 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetNetworkInterfaces(NetworkInterface **
256254
memcpy(ifp->Ipv6AddressesBuffer[idx], ip6_addr[idx].addr, kMaxIPv6AddrSize);
257255
ifp->Ipv6AddressSpans[idx] = ByteSpan(ifp->Ipv6AddressesBuffer[idx], kMaxIPv6AddrSize);
258256
}
259-
ifp->IPv6Addresses = chip::app::DataModel::List<chip::ByteSpan>(ifp->Ipv6AddressSpans, ipv6_addr_count);
257+
ifp->IPv6Addresses = app::DataModel::List<ByteSpan>(ifp->Ipv6AddressSpans, ipv6_addr_count);
260258

261259
ifp->Next = head;
262260
head = ifp;
@@ -311,15 +309,13 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetWiFiSecurityType(app::Clusters::WiFiNe
311309
CHIP_ERROR DiagnosticDataProviderImpl::GetWiFiVersion(app::Clusters::WiFiNetworkDiagnostics::WiFiVersionEnum & wifiVersion)
312310
{
313311
wifi_ap_record_t ap_info;
314-
esp_err_t err;
315-
err = esp_wifi_sta_get_ap_info(&ap_info);
316-
if (err == ESP_OK)
317-
{
318-
wifiVersion = GetWiFiVersionFromAPRecord(ap_info);
319-
return CHIP_NO_ERROR;
320-
}
312+
esp_err_t err = esp_wifi_sta_get_ap_info(&ap_info);
313+
VerifyOrReturnError(err == ESP_OK, ESP32Utils::MapError(err));
321314

322-
return ESP32Utils::MapError(err);
315+
wifiVersion = GetWiFiVersionFromAPRecord(ap_info);
316+
VerifyOrReturnError(wifiVersion != app::Clusters::WiFiNetworkDiagnostics::WiFiVersionEnum::kUnknownEnumValue,
317+
CHIP_ERROR_INTERNAL);
318+
return CHIP_NO_ERROR;
323319
}
324320

325321
CHIP_ERROR DiagnosticDataProviderImpl::GetWiFiChannelNumber(uint16_t & channelNumber)

0 commit comments

Comments
 (0)