Skip to content

Commit

Permalink
caif: Remove bad WARN_ON in caif_dev
Browse files Browse the repository at this point in the history
Remove WARN_ON and bad handling of SKB without destructor callback
in caif_flow_cb. SKB without destructor cannot be handled as an
error case.

Signed-off-by: Sjur Brændeland <sjur.brandeland@stericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
sjur.brandeland@stericsson.com authored and David S. Miller committed Jan 17, 2012
1 parent 3371bb3 commit 59f608d
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions net/caif/caif_dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit 59f608d

Please sign in to comment.