station: tie diagnostic interface cleanup to DISCONNECTING

Prior to this the diagnostic interface was taken down when station
transitioned to DISCONNECTED. This worked but once station is in
a DISCONNECTING state it then calls netdev_disconnect(). Trying to
get any diagnostic data during this time may not work as its
unknown what state exactly the kernel is in. To be safe take the
interface down when station is DISCONNECTING.
This commit is contained in:
James Prestwood 2021-04-28 12:27:00 -07:00 committed by Denis Kenzior
parent dcfd0e2ade
commit 3b3f6d33fe
1 changed files with 4 additions and 3 deletions

View File

@ -1229,9 +1229,6 @@ static void station_enter_state(struct station *station,
periodic_scan_stop(station);
break;
case STATION_STATE_DISCONNECTED:
l_dbus_object_remove_interface(dbus_get_bus(),
netdev_get_path(station->netdev),
IWD_STATION_DIAGNOSTIC_INTERFACE);
periodic_scan_stop(station);
break;
case STATION_STATE_CONNECTED:
@ -1242,6 +1239,10 @@ static void station_enter_state(struct station *station,
periodic_scan_stop(station);
break;
case STATION_STATE_DISCONNECTING:
l_dbus_object_remove_interface(dbus_get_bus(),
netdev_get_path(station->netdev),
IWD_STATION_DIAGNOSTIC_INTERFACE);
break;
case STATION_STATE_ROAMING:
break;
}