-diff -urN linux.old/include/linux/atm.h linux.dev/include/linux/atm.h
---- linux.old/include/linux/atm.h 2005-08-22 23:18:50.877539920 +0200
-+++ linux.dev/include/linux/atm.h 2005-08-23 04:46:50.112841416 +0200
-@@ -135,9 +135,12 @@
- unsigned char traffic_class; /* traffic class (ATM_UBR, ...) */
- int max_pcr; /* maximum PCR in cells per second */
- int pcr; /* desired PCR in cells per second */
-+ int scr; /* desired SCR in cells per second */
- int min_pcr; /* minimum PCR in cells per second */
- int max_cdv; /* maximum CDV in microseconds */
- int max_sdu; /* maximum SDU in bytes */
-+ /* Ron remove for old tiatm driver 1.00.09 */
-+ //int mbs; /* Maximum Burst size */
- /* extra params for ABR */
- unsigned int icr; /* Initial Cell Rate (24-bit) */
- unsigned int tbe; /* Transient Buffer Exposure (24-bit) */
-diff -urN linux.old/net/atm/common.c linux.dev/net/atm/common.c
---- linux.old/net/atm/common.c 2005-08-22 23:18:50.878539768 +0200
-+++ linux.dev/net/atm/common.c 2005-08-23 08:07:15.226746232 +0200
-@@ -460,8 +460,10 @@
- vcc->qos.rxtp.max_pcr,vcc->qos.rxtp.max_sdu,
- vcc->qos.aal == ATM_AAL5 ? "" : vcc->qos.aal == ATM_AAL0 ? "" :
- " ??? code ",vcc->qos.aal == ATM_AAL0 ? 0 : vcc->qos.aal);
-+#if 0 /* by nbd */
- if (!test_bit(ATM_VF_HASQOS, &vcc->flags))
- return -EBADFD;
-+#endif
- if (vcc->qos.txtp.traffic_class == ATM_ANYCLASS ||
- vcc->qos.rxtp.traffic_class == ATM_ANYCLASS)
- return -EINVAL;
-@@ -994,9 +996,6 @@
- unsigned long value;
- int error;
-
-- if (__SO_LEVEL_MATCH(optname, level) && optlen != __SO_SIZE(optname))
-- return -EINVAL;
--
- vcc = ATM_SD(sock);
- switch (optname) {
- case SO_ATMQOS:
-@@ -1044,8 +1043,10 @@
- vcc = ATM_SD(sock);
- switch (optname) {
- case SO_ATMQOS:
-+#if 0 /* by nbd */
- if (!test_bit(ATM_VF_HASQOS,&vcc->flags))
- return -EINVAL;
-+#endif
- return copy_to_user(optval,&vcc->qos,sizeof(vcc->qos)) ?
- -EFAULT : 0;
- case SO_SETCLP:
-diff -urN linux.old/net/atm/pvc.c linux.dev/net/atm/pvc.c
---- linux.old/net/atm/pvc.c 2005-08-22 23:18:50.880539464 +0200
-+++ linux.dev/net/atm/pvc.c 2005-08-23 08:07:31.342296296 +0200
-@@ -38,10 +38,12 @@
- if (addr->sap_family != AF_ATMPVC) return -EAFNOSUPPORT;
- lock_sock(sk);
- vcc = ATM_SD(sock);
-+#if 0 /* by nbd */
- if (!test_bit(ATM_VF_HASQOS, &vcc->flags)) {
- error = -EBADFD;
- goto out;
- }
-+#endif
- if (test_bit(ATM_VF_PARTIAL,&vcc->flags)) {
- if (vcc->vpi != ATM_VPI_UNSPEC) addr->sap_addr.vpi = vcc->vpi;
- if (vcc->vci != ATM_VCI_UNSPEC) addr->sap_addr.vci = vcc->vci;
-diff -urN linux.old/net/atm/svc.c linux.dev/net/atm/svc.c
---- linux.old/net/atm/svc.c 2005-08-22 23:18:50.881539312 +0200
-+++ linux.dev/net/atm/svc.c 2005-08-23 07:46:40.730418200 +0200
-@@ -141,10 +141,12 @@
- clear_bit(ATM_VF_BOUND,&vcc->flags);
- /* failing rebind will kill old binding */
- /* @@@ check memory (de)allocation on rebind */
-+#if 0 /* by nbd */
- if (!test_bit(ATM_VF_HASQOS,&vcc->flags)) {
- error = -EBADFD;
- goto out;
- }
-+#endif
- vcc->local = *addr;
- vcc->reply = WAITING;
- add_wait_queue(&vcc->sleep,&wait);
-@@ -212,10 +214,12 @@
- error = -EAFNOSUPPORT;
- goto out;
- }
-+#if 0 /* by nbd */
- if (!test_bit(ATM_VF_HASQOS, &vcc->flags)) {
- error = -EBADFD;
- goto out;
- }
-+#endif
- if (vcc->qos.txtp.traffic_class == ATM_ANYCLASS ||
- vcc->qos.rxtp.traffic_class == ATM_ANYCLASS) {
- error = -EINVAL;