On Thu, 2015-02-05 at 05:19 -0800, Eric Dumazet wrote: > > TCP could eventually dynamically adjust the tcp_limit_output_bytes, > using a per flow dynamic value, but I would rather not add a kludge in > TCP stack only to deal with a possible bug in ath10k driver. > > niu has a similar issue and simply had to call skb_orphan() : > > drivers/net/ethernet/sun/niu.c:6669: skb_orphan(skb); In your case that might be the place : diff --git a/drivers/net/wireless/ath/ath10k/htt_tx.c b/drivers/net/wireless/ath/ath10k/htt_tx.c index 4bc51d8a14a3..cbda7a87d5a1 100644 --- a/drivers/net/wireless/ath/ath10k/htt_tx.c +++ b/drivers/net/wireless/ath/ath10k/htt_tx.c @@ -468,6 +468,7 @@ int ath10k_htt_tx(struct ath10k_htt *htt, struct sk_buff *msdu) msdu_id = res; htt->pending_tx[msdu_id] = msdu; spin_unlock_bh(&htt->tx_lock); + skb_orphan(msdu); prefetch_len = min(htt->prefetch_len, msdu->len); prefetch_len = roundup(prefetch_len, 4); -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html