@@ -481,7 +481,7 @@ static unsigned int siwx91x_on_join(sl_wifi_event_t event,
481
481
static int siwx91x_status (const struct device * dev , struct wifi_iface_status * status )
482
482
{
483
483
sl_wifi_interface_t interface = sl_wifi_get_default_interface ();
484
- sl_si91x_rsp_wireless_info_t wlan_info = { };
484
+ sl_wifi_wireless_info_t wlan_info = { };
485
485
struct siwx91x_dev * sidev = dev -> data ;
486
486
uint8_t join_config ;
487
487
int32_t rssi ;
@@ -504,7 +504,6 @@ static int siwx91x_status(const struct device *dev, struct wifi_iface_status *st
504
504
505
505
strncpy (status -> ssid , wlan_info .ssid , WIFI_SSID_MAX_LEN );
506
506
status -> ssid_len = strlen (status -> ssid );
507
- memcpy (status -> bssid , wlan_info .bssid , WIFI_MAC_ADDR_LEN );
508
507
status -> wpa3_ent_type = WIFI_WPA3_ENTERPRISE_NA ;
509
508
510
509
if (interface & SL_WIFI_2_4GHZ_INTERFACE ) {
@@ -555,6 +554,7 @@ static int siwx91x_status(const struct device *dev, struct wifi_iface_status *st
555
554
556
555
status -> beacon_interval = sys_get_le16 (operational_statistics .beacon_interval );
557
556
status -> dtim_period = operational_statistics .dtim_period ;
557
+ memcpy (status -> bssid , wlan_info .bssid , WIFI_MAC_ADDR_LEN );
558
558
} else if (FIELD_GET (SIWX91X_INTERFACE_MASK , interface ) == SL_WIFI_AP_INTERFACE ) {
559
559
sl_wifi_ap_configuration_t sl_ap_cfg = { };
560
560
@@ -571,6 +571,7 @@ static int siwx91x_status(const struct device *dev, struct wifi_iface_status *st
571
571
status -> beacon_interval = sl_ap_cfg .beacon_interval ;
572
572
status -> dtim_period = sl_ap_cfg .dtim_beacon_count ;
573
573
wlan_info .sec_type = (uint8_t )sl_ap_cfg .security ;
574
+ memcpy (status -> bssid , wlan_info .mac_address , WIFI_MAC_ADDR_LEN );
574
575
} else {
575
576
status -> link_mode = WIFI_LINK_MODE_UNKNOWN ;
576
577
status -> iface_mode = WIFI_MODE_UNKNOWN ;
0 commit comments