Kang Yang <quic_kangyang@xxxxxxxxxxx> writes: > In current code, the management frames must be sent after vdev is started. > But for P2P device, vdev won't start until P2P negotiation is done. So > this logic doesn't make sense for P2P device. > > Also use ar->conf_mutex to synchronize ar to avoid potential conflicts. Please do locking changes in a separate followup patch, I removed this in the pending branch: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=d357dcb3cd0cd3bf57064dc673b5477d884454b3 I assume you are referring to ar->allocated_vdev_map and access to that indeed doesn't look consistent. Most of the places take conf->mutex but I see some places which it's accessed without the mutex, for example ath12k_mac_get_arvif_by_vdev_id() and ath12k_mac_get_ar_by_vdev_id(). I recommend in the followup patch checking all the access to ar->allocated_vdev_map, fixing that if needed and adding documentation to struct ath12k::allocated_vdev_map how it's supposed to be protected. -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches