aboutsummaryrefslogtreecommitdiffstats
path: root/net/xfrm/xfrm_output.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/xfrm/xfrm_output.c')
-rw-r--r--net/xfrm/xfrm_output.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/xfrm/xfrm_output.c b/net/xfrm/xfrm_output.c
index 58d5a746b1c3..b1efdc8850a7 100644
--- a/net/xfrm/xfrm_output.c
+++ b/net/xfrm/xfrm_output.c
@@ -53,6 +53,10 @@ int xfrm_output(struct sk_buff *skb)
53 } 53 }
54 54
55 do { 55 do {
56 err = x->outer_mode->output(x, skb);
57 if (err)
58 goto error;
59
56 spin_lock_bh(&x->lock); 60 spin_lock_bh(&x->lock);
57 err = xfrm_state_check(x, skb); 61 err = xfrm_state_check(x, skb);
58 if (err) 62 if (err)
@@ -64,10 +68,6 @@ int xfrm_output(struct sk_buff *skb)
64 xfrm_replay_notify(x, XFRM_REPLAY_UPDATE); 68 xfrm_replay_notify(x, XFRM_REPLAY_UPDATE);
65 } 69 }
66 70
67 err = x->outer_mode->output(x, skb);
68 if (err)
69 goto error;
70
71 x->curlft.bytes += skb->len; 71 x->curlft.bytes += skb->len;
72 x->curlft.packets++; 72 x->curlft.packets++;
73 73