diff --git a/drivers/net/wifi_sim.c b/drivers/net/wifi_sim.c index ec7f2609c6c..25d2b526564 100644 --- a/drivers/net/wifi_sim.c +++ b/drivers/net/wifi_sim.c @@ -899,7 +899,6 @@ error: static int wifidriver_start_disconnect(FAR struct wifi_sim_s *wifidev) { - int ret; union iwreq_data wrqu; switch (wifidev->mode) @@ -912,12 +911,13 @@ static int wifidriver_start_disconnect(FAR struct wifi_sim_s *wifidev) free(wifidev->connected_ap); - netdev_lower_carrier_off(wifidev->lower); memset(&wrqu, 0, sizeof(wrqu)); wrqu.ap_addr.sa_family = ARPHRD_ETHER; wifi_send_event(wifidev, SIOCGIWAP, &wrqu); } + netdev_lower_carrier_off(wifidev->lower); + if (wifidev->psk_flag == 0) { memset(wifidev->password, 0, sizeof(wifidev->password)); @@ -925,17 +925,15 @@ static int wifidriver_start_disconnect(FAR struct wifi_sim_s *wifidev) } wifidev->state = WLAN_STA_STATE_INIT; - ret = OK; } break; case IW_MODE_MASTER: default: - ret = -ENOSYS; break; } - return ret; + return OK; } static int wifidriver_get_mode(FAR struct wifi_sim_s *wifidev,