X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=kernel-atmdd.patch;h=6298f6b1a65ae434083bddc80ead20af27883b9d;hb=ddcf70d88915443e6ba1eefe5fe7dafad6c08609;hp=871aba3a5de59177399ecb75adc609f705612180;hpb=896e7dc43a8e009f1d9948047e597d3215078e8b;p=packages%2Fkernel.git diff --git a/kernel-atmdd.patch b/kernel-atmdd.patch index 871aba3a..6298f6b1 100644 --- a/kernel-atmdd.patch +++ b/kernel-atmdd.patch @@ -2,9 +2,9 @@ diff -urN linux-2.4.25/drivers/atm/Makefile linux-2.4.25-atmdd/drivers/atm/Makef --- linux-2.4.25/drivers/atm/Makefile 2004-02-23 15:18:29.000000000 +0100 +++ linux-2.4.25-atmdd/drivers/atm/Makefile 2004-02-29 22:51:26.000000000 +0100 @@ -31,6 +31,7 @@ - obj-$(CONFIG_ATM_IDT77252) += suni.o endif + obj-$(CONFIG_ATM_DUMMY) += adummy.o +obj-$(CONFIG_ATM_DD) += atmdd.o obj-$(CONFIG_ATM_TCP) += atmtcp.o obj-$(CONFIG_ATM_FIRESTREAM) += firestream.o @@ -13,9 +13,9 @@ diff -urN linux-2.4.25/drivers/atm/Kconfig linux-2.4.25-atmdd/drivers/atm/Kconfi --- 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 @@ + If you say N, all options in this submenu will be skipped and disabled. - menu "ATM drivers" - depends on NETDEVICES && ATM + if ATM_DRIVERS && NETDEVICES && ATM + +config ATM_DD + tristate "ATM loopback" @@ -25,8 +25,8 @@ diff -urN linux-2.4.25/drivers/atm/Kconfig linux-2.4.25-atmdd/drivers/atm/Kconfi + hardware. It supports AAL5 and AAL0. Frames are merely looped back + to the sender on the same VC they were sent. - config ATM_TCP - tristate "ATM over TCP" + config ATM_DUMMY + tristate "Dummy ATM driver" 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 @@ -64,7 +64,6 @@ diff -urN linux-2.4.25/drivers/atm/atmdd.c linux-2.4.25-atmdd/drivers/atm/atmdd. +/*############ Includes ###############################################*/ + +#include -+#include +#include +#include +#include @@ -171,8 +170,8 @@ diff -urN linux-2.4.25/drivers/atm/atmdd.c linux-2.4.25-atmdd/drivers/atm/atmdd. +static int myatmdd_open(struct atm_vcc *vcc); +static void myatmdd_close(struct atm_vcc *vcc); +static int myatmdd_ioctl(struct atm_dev *dev, unsigned int cmd,void *arg); -+static int myatmdd_setsockopt(struct atm_vcc *vcc,int level,int optname, void *optval,int optlen); -+static int myatmdd_getsockopt(struct atm_vcc *vcc,int level,int optname, void *optval,int optlen); ++static int myatmdd_setsockopt(struct atm_vcc *vcc,int level,int optname, void __user *optval,unsigned int optlen); ++static int myatmdd_getsockopt(struct atm_vcc *vcc,int level,int optname, void __user *optval,int optlen); +static int myatmdd_send(struct atm_vcc *vcc,struct sk_buff *skb); +static int myatmdd_change_qos(struct atm_vcc *vcc,struct atm_qos *qos,int flgs); +static int myatmdd_proc_read(struct atm_dev *dev,loff_t *pos,char *page); @@ -275,7 +274,8 @@ diff -urN linux-2.4.25/drivers/atm/atmdd.c linux-2.4.25-atmdd/drivers/atm/atmdd. + atomic_inc(&vcc->stats->rx); + + /* add timestamp for upper layers to use */ -+ do_gettimeofday(&skb->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; @@ -788,12 +788,12 @@ diff -urN linux-2.4.25/drivers/atm/atmdd.c linux-2.4.25-atmdd/drivers/atm/atmdd. + return -EINVAL; +} + -+static int myatmdd_getsockopt(struct atm_vcc *vcc,int level,int optname, void *optval,int optlen) ++static int myatmdd_getsockopt(struct atm_vcc *vcc,int level,int optname, void __user *optval,int optlen) +{ + return -EINVAL; +} + -+static int myatmdd_setsockopt(struct atm_vcc *vcc,int level,int optname, void *optval,int optlen) ++static int myatmdd_setsockopt(struct atm_vcc *vcc,int level,int optname, void __user *optval,unsigned int optlen) +{ + return -EINVAL; +} @@ -884,7 +884,7 @@ diff -urN linux-2.4.25/drivers/atm/atmdd.c linux-2.4.25-atmdd/drivers/atm/atmdd. + return -ENOMEM; + + /* Register the new device */ -+ myatmdd_dev = atm_dev_register(MYATMDD,&myatmdd_ops,-1,NULL); ++ myatmdd_dev = atm_dev_register(MYATMDD,NULL,&myatmdd_ops,-1,NULL); + + /* Were we able to register this device? */ + if (myatmdd_dev == NULL)