From 778c67ae8593feb028f69184c6a5b9df10b23a64 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Tue, 23 Aug 2005 13:36:50 +0000
Subject: [PATCH] add minor dsl driver cleanup

SVN-Revision: 1736
---
 .../patches/ar7/004-atm_driver.patch          | 296 +++++-------------
 1 file changed, 85 insertions(+), 211 deletions(-)

diff --git a/openwrt/target/linux/linux-2.4/patches/ar7/004-atm_driver.patch b/openwrt/target/linux/linux-2.4/patches/ar7/004-atm_driver.patch
index 885609904c..cffd96778f 100644
--- a/openwrt/target/linux/linux-2.4/patches/ar7/004-atm_driver.patch
+++ b/openwrt/target/linux/linux-2.4/patches/ar7/004-atm_driver.patch
@@ -1,6 +1,6 @@
 diff -urN linux.old/drivers/atm/Config.in linux.dev/drivers/atm/Config.in
 --- linux.old/drivers/atm/Config.in	2005-08-22 23:18:37.773532032 +0200
-+++ linux.dev/drivers/atm/Config.in	2005-08-22 23:17:42.413947968 +0200
++++ linux.dev/drivers/atm/Config.in	2005-08-23 04:46:50.076846888 +0200
 @@ -99,4 +99,10 @@
      bool 'Use S/UNI PHY driver' CONFIG_ATM_HE_USE_SUNI
    fi
@@ -14,7 +14,7 @@ diff -urN linux.old/drivers/atm/Config.in linux.dev/drivers/atm/Config.in
  endmenu
 diff -urN linux.old/drivers/atm/Makefile linux.dev/drivers/atm/Makefile
 --- linux.old/drivers/atm/Makefile	2005-08-22 23:18:37.773532032 +0200
-+++ linux.dev/drivers/atm/Makefile	2005-08-22 23:17:42.413947968 +0200
++++ linux.dev/drivers/atm/Makefile	2005-08-23 04:46:50.077846736 +0200
 @@ -14,6 +14,32 @@
  obj-$(CONFIG_ATM_NICSTAR) += nicstar.o
  obj-$(CONFIG_ATM_IDT77252) += idt77252.o
@@ -50,7 +50,7 @@ diff -urN linux.old/drivers/atm/Makefile linux.dev/drivers/atm/Makefile
  endif
 diff -urN linux.old/drivers/atm/sangam_atm/aal5sar.c linux.dev/drivers/atm/sangam_atm/aal5sar.c
 --- linux.old/drivers/atm/sangam_atm/aal5sar.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/aal5sar.c	2005-08-22 23:17:42.416947512 +0200
++++ linux.dev/drivers/atm/sangam_atm/aal5sar.c	2005-08-23 04:46:50.080846280 +0200
 @@ -0,0 +1,2962 @@
 +
 +/**
@@ -3016,7 +3016,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/aal5sar.c linux.dev/drivers/atm/sanga
 +  }
 diff -urN linux.old/drivers/atm/sangam_atm/aal5sar.h linux.dev/drivers/atm/sangam_atm/aal5sar.h
 --- linux.old/drivers/atm/sangam_atm/aal5sar.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/aal5sar.h	2005-08-22 23:17:42.417947360 +0200
++++ linux.dev/drivers/atm/sangam_atm/aal5sar.h	2005-08-23 04:46:50.080846280 +0200
 @@ -0,0 +1,198 @@
 +/**@file************************************************************************
 + *  TNETDxxxx Software Support
@@ -3218,7 +3218,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/aal5sar.h linux.dev/drivers/atm/sanga
 +#endif
 diff -urN linux.old/drivers/atm/sangam_atm/cpcommon_cpaal5.c linux.dev/drivers/atm/sangam_atm/cpcommon_cpaal5.c
 --- linux.old/drivers/atm/sangam_atm/cpcommon_cpaal5.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpcommon_cpaal5.c	2005-08-22 23:17:42.418947208 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpcommon_cpaal5.c	2005-08-23 04:46:50.081846128 +0200
 @@ -0,0 +1,728 @@
 +#ifndef _INC_CPCOMMON_C
 +#define _INC_CPCOMMON_C
@@ -3950,7 +3950,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpcommon_cpaal5.c linux.dev/drivers/a
 +#endif  /* _INC  */
 diff -urN linux.old/drivers/atm/sangam_atm/cpcommon_cpaal5.h linux.dev/drivers/atm/sangam_atm/cpcommon_cpaal5.h
 --- linux.old/drivers/atm/sangam_atm/cpcommon_cpaal5.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpcommon_cpaal5.h	2005-08-22 23:17:42.418947208 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpcommon_cpaal5.h	2005-08-23 04:46:50.082845976 +0200
 @@ -0,0 +1,79 @@
 +#ifndef _INC_CPCOMMON_H
 +#define _INC_CPCOMMON_H
@@ -4033,7 +4033,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpcommon_cpaal5.h linux.dev/drivers/a
 +
 diff -urN linux.old/drivers/atm/sangam_atm/cpcommon_cpsar.c linux.dev/drivers/atm/sangam_atm/cpcommon_cpsar.c
 --- linux.old/drivers/atm/sangam_atm/cpcommon_cpsar.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpcommon_cpsar.c	2005-08-22 23:17:42.419947056 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpcommon_cpsar.c	2005-08-23 04:46:50.082845976 +0200
 @@ -0,0 +1,728 @@
 +#ifndef _INC_CPCOMMON_C
 +#define _INC_CPCOMMON_C
