diff --git a/net/ipv6/ip6_gre.c b/net/ipv6/ip6_gre.c
index c727e47..131dd09 100644
--- a/net/ipv6/ip6_gre.c
+++ b/net/ipv6/ip6_gre.c
@@ -960,7 +960,7 @@ static netdev_tx_t ip6gre_tunnel_xmit(struct sk_buff *skb,
        int ret;

        if (!ip6_tnl_xmit_ctl(t))
-               return -1;
+               goto tx_err;

        switch (skb->protocol) {
        case htons(ETH_P_IP):
