mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-12-27 19:22:34 +01:00
station: Do not call netdev_disconnect on in station_free
station_free() is invoked when one of two possibilities happen: - Device has been powered down, and EVENT_DOWN has been emitted - Device has been removed, and EVENT_DEL has been emitted In both cases there is not much point for netdev_disconnect to be invoked as that tries to cleanly shut down an existing connection. The only thing the ABORTED error accomplishes in this case is to send a dbus_aborted_error for the pending_connect message, if it exists. There's already code for doing this in station_free(). src/station.c:station_enter_state() Old State: autoconnect_quick, new state: connecting (auto) src/scan.c:scan_cancel() Trying to cancel scan id 1 for wdev 7 src/wiphy.c:wiphy_radio_work_done() Work item 1 done src/wiphy.c:wiphy_radio_work_next() Starting work item 2 Terminate src/netdev.c:netdev_free() Freeing netdev wlan0[9] src/device.c:device_free() src/station.c:station_free() src/wiphy.c:wiphy_radio_work_done() Work item 2 done src/station.c:station_connect_cb() 9, result: 5 src/netconfig.c:netconfig_destroy() Removing scan context for wdev 7 src/scan.c:scan_context_free() sc: 0x4a39490 src/netdev.c:netdev_mlme_notify() MLME notification New Station(19) src/netdev.c:netdev_link_notify() event 16 on ifindex 9 src/netdev.c:netdev_link_notify() event 16 on ifindex 9 src/netdev.c:netdev_mlme_notify() MLME notification Authenticate(37) src/netdev.c:netdev_link_notify() event 16 on ifindex 9 src/netdev.c:netdev_mlme_notify() MLME notification Associate(38) src/netdev.c:netdev_link_notify() event 16 on ifindex 9 src/netdev.c:netdev_mlme_notify() MLME notification Connect(46) src/netdev.c:netdev_link_notify() event 16 on ifindex 9 src/wiphy.c:wiphy_reg_notify() Notification of command Reg Change(36) src/wiphy.c:wiphy_update_reg_domain() New reg domain country code for (global) is US src/netdev.c:netdev_link_notify() event 16 on ifindex 9 src/netdev.c:netdev_unicast_notify() Unicast notification 129 src/netdev.c:netdev_mlme_notify() MLME notification Del Station(20) src/netdev.c:netdev_mlme_notify() MLME notification Deauthenticate(39) src/netdev.c:netdev_mlme_notify() MLME notification Disconnect(48) src/wiphy.c:wiphy_reg_notify() Notification of command Reg Change(36) src/wiphy.c:wiphy_update_reg_domain() New reg domain country code for (global) is XX ==20311== Invalid write of size 4 ==20311== at 0x406E74: netdev_cmd_disconnect_cb (netdev.c:1130) ==20311== by 0x4A78A8: process_unicast (genl.c:986) ==20311== by 0x4A7C6A: received_data (genl.c:1098) ==20311== by 0x4A2E1F: io_callback (io.c:120) ==20311== by 0x4A17BB: l_main_iterate (main.c:478) ==20311== by 0x4A18FC: l_main_run (main.c:525) ==20311== by 0x4A1C14: l_main_run_with_signal (main.c:647) ==20311== by 0x404D27: main (main.c:542) ==20311== Address 0x4a37a0c is 156 bytes inside a block of size 472 free'd ==20311== at 0x48399CB: free (vg_replace_malloc.c:538) ==20311== by 0x498991: l_free (util.c:136) ==20311== by 0x406651: netdev_free (netdev.c:883) ==20311== by 0x412976: netdev_shutdown (netdev.c:5970) ==20311== by 0x403A14: iwd_shutdown (main.c:79) ==20311== by 0x403A7D: signal_handler (main.c:90) ==20311== by 0x4A1B1D: sigint_handler (main.c:612) ==20311== by 0x4A1F5D: handle_callback (signal.c:78) ==20311== by 0x4A2052: signalfd_read_cb (signal.c:104) ==20311== by 0x4A2E1F: io_callback (io.c:120) ==20311== by 0x4A17BB: l_main_iterate (main.c:478) ==20311== by 0x4A18FC: l_main_run (main.c:525)
This commit is contained in:
parent
dbd66bd497
commit
cf950f6d3f
@ -3605,9 +3605,6 @@ static void station_free(struct station *station)
|
||||
if (!l_queue_remove(station_list, station))
|
||||
return;
|
||||
|
||||
if (station->connected_bss)
|
||||
netdev_disconnect(station->netdev, NULL, NULL);
|
||||
|
||||
l_dbus_object_remove_interface(dbus_get_bus(),
|
||||
netdev_get_path(station->netdev),
|
||||
IWD_STATION_DIAGNOSTIC_INTERFACE);
|
||||
|
Loading…
Reference in New Issue
Block a user