| From 8a75fc54745fd3ce9062ab1cc6429a9da9ac2a68 Mon Sep 17 00:00:00 2001 |
| From: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> |
| Date: Wed, 2 Mar 2016 20:13:52 +0530 |
| Subject: ath10k: fix firmware assert in monitor mode |
| |
| From: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> |
| |
| commit 8a75fc54745fd3ce9062ab1cc6429a9da9ac2a68 upstream. |
| |
| commit 166de3f1895d ("ath10k: remove supported chain mask") had revealed |
| an issue on monitor mode. Configuring NSS upon monitor interface |
| creation is causing target assert in all qca9888x and qca6174 firmware. |
| Firmware assert issue can be reproduced by below sequence even after |
| reverting commit 166de3f1895d ("ath10k: remove supported chain mask"). |
| |
| ip link set wlan0 down |
| iw wlan0 set type monitor |
| iw phy0 set antenna 7 |
| ip link set wlan0 up |
| |
| This issue is originally reported on qca9888 with 10.1 firmware. |
| |
| Fixes: 5572a95b4b ("ath10k: apply chainmask settings to vdev on creation") |
| Reported-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> |
| Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> |
| Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/net/wireless/ath/ath10k/mac.c | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/net/wireless/ath/ath10k/mac.c |
| +++ b/drivers/net/wireless/ath/ath10k/mac.c |
| @@ -4489,7 +4489,10 @@ static int ath10k_add_interface(struct i |
| goto err_vdev_delete; |
| } |
| |
| - if (ar->cfg_tx_chainmask) { |
| + /* Configuring number of spatial stream for monitor interface is causing |
| + * target assert in qca9888 and qca6174. |
| + */ |
| + if (ar->cfg_tx_chainmask && (vif->type != NL80211_IFTYPE_MONITOR)) { |
| u16 nss = get_nss_from_chainmask(ar->cfg_tx_chainmask); |
| |
| vdev_param = ar->wmi.vdev_param->nss; |