struct xfrm_if *xi = netdev_priv(dev);
 
        gro_cells_destroy(&xi->gro_cells);
-       free_percpu(dev->tstats);
 }
 
 static int xfrmi_create(struct net_device *dev)
        dev->flags              = IFF_NOARP;
        dev->needs_free_netdev  = true;
        dev->priv_destructor    = xfrmi_dev_free;
+       dev->pcpu_stat_type     = NETDEV_PCPU_STAT_TSTATS;
        netif_keep_dst(dev);
 
        eth_broadcast_addr(dev->broadcast);
        struct net_device *phydev = __dev_get_by_index(xi->net, xi->p.link);
        int err;
 
-       dev->tstats = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats);
-       if (!dev->tstats)
-               return -ENOMEM;
-
        err = gro_cells_init(&xi->gro_cells, dev);
-       if (err) {
-               free_percpu(dev->tstats);
+       if (err)
                return err;
-       }
 
        dev->features |= NETIF_F_LLTX;
        dev->features |= XFRMI_FEATURES;