From 9e9da90685c305baf25461767d225daa8f0d03ca Mon Sep 17 00:00:00 2001 From: "sjur.brandeland@stericsson.com" Date: Tue, 17 Jan 2012 03:03:14 +0000 Subject: [PATCH] --- yaml --- r: 286191 b: refs/heads/master c: 59f608d84f937cb5e2fd3a0b9f848f200d47ba85 h: refs/heads/master i: 286189: 1193ecb9e6628d88b8ba2567c80a40e8e4f86d69 286187: 28f347ce9fa73b6c268390ac70d0cdc26143dbc6 286183: 474b60f242ec470911bd8f54f895ac8f127f0385 286175: 9ae037049bb8fd3d58fb5722513c9572b2073487 v: v3 --- [refs] | 2 +- trunk/net/caif/caif_dev.c | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index 261ff10a68e5..533748ee7ec0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3371bb3f7ed11b7b7473a202e2713bde50dc01c0 +refs/heads/master: 59f608d84f937cb5e2fd3a0b9f848f200d47ba85 diff --git a/trunk/net/caif/caif_dev.c b/trunk/net/caif/caif_dev.c index 61570ee76fe6..673728add60b 100644 --- a/trunk/net/caif/caif_dev.c +++ b/trunk/net/caif/caif_dev.c @@ -146,15 +146,17 @@ void caif_flow_cb(struct sk_buff *skb) spin_lock_bh(&caifd->flow_lock); send_xoff = caifd->xoff; caifd->xoff = 0; - if (!WARN_ON(caifd->xoff_skb_dtor == NULL)) { - WARN_ON(caifd->xoff_skb != skb); - dtor = caifd->xoff_skb_dtor; - caifd->xoff_skb = NULL; - caifd->xoff_skb_dtor = NULL; - } + dtor = caifd->xoff_skb_dtor; + + if (WARN_ON(caifd->xoff_skb != skb)) + skb = NULL; + + caifd->xoff_skb = NULL; + caifd->xoff_skb_dtor = NULL; + spin_unlock_bh(&caifd->flow_lock); - if (dtor) + if (dtor && skb) dtor(skb); if (send_xoff)