ath10k is a bit weird about flushing frames, and at least my variant of the wave-2 firmware does not always put the deauth frame on the air when deleting stations. It will likely not be much fun to fix this. I was wondering if the code below from ieee80211_set_disassoc() could (easily?) be made to wait for a tx-status of the deauth frame instead of trying to force a flush? /* * drop any frame before deauth/disassoc, this can be data or * management frame. Since we are disconnecting, we should not * insist sending these frames which can take time and delay * the disconnection and possible the roaming. */ if (tx) ieee80211_flush_queues(local, sdata, true); /* deauthenticate/disassociate now */ if (tx || frame_buf) ieee80211_send_deauth_disassoc(sdata, ifmgd->bssid, stype, reason, tx, frame_buf); /* flush out frame - make sure the deauth was actually sent */ if (tx) ieee80211_flush_queues(local, sdata, false); Thanks, Ben -- Ben Greear <greearb@xxxxxxxxxxxxxxx> Candela Technologies Inc http://www.candelatech.com