1
0

0007-wifi-ath11k-suppress-add-interface-error.patch 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. From 638b26652b0438563a76ec90014c8cba34db982b Mon Sep 17 00:00:00 2001
  2. From: Karthikeyan Periyasamy <quic_periyasa@quicinc.com>
  3. Date: Thu, 6 Oct 2022 06:28:42 +0530
  4. Subject: [PATCH 7/9] wifi: ath11k: suppress add interface error
  5. In the VIF (other than monitor type) creation request, we should not
  6. throw the error code when the monitor VIF creation fails, since the
  7. actual VIF creation succeeds. If we throw the error code from driver
  8. then the actual VIF creation get fail. So suppress the monitor VIF
  9. creation error by throwing warning message instead of error code.
  10. Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.6.0.1-00760-QCAHKSWPL_SILICONZ-1
  11. Signed-off-by: Karthikeyan Periyasamy <quic_periyasa@quicinc.com>
  12. Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
  13. Link: https://lore.kernel.org/r/20221006005842.8599-1-quic_periyasa@quicinc.com
  14. ---
  15. drivers/net/wireless/ath/ath11k/mac.c | 9 +++------
  16. 1 file changed, 3 insertions(+), 6 deletions(-)
  17. --- a/drivers/net/wireless/ath/ath11k/mac.c
  18. +++ b/drivers/net/wireless/ath/ath11k/mac.c
  19. @@ -6421,18 +6421,16 @@ static int ath11k_mac_op_add_interface(s
  20. ath11k_dp_vdev_tx_attach(ar, arvif);
  21. + ath11k_debugfs_add_interface(arvif);
  22. +
  23. if (vif->type != NL80211_IFTYPE_MONITOR &&
  24. test_bit(ATH11K_FLAG_MONITOR_CONF_ENABLED, &ar->monitor_flags)) {
  25. ret = ath11k_mac_monitor_vdev_create(ar);
  26. - if (ret) {
  27. + if (ret)
  28. ath11k_warn(ar->ab, "failed to create monitor vdev during add interface: %d",
  29. ret);
  30. - goto err_peer_del;
  31. - }
  32. }
  33. - ath11k_debugfs_add_interface(arvif);
  34. -
  35. mutex_unlock(&ar->conf_mutex);
  36. return 0;
  37. @@ -6457,7 +6455,6 @@ err_vdev_del:
  38. spin_unlock_bh(&ar->data_lock);
  39. err:
  40. - ath11k_debugfs_remove_interface(arvif);
  41. mutex_unlock(&ar->conf_mutex);
  42. return ret;