aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/skbuff.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/core/skbuff.c')
-rw-r--r--net/core/skbuff.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index ca4db40e75b8..2f6babd5a570 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -3168,6 +3168,26 @@ void skb_tstamp_tx(struct sk_buff *orig_skb,
3168} 3168}
3169EXPORT_SYMBOL_GPL(skb_tstamp_tx); 3169EXPORT_SYMBOL_GPL(skb_tstamp_tx);
3170 3170
3171void skb_complete_wifi_ack(struct sk_buff *skb, bool acked)
3172{
3173 struct sock *sk = skb->sk;
3174 struct sock_exterr_skb *serr;
3175 int err;
3176
3177 skb->wifi_acked_valid = 1;
3178 skb->wifi_acked = acked;
3179
3180 serr = SKB_EXT_ERR(skb);
3181 memset(serr, 0, sizeof(*serr));
3182 serr->ee.ee_errno = ENOMSG;
3183 serr->ee.ee_origin = SO_EE_ORIGIN_TXSTATUS;
3184
3185 err = sock_queue_err_skb(sk, skb);
3186 if (err)
3187 kfree_skb(skb);
3188}
3189EXPORT_SYMBOL_GPL(skb_complete_wifi_ack);
3190
3171 3191
3172/** 3192/**
3173 * skb_partial_csum_set - set up and verify partial csum values for packet 3193 * skb_partial_csum_set - set up and verify partial csum values for packet