@@ -4765,7 +4765,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpcommon_cpsar.c linux.dev/drivers/at
 +#endif  /* _INC  */
 diff -urN linux.old/drivers/atm/sangam_atm/cpcommon_cpsar.h linux.dev/drivers/atm/sangam_atm/cpcommon_cpsar.h
 --- linux.old/drivers/atm/sangam_atm/cpcommon_cpsar.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpcommon_cpsar.h	2005-08-22 23:17:42.419947056 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpcommon_cpsar.h	2005-08-23 04:46:50.083845824 +0200
 @@ -0,0 +1,79 @@
 +#ifndef _INC_CPCOMMON_H
 +#define _INC_CPCOMMON_H
@@ -4848,7 +4848,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpcommon_cpsar.h linux.dev/drivers/at
 +
 diff -urN linux.old/drivers/atm/sangam_atm/cppi_cpaal5.c linux.dev/drivers/atm/sangam_atm/cppi_cpaal5.c
 --- linux.old/drivers/atm/sangam_atm/cppi_cpaal5.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cppi_cpaal5.c	2005-08-22 23:17:42.421946752 +0200
++++ linux.dev/drivers/atm/sangam_atm/cppi_cpaal5.c	2005-08-23 04:46:50.084845672 +0200
 @@ -0,0 +1,1483 @@
 +/*************************************************************************
 + *  TNETDxxxx Software Support
@@ -6335,7 +6335,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cppi_cpaal5.c linux.dev/drivers/atm/s
 +  }
 diff -urN linux.old/drivers/atm/sangam_atm/cpremap_cpaal5.c linux.dev/drivers/atm/sangam_atm/cpremap_cpaal5.c
 --- linux.old/drivers/atm/sangam_atm/cpremap_cpaal5.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpremap_cpaal5.c	2005-08-22 23:17:42.421946752 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpremap_cpaal5.c	2005-08-23 04:46:50.084845672 +0200
 @@ -0,0 +1,27 @@
 +#ifndef _INC_CPREMAP_C
 +#define _INC_CPREMAP_C
@@ -6366,7 +6366,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpremap_cpaal5.c linux.dev/drivers/at
 +#endif
 diff -urN linux.old/drivers/atm/sangam_atm/cpremap_cpsar.c linux.dev/drivers/atm/sangam_atm/cpremap_cpsar.c
 --- linux.old/drivers/atm/sangam_atm/cpremap_cpsar.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpremap_cpsar.c	2005-08-22 23:17:42.421946752 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpremap_cpsar.c	2005-08-23 04:46:50.084845672 +0200
 @@ -0,0 +1,27 @@
 +#ifndef _INC_CPREMAP_C
 +#define _INC_CPREMAP_C
@@ -6397,7 +6397,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpremap_cpsar.c linux.dev/drivers/atm
 +#endif
 diff -urN linux.old/drivers/atm/sangam_atm/cpsar.c linux.dev/drivers/atm/sangam_atm/cpsar.c
 --- linux.old/drivers/atm/sangam_atm/cpsar.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpsar.c	2005-08-22 23:17:42.422946600 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpsar.c	2005-08-23 04:46:50.086845368 +0200
 @@ -0,0 +1,881 @@
 +/**
 + *  cpsar.c
@@ -7282,7 +7282,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpsar.c linux.dev/drivers/atm/sangam_
 +  }
 diff -urN linux.old/drivers/atm/sangam_atm/cpsar_cpaal5.h linux.dev/drivers/atm/sangam_atm/cpsar_cpaal5.h
 --- linux.old/drivers/atm/sangam_atm/cpsar_cpaal5.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpsar_cpaal5.h	2005-08-22 23:17:42.422946600 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpsar_cpaal5.h	2005-08-23 04:46:50.087845216 +0200
 @@ -0,0 +1,103 @@
 +/*******************************************************************************
 + *  TNETDxxxx Software Support
@@ -7389,7 +7389,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpsar_cpaal5.h linux.dev/drivers/atm/
 +#endif
 diff -urN linux.old/drivers/atm/sangam_atm/cpsar.h linux.dev/drivers/atm/sangam_atm/cpsar.h
 --- linux.old/drivers/atm/sangam_atm/cpsar.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpsar.h	2005-08-22 23:17:42.423946448 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpsar.h	2005-08-23 04:46:50.087845216 +0200
 @@ -0,0 +1,103 @@
 +/*******************************************************************************
 + *  TNETDxxxx Software Support
@@ -7496,7 +7496,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpsar.h linux.dev/drivers/atm/sangam_
 +#endif
 diff -urN linux.old/drivers/atm/sangam_atm/cp_sar_reg.h linux.dev/drivers/atm/sangam_atm/cp_sar_reg.h
 --- linux.old/drivers/atm/sangam_atm/cp_sar_reg.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cp_sar_reg.h	2005-08-22 23:17:42.423946448 +0200
++++ linux.dev/drivers/atm/sangam_atm/cp_sar_reg.h	2005-08-23 04:46:50.087845216 +0200
 @@ -0,0 +1,217 @@
 +/***************************************************************************
 +        TNETD73xx Software Support
@@ -7717,7 +7717,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cp_sar_reg.h linux.dev/drivers/atm/sa
 +#endif _INC_SAR_REG
 diff -urN linux.old/drivers/atm/sangam_atm/cpswhal_cpaal5.h linux.dev/drivers/atm/sangam_atm/cpswhal_cpaal5.h
 --- linux.old/drivers/atm/sangam_atm/cpswhal_cpaal5.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpswhal_cpaal5.h	2005-08-22 23:17:42.424946296 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpswhal_cpaal5.h	2005-08-23 04:46:50.088845064 +0200
 @@ -0,0 +1,629 @@
 +/************************************************************************
 + *  TNETDxxxx Software Support
@@ -8350,7 +8350,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpswhal_cpaal5.h linux.dev/drivers/at
 +#endif  /*  end of _INC_    */
 diff -urN linux.old/drivers/atm/sangam_atm/cpswhal_cpsar.h linux.dev/drivers/atm/sangam_atm/cpswhal_cpsar.h
 --- linux.old/drivers/atm/sangam_atm/cpswhal_cpsar.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpswhal_cpsar.h	2005-08-22 23:17:42.425946144 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpswhal_cpsar.h	2005-08-23 04:46:50.089844912 +0200
 @@ -0,0 +1,629 @@
 +/************************************************************************
 + *  TNETDxxxx Software Support
@@ -8983,7 +8983,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpswhal_cpsar.h linux.dev/drivers/atm
 +#endif  /*  end of _INC_    */
 diff -urN linux.old/drivers/atm/sangam_atm/dev_host_interface.h linux.dev/drivers/atm/sangam_atm/dev_host_interface.h
 --- linux.old/drivers/atm/sangam_atm/dev_host_interface.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/dev_host_interface.h	2005-08-22 23:17:42.426945992 +0200
