• Michal Kazior's avatar
    ath10k: refactor monitor code · 1bbc0975
    Michal Kazior authored
    It was possible to create/delete/start/stop
    monitor vdev from a few places that were not
    exclusively protected against each other. This
    resulted in monitor vdev being stopped/removed by
    one call origin while another one was expecting it
    to continue running.
    
    For example if CAC was started and interface's
    promiscuous mode was toggled monitor vdev was
    removed from the driver meaning no radar would be
    detected. In additional a warning would be printed
    upon CAC completion complaining it tried to stop
    non-running monitor vdev.
    
    The patch simplifies monitor code by removing
    IEEE80211_HW_WANT_MONITOR_VIF (which wasn't really
    ever needed) and improves state tracking. It also
    unifies prints.
    Signed-off-by: default avatarMichal Kazior <michal.kazior@tieto.com>
    Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
    1bbc0975
mac.c 115 KB