]> git.baikalelectronics.ru Git - kernel.git/commit
ath6kl: fix TCP corruption
authorJouni Malinen <jouni@qca.qualcomm.com>
Tue, 27 Sep 2011 08:00:08 +0000 (11:00 +0300)
committerKalle Valo <kvalo@qca.qualcomm.com>
Tue, 27 Sep 2011 18:24:12 +0000 (21:24 +0300)
commitf28ee8365c749dc22ffbd02e0c6a7d2e3a5b3979
treeb68fa2775d94d3302df06919d099520a24a83a1e
parent9683279a1a803e50159c3ba5dd9189aa1758dd00
ath6kl: fix TCP corruption

Commit 3ee0e911e ("ath6kl: Fix system freeze under heavy data load")
aligns the skb data without checking if the skb is cloned. Because of
this ath6kl can corrupt the local TCP stack information that can result
in TCP retransmission failing and TCP connections stalling.

To avoid the corruption we need to copy the skb. Now the alignment
in ath6kl_htc_tx_buf_align() doesn't corrupt TCP packets anymore (and is
not even used for the cloned skb's that got copied since the alignment
of the data is handled at the copy time).

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath6kl/txrx.c