++++ linux.dev/drivers/atm/sangam_atm/dev_host_interface.h	2005-08-23 04:46:50.091844608 +0200
 @@ -0,0 +1,1162 @@
 +#ifndef __DEV_HOST_INTERFACE_H__
 +#define __DEV_HOST_INTERFACE_H__ 1
@@ -10149,7 +10149,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/dev_host_interface.h linux.dev/driver
 +#endif
 diff -urN linux.old/drivers/atm/sangam_atm/dev_host_verdef.h linux.dev/drivers/atm/sangam_atm/dev_host_verdef.h
 --- linux.old/drivers/atm/sangam_atm/dev_host_verdef.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/dev_host_verdef.h	2005-08-22 23:17:42.427945840 +0200
++++ linux.dev/drivers/atm/sangam_atm/dev_host_verdef.h	2005-08-23 04:46:50.091844608 +0200
 @@ -0,0 +1,102 @@
 +#ifndef __DEV_HOST_VERDEF_H__
 +#define __DEV_HOST_VERDEF_H__ 1
@@ -10255,7 +10255,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/dev_host_verdef.h linux.dev/drivers/a
 +#endif // __DEV_HOST_VERDEF_H__
 diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_api.c linux.dev/drivers/atm/sangam_atm/dsl_hal_api.c
 --- linux.old/drivers/atm/sangam_atm/dsl_hal_api.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/dsl_hal_api.c	2005-08-22 23:17:42.430945384 +0200
++++ linux.dev/drivers/atm/sangam_atm/dsl_hal_api.c	2005-08-23 04:46:50.095844000 +0200
 @@ -0,0 +1,3339 @@
 +/*******************************************************************************
 +* FILE PURPOSE:     DSL Driver API functions for Sangam
@@ -13598,7 +13598,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_api.c linux.dev/drivers/atm/s
 +
 diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_api.h linux.dev/drivers/atm/sangam_atm/dsl_hal_api.h
 --- linux.old/drivers/atm/sangam_atm/dsl_hal_api.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/dsl_hal_api.h	2005-08-22 23:17:42.432945080 +0200
++++ linux.dev/drivers/atm/sangam_atm/dsl_hal_api.h	2005-08-23 04:46:50.097843696 +0200
 @@ -0,0 +1,1721 @@
 +#ifndef __DSL_HAL_API_H__
 +#define __DSL_HAL_API_H__ 1
@@ -15323,7 +15323,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_api.h linux.dev/drivers/atm/s
 +#endif /* pairs #ifndef __DSL_APPLICATION_INTERFACE_H__ */
 diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_logtable.h linux.dev/drivers/atm/sangam_atm/dsl_hal_logtable.h
 --- linux.old/drivers/atm/sangam_atm/dsl_hal_logtable.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/dsl_hal_logtable.h	2005-08-22 23:17:42.433944928 +0200
++++ linux.dev/drivers/atm/sangam_atm/dsl_hal_logtable.h	2005-08-23 04:46:50.097843696 +0200
 @@ -0,0 +1,259 @@
 +unsigned int log10[]=
 +{
@@ -15586,7 +15586,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_logtable.h linux.dev/drivers/
 +    };
 diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_register.h linux.dev/drivers/atm/sangam_atm/dsl_hal_register.h
 --- linux.old/drivers/atm/sangam_atm/dsl_hal_register.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/dsl_hal_register.h	2005-08-22 23:17:42.433944928 +0200
