diff options
author | 2014-11-17 22:16:03 +0100 | |
---|---|---|
committer | 2014-11-17 22:16:03 +0100 | |
commit | 39ae97ea4b773be81bae9eec08ed1e5c53606c1a (patch) | |
tree | 4d55635fb46a86b970c1491cc529eb2770bf3076 /net/core/dev.c | |
parent | ALSA: usb-audio: Set the Control Selector to SU_SELECTOR_CONTROL for UAC2 (diff) | |
parent | Merge remote-tracking branches 'asoc/fix/rt5670', 'asoc/fix/samsung' and 'asoc/fix/sgtl5000' into asoc-linus (diff) | |
download | wireguard-linux-39ae97ea4b773be81bae9eec08ed1e5c53606c1a.tar.xz wireguard-linux-39ae97ea4b773be81bae9eec08ed1e5c53606c1a.zip |
Merge tag 'asoc-v3.18-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v3.18
As well as the usual driver fixes there's a few other things here:
One is a fix for a race in DPCM which is unfortuantely a rather large
diffstat, this is the result of growing usage of the mainline code and
hence more detailed testing so I'm relatively happy.
The other is a fix for non-DT machine driver matching following some of
the componentization work which is much more focused.
Both have had a while to cook in -next.
Diffstat (limited to 'net/core/dev.c')
-rw-r--r-- | net/core/dev.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index b793e3521a36..945bbd001359 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -4157,6 +4157,10 @@ EXPORT_SYMBOL(napi_gro_receive); static void napi_reuse_skb(struct napi_struct *napi, struct sk_buff *skb) { + if (unlikely(skb->pfmemalloc)) { + consume_skb(skb); + return; + } __skb_pull(skb, skb_headlen(skb)); /* restore the reserve we had after netdev_alloc_skb_ip_align() */ skb_reserve(skb, NET_SKB_PAD + NET_IP_ALIGN - skb_headroom(skb)); |