All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/1] ath9k: don't strip mic on non-encrypted frames in tkip mode
@ 2012-04-20  9:11 ` mliang at qca.qualcomm.com
  0 siblings, 0 replies; 4+ messages in thread
From: mliang @ 2012-04-20  9:11 UTC (permalink / raw)
  To: linville; +Cc: linux-wireless, ath9k-devel, rodrigue, jouni, Michael Liang

From: Michael Liang <mliang@qca.qualcomm.com>

Hi,

I found a bug in ath9k driver. It incorrectly stripped mic on non-encrypted frames
in tkip mode, so that in ap mode, QoS-data-null packets with powersave on/off were
dropped due to invalid packet length in mac80211, which causes ath9k softap can't
handle the peer station's powersave state transition correctly.

Please review the patch to fix this issue.

Michael Liang (1):
  ath9k: don't strip mic on non-encrypted frames in tkip

 drivers/net/wireless/ath/ath9k/recv.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)


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

* [ath9k-devel] [PATCH 0/1] ath9k: don't strip mic on non-encrypted frames in tkip mode
@ 2012-04-20  9:11 ` mliang at qca.qualcomm.com
  0 siblings, 0 replies; 4+ messages in thread
From: mliang at qca.qualcomm.com @ 2012-04-20  9:11 UTC (permalink / raw)
  To: ath9k-devel

From: Michael Liang <mliang@qca.qualcomm.com>

Hi,

I found a bug in ath9k driver. It incorrectly stripped mic on non-encrypted frames
in tkip mode, so that in ap mode, QoS-data-null packets with powersave on/off were
dropped due to invalid packet length in mac80211, which causes ath9k softap can't
handle the peer station's powersave state transition correctly.

Please review the patch to fix this issue.

Michael Liang (1):
  ath9k: don't strip mic on non-encrypted frames in tkip

 drivers/net/wireless/ath/ath9k/recv.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

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

* [PATCH 1/1] ath9k: don't strip mic on non-encrypted frames in tkip
  2012-04-20  9:11 ` [ath9k-devel] " mliang at qca.qualcomm.com
@ 2012-04-20  9:11   ` mliang at qca.qualcomm.com
  -1 siblings, 0 replies; 4+ messages in thread
From: mliang @ 2012-04-20  9:11 UTC (permalink / raw)
  To: linville; +Cc: linux-wireless, ath9k-devel, rodrigue, jouni, Michael Liang

From: Michael Liang <mliang@qca.qualcomm.com>

Fix the following bug: in tkip mode, qos-null ps on/off packets
are dropped due to incorrect packet length so that ath9k softap
can't handle powersave state transition of peer STA correctly.

Signed-off-by: Michael Liang <mliang@qca.qualcomm.com>
---
 drivers/net/wireless/ath/ath9k/recv.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
index 301ef3e..48f7a52 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -812,6 +812,7 @@ static bool ath9k_rx_accept(struct ath_common *common,
 	is_valid_tkip = rx_stats->rs_keyix != ATH9K_RXKEYIX_INVALID &&
 		test_bit(rx_stats->rs_keyix, common->tkip_keymap);
 	strip_mic = is_valid_tkip && ieee80211_is_data(fc) &&
+		ieee80211_has_protected(fc) &&
 		!(rx_stats->rs_status &
 		(ATH9K_RXERR_DECRYPT | ATH9K_RXERR_CRC | ATH9K_RXERR_MIC |
 		 ATH9K_RXERR_KEYMISS));
-- 
1.7.0.4


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

* [ath9k-devel] [PATCH 1/1] ath9k: don't strip mic on non-encrypted frames in tkip
@ 2012-04-20  9:11   ` mliang at qca.qualcomm.com
  0 siblings, 0 replies; 4+ messages in thread
From: mliang at qca.qualcomm.com @ 2012-04-20  9:11 UTC (permalink / raw)
  To: ath9k-devel

From: Michael Liang <mliang@qca.qualcomm.com>

Fix the following bug: in tkip mode, qos-null ps on/off packets
are dropped due to incorrect packet length so that ath9k softap
can't handle powersave state transition of peer STA correctly.

Signed-off-by: Michael Liang <mliang@qca.qualcomm.com>
---
 drivers/net/wireless/ath/ath9k/recv.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
index 301ef3e..48f7a52 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -812,6 +812,7 @@ static bool ath9k_rx_accept(struct ath_common *common,
 	is_valid_tkip = rx_stats->rs_keyix != ATH9K_RXKEYIX_INVALID &&
 		test_bit(rx_stats->rs_keyix, common->tkip_keymap);
 	strip_mic = is_valid_tkip && ieee80211_is_data(fc) &&
+		ieee80211_has_protected(fc) &&
 		!(rx_stats->rs_status &
 		(ATH9K_RXERR_DECRYPT | ATH9K_RXERR_CRC | ATH9K_RXERR_MIC |
 		 ATH9K_RXERR_KEYMISS));
-- 
1.7.0.4

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

end of thread, other threads:[~2012-04-20  9:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-20  9:11 [PATCH 0/1] ath9k: don't strip mic on non-encrypted frames in tkip mode mliang
2012-04-20  9:11 ` [ath9k-devel] " mliang at qca.qualcomm.com
2012-04-20  9:11 ` [PATCH 1/1] ath9k: don't strip mic on non-encrypted frames in tkip mliang
2012-04-20  9:11   ` [ath9k-devel] " mliang at qca.qualcomm.com

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.