++++ linux.dev/drivers/atm/sangam_atm/dsl_hal_register.h	2005-08-23 04:46:50.097843696 +0200
 @@ -0,0 +1,337 @@
 +#ifndef ___DSL_REGISTER_DEFINES_H___
 +#define ___DSL_REGISTER_DEFINES_H___ 1
@@ -15927,7 +15927,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_register.h linux.dev/drivers/
 +#endif /* pairs #ifndef ___DSL_REGISTER_DEFINES_H___ */
 diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_support.c linux.dev/drivers/atm/sangam_atm/dsl_hal_support.c
 --- linux.old/drivers/atm/sangam_atm/dsl_hal_support.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/dsl_hal_support.c	2005-08-22 23:17:42.436944472 +0200
++++ linux.dev/drivers/atm/sangam_atm/dsl_hal_support.c	2005-08-23 04:46:50.100843240 +0200
 @@ -0,0 +1,2788 @@
 +/*******************************************************************************
 +* FILE PURPOSE:     DSL Driver API functions for Sangam
@@ -18719,7 +18719,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_support.c linux.dev/drivers/a
 +} /* end of dslhal_support_byteSwap32() */
 diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_support.h linux.dev/drivers/atm/sangam_atm/dsl_hal_support.h
 --- linux.old/drivers/atm/sangam_atm/dsl_hal_support.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/dsl_hal_support.h	2005-08-22 23:37:21.760660016 +0200
++++ linux.dev/drivers/atm/sangam_atm/dsl_hal_support.h	2005-08-23 04:46:50.101843088 +0200
 @@ -0,0 +1,718 @@
 +#ifndef DSL_HAL_SUPPORT_H__
 +#define DSL_HAL_SUPPORT_H__ 1
@@ -19441,7 +19441,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_support.h linux.dev/drivers/a
 +#endif /* Pairs #ifndef DSL_HAL_FUNCTIONDEFINES_H__ */
 diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_version.h linux.dev/drivers/atm/sangam_atm/dsl_hal_version.h
 --- linux.old/drivers/atm/sangam_atm/dsl_hal_version.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/dsl_hal_version.h	2005-08-22 23:17:42.437944320 +0200
++++ linux.dev/drivers/atm/sangam_atm/dsl_hal_version.h	2005-08-23 04:46:50.102842936 +0200
 @@ -0,0 +1,94 @@
 +#ifndef __SYSSW_VERSION_H__
 +#define __SYSSW_VERSION_H__ 1
@@ -19539,7 +19539,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_version.h linux.dev/drivers/a
 +#endif /* pairs with #ifndef __SYSSW_VERSION_H__ */
 diff -urN linux.old/drivers/atm/sangam_atm/ec_errors_cpaal5.h linux.dev/drivers/atm/sangam_atm/ec_errors_cpaal5.h
 --- linux.old/drivers/atm/sangam_atm/ec_errors_cpaal5.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/ec_errors_cpaal5.h	2005-08-22 23:17:42.438944168 +0200
++++ linux.dev/drivers/atm/sangam_atm/ec_errors_cpaal5.h	2005-08-23 04:46:50.102842936 +0200
 @@ -0,0 +1,118 @@
 +/***************************************************************************
 + Copyright(c) 2001, Texas Instruments Incorporated. All Rights Reserved.
@@ -19661,7 +19661,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/ec_errors_cpaal5.h linux.dev/drivers/
 +#endif /* _INC_EC_ERRORS */
 diff -urN linux.old/drivers/atm/sangam_atm/ec_errors_cpsar.h linux.dev/drivers/atm/sangam_atm/ec_errors_cpsar.h
 --- linux.old/drivers/atm/sangam_atm/ec_errors_cpsar.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/ec_errors_cpsar.h	2005-08-22 23:17:42.438944168 +0200
++++ linux.dev/drivers/atm/sangam_atm/ec_errors_cpsar.h	2005-08-23 04:46:50.102842936 +0200
 @@ -0,0 +1,118 @@
 +/***************************************************************************
 + Copyright(c) 2001, Texas Instruments Incorporated. All Rights Reserved.
@@ -19783,7 +19783,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/ec_errors_cpsar.h linux.dev/drivers/a
 +#endif /* _INC_EC_ERRORS */
 diff -urN linux.old/drivers/atm/sangam_atm/env_def_defines.h linux.dev/drivers/atm/sangam_atm/env_def_defines.h
 --- linux.old/drivers/atm/sangam_atm/env_def_defines.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/env_def_defines.h	2005-08-22 23:17:42.439944016 +0200
++++ linux.dev/drivers/atm/sangam_atm/env_def_defines.h	2005-08-23 04:46:50.103842784 +0200
 @@ -0,0 +1,926 @@
 +#ifndef __ENV_DEF_DEFINES_H__
 +#define __ENV_DEF_DEFINES_H__ 1
@@ -20713,7 +20713,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/env_def_defines.h linux.dev/drivers/a
 +
 diff -urN linux.old/drivers/atm/sangam_atm/env_def_typedefs.h linux.dev/drivers/atm/sangam_atm/env_def_typedefs.h
 --- linux.old/drivers/atm/sangam_atm/env_def_typedefs.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/env_def_typedefs.h	2005-08-22 23:17:42.440943864 +0200
