diff options
Diffstat (limited to 'net/xfrm/xfrm_output.c')
-rw-r--r-- | net/xfrm/xfrm_output.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/xfrm/xfrm_output.c b/net/xfrm/xfrm_output.c index 9847baec4094..0eb3377602e9 100644 --- a/net/xfrm/xfrm_output.c +++ b/net/xfrm/xfrm_output.c | |||
@@ -67,15 +67,15 @@ int xfrm_output(struct sk_buff *skb) | |||
67 | if (err) | 67 | if (err) |
68 | goto error; | 68 | goto error; |
69 | 69 | ||
70 | err = x->type->output(x, skb); | ||
71 | if (err) | ||
72 | goto error; | ||
73 | |||
74 | x->curlft.bytes += skb->len; | 70 | x->curlft.bytes += skb->len; |
75 | x->curlft.packets++; | 71 | x->curlft.packets++; |
76 | 72 | ||
77 | spin_unlock_bh(&x->lock); | 73 | spin_unlock_bh(&x->lock); |
78 | 74 | ||
75 | err = x->type->output(x, skb); | ||
76 | if (err) | ||
77 | goto error_nolock; | ||
78 | |||
79 | if (!(skb->dst = dst_pop(dst))) { | 79 | if (!(skb->dst = dst_pop(dst))) { |
80 | err = -EHOSTUNREACH; | 80 | err = -EHOSTUNREACH; |
81 | goto error_nolock; | 81 | goto error_nolock; |