On Thu, 2015-02-05 at 07:46 +0100, Michal Kazior wrote:
On 4 February 2015 at 22:11, Eric Dumazet [off-list ref] wrote:
quoted
Most conservative patch would be :
diff --git a/drivers/net/wireless/ath/ath10k/htt_rx.c b/drivers/net/wireless/ath/ath10k/htt_rx.c
index 9c782a42665e1aaf43bfbca441631ee58da50c09..6a36317d6bb0447202dee15528130bd5e21248c4 100644
--- a/drivers/net/wireless/ath/ath10k/htt_rx.c
+++ b/drivers/net/wireless/ath/ath10k/htt_rx.c
@@ -1642,6 +1642,7 @@ void ath10k_htt_t2h_msg_handler(struct ath10k *ar, struct sk_buff *skb)
break;
}
case HTT_T2H_MSG_TYPE_TX_COMPL_IND:
+ skb_orphan(skb);
spin_lock_bh(&htt->tx_lock);
__skb_queue_tail(&htt->tx_compl_q, skb);
spin_unlock_bh(&htt->tx_lock);
I suppose you want to call skb_orphan() on actual data packets, right?
This skb is just a host-firmware communication buffer.
Right. I have no idea how you find the actual data packet at this stage.