++++ linux.dev/drivers/atm/sangam_atm/env_def_typedefs.h	2005-08-23 04:46:50.104842632 +0200
 @@ -0,0 +1,228 @@
 +#ifndef __ENV_DEF_TYPEDEFS_H__
 +#define __ENV_DEF_TYPEDEFS_H__ 1
@@ -20945,7 +20945,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/env_def_typedefs.h linux.dev/drivers/
 +#endif
 diff -urN linux.old/drivers/atm/sangam_atm/Makefile linux.dev/drivers/atm/sangam_atm/Makefile
 --- linux.old/drivers/atm/sangam_atm/Makefile	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/Makefile	2005-08-22 23:17:42.440943864 +0200
++++ linux.dev/drivers/atm/sangam_atm/Makefile	2005-08-23 04:46:50.104842632 +0200
 @@ -0,0 +1,35 @@
 +# File: drivers/net/avalanche_cpmac/Makefile
 +#
@@ -20984,7 +20984,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/Makefile linux.dev/drivers/atm/sangam
 +	rm -f core *.o *.a *.s
 diff -urN linux.old/drivers/atm/sangam_atm/queue.h linux.dev/drivers/atm/sangam_atm/queue.h
 --- linux.old/drivers/atm/sangam_atm/queue.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/queue.h	2005-08-22 23:17:42.440943864 +0200
++++ linux.dev/drivers/atm/sangam_atm/queue.h	2005-08-23 04:46:50.104842632 +0200
 @@ -0,0 +1,167 @@
 +
 +#if !defined( __QUEUE_H__ )
@@ -21155,7 +21155,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/queue.h linux.dev/drivers/atm/sangam_
 +#endif
 diff -urN linux.old/drivers/atm/sangam_atm/release.txt linux.dev/drivers/atm/sangam_atm/release.txt
 --- linux.old/drivers/atm/sangam_atm/release.txt	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/release.txt	2005-08-22 23:17:42.441943712 +0200
++++ linux.dev/drivers/atm/sangam_atm/release.txt	2005-08-23 04:46:50.104842632 +0200
 @@ -0,0 +1,118 @@
 +This is release notes for AR7 Linux ATM driver.
 +
@@ -21277,7 +21277,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/release.txt linux.dev/drivers/atm/san
 +   
 diff -urN linux.old/drivers/atm/sangam_atm/syssw_version.h linux.dev/drivers/atm/sangam_atm/syssw_version.h
 --- linux.old/drivers/atm/sangam_atm/syssw_version.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/syssw_version.h	2005-08-22 23:17:42.441943712 +0200
++++ linux.dev/drivers/atm/sangam_atm/syssw_version.h	2005-08-23 04:46:50.105842480 +0200
 @@ -0,0 +1,94 @@
 +#ifndef __SYSSW_VERSION_H__
 +#define __SYSSW_VERSION_H__ 1
@@ -21375,7 +21375,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/syssw_version.h linux.dev/drivers/atm
 +#endif /* pairs with #ifndef __SYSSW_VERSION_H__ */
 diff -urN linux.old/drivers/atm/sangam_atm/tn7api.h linux.dev/drivers/atm/sangam_atm/tn7api.h
 --- linux.old/drivers/atm/sangam_atm/tn7api.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/tn7api.h	2005-08-22 23:17:42.441943712 +0200
++++ linux.dev/drivers/atm/sangam_atm/tn7api.h	2005-08-23 04:46:50.105842480 +0200
 @@ -0,0 +1,54 @@
 +/* 
 + *    Tnetd73xx ATM driver.
@@ -21433,8 +21433,8 @@ diff -urN linux.old/drivers/atm/sangam_atm/tn7api.h linux.dev/drivers/atm/sangam
 +#endif
 diff -urN linux.old/drivers/atm/sangam_atm/tn7atm.c linux.dev/drivers/atm/sangam_atm/tn7atm.c
 --- linux.old/drivers/atm/sangam_atm/tn7atm.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/tn7atm.c	2005-08-22 23:17:42.442943560 +0200
-@@ -0,0 +1,1212 @@
++++ linux.dev/drivers/atm/sangam_atm/tn7atm.c	2005-08-23 06:46:10.067362880 +0200
+@@ -0,0 +1,1223 @@
 +/* 
 + *   tn7.c
 + *   Linux atm module implementation.
@@ -21553,6 +21553,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/tn7atm.c linux.dev/drivers/atm/sangam
 +}
 +
 +
++#if 0 /* by nbd */
 +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
 + *
 + *  Function: int tn7atm_walk_vccs(struct atm_dev *dev, short *vcc, int *vci)
@@ -21592,6 +21593,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/tn7atm.c linux.dev/drivers/atm/sangam
 +
 +  return 0;
 +}
++#endif
 +
 +
 +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
@@ -21845,6 +21847,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/tn7atm.c linux.dev/drivers/atm/sangam
 +  int scr = 0x20000;
 +  int mbs = 0x20000;
 +  int cdvt = 10000;
++  int err;
 +
 +  dprintf(1, "tn7atm_open()\n");
 +
