ath10k: make rx_legacy_rate_idx variable const

It's not modified in any way.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
ath10k: make host_ce_config_wlan static variable const

Nothing modifies it.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
ath10k: make target_ce_config_wlan and target_service_to_ce_map_wlan const

Nothing modifies them.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
ath10k: make iee80211 iface combination structures const

Nothing modifies them.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
ath10k: copy ieee80211_supported_band for each instance

If we run multiple instances of ath10k the supported band structures were shared
with all instances. This is wrong and would cause corruption. Fix it by making
a private copy for each instance.

I didn't copy the rate structure ath10k_rates as ath9k also doesn't copy it.
Most likely nothing modifies that structure, but that needs to be verified.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
ath10k: clear pending_tx[] upon tx completion

We validate the pending_tx[] upon tx completion so
it makes sense to clear the items.

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
ath10k: cleanup htt pending tx

This fixes memory leak. It could be seen in the
following scenario:

 * submit htt tx frame
 * receive htc tx completion
 * FW hangs
 * rmmod
 * txed frame never freed

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>