ath10k: refactor monitor code
authorMichal Kazior <michal.kazior@tieto.com>
Tue, 8 Apr 2014 06:45:47 +0000 (09:45 +0300)
committerKalle Valo <kvalo@qca.qualcomm.com>
Tue, 8 Apr 2014 06:55:30 +0000 (09:55 +0300)
commit1bbc09752d3fdbfc2f768da60f7c67f128e5bc1f
tree2afcf02b7d860f53fb9c0efbbb41a9944734c3e8
parent7a8a396be406aa51124e8baae827406ae3bc59ed
ath10k: refactor monitor code

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: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath10k/core.h
drivers/net/wireless/ath/ath10k/htt_rx.c
drivers/net/wireless/ath/ath10k/mac.c