@@ -21857,8 +21860,16 @@ diff -urN linux.old/drivers/atm/sangam_atm/tn7atm.c linux.dev/drivers/atm/sangam
 +
 +  MOD_INC_USE_COUNT;
 +
++#if 0 /* by nbd */
 +  /* find a free VPI/VCI */
 +  tn7atm_walk_vccs(vcc, &vpi, &vci);
++#else
++  if ((err = atm_find_ci(vcc, &vpi, &vci))) {
++    printk("atm_find_ci err = %d\n", err);
++    return err;
++  }
++  
++#endif
 +        
 +  vcc->vpi = vpi;
 +  vcc->vci = vci;
@@ -22265,7 +22276,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/tn7atm.c linux.dev/drivers/atm/sangam
 +  __skb_trim(skb,skb->len); /* change to correct > 1500 ping when firewall is on */
 +
 +  dprintf(3, "pushing the skb...\n");
-+  skb->stamp = vcc->timestamp = xtime;
++  skb->stamp = xtime;
 +
 +  xdump((unsigned char *)skb->data, skb->len, 5);
 +  
@@ -22649,7 +22660,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/tn7atm.c linux.dev/drivers/atm/sangam
 +#endif /* MODULE */
 diff -urN linux.old/drivers/atm/sangam_atm/tn7atm.h linux.dev/drivers/atm/sangam_atm/tn7atm.h
 --- linux.old/drivers/atm/sangam_atm/tn7atm.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/tn7atm.h	2005-08-22 23:17:42.443943408 +0200
++++ linux.dev/drivers/atm/sangam_atm/tn7atm.h	2005-08-23 04:46:50.107842176 +0200
 @@ -0,0 +1,115 @@
 +/* 
 + *    Tnetd73xx ATM driver.
@@ -22768,7 +22779,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/tn7atm.h linux.dev/drivers/atm/sangam
 +#endif
 diff -urN linux.old/drivers/atm/sangam_atm/tn7dsl.c linux.dev/drivers/atm/sangam_atm/tn7dsl.c
 --- linux.old/drivers/atm/sangam_atm/tn7dsl.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/tn7dsl.c	2005-08-22 23:40:31.372834584 +0200
++++ linux.dev/drivers/atm/sangam_atm/tn7dsl.c	2005-08-23 04:46:50.109841872 +0200
 @@ -0,0 +1,1780 @@
 +/* 
 + *  $Id$
@@ -24552,7 +24563,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/tn7dsl.c linux.dev/drivers/atm/sangam
 +
 diff -urN linux.old/drivers/atm/sangam_atm/tn7sar.c linux.dev/drivers/atm/sangam_atm/tn7sar.c
 --- linux.old/drivers/atm/sangam_atm/tn7sar.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/tn7sar.c	2005-08-22 23:17:42.445943104 +0200
++++ linux.dev/drivers/atm/sangam_atm/tn7sar.c	2005-08-23 04:46:50.110841720 +0200
 @@ -0,0 +1,1376 @@
 +/******************************************************************************
 + * FILE PURPOSE:    OS files for CPSAR
@@ -25932,7 +25943,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/tn7sar.c linux.dev/drivers/atm/sangam
 +}
 diff -urN linux.old/drivers/atm/sangam_atm/tnetd7300_sar_firm.h linux.dev/drivers/atm/sangam_atm/tnetd7300_sar_firm.h
 --- linux.old/drivers/atm/sangam_atm/tnetd7300_sar_firm.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/tnetd7300_sar_firm.h	2005-08-22 23:17:42.446942952 +0200
++++ linux.dev/drivers/atm/sangam_atm/tnetd7300_sar_firm.h	2005-08-23 04:46:50.111841568 +0200
 @@ -0,0 +1,988 @@
 +//SarPdspFirmware Revision:  49
 +
@@ -26924,7 +26935,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/tnetd7300_sar_firm.h linux.dev/driver
 +                             0x209e0000};
 diff -urN linux.old/drivers/atm/sangam_atm/turbodsl.c linux.dev/drivers/atm/sangam_atm/turbodsl.c
 --- linux.old/drivers/atm/sangam_atm/turbodsl.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/turbodsl.c	2005-08-22 23:17:42.447942800 +0200
++++ linux.dev/drivers/atm/sangam_atm/turbodsl.c	2005-08-23 04:46:50.111841568 +0200
 @@ -0,0 +1,223 @@
 +
 +
@@ -27151,7 +27162,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/turbodsl.c linux.dev/drivers/atm/sang
 +  
 diff -urN linux.old/include/linux/atmdev.h linux.dev/include/linux/atmdev.h
 --- linux.old/include/linux/atmdev.h	2005-08-22 23:18:37.812526104 +0200
-+++ linux.dev/include/linux/atmdev.h	2005-08-22 23:17:42.447942800 +0200
++++ linux.dev/include/linux/atmdev.h	2005-08-23 06:33:33.425389944 +0200
 @@ -30,6 +30,9 @@
  #define ATM_DS3_PCR	(8000*12)
  			/* DS3: 12 cells in a 125 usec time slot */
@@ -27183,53 +27194,15 @@ diff -urN linux.old/include/linux/atmdev.h linux.dev/include/linux/atmdev.h
  
  #include <linux/sched.h> /* wait_queue_head_t */
  #include <linux/time.h> /* struct timeval */
