All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ath11k: reject tx fragmentation configuration
@ 2019-05-08 14:46 Venkateswara Naralasetty
  2019-05-13 14:50 ` Kalle Valo
  0 siblings, 1 reply; 2+ messages in thread
From: Venkateswara Naralasetty @ 2019-05-08 14:46 UTC (permalink / raw)
  To: ath11k; +Cc: Venkateswara Naralasetty

Currently no known firmware actually implements frag threshold support.
Moreover it is not possible to rely frame fragmentation to mac80211
because firmware clears the "more fragments" bit in frame control making
it impossible for remote devices to reassemble frames.

Hence implement a dummy callback just to say fragmentation isn't
supported. This effectively prevents mac80211 from doing frame
fragmentation in software.

This fixes Tx becoming broken after setting fragmentation threshold.

Signed-off-by: Venkateswara Naralasetty <vnaralas@codeaurora.org>
---
 drivers/net/wireless/ath/ath11k/mac.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c
index dc2733c..aa805a4 100644
--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -4300,10 +4300,17 @@ static int ath11k_set_rts_threshold(struct ieee80211_hw *hw, u32 value)
 
 static int ath11k_set_frag_threshold(struct ieee80211_hw *hw, u32 value)
 {
-	struct ath11k *ar = hw->priv;
-	int param_id = WMI_VDEV_PARAM_FRAGMENTATION_THRESHOLD;
-
-	return ath11k_set_vdev_param_to_all_vifs(ar, param_id, value);
+	/* Even though there's a WMI vdev param for fragmentation threshold no
+	 * known firmware actually implements it. Moreover it is not possible to
+	 * rely frame fragmentation to mac80211 because firmware clears the
+	 * "more fragments" bit in frame control making it impossible for remote
+	 * devices to reassemble frames.
+	 *
+	 * Hence implement a dummy callback just to say fragmentation isn't
+	 * supported. This effectively prevents mac80211 from doing frame
+	 * fragmentation in software.
+	 */
+	return -EOPNOTSUPP;
 }
 
 static void ath11k_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
-- 
2.7.4


_______________________________________________
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] ath11k: reject tx fragmentation configuration
  2019-05-08 14:46 [PATCH] ath11k: reject tx fragmentation configuration Venkateswara Naralasetty
@ 2019-05-13 14:50 ` Kalle Valo
  0 siblings, 0 replies; 2+ messages in thread
From: Kalle Valo @ 2019-05-13 14:50 UTC (permalink / raw)
  To: Venkateswara Naralasetty; +Cc: ath11k

Venkateswara Naralasetty <vnaralas@codeaurora.org> wrote:

> Currently no known firmware actually implements frag threshold support.
> Moreover it is not possible to rely frame fragmentation to mac80211
> because firmware clears the "more fragments" bit in frame control making
> it impossible for remote devices to reassemble frames.
> 
> Hence implement a dummy callback just to say fragmentation isn't
> supported. This effectively prevents mac80211 from doing frame
> fragmentation in software.
> 
> This fixes Tx becoming broken after setting fragmentation threshold.
> 
> Signed-off-by: Venkateswara Naralasetty <vnaralas@codeaurora.org>

Patch applied to ath.git, thanks.

39d03a41aa04 ath11k: reject tx fragmentation configuration

-- 
https://patchwork.kernel.org/patch/10935861/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches


_______________________________________________
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-05-13 14:50 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-08 14:46 [PATCH] ath11k: reject tx fragmentation configuration Venkateswara Naralasetty
2019-05-13 14:50 ` Kalle Valo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.