diff options
Diffstat (limited to 'net/xfrm')
-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 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) } do { + err = x->outer_mode->output(x, skb); + if (err) + goto error; + spin_lock_bh(&x->lock); err = xfrm_state_check(x, skb); if (err) @@ -64,10 +68,6 @@ int xfrm_output(struct sk_buff *skb) xfrm_replay_notify(x, XFRM_REPLAY_UPDATE); } - err = x->outer_mode->output(x, skb); - if (err) - goto error; - x->curlft.bytes += skb->len; x->curlft.packets++; |