-@@ -277,6 +283,7 @@
- 
- struct atm_vcc {
- 	atm_vcc_flags_t flags;		/* VCC flags (ATM_VF_*) */
-+	unsigned char	family;		/* address family; 0 if unused */
- 	short		vpi;		/* VPI and VCI (types must be equal */
- 					/* with sockaddr) */
- 	int 		vci;
-@@ -287,18 +294,28 @@
- 	struct atm_sap	sap;		/* SAP */
- 	void (*push)(struct atm_vcc *vcc,struct sk_buff *skb);
- 	void (*pop)(struct atm_vcc *vcc,struct sk_buff *skb); /* optional */
-+	struct sk_buff *(*alloc_tx)(struct atm_vcc *vcc,unsigned int size);
-+					/* TX allocation routine - can be */
-+					/* modified by protocol or by driver.*/
-+					/* NOTE: this interface will change */
- 	int (*push_oam)(struct atm_vcc *vcc,void *cell);
+@@ -291,6 +297,7 @@
  	int (*send)(struct atm_vcc *vcc,struct sk_buff *skb);
  	void		*dev_data;	/* per-device data */
  	void		*proto_data;	/* per-protocol data */
 +	struct timeval	timestamp;	/* AAL timestamps */
-+	struct sk_buff_head recvq;	/* receive queue */
  	struct k_atm_aal_stats *stats;	/* pointer to AAL stats group */
  	wait_queue_head_t sleep;	/* if socket is busy */
  	struct sock	*sk;		/* socket backpointer */
-+	struct atm_vcc	*prev,*next;
- 	/* SVC part --- may move later ------------------------------------- */
- 	short		itf;		/* interface number */
- 	struct sockaddr_atmsvc local;
- 	struct sockaddr_atmsvc remote;
- 	void (*callback)(struct atm_vcc *vcc);
-+	struct sk_buff_head listenq;
-+	int		backlog_quota;	/* number of connection requests we */
-+					/* can still accept */
- 	int		reply;		/* also used by ATMTCP */
- 	/* Multipoint part ------------------------------------------------- */
- 	struct atm_vcc	*session;	/* session VCC descriptor */
-@@ -324,6 +341,8 @@
- 					/* (NULL) */
- 	const char	*type;		/* device type name */
- 	int		number;		/* device index */
-+	struct atm_vcc	*vccs;		/* VCC table (or NULL) */
-+	struct atm_vcc	*last;		/* last VCC (or undefined) */
- 	void		*dev_data;	/* per-device data */
- 	void		*phy_data;	/* private PHY date */
- 	atm_dev_flags_t flags;		/* device flags (ATM_DF_*) */
-@@ -333,13 +352,15 @@
+@@ -333,13 +340,14 @@
  	struct k_atm_dev_stats stats;	/* statistics */
  	char		signal;		/* signal status (ATM_PHY_SIG_*) */
  	int		link_rate;	/* link rate (default: OC3) */
@@ -27242,41 +27215,14 @@ diff -urN linux.old/include/linux/atmdev.h linux.dev/include/linux/atmdev.h
  	char *proc_name;		/* proc entry name */
  #endif
 -	struct list_head dev_list;	/* linkage */
-+	struct atm_dev	*prev,*next;	/* linkage */
 +	struct list_head dev_list;      /* linkage */
 +
  };
  
  
-@@ -375,6 +396,8 @@
- 	void (*feedback)(struct atm_vcc *vcc,struct sk_buff *skb,
- 	    unsigned long start,unsigned long dest,int len);
- 	int (*change_qos)(struct atm_vcc *vcc,struct atm_qos *qos,int flags);
-+	void (*free_rx_skb)(struct atm_vcc *vcc, struct sk_buff *skb);
-+		/* @@@ temporary hack */
- 	int (*proc_read)(struct atm_dev *dev,loff_t *pos,char *page);
- 	struct module *owner;
- };
-@@ -389,6 +412,7 @@
- 
- struct atm_skb_data {
- 	struct atm_vcc	*vcc;		/* ATM VCC */
-+	int		iovcnt;		/* 0 for "normal" operation */
- 	unsigned long	atm_options;	/* ATM layer options */
- };
- 
-@@ -404,7 +428,7 @@
- void shutdown_atm_dev(struct atm_dev *dev);
- void vcc_insert_socket(struct sock *sk);
- void vcc_remove_socket(struct sock *sk);
--
-+void bind_vcc(struct atm_vcc *vcc,struct atm_dev *dev);
- 
- /*
-  * This is approximately the algorithm used by alloc_skb.
 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-22 23:17:42.448942648 +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 */
@@ -27290,82 +27236,49 @@ diff -urN linux.old/include/linux/atm.h linux.dev/include/linux/atm.h
          /* 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/clip.c linux.dev/net/atm/clip.c
---- linux.old/net/atm/clip.c	2005-08-22 23:18:50.877539920 +0200
-+++ linux.dev/net/atm/clip.c	2005-08-22 23:17:42.449942496 +0200
-@@ -722,7 +722,7 @@
- 	set_bit(ATM_VF_META,&vcc->flags);
- 	set_bit(ATM_VF_READY,&vcc->flags);
- 	    /* allow replies and avoid getting closed if signaling dies */
--	vcc->dev = &atmarpd_dev;
-+	bind_vcc(vcc, &atmarpd_dev);
- 	vcc_insert_socket(vcc->sk);
- 	vcc->push = NULL;
- 	vcc->pop = NULL; /* crash */
 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-22 23:17:42.449942496 +0200
