--- linux-2.4.25/drivers/atm/Kcnfig 2003-08-25 13:44:41.000000000 +0200
+++ linux-2.4.25-atmdd/drivers/atm/Kconfig 2004-02-29 22:52:59.000000000 +0100
@@ -4,6 +4,14 @@
- default y
+ If you say N, all options in this submenu will be skipped and disabled.
if ATM_DRIVERS && NETDEVICES && ATM
+
diff -urN linux-2.4.25/drivers/atm/atmdd.c linux-2.4.25-atmdd/drivers/atm/atmdd.c
--- linux-2.4.25/drivers/atm/atmdd.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.4.25-atmdd/drivers/atm/atmdd.c 2004-02-29 22:58:11.000000000 +0100
-@@ -0,0 +1,921 @@
+@@ -0,0 +1,920 @@
+/*
+#######################################################################
+#
+ while ((skb = myatmdd_rxq_dequeue(&priv->rxqueue, &pkt_len)))
+ {
+ struct sk_buff *newskb;
-+ struct timeval stamp;
+
+ /* Get a new skb to replace the one just consumed */
+ if (!(newskb = dev_alloc_skb(AAL5_BUFLEN)))
+ atomic_inc(&vcc->stats->rx);
+
+ /* add timestamp for upper layers to use */
-+ do_gettimeofday(&stamp);
-+ skb->tstamp = timeval_to_ktime(stamp);
++ ktime_t kt = ktime_get_real();
++ skb->tstamp = kt;
+
+ /* Point socket buffer at the right VCC before giving to socket layer */
+ ATM_SKB(skb)->vcc = vcc;