/* inet_sock has to be the first member of l2tp_ip_sock */
        struct inet_sock        inet;
 
-       __u32                   conn_id;
-       __u32                   peer_conn_id;
-
-       __u64                   tx_packets;
-       __u64                   tx_bytes;
-       __u64                   tx_errors;
-       __u64                   rx_packets;
-       __u64                   rx_bytes;
-       __u64                   rx_errors;
+       u32                     conn_id;
+       u32                     peer_conn_id;
 };
 
 static DEFINE_RWLOCK(l2tp_ip_lock);
 static int l2tp_ip_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len)
 {
        struct sockaddr_l2tpip *lsa = (struct sockaddr_l2tpip *) uaddr;
-       struct inet_sock *inet = inet_sk(sk);
        int rc;
 
        if (addr_len < sizeof(*lsa))
 {
        struct sk_buff *skb;
        int rc;
-       struct l2tp_ip_sock *lsa = l2tp_ip_sk(sk);
        struct inet_sock *inet = inet_sk(sk);
        struct rtable *rt = NULL;
        struct flowi4 *fl4;
        rcu_read_unlock();
 
 error:
-       /* Update stats */
-       if (rc >= 0) {
-               lsa->tx_packets++;
-               lsa->tx_bytes += len;
+       if (rc >= 0)
                rc = len;
-       } else {
-               lsa->tx_errors++;
-       }
 
 out:
        release_sock(sk);
                           size_t len, int noblock, int flags, int *addr_len)
 {
        struct inet_sock *inet = inet_sk(sk);
-       struct l2tp_ip_sock *lsk = l2tp_ip_sk(sk);
        size_t copied = 0;
        int err = -EOPNOTSUPP;
        struct sockaddr_in *sin = (struct sockaddr_in *)msg->msg_name;
 done:
        skb_free_datagram(sk, skb);
 out:
-       if (err) {
-               lsk->rx_errors++;
-               return err;
-       }
-
-       lsk->rx_packets++;
-       lsk->rx_bytes += copied;
-
-       return copied;
+       return err ? err : copied;
 }
 
 static struct proto l2tp_ip_prot = {