-@@ -385,7 +385,7 @@
- 	error = 0;
- 	if (!try_inc_mod_count(dev->ops->owner))
- 		return -ENODEV;
--	vcc->dev = dev;
-+	bind_vcc(vcc, dev);
- 	vcc_insert_socket(vcc->sk);
- 	switch (vcc->qos.aal) {
- 		case ATM_AAL0:
-@@ -427,7 +427,7 @@
- 	if (dev->ops->owner)
- 		__MOD_DEC_USE_COUNT(dev->ops->owner);
- 	/* ensure we get dev module ref count correct */
--	vcc->dev = NULL;
-+	bind_vcc(vcc, NULL);
- 	return error;
- 	
- }
++++ 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
++#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;
-diff -urN linux.old/net/atm/lec.c linux.dev/net/atm/lec.c
---- linux.old/net/atm/lec.c	2005-08-22 23:18:50.879539616 +0200
-+++ linux.dev/net/atm/lec.c	2005-08-22 23:17:42.450942344 +0200
-@@ -811,7 +811,7 @@
-         lec_arp_init(priv);
- 	priv->itfnum = i;  /* LANE2 addition */
-         priv->lecd = vcc;
--        vcc->dev = &lecatm_dev;
-+        bind_vcc(vcc, &lecatm_dev);
-         vcc_insert_socket(vcc->sk);
-         
-         vcc->proto_data = dev_lec[i];
-diff -urN linux.old/net/atm/mpc.c linux.dev/net/atm/mpc.c
---- linux.old/net/atm/mpc.c	2005-08-22 23:18:50.880539464 +0200
-+++ linux.dev/net/atm/mpc.c	2005-08-22 23:17:42.451942192 +0200
-@@ -787,7 +787,7 @@
- 	}
+@@ -994,9 +996,6 @@
+ 	unsigned long value;
+ 	int error;
  
- 	mpc->mpoad_vcc = vcc;
--	vcc->dev = &mpc_dev;
-+	bind_vcc(vcc, &mpc_dev);
- 	vcc_insert_socket(vcc->sk);
- 	set_bit(ATM_VF_META,&vcc->flags);
- 	set_bit(ATM_VF_READY,&vcc->flags);
+-	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-22 23:17:42.451942192 +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
++#if 0 /* by nbd */
  	if (!test_bit(ATM_VF_HASQOS, &vcc->flags)) {
  		error = -EBADFD;
  		goto out;
@@ -27374,53 +27287,14 @@ diff -urN linux.old/net/atm/pvc.c linux.dev/net/atm/pvc.c
  	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/resources.c linux.dev/net/atm/resources.c
---- linux.old/net/atm/resources.c	2005-08-22 23:18:50.880539464 +0200
-+++ linux.dev/net/atm/resources.c	2005-08-22 23:17:42.452942040 +0200
-@@ -398,8 +398,23 @@
- 	return error;
- }
- 
-+void bind_vcc(struct atm_vcc *vcc,struct atm_dev *dev)
-+{
-+	vcc->dev = dev;
-+	if (dev) {
-+		vcc->next = NULL;
-+		vcc->prev = dev->last;
-+		if (dev->vccs)
-+			dev->last->next = vcc;
-+		else
-+			dev->vccs = vcc;
-+		dev->last = vcc;
-+	}
-+}
-+
- 
- EXPORT_SYMBOL(atm_dev_register);
- EXPORT_SYMBOL(atm_dev_deregister);
- EXPORT_SYMBOL(atm_dev_lookup);
-+EXPORT_SYMBOL(bind_vcc);
- EXPORT_SYMBOL(shutdown_atm_dev);
-diff -urN linux.old/net/atm/signaling.c linux.dev/net/atm/signaling.c
---- linux.old/net/atm/signaling.c	2005-08-22 23:18:50.881539312 +0200
-+++ linux.dev/net/atm/signaling.c	2005-08-22 23:17:42.452942040 +0200
-@@ -251,7 +251,7 @@
- 	if (sigd) return -EADDRINUSE;
- 	DPRINTK("sigd_attach\n");
- 	sigd = vcc;
--	vcc->dev = &sigd_dev;
-+	bind_vcc(vcc, &sigd_dev);
- 	vcc_insert_socket(vcc->sk);
- 	set_bit(ATM_VF_META,&vcc->flags);
- 	set_bit(ATM_VF_READY,&vcc->flags);
 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-22 23:17:42.452942040 +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
++#if 0 /* by nbd */
  	if (!test_bit(ATM_VF_HASQOS,&vcc->flags)) {
  		error = -EBADFD;
  		goto out;
@@ -27433,7 +27307,7 @@ diff -urN linux.old/net/atm/svc.c linux.dev/net/atm/svc.c
  			error = -EAFNOSUPPORT;
  			goto out;
  		}
-+#if 0
++#if 0 /* by nbd */
  		if (!test_bit(ATM_VF_HASQOS, &vcc->flags)) {
  			error = -EBADFD;
  			goto out;
-- 
2.30.2