[brcm-2.4] update to 2.4.37, tested on wrt54gs (#4766)
[openwrt.git] / target / linux / generic-2.4 / patches / 200-i4l.patch
index c9833e2..8f7caa8 100644 (file)
@@ -1,7 +1,6 @@
-diff -rNu linux-2.4.29.old/Documentation/isdn/CREDITS linux-2.4.29/Documentation/isdn/CREDITS
---- linux-2.4.29.old/Documentation/isdn/CREDITS        2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/CREDITS    2005-03-22 15:06:50.246454160 +0100
-@@ -37,7 +37,7 @@
+--- a/Documentation/isdn/CREDITS
++++ b/Documentation/isdn/CREDITS
+@@ -37,7 +37,7 @@ Michael Knigge (knick@cove.han.de)
  Andreas Kool (akool@Kool.f.EUnet.de)
    For contribution of the isdnlog/isdnrep-tool
  
  Andreas Kool (akool@Kool.f.EUnet.de)
    For contribution of the isdnlog/isdnrep-tool
  
@@ -10,10 +9,9 @@ diff -rNu linux-2.4.29.old/Documentation/isdn/CREDITS linux-2.4.29/Documentation
    For lot of new ideas and the pcbit driver.
  
  Eberhard Moenkeberg (emoenke@gwdg.de)
    For lot of new ideas and the pcbit driver.
  
  Eberhard Moenkeberg (emoenke@gwdg.de)
-diff -rNu linux-2.4.29.old/Documentation/isdn/HiSax.cert linux-2.4.29/Documentation/isdn/HiSax.cert
---- linux-2.4.29.old/Documentation/isdn/HiSax.cert     2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/HiSax.cert 2005-03-22 15:06:50.264451424 +0100
-@@ -68,6 +68,8 @@
+--- a/Documentation/isdn/HiSax.cert
++++ b/Documentation/isdn/HiSax.cert
+@@ -68,6 +68,8 @@ drivers/isdn/hisax/cert.c
  drivers/isdn/hisax/elsa.c
  drivers/isdn/hisax/diva.c
  drivers/isdn/hisax/hfc_pci.c
  drivers/isdn/hisax/elsa.c
  drivers/isdn/hisax/diva.c
  drivers/isdn/hisax/hfc_pci.c
@@ -22,16 +20,15 @@ diff -rNu linux-2.4.29.old/Documentation/isdn/HiSax.cert linux-2.4.29/Documentat
  
  Please send any changes, bugfixes and patches to me rather than implementing
  them directly into the HiSax sources.
  
  Please send any changes, bugfixes and patches to me rather than implementing
  them directly into the HiSax sources.
-diff -rNu linux-2.4.29.old/Documentation/isdn/INTERFACE linux-2.4.29/Documentation/isdn/INTERFACE
---- linux-2.4.29.old/Documentation/isdn/INTERFACE      2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/INTERFACE  2005-03-22 15:06:50.288447776 +0100
+--- a/Documentation/isdn/INTERFACE
++++ b/Documentation/isdn/INTERFACE
 @@ -1,4 +1,4 @@
 -$Id: INTERFACE,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
 +$Id: INTERFACE,v 1.17 2002/01/31 13:26:35 keil Exp $
  
  Description of the Interface between Linklevel and Hardwarelevel
    of isdn4linux:
 @@ -1,4 +1,4 @@
 -$Id: INTERFACE,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
 +$Id: INTERFACE,v 1.17 2002/01/31 13:26:35 keil Exp $
  
  Description of the Interface between Linklevel and Hardwarelevel
    of isdn4linux:
-@@ -399,7 +399,7 @@
+@@ -399,7 +399,7 @@ Description of the Interface between Lin
                      protocol-Id is one of the constants ISDN_PROTO_L3...
        parm.fax    = Pointer to T30_s fax struct. (fax usage only)
  
                      protocol-Id is one of the constants ISDN_PROTO_L3...
        parm.fax    = Pointer to T30_s fax struct. (fax usage only)
  
@@ -40,7 +37,7 @@ diff -rNu linux-2.4.29.old/Documentation/isdn/INTERFACE linux-2.4.29/Documentati
  
      With this command, the HL-driver is told to return the current
      setting of the Layer-3-protocol.
  
      With this command, the HL-driver is told to return the current
      setting of the Layer-3-protocol.
-@@ -781,3 +781,22 @@
+@@ -781,3 +781,22 @@ Description of the Interface between Lin
        arg         = channel-number, locally to the driver. (starting with 0)
        parm        = unused.
  
        arg         = channel-number, locally to the driver. (starting with 0)
        parm        = unused.
  
@@ -63,19 +60,17 @@ diff -rNu linux-2.4.29.old/Documentation/isdn/INTERFACE linux-2.4.29/Documentati
 +      command     = ISDN_STAT_PROCEED
 +      arg         = channel-number, locally to the driver. (starting with 0)
 +
 +      command     = ISDN_STAT_PROCEED
 +      arg         = channel-number, locally to the driver. (starting with 0)
 +
-diff -rNu linux-2.4.29.old/Documentation/isdn/INTERFACE.fax linux-2.4.29/Documentation/isdn/INTERFACE.fax
---- linux-2.4.29.old/Documentation/isdn/INTERFACE.fax  2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/INTERFACE.fax      2005-03-22 15:06:50.312444128 +0100
+--- a/Documentation/isdn/INTERFACE.fax
++++ b/Documentation/isdn/INTERFACE.fax
 @@ -1,4 +1,4 @@
 -$Id: INTERFACE.fax,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
 +$Id: INTERFACE.fax,v 1.2 2000/08/06 09:22:50 armin Exp $
  
  
  Description of the fax-subinterface between linklevel and hardwarelevel of 
 @@ -1,4 +1,4 @@
 -$Id: INTERFACE.fax,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
 +$Id: INTERFACE.fax,v 1.2 2000/08/06 09:22:50 armin Exp $
  
  
  Description of the fax-subinterface between linklevel and hardwarelevel of 
-diff -rNu linux-2.4.29.old/Documentation/isdn/README linux-2.4.29/Documentation/isdn/README
---- linux-2.4.29.old/Documentation/isdn/README 2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/README     2005-03-22 15:06:50.340439872 +0100
-@@ -278,6 +278,12 @@
+--- a/Documentation/isdn/README
++++ b/Documentation/isdn/README
+@@ -278,6 +278,12 @@ README for the ISDN-subsystem
                                        1 = Add CPN to FCON message on
                              Bit 2:    0 = Add CDN to RING/FCON message off
                                        1 = Add CDN to RING/FCON message on
                                        1 = Add CPN to FCON message on
                              Bit 2:    0 = Add CDN to RING/FCON message off
                                        1 = Add CDN to RING/FCON message on
@@ -88,10 +83,9 @@ diff -rNu linux-2.4.29.old/Documentation/isdn/README linux-2.4.29/Documentation/
  
    Last but not least a (at the moment fairly primitive) device to request
    the line-status (/dev/isdninfo) is made available.
  
    Last but not least a (at the moment fairly primitive) device to request
    the line-status (/dev/isdninfo) is made available.
-diff -rNu linux-2.4.29.old/Documentation/isdn/README.HiSax linux-2.4.29/Documentation/isdn/README.HiSax
---- linux-2.4.29.old/Documentation/isdn/README.HiSax   2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/README.HiSax       2005-03-22 15:06:50.372435008 +0100
-@@ -41,10 +41,9 @@
+--- a/Documentation/isdn/README.HiSax
++++ b/Documentation/isdn/README.HiSax
+@@ -41,10 +41,9 @@ ELSA Quickstep 3000 (same settings as QS
  ELSA Quickstep 3000PCI
  ELSA PCMCIA
  ITK ix1-micro Rev.2
  ELSA Quickstep 3000PCI
  ELSA PCMCIA
  ITK ix1-micro Rev.2
@@ -105,7 +99,7 @@ diff -rNu linux-2.4.29.old/Documentation/isdn/README.HiSax linux-2.4.29/Document
  ASUSCOM NETWORK INC. ISDNLink 128K PC adapter (order code I-IN100-ST-D)
  Dynalink IS64PH (OEM version of ASUSCOM NETWORK INC. ISDNLink 128K adapter)
  PCBIT-DP (OEM version of ASUSCOM NETWORK INC. ISDNLink)
  ASUSCOM NETWORK INC. ISDNLink 128K PC adapter (order code I-IN100-ST-D)
  Dynalink IS64PH (OEM version of ASUSCOM NETWORK INC. ISDNLink 128K adapter)
  PCBIT-DP (OEM version of ASUSCOM NETWORK INC. ISDNLink)
-@@ -53,7 +52,6 @@
+@@ -53,7 +52,6 @@ Sedlbauer Speed Card (Speed Win, Teledat
  Sedlbauer Speed Star/Speed Star2 (PCMCIA)
  Sedlbauer ISDN-Controller PC/104
  USR Sportster internal TA (compatible Stollmann tina-pp V3)
  Sedlbauer Speed Star/Speed Star2 (PCMCIA)
  Sedlbauer ISDN-Controller PC/104
  USR Sportster internal TA (compatible Stollmann tina-pp V3)
@@ -113,7 +107,7 @@ diff -rNu linux-2.4.29.old/Documentation/isdn/README.HiSax linux-2.4.29/Document
  ith Kommunikationstechnik GmbH MIC 16 ISA card
  Traverse Technologie NETjet PCI S0 card and NETspider U card
  Ovislink ISDN sc100-p card (NETjet driver)
  ith Kommunikationstechnik GmbH MIC 16 ISA card
  Traverse Technologie NETjet PCI S0 card and NETspider U card
  Ovislink ISDN sc100-p card (NETjet driver)
-@@ -68,14 +66,14 @@
+@@ -68,14 +66,14 @@ Gazel ISDN cards
  HFC-PCI based cards
  Winbond W6692 based cards
  HFC-S+, HFC-SP/PCMCIA cards
  HFC-PCI based cards
  Winbond W6692 based cards
  HFC-S+, HFC-SP/PCMCIA cards
@@ -130,7 +124,7 @@ diff -rNu linux-2.4.29.old/Documentation/isdn/README.HiSax linux-2.4.29/Document
  You can combine any card, if there is no conflict between the resources
  (io, mem, irq).
  
  You can combine any card, if there is no conflict between the resources
  (io, mem, irq).
  
-@@ -91,15 +89,8 @@
+@@ -91,15 +89,8 @@ There is also some config needed before 
  modules. It is included in the normal "make [menu]config" target at the
  kernel. Don't forget it, especially to select the right D-channel protocol.
  
  modules. It is included in the normal "make [menu]config" target at the
  kernel. Don't forget it, especially to select the right D-channel protocol.
  
@@ -148,7 +142,7 @@ diff -rNu linux-2.4.29.old/Documentation/isdn/README.HiSax linux-2.4.29/Document
  
  a) when built as a module
  -------------------------
  
  a) when built as a module
  -------------------------
-@@ -200,8 +191,6 @@
+@@ -200,8 +191,6 @@ Card types:
     37 HFC 2BDS0 S+, SP         irq,io 
     38 NETspider U PCI card     none
     39 HFC 2BDS0 SP/PCMCIA      irq,io (set with cardmgr)
     37 HFC 2BDS0 S+, SP         irq,io 
     38 NETspider U PCI card     none
     39 HFC 2BDS0 SP/PCMCIA      irq,io (set with cardmgr)
@@ -157,7 +151,7 @@ diff -rNu linux-2.4.29.old/Documentation/isdn/README.HiSax linux-2.4.29/Document
  
  At the moment IRQ sharing is only possible with PCI cards. Please make sure
  that your IRQ is free and enabled for ISA use.
  
  At the moment IRQ sharing is only possible with PCI cards. Please make sure
  that your IRQ is free and enabled for ISA use.
-@@ -227,13 +216,6 @@
+@@ -227,13 +216,6 @@ Examples for module loading
                     (IO 1 (BASE 0x0180))
     modprobe hisax type=4 protocol=2 irq=10 io0=0x580 io1=0x180
  
                     (IO 1 (BASE 0x0180))
     modprobe hisax type=4 protocol=2 irq=10 io0=0x580 io1=0x180
  
@@ -171,7 +165,7 @@ diff -rNu linux-2.4.29.old/Documentation/isdn/README.HiSax linux-2.4.29/Document
  6. Teles 16.3, Euro ISDN, I/O base 280 hex, IRQ 12 and
     Teles 16.0, 1TR6, IRQ 5, Memory d0000 hex
     modprobe hisax type=3,1 protocol=2,1 io=0x280 mem=0,0xd0000
  6. Teles 16.3, Euro ISDN, I/O base 280 hex, IRQ 12 and
     Teles 16.0, 1TR6, IRQ 5, Memory d0000 hex
     modprobe hisax type=3,1 protocol=2,1 io=0x280 mem=0,0xd0000
-@@ -314,9 +296,7 @@
+@@ -314,9 +296,7 @@ type
     36 W6692 based PCI cards   none
     37 HFC 2BDS0 S+,SP/PCMCIA  ONLY WORKS AS A MODULE !
     38 NETspider U PCI card    none
     36 W6692 based PCI cards   none
     37 HFC 2BDS0 S+,SP/PCMCIA  ONLY WORKS AS A MODULE !
     38 NETspider U PCI card    none
@@ -182,63 +176,56 @@ diff -rNu linux-2.4.29.old/Documentation/isdn/README.HiSax linux-2.4.29/Document
  
  Running the driver
  ------------------
  
  Running the driver
  ------------------
-diff -rNu linux-2.4.29.old/Documentation/isdn/README.act2000 linux-2.4.29/Documentation/isdn/README.act2000
---- linux-2.4.29.old/Documentation/isdn/README.act2000 2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/README.act2000     2005-03-22 15:06:50.388432576 +0100
+--- a/Documentation/isdn/README.act2000
++++ b/Documentation/isdn/README.act2000
 @@ -1,4 +1,4 @@
 -$Id: README.act2000,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
 +$Id: README.act2000,v 1.3 2000/08/06 09:22:51 armin Exp $
  
  This document describes the ACT2000 driver for the
  IBM Active 2000 ISDN card.
 @@ -1,4 +1,4 @@
 -$Id: README.act2000,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
 +$Id: README.act2000,v 1.3 2000/08/06 09:22:51 armin Exp $
  
  This document describes the ACT2000 driver for the
  IBM Active 2000 ISDN card.
-diff -rNu linux-2.4.29.old/Documentation/isdn/README.audio linux-2.4.29/Documentation/isdn/README.audio
---- linux-2.4.29.old/Documentation/isdn/README.audio   2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/README.audio       2005-03-22 15:06:50.404430144 +0100
+--- a/Documentation/isdn/README.audio
++++ b/Documentation/isdn/README.audio
 @@ -1,4 +1,4 @@
 -$Id: README.audio,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
 +$Id: README.audio,v 1.8 1999/07/11 17:17:29 armin Exp $
  
  ISDN subsystem for Linux.
    Description of audio mode.
 @@ -1,4 +1,4 @@
 -$Id: README.audio,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
 +$Id: README.audio,v 1.8 1999/07/11 17:17:29 armin Exp $
  
  ISDN subsystem for Linux.
    Description of audio mode.
-diff -rNu linux-2.4.29.old/Documentation/isdn/README.eicon linux-2.4.29/Documentation/isdn/README.eicon
---- linux-2.4.29.old/Documentation/isdn/README.eicon   2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/README.eicon       2005-03-22 15:06:50.479418744 +0100
+--- a/Documentation/isdn/README.eicon
++++ b/Documentation/isdn/README.eicon
 @@ -1,4 +1,4 @@
 -$Id: README.eicon,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
 +$Id: README.eicon,v 1.10 2000/08/13 12:19:15 armin Exp $
  
  (c) 1999,2000 Armin Schindler (mac@melware.de)
  (c) 1999,2000 Cytronics & Melware (info@melware.de)
 @@ -1,4 +1,4 @@
 -$Id: README.eicon,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
 +$Id: README.eicon,v 1.10 2000/08/13 12:19:15 armin Exp $
  
  (c) 1999,2000 Armin Schindler (mac@melware.de)
  (c) 1999,2000 Cytronics & Melware (info@melware.de)
-diff -rNu linux-2.4.29.old/Documentation/isdn/README.hysdn linux-2.4.29/Documentation/isdn/README.hysdn
---- linux-2.4.29.old/Documentation/isdn/README.hysdn   2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/README.hysdn       2005-03-22 15:06:50.522412208 +0100
+--- a/Documentation/isdn/README.hysdn
++++ b/Documentation/isdn/README.hysdn
 @@ -1,4 +1,4 @@
 -$Id: README.hysdn,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
 +$Id: README.hysdn,v 1.3.6.1 2001/02/10 14:41:19 kai Exp $
  The hysdn driver has been written by
  by Werner Cornelius (werner@isdn4linux.de or werner@titro.de) 
  for Hypercope GmbH Aachen Germany. Hypercope agreed to publish this driver
 @@ -1,4 +1,4 @@
 -$Id: README.hysdn,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
 +$Id: README.hysdn,v 1.3.6.1 2001/02/10 14:41:19 kai Exp $
  The hysdn driver has been written by
  by Werner Cornelius (werner@isdn4linux.de or werner@titro.de) 
  for Hypercope GmbH Aachen Germany. Hypercope agreed to publish this driver
-diff -rNu linux-2.4.29.old/Documentation/isdn/README.icn linux-2.4.29/Documentation/isdn/README.icn
---- linux-2.4.29.old/Documentation/isdn/README.icn     2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/README.icn 2005-03-22 15:06:50.550407952 +0100
+--- a/Documentation/isdn/README.icn
++++ b/Documentation/isdn/README.icn
 @@ -1,4 +1,4 @@
 -$Id: README.icn,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
 +$Id: README.icn,v 1.7 2000/08/06 09:22:51 armin Exp $
  
  You can get the ICN-ISDN-card from:
  
 @@ -1,4 +1,4 @@
 -$Id: README.icn,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
 +$Id: README.icn,v 1.7 2000/08/06 09:22:51 armin Exp $
  
  You can get the ICN-ISDN-card from:
  
-diff -rNu linux-2.4.29.old/Documentation/isdn/README.pcbit linux-2.4.29/Documentation/isdn/README.pcbit
---- linux-2.4.29.old/Documentation/isdn/README.pcbit   2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/README.pcbit       2005-03-22 15:06:50.567405368 +0100
-@@ -37,4 +37,4 @@
+--- a/Documentation/isdn/README.pcbit
++++ b/Documentation/isdn/README.pcbit
+@@ -37,4 +37,4 @@ mailing list (isdn4linux@listserv.isdn4l
  regards,
    Pedro.
                
 -<pedro_m@yahoo.com>
 +<roque@di.fc.ul.pt>
  regards,
    Pedro.
                
 -<pedro_m@yahoo.com>
 +<roque@di.fc.ul.pt>
-diff -rNu linux-2.4.29.old/Documentation/isdn/abcext_kernel.help linux-2.4.29/Documentation/isdn/abcext_kernel.help
---- linux-2.4.29.old/Documentation/isdn/abcext_kernel.help     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/abcext_kernel.help 2005-03-22 15:06:50.600400352 +0100
+--- /dev/null
++++ b/Documentation/isdn/abcext_kernel.help
 @@ -0,0 +1,166 @@
 + 
 +ISDN-ABC-DW Extension
 @@ -0,0 +1,166 @@
 + 
 +ISDN-ABC-DW Extension
@@ -406,9 +393,8 @@ diff -rNu linux-2.4.29.old/Documentation/isdn/abcext_kernel.help linux-2.4.29/Do
 +   See "linux/Documentation/isdn/dw-abc-extension-howto.txt" 
 +   for more Information
 +
 +   See "linux/Documentation/isdn/dw-abc-extension-howto.txt" 
 +   for more Information
 +
-diff -rNu linux-2.4.29.old/drivers/isdn/Config.in linux-2.4.29/drivers/isdn/Config.in
---- linux-2.4.29.old/drivers/isdn/Config.in    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/Config.in        2005-03-22 15:06:44.259364336 +0100
+--- a/drivers/isdn/Config.in
++++ b/drivers/isdn/Config.in
 @@ -4,11 +4,9 @@
  
  # only included if CONFIG_ISDN != n
 @@ -4,11 +4,9 @@
  
  # only included if CONFIG_ISDN != n
@@ -421,7 +407,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/Config.in linux-2.4.29/drivers/isdn/Conf
        bool         '    Use VJ-compression with synchronous PPP' CONFIG_ISDN_PPP_VJ
        bool         '    Support generic MP (RFC 1717)' CONFIG_ISDN_MPP
        dep_tristate '    Support BSD compression' CONFIG_ISDN_PPP_BSDCOMP $CONFIG_ISDN
        bool         '    Use VJ-compression with synchronous PPP' CONFIG_ISDN_PPP_VJ
        bool         '    Support generic MP (RFC 1717)' CONFIG_ISDN_MPP
        dep_tristate '    Support BSD compression' CONFIG_ISDN_PPP_BSDCOMP $CONFIG_ISDN
-@@ -23,6 +21,30 @@
+@@ -23,6 +21,30 @@ if [ "$CONFIG_X25" != "n" ]; then
  fi
  
  mainmenu_option next_comment
  fi
  
  mainmenu_option next_comment
@@ -452,7 +438,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/Config.in linux-2.4.29/drivers/isdn/Conf
  comment 'ISDN feature submodules'
     dep_tristate 'isdnloop support' CONFIG_ISDN_DRV_LOOP $CONFIG_ISDN
     dep_tristate 'Support isdn diversion services' CONFIG_ISDN_DIVERSION $CONFIG_ISDN
  comment 'ISDN feature submodules'
     dep_tristate 'isdnloop support' CONFIG_ISDN_DRV_LOOP $CONFIG_ISDN
     dep_tristate 'Support isdn diversion services' CONFIG_ISDN_DIVERSION $CONFIG_ISDN
-@@ -34,7 +56,6 @@
+@@ -34,7 +56,6 @@ mainmenu_option next_comment
  comment 'Passive ISDN cards'
  dep_tristate 'HiSax SiemensChipSet driver support' CONFIG_ISDN_DRV_HISAX $CONFIG_ISDN
  if [ "$CONFIG_ISDN_DRV_HISAX" != "n" ]; then
  comment 'Passive ISDN cards'
  dep_tristate 'HiSax SiemensChipSet driver support' CONFIG_ISDN_DRV_HISAX $CONFIG_ISDN
  if [ "$CONFIG_ISDN_DRV_HISAX" != "n" ]; then
@@ -460,7 +446,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/Config.in linux-2.4.29/drivers/isdn/Conf
     comment '  D-channel protocol features'
     bool '  HiSax Support for EURO/DSS1' CONFIG_HISAX_EURO
     if [ "$CONFIG_HISAX_EURO" != "n" ]; then
     comment '  D-channel protocol features'
     bool '  HiSax Support for EURO/DSS1' CONFIG_HISAX_EURO
     if [ "$CONFIG_HISAX_EURO" != "n" ]; then
-@@ -45,31 +66,28 @@
+@@ -45,31 +66,28 @@ if [ "$CONFIG_ISDN_DRV_HISAX" != "n" ]; 
     fi
     bool '  HiSax Support for german 1TR6' CONFIG_HISAX_1TR6
     bool '  HiSax Support for US NI1' CONFIG_HISAX_NI1
     fi
     bool '  HiSax Support for german 1TR6' CONFIG_HISAX_1TR6
     bool '  HiSax Support for US NI1' CONFIG_HISAX_NI1
@@ -503,7 +489,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/Config.in linux-2.4.29/drivers/isdn/Conf
     bool '  Telekom A4T card' CONFIG_HISAX_BKM_A4T
     bool '  Scitel Quadro card' CONFIG_HISAX_SCT_QUADRO
     bool '  Gazel cards' CONFIG_HISAX_GAZEL
     bool '  Telekom A4T card' CONFIG_HISAX_BKM_A4T
     bool '  Scitel Quadro card' CONFIG_HISAX_SCT_QUADRO
     bool '  Gazel cards' CONFIG_HISAX_GAZEL
-@@ -78,20 +96,27 @@
+@@ -78,20 +96,27 @@ if [ "$CONFIG_ISDN_DRV_HISAX" != "n" ]; 
     bool '  HFC-S+, HFC-SP, HFC-PCMCIA cards' CONFIG_HISAX_HFC_SX
     if [ "$CONFIG_EXPERIMENTAL" != "n" ]; then
  #      bool '  TESTEMULATOR (EXPERIMENTAL)' CONFIG_HISAX_TESTEMU
     bool '  HFC-S+, HFC-SP, HFC-PCMCIA cards' CONFIG_HISAX_HFC_SX
     if [ "$CONFIG_EXPERIMENTAL" != "n" ]; then
  #      bool '  TESTEMULATOR (EXPERIMENTAL)' CONFIG_HISAX_TESTEMU
@@ -538,9 +524,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/Config.in linux-2.4.29/drivers/isdn/Conf
  fi
  endmenu
  
  fi
  endmenu
  
-diff -rNu linux-2.4.29.old/drivers/isdn/Makefile linux-2.4.29/drivers/isdn/Makefile
---- linux-2.4.29.old/drivers/isdn/Makefile     2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/Makefile 2005-03-22 15:06:44.277361600 +0100
+--- a/drivers/isdn/Makefile
++++ b/drivers/isdn/Makefile
 @@ -2,7 +2,7 @@
  
  # The target object and module list name.
 @@ -2,7 +2,7 @@
  
  # The target object and module list name.
@@ -550,7 +535,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/Makefile linux-2.4.29/drivers/isdn/Makef
  
  # Objects that export symbols.
  
  
  # Objects that export symbols.
  
-@@ -32,9 +32,9 @@
+@@ -32,9 +32,9 @@ obj-$(CONFIG_ISDN_PPP_BSDCOMP)               += isdn_
  
  # Object files in subdirectories
  
  
  # Object files in subdirectories
  
@@ -562,16 +547,15 @@ diff -rNu linux-2.4.29.old/drivers/isdn/Makefile linux-2.4.29/drivers/isdn/Makef
  subdir-$(CONFIG_ISDN_DRV_ICN)         += icn
  subdir-$(CONFIG_ISDN_DRV_PCBIT)               += pcbit
  subdir-$(CONFIG_ISDN_DRV_SC)          += sc
  subdir-$(CONFIG_ISDN_DRV_ICN)         += icn
  subdir-$(CONFIG_ISDN_DRV_PCBIT)               += pcbit
  subdir-$(CONFIG_ISDN_DRV_SC)          += sc
-diff -rNu linux-2.4.29.old/drivers/isdn/act2000/act2000.h linux-2.4.29/drivers/isdn/act2000/act2000.h
---- linux-2.4.29.old/drivers/isdn/act2000/act2000.h    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/act2000/act2000.h        2005-03-22 15:06:44.103388048 +0100
+--- a/drivers/isdn/act2000/act2000.h
++++ b/drivers/isdn/act2000/act2000.h
 @@ -1,4 +1,4 @@
 -/* $Id: act2000.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id$
   *
   * ISDN lowlevel-module for the IBM ISDN-S0 Active 2000.
   *
 @@ -1,4 +1,4 @@
 -/* $Id: act2000.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id$
   *
   * ISDN lowlevel-module for the IBM ISDN-S0 Active 2000.
   *
-@@ -178,19 +178,19 @@
+@@ -178,19 +178,19 @@ typedef struct act2000_card {
          char regname[35];                /* Name used for request_region     */
  } act2000_card;
  
          char regname[35];                /* Name used for request_region     */
  } act2000_card;
  
@@ -594,16 +578,15 @@ diff -rNu linux-2.4.29.old/drivers/isdn/act2000/act2000.h linux-2.4.29/drivers/i
  {
          queue_task(&card->poll_tq, &tq_immediate);
          mark_bh(IMMEDIATE_BH);
  {
          queue_task(&card->poll_tq, &tq_immediate);
          mark_bh(IMMEDIATE_BH);
-diff -rNu linux-2.4.29.old/drivers/isdn/act2000/act2000_isa.c linux-2.4.29/drivers/isdn/act2000/act2000_isa.c
---- linux-2.4.29.old/drivers/isdn/act2000/act2000_isa.c        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/act2000/act2000_isa.c    2005-03-22 15:06:44.135383184 +0100
+--- a/drivers/isdn/act2000/act2000_isa.c
++++ b/drivers/isdn/act2000/act2000_isa.c
 @@ -1,4 +1,4 @@
 -/* $Id: act2000_isa.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id$
   *
   * ISDN lowlevel-module for the IBM ISDN-S0 Active 2000 (ISA-Version).
   *
 @@ -1,4 +1,4 @@
 -/* $Id: act2000_isa.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id$
   *
   * ISDN lowlevel-module for the IBM ISDN-S0 Active 2000 (ISA-Version).
   *
-@@ -178,8 +178,7 @@
+@@ -178,8 +178,7 @@ act2000_isa_config_port(act2000_card * c
                  card->flags &= ~ACT2000_FLAGS_PVALID;
          }
          if (!check_region(portbase, ISA_REGION)) {
                  card->flags &= ~ACT2000_FLAGS_PVALID;
          }
          if (!check_region(portbase, ISA_REGION)) {
@@ -613,7 +596,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/act2000/act2000_isa.c linux-2.4.29/drive
                  card->port = portbase;
                  card->flags |= ACT2000_FLAGS_PVALID;
                  return 0;
                  card->port = portbase;
                  card->flags |= ACT2000_FLAGS_PVALID;
                  return 0;
-@@ -341,6 +340,9 @@
+@@ -341,6 +340,9 @@ act2000_isa_send(act2000_card * card)
                while (skb->len) {
                        if (act2000_isa_writeb(card, *(skb->data))) {
                                /* Fifo is full, but more data to send */
                while (skb->len) {
                        if (act2000_isa_writeb(card, *(skb->data))) {
                                /* Fifo is full, but more data to send */
@@ -623,7 +606,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/act2000/act2000_isa.c linux-2.4.29/drive
                                test_and_clear_bit(ACT2000_LOCK_TX, (void *) &card->ilock);
                                /* Schedule myself */
                                act2000_schedule_tx(card);
                                test_and_clear_bit(ACT2000_LOCK_TX, (void *) &card->ilock);
                                /* Schedule myself */
                                act2000_schedule_tx(card);
-@@ -363,6 +365,9 @@
+@@ -363,6 +365,9 @@ act2000_isa_send(act2000_card * card)
                } else
                        dev_kfree_skb(skb);
                card->sbuf = NULL;
                } else
                        dev_kfree_skb(skb);
                card->sbuf = NULL;
@@ -633,25 +616,23 @@ diff -rNu linux-2.4.29.old/drivers/isdn/act2000/act2000_isa.c linux-2.4.29/drive
        }
  }
  
        }
  }
  
-diff -rNu linux-2.4.29.old/drivers/isdn/act2000/act2000_isa.h linux-2.4.29/drivers/isdn/act2000/act2000_isa.h
---- linux-2.4.29.old/drivers/isdn/act2000/act2000_isa.h        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/act2000/act2000_isa.h    2005-03-22 15:06:44.152380600 +0100
+--- a/drivers/isdn/act2000/act2000_isa.h
++++ b/drivers/isdn/act2000/act2000_isa.h
 @@ -1,4 +1,4 @@
 -/* $Id: act2000_isa.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id$
   *
   * ISDN lowlevel-module for the IBM ISDN-S0 Active 2000 (ISA-Version).
   *
 @@ -1,4 +1,4 @@
 -/* $Id: act2000_isa.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id$
   *
   * ISDN lowlevel-module for the IBM ISDN-S0 Active 2000 (ISA-Version).
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/act2000/capi.c linux-2.4.29/drivers/isdn/act2000/capi.c
---- linux-2.4.29.old/drivers/isdn/act2000/capi.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/act2000/capi.c   2005-03-22 15:06:44.172377560 +0100
+--- a/drivers/isdn/act2000/capi.c
++++ b/drivers/isdn/act2000/capi.c
 @@ -1,4 +1,4 @@
 -/* $Id: capi.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id$
   *
   * ISDN lowlevel-module for the IBM ISDN-S0 Active 2000.
   * CAPI encoder/decoder
 @@ -1,4 +1,4 @@
 -/* $Id: capi.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id$
   *
   * ISDN lowlevel-module for the IBM ISDN-S0 Active 2000.
   * CAPI encoder/decoder
-@@ -76,6 +76,10 @@
+@@ -76,6 +76,10 @@ static actcapi_msgdsc valid_msg[] = {
        {{ 0x84, 0x03}, "DISCONNECT_B3_RESP"},
        {{ 0x86, 0x03}, "DATA_B3_RESP"},
        {{ 0xff, 0x03}, "MANUFACTURER_RESP"},
        {{ 0x84, 0x03}, "DISCONNECT_B3_RESP"},
        {{ 0x86, 0x03}, "DATA_B3_RESP"},
        {{ 0xff, 0x03}, "MANUFACTURER_RESP"},
@@ -662,16 +643,15 @@ diff -rNu linux-2.4.29.old/drivers/isdn/act2000/capi.c linux-2.4.29/drivers/isdn
  #endif
        {{ 0x00, 0x00}, NULL},
  };
  #endif
        {{ 0x00, 0x00}, NULL},
  };
-diff -rNu linux-2.4.29.old/drivers/isdn/act2000/capi.h linux-2.4.29/drivers/isdn/act2000/capi.h
---- linux-2.4.29.old/drivers/isdn/act2000/capi.h       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/act2000/capi.h   2005-03-22 15:06:44.187375280 +0100
+--- a/drivers/isdn/act2000/capi.h
++++ b/drivers/isdn/act2000/capi.h
 @@ -1,4 +1,4 @@
 -/* $Id: capi.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id$
   *
   * ISDN lowlevel-module for the IBM ISDN-S0 Active 2000.
   *
 @@ -1,4 +1,4 @@
 -/* $Id: capi.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id$
   *
   * ISDN lowlevel-module for the IBM ISDN-S0 Active 2000.
   *
-@@ -294,6 +294,19 @@
+@@ -294,6 +294,19 @@ typedef struct actcapi_msg {
                        __u16 plci;
                        __u16 info;
                } select_b3_protocol_conf;
                        __u16 plci;
                        __u16 info;
                } select_b3_protocol_conf;
@@ -691,7 +671,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/act2000/capi.h linux-2.4.29/drivers/isdn
                struct listen_req {
                        __u8  controller;
                        __u32 infomask __attribute__ ((packed));  
                struct listen_req {
                        __u8  controller;
                        __u32 infomask __attribute__ ((packed));  
-@@ -304,6 +317,7 @@
+@@ -304,6 +317,7 @@ typedef struct actcapi_msg {
                        __u8  controller;
                        __u16 info __attribute__ ((packed));
                } listen_conf;
                        __u8  controller;
                        __u16 info __attribute__ ((packed));
                } listen_conf;
@@ -699,7 +679,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/act2000/capi.h linux-2.4.29/drivers/isdn
                struct data_b3_req {
                        __u16 fakencci;
                        __u16 datalen;
                struct data_b3_req {
                        __u16 fakencci;
                        __u16 datalen;
-@@ -330,7 +344,7 @@
+@@ -330,7 +344,7 @@ typedef struct actcapi_msg {
        } msg;
  } actcapi_msg;
  
        } msg;
  } actcapi_msg;
  
@@ -708,16 +688,15 @@ diff -rNu linux-2.4.29.old/drivers/isdn/act2000/capi.h linux-2.4.29/drivers/isdn
  actcapi_nextsmsg(act2000_card *card)
  {
        unsigned long flags;
  actcapi_nextsmsg(act2000_card *card)
  {
        unsigned long flags;
-diff -rNu linux-2.4.29.old/drivers/isdn/act2000/module.c linux-2.4.29/drivers/isdn/act2000/module.c
---- linux-2.4.29.old/drivers/isdn/act2000/module.c     2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/act2000/module.c 2005-03-22 15:06:44.202373000 +0100
+--- a/drivers/isdn/act2000/module.c
++++ b/drivers/isdn/act2000/module.c
 @@ -1,4 +1,4 @@
 -/* $Id: module.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id$
   *
   * ISDN lowlevel-module for the IBM ISDN-S0 Active 2000.
   *
 @@ -1,4 +1,4 @@
 -/* $Id: module.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id$
   *
   * ISDN lowlevel-module for the IBM ISDN-S0 Active 2000.
   *
-@@ -630,6 +630,10 @@
+@@ -630,6 +630,10 @@ act2000_alloccard(int bus, int port, int
          card->interface.features =
                ISDN_FEATURE_L2_X75I |
                ISDN_FEATURE_L2_HDLC |
          card->interface.features =
                ISDN_FEATURE_L2_X75I |
                ISDN_FEATURE_L2_HDLC |
@@ -728,7 +707,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/act2000/module.c linux-2.4.29/drivers/is
                ISDN_FEATURE_L3_TRANS |
                ISDN_FEATURE_P_UNKNOWN;
          card->interface.hl_hdrlen = 20;
                ISDN_FEATURE_L3_TRANS |
                ISDN_FEATURE_P_UNKNOWN;
          card->interface.hl_hdrlen = 20;
-@@ -843,6 +847,39 @@
+@@ -843,6 +847,39 @@ static void __exit act2000_exit(void)
          }
          printk(KERN_INFO "%s unloaded\n", DRIVERNAME);
  }
          }
          printk(KERN_INFO "%s unloaded\n", DRIVERNAME);
  }
@@ -768,27 +747,24 @@ diff -rNu linux-2.4.29.old/drivers/isdn/act2000/module.c linux-2.4.29/drivers/is
  
  module_init(act2000_init);
  module_exit(act2000_exit);
  
  module_init(act2000_init);
  module_exit(act2000_exit);
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/avm_cs.c linux-2.4.29/drivers/isdn/avmb1/avm_cs.c
---- linux-2.4.29.old/drivers/isdn/avmb1/avm_cs.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/avm_cs.c   2005-03-22 15:06:44.696297912 +0100
+--- a/drivers/isdn/avmb1/avm_cs.c
++++ b/drivers/isdn/avmb1/avm_cs.c
 @@ -1,4 +1,4 @@
 -/* $Id: avm_cs.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: avm_cs.c,v 1.6 2001/09/24 13:22:44 kai Exp $
   *
   * A PCMCIA client driver for AVM B1/M1/M2
   *
 @@ -1,4 +1,4 @@
 -/* $Id: avm_cs.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: avm_cs.c,v 1.6 2001/09/24 13:22:44 kai Exp $
   *
   * A PCMCIA client driver for AVM B1/M1/M2
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/avmcard.h linux-2.4.29/drivers/isdn/avmb1/avmcard.h
---- linux-2.4.29.old/drivers/isdn/avmb1/avmcard.h      2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/avmcard.h  2005-03-22 15:06:44.711295632 +0100
+--- a/drivers/isdn/avmb1/avmcard.h
++++ b/drivers/isdn/avmb1/avmcard.h
 @@ -1,4 +1,4 @@
 -/* $Id: avmcard.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: avmcard.h,v 1.12 2001/09/24 13:22:44 kai Exp $
   *
   * Copyright 1999 by Carsten Paeth <calle@calle.de>
   *
 @@ -1,4 +1,4 @@
 -/* $Id: avmcard.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: avmcard.h,v 1.12 2001/09/24 13:22:44 kai Exp $
   *
   * Copyright 1999 by Carsten Paeth <calle@calle.de>
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/b1.c linux-2.4.29/drivers/isdn/avmb1/b1.c
---- linux-2.4.29.old/drivers/isdn/avmb1/b1.c   2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/b1.c       2005-03-22 15:06:44.733292288 +0100
+--- a/drivers/isdn/avmb1/b1.c
++++ b/drivers/isdn/avmb1/b1.c
 @@ -1,4 +1,4 @@
 -/* $Id: b1.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: b1.c,v 1.26 2001/09/24 13:22:44 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: b1.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: b1.c,v 1.26 2001/09/24 13:22:44 kai Exp $
@@ -812,9 +788,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/b1.c linux-2.4.29/drivers/isdn/avm
  
  /* ------------------------------------------------------------- */
  
  
  /* ------------------------------------------------------------- */
  
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/b1dma.c linux-2.4.29/drivers/isdn/avmb1/b1dma.c
---- linux-2.4.29.old/drivers/isdn/avmb1/b1dma.c        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/b1dma.c    2005-03-22 15:06:44.750289704 +0100
+--- a/drivers/isdn/avmb1/b1dma.c
++++ b/drivers/isdn/avmb1/b1dma.c
 @@ -1,4 +1,4 @@
 -/* $Id: b1dma.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: b1dma.c,v 1.18 2001/09/24 13:22:44 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: b1dma.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: b1dma.c,v 1.18 2001/09/24 13:22:44 kai Exp $
@@ -842,7 +817,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/b1dma.c linux-2.4.29/drivers/isdn/
  
  /* ------------------------------------------------------------- */
  
  
  /* ------------------------------------------------------------- */
  
-@@ -851,7 +856,7 @@
+@@ -851,7 +856,7 @@ int b1dmactl_read_proc(char *page, char 
        __u8 flag;
        int len = 0;
        char *s;
        __u8 flag;
        int len = 0;
        char *s;
@@ -851,7 +826,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/b1dma.c linux-2.4.29/drivers/isdn/
  
        len += sprintf(page+len, "%-16s %s\n", "name", card->name);
        len += sprintf(page+len, "%-16s 0x%x\n", "io", card->port);
  
        len += sprintf(page+len, "%-16s %s\n", "name", card->name);
        len += sprintf(page+len, "%-16s 0x%x\n", "io", card->port);
-@@ -907,12 +912,12 @@
+@@ -907,12 +912,12 @@ int b1dmactl_read_proc(char *page, char 
        save_flags(flags);
        cli();
  
        save_flags(flags);
        cli();
  
@@ -868,9 +843,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/b1dma.c linux-2.4.29/drivers/isdn/
        rxlen  = b1dmainmeml(card->mbase+0x28);
  
        csr  = b1dmainmeml(card->mbase+AMCC_INTCSR);
        rxlen  = b1dmainmeml(card->mbase+0x28);
  
        csr  = b1dmainmeml(card->mbase+AMCC_INTCSR);
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/b1isa.c linux-2.4.29/drivers/isdn/avmb1/b1isa.c
---- linux-2.4.29.old/drivers/isdn/avmb1/b1isa.c        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/b1isa.c    2005-03-22 15:06:44.766287272 +0100
+--- a/drivers/isdn/avmb1/b1isa.c
++++ b/drivers/isdn/avmb1/b1isa.c
 @@ -1,4 +1,4 @@
 -/* $Id: b1isa.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: b1isa.c,v 1.14 2001/09/24 13:22:44 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: b1isa.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: b1isa.c,v 1.14 2001/09/24 13:22:44 kai Exp $
@@ -892,9 +866,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/b1isa.c linux-2.4.29/drivers/isdn/
  
  /* ------------------------------------------------------------- */
  
  
  /* ------------------------------------------------------------- */
  
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/b1pci.c linux-2.4.29/drivers/isdn/avmb1/b1pci.c
---- linux-2.4.29.old/drivers/isdn/avmb1/b1pci.c        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/b1pci.c    2005-03-22 15:06:44.781284992 +0100
+--- a/drivers/isdn/avmb1/b1pci.c
++++ b/drivers/isdn/avmb1/b1pci.c
 @@ -1,4 +1,4 @@
 -/* $Id: b1pci.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: b1pci.c,v 1.40 2001/09/24 13:22:44 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: b1pci.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: b1pci.c,v 1.40 2001/09/24 13:22:44 kai Exp $
@@ -927,7 +900,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/b1pci.c linux-2.4.29/drivers/isdn/
  MODULE_DESCRIPTION("CAPI4Linux: Driver for AVM B1 PCI card");
  MODULE_AUTHOR("Carsten Paeth");
  MODULE_LICENSE("GPL");
  MODULE_DESCRIPTION("CAPI4Linux: Driver for AVM B1 PCI card");
  MODULE_AUTHOR("Carsten Paeth");
  MODULE_LICENSE("GPL");
-@@ -416,14 +419,14 @@
+@@ -416,14 +419,14 @@ static int add_card(struct pci_dev *dev)
        }
        param.irq = dev->irq;
  
        }
        param.irq = dev->irq;
  
@@ -945,7 +918,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/b1pci.c linux-2.4.29/drivers/isdn/
  
                printk(KERN_INFO
                "%s: PCI BIOS reports AVM-B1 V4 at i/o %#x, irq %d, mem %#x\n",
  
                printk(KERN_INFO
                "%s: PCI BIOS reports AVM-B1 V4 at i/o %#x, irq %d, mem %#x\n",
-@@ -440,7 +443,7 @@
+@@ -440,7 +443,7 @@ static int add_card(struct pci_dev *dev)
                }
        } else {
                param.membase = 0;
                }
        } else {
                param.membase = 0;
@@ -954,9 +927,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/b1pci.c linux-2.4.29/drivers/isdn/
  
                printk(KERN_INFO
                "%s: PCI BIOS reports AVM-B1 at i/o %#x, irq %d\n",
  
                printk(KERN_INFO
                "%s: PCI BIOS reports AVM-B1 at i/o %#x, irq %d\n",
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/b1pcmcia.c linux-2.4.29/drivers/isdn/avmb1/b1pcmcia.c
---- linux-2.4.29.old/drivers/isdn/avmb1/b1pcmcia.c     2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/b1pcmcia.c 2005-03-22 15:06:44.796282712 +0100
+--- a/drivers/isdn/avmb1/b1pcmcia.c
++++ b/drivers/isdn/avmb1/b1pcmcia.c
 @@ -1,4 +1,4 @@
 -/* $Id: b1pcmcia.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: b1pcmcia.c,v 1.17 2001/09/24 13:22:44 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: b1pcmcia.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: b1pcmcia.c,v 1.17 2001/09/24 13:22:44 kai Exp $
@@ -972,9 +944,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/b1pcmcia.c linux-2.4.29/drivers/is
  
  /* ------------------------------------------------------------- */
  
  
  /* ------------------------------------------------------------- */
  
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/c4.c linux-2.4.29/drivers/isdn/avmb1/c4.c
---- linux-2.4.29.old/drivers/isdn/avmb1/c4.c   2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/c4.c       2005-03-22 15:06:44.812280280 +0100
+--- a/drivers/isdn/avmb1/c4.c
++++ b/drivers/isdn/avmb1/c4.c
 @@ -1,4 +1,4 @@
 -/* $Id: c4.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: c4.c,v 1.38 2001/09/24 13:22:44 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: c4.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: c4.c,v 1.38 2001/09/24 13:22:44 kai Exp $
@@ -989,7 +960,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/c4.c linux-2.4.29/drivers/isdn/avm
  #include <linux/capi.h>
  #include <linux/kernelcapi.h>
  #include <linux/init.h>
  #include <linux/capi.h>
  #include <linux/kernelcapi.h>
  #include <linux/init.h>
-@@ -29,7 +30,7 @@
+@@ -30,7 +31,7 @@
  #include "capilli.h"
  #include "avmcard.h"
  
  #include "capilli.h"
  #include "avmcard.h"
  
@@ -998,7 +969,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/c4.c linux-2.4.29/drivers/isdn/avm
  
  #undef CONFIG_C4_DEBUG
  #undef CONFIG_C4_POLLDEBUG
  
  #undef CONFIG_C4_DEBUG
  #undef CONFIG_C4_POLLDEBUG
-@@ -38,6 +39,7 @@
+@@ -39,6 +40,7 @@ static char *revision = "$Revision: 1.1.
  
  static int suppress_pollack;
  
  
  static int suppress_pollack;
  
@@ -1006,7 +977,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/c4.c linux-2.4.29/drivers/isdn/avm
  static struct pci_device_id c4_pci_tbl[] __initdata = {
        { PCI_VENDOR_ID_DEC,PCI_DEVICE_ID_DEC_21285, PCI_VENDOR_ID_AVM, PCI_DEVICE_ID_AVM_C4 },
        { PCI_VENDOR_ID_DEC,PCI_DEVICE_ID_DEC_21285, PCI_VENDOR_ID_AVM, PCI_DEVICE_ID_AVM_C2 },
  static struct pci_device_id c4_pci_tbl[] __initdata = {
        { PCI_VENDOR_ID_DEC,PCI_DEVICE_ID_DEC_21285, PCI_VENDOR_ID_AVM, PCI_DEVICE_ID_AVM_C4 },
        { PCI_VENDOR_ID_DEC,PCI_DEVICE_ID_DEC_21285, PCI_VENDOR_ID_AVM, PCI_DEVICE_ID_AVM_C2 },
-@@ -45,6 +47,7 @@
+@@ -46,6 +48,7 @@ static struct pci_device_id c4_pci_tbl[]
  };
  
  MODULE_DEVICE_TABLE(pci, c4_pci_tbl);
  };
  
  MODULE_DEVICE_TABLE(pci, c4_pci_tbl);
@@ -1014,7 +985,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/c4.c linux-2.4.29/drivers/isdn/avm
  MODULE_DESCRIPTION("CAPI4Linux: Driver for AVM C2/C4 cards");
  MODULE_AUTHOR("Carsten Paeth");
  MODULE_LICENSE("GPL");
  MODULE_DESCRIPTION("CAPI4Linux: Driver for AVM C2/C4 cards");
  MODULE_AUTHOR("Carsten Paeth");
  MODULE_LICENSE("GPL");
-@@ -1328,9 +1331,9 @@
+@@ -1332,9 +1335,9 @@ static int __init search_cards(struct ca
                }
                pci_set_master(dev);
  
                }
                pci_set_master(dev);
  
@@ -1026,9 +997,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/c4.c linux-2.4.29/drivers/isdn/avm
    
                printk(KERN_INFO
                        "%s: PCI BIOS reports AVM-C%d at i/o %#x, irq %d, mem %#x\n",
    
                printk(KERN_INFO
                        "%s: PCI BIOS reports AVM-C%d at i/o %#x, irq %d, mem %#x\n",
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/avmb1/capi.c
---- linux-2.4.29.old/drivers/isdn/avmb1/capi.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/capi.c     2005-03-22 15:06:44.849274656 +0100
+--- a/drivers/isdn/avmb1/capi.c
++++ b/drivers/isdn/avmb1/capi.c
 @@ -1,4 +1,4 @@
 -/* $Id: capi.c,v 1.1.4.2 2001/12/09 18:45:13 kai Exp $
 +/* $Id: capi.c,v 1.59 2001/11/07 22:35:48 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: capi.c,v 1.1.4.2 2001/12/09 18:45:13 kai Exp $
 +/* $Id: capi.c,v 1.59 2001/11/07 22:35:48 kai Exp $
@@ -1071,7 +1041,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  
  MODULE_DESCRIPTION("CAPI4Linux: Userspace /dev/capi20 interface");
  MODULE_AUTHOR("Carsten Paeth");
  
  MODULE_DESCRIPTION("CAPI4Linux: Userspace /dev/capi20 interface");
  MODULE_AUTHOR("Carsten Paeth");
-@@ -87,10 +93,10 @@
+@@ -87,10 +93,10 @@ struct capiminor {
        struct capincci  *nccip;
        unsigned int      minor;
  
        struct capincci  *nccip;
        unsigned int      minor;
  
@@ -1086,7 +1056,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  
        struct file      *file;
        struct tty_struct *tty;
  
        struct file      *file;
        struct tty_struct *tty;
-@@ -112,16 +118,22 @@
+@@ -112,16 +118,22 @@ struct capiminor {
        /* transmit path */
        struct datahandle_queue {
                    struct datahandle_queue *next;
        /* transmit path */
        struct datahandle_queue {
                    struct datahandle_queue *next;
@@ -1111,7 +1081,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
        struct capidev  *cdev;
  #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
        struct capiminor *minorp;
        struct capidev  *cdev;
  #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
        struct capiminor *minorp;
-@@ -131,8 +143,8 @@
+@@ -131,8 +143,8 @@ struct capincci {
  struct capidev {
        struct capidev *next;
        struct file    *file;
  struct capidev {
        struct capidev *next;
        struct file    *file;
@@ -1122,7 +1092,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
        unsigned int    minor;
        unsigned        userflags;
  
        unsigned int    minor;
        unsigned        userflags;
  
-@@ -156,22 +168,28 @@
+@@ -156,22 +168,28 @@ static struct capidev *capidev_openlist 
  static struct capiminor *minors = 0;
  #endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
  
  static struct capiminor *minors = 0;
  #endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
  
@@ -1152,7 +1122,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
        if (!n) {
           printk(KERN_ERR "capi: alloc datahandle failed\n");
           return -1;
        if (!n) {
           printk(KERN_ERR "capi: alloc datahandle failed\n");
           return -1;
-@@ -184,7 +202,7 @@
+@@ -184,7 +202,7 @@ static int capincci_add_ack(struct capim
        return 0;
  }
  
        return 0;
  }
  
@@ -1161,7 +1131,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct datahandle_queue **pp, *p;
  
  {
        struct datahandle_queue **pp, *p;
  
-@@ -192,7 +210,11 @@
+@@ -192,7 +210,11 @@ static int capiminor_del_ack(struct capi
                if ((*pp)->datahandle == datahandle) {
                        p = *pp;
                        *pp = (*pp)->next;
                if ((*pp)->datahandle == datahandle) {
                        p = *pp;
                        *pp = (*pp)->next;
@@ -1173,7 +1143,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
                        mp->nack--;
                        return 0;
                }
                        mp->nack--;
                        return 0;
                }
-@@ -200,7 +222,7 @@
+@@ -200,7 +222,7 @@ static int capiminor_del_ack(struct capi
        return -1;
  }
  
        return -1;
  }
  
@@ -1182,7 +1152,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct datahandle_queue **pp, *p;
  
  {
        struct datahandle_queue **pp, *p;
  
-@@ -208,7 +230,11 @@
+@@ -208,7 +230,11 @@ static void capiminor_del_all_ack(struct
        while (*pp) {
                p = *pp;
                *pp = (*pp)->next;
        while (*pp) {
                p = *pp;
                *pp = (*pp)->next;
@@ -1194,7 +1164,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
                mp->nack--;
        }
  }
                mp->nack--;
        }
  }
-@@ -216,13 +242,17 @@
+@@ -216,13 +242,17 @@ static void capiminor_del_all_ack(struct
  
  /* -------- struct capiminor ---------------------------------------- */
  
  
  /* -------- struct capiminor ---------------------------------------- */
  
@@ -1213,7 +1183,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
        if (!mp) {
                MOD_DEC_USE_COUNT;
                printk(KERN_ERR "capi: can't alloc capiminor\n");
        if (!mp) {
                MOD_DEC_USE_COUNT;
                printk(KERN_ERR "capi: can't alloc capiminor\n");
-@@ -257,7 +287,7 @@
+@@ -257,7 +287,7 @@ static struct capiminor *capiminor_alloc
        return mp;
  }
  
        return mp;
  }
  
@@ -1222,7 +1192,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct capiminor **pp;
  
  {
        struct capiminor **pp;
  
-@@ -271,7 +301,11 @@
+@@ -271,7 +301,11 @@ static void capiminor_free(struct capimi
                        skb_queue_purge(&mp->inqueue);
                        skb_queue_purge(&mp->outqueue);
                        capiminor_del_all_ack(mp);
                        skb_queue_purge(&mp->inqueue);
                        skb_queue_purge(&mp->outqueue);
                        capiminor_del_all_ack(mp);
@@ -1234,7 +1204,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
                        MOD_DEC_USE_COUNT;
  #ifdef _DEBUG_REFCOUNT
                        printk(KERN_DEBUG "capiminor_free %d\n", GET_USE_COUNT(THIS_MODULE));
                        MOD_DEC_USE_COUNT;
  #ifdef _DEBUG_REFCOUNT
                        printk(KERN_DEBUG "capiminor_free %d\n", GET_USE_COUNT(THIS_MODULE));
-@@ -283,7 +317,7 @@
+@@ -283,7 +317,7 @@ static void capiminor_free(struct capimi
        }
  }
  
        }
  }
  
@@ -1243,7 +1213,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct capiminor *p;
        for (p = minors; p && p->minor != minor; p = p->next)
  {
        struct capiminor *p;
        for (p = minors; p && p->minor != minor; p = p->next)
-@@ -294,7 +328,7 @@
+@@ -294,7 +328,7 @@ static struct capiminor *capiminor_find(
  
  /* -------- struct capincci ----------------------------------------- */
  
  
  /* -------- struct capincci ----------------------------------------- */
  
@@ -1252,7 +1222,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct capincci *np, **pp;
  #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
  {
        struct capincci *np, **pp;
  #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
-@@ -302,7 +336,11 @@
+@@ -302,7 +336,11 @@ static struct capincci *capincci_alloc(s
        kdev_t kdev;
  #endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
  
        kdev_t kdev;
  #endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
  
@@ -1264,7 +1234,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
        if (!np)
                return 0;
        memset(np, 0, sizeof(struct capincci));
        if (!np)
                return 0;
        memset(np, 0, sizeof(struct capincci));
-@@ -331,7 +369,7 @@
+@@ -331,7 +369,7 @@ static struct capincci *capincci_alloc(s
          return np;
  }
  
          return np;
  }
  
@@ -1273,7 +1243,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct capincci *np, **pp;
  #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
  {
        struct capincci *np, **pp;
  #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
-@@ -367,7 +405,11 @@
+@@ -367,7 +405,11 @@ static void capincci_free(struct capidev
                                }
                        }
  #endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
                                }
                        }
  #endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
@@ -1285,7 +1255,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
                        if (*pp == 0) return;
                } else {
                        pp = &(*pp)->next;
                        if (*pp == 0) return;
                } else {
                        pp = &(*pp)->next;
-@@ -375,7 +417,7 @@
+@@ -375,7 +417,7 @@ static void capincci_free(struct capidev
        }
  }
  
        }
  }
  
@@ -1294,7 +1264,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct capincci *p;
  
  {
        struct capincci *p;
  
-@@ -393,7 +435,11 @@
+@@ -393,7 +435,11 @@ static struct capidev *capidev_alloc(str
        struct capidev *cdev;
        struct capidev **pp;
  
        struct capidev *cdev;
        struct capidev **pp;
  
@@ -1306,7 +1276,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
        if (!cdev)
                return 0;
        memset(cdev, 0, sizeof(struct capidev));
        if (!cdev)
                return 0;
        memset(cdev, 0, sizeof(struct capidev));
-@@ -423,10 +469,14 @@
+@@ -423,10 +469,14 @@ static void capidev_free(struct capidev 
        if (*pp)
                *pp = cdev->next;
  
        if (*pp)
                *pp = cdev->next;
  
@@ -1322,7 +1292,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct capidev *p;
        for (p=capidev_openlist; p; p = p->next) {
  {
        struct capidev *p;
        for (p=capidev_openlist; p; p = p->next) {
-@@ -439,13 +489,13 @@
+@@ -439,13 +489,13 @@ static struct capidev *capidev_find(u16 
  #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
  /* -------- handle data queue --------------------------------------- */
  
  #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
  /* -------- handle data queue --------------------------------------- */
  
@@ -1338,7 +1308,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
                unsigned char *s = skb_put(nskb, CAPI_DATA_B3_RESP_LEN);
                capimsg_setu16(s, 0, CAPI_DATA_B3_RESP_LEN);
                capimsg_setu16(s, 2, mp->applid);
                unsigned char *s = skb_put(nskb, CAPI_DATA_B3_RESP_LEN);
                capimsg_setu16(s, 0, CAPI_DATA_B3_RESP_LEN);
                capimsg_setu16(s, 2, mp->applid);
-@@ -458,11 +508,11 @@
+@@ -458,11 +508,11 @@ gen_data_b3_resp_for(struct capiminor *m
        return nskb;
  }
  
        return nskb;
  }
  
@@ -1352,7 +1322,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  
        datalen = skb->len - CAPIMSG_LEN(skb->data);
        if (mp->tty) {
  
        datalen = skb->len - CAPIMSG_LEN(skb->data);
        if (mp->tty) {
-@@ -504,6 +554,28 @@
+@@ -504,6 +554,28 @@ static int handle_recv_skb(struct capimi
                kfree_skb(skb);
                return 0;
  
                kfree_skb(skb);
                return 0;
  
@@ -1381,7 +1351,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
        } else if (mp->file) {
                if (skb_queue_len(&mp->recvqueue) > CAPINC_MAX_RECVQUEUE) {
  #if defined(_DEBUG_DATAFLOW) || defined(_DEBUG_TTYFUNCS)
        } else if (mp->file) {
                if (skb_queue_len(&mp->recvqueue) > CAPINC_MAX_RECVQUEUE) {
  #if defined(_DEBUG_DATAFLOW) || defined(_DEBUG_TTYFUNCS)
-@@ -538,7 +610,7 @@
+@@ -538,7 +610,7 @@ static int handle_recv_skb(struct capimi
        return -1;
  }
  
        return -1;
  }
  
@@ -1390,7 +1360,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct sk_buff *skb;
        while ((skb = skb_dequeue(&mp->inqueue)) != 0) {
  {
        struct sk_buff *skb;
        while ((skb = skb_dequeue(&mp->inqueue)) != 0) {
-@@ -552,13 +624,13 @@
+@@ -552,13 +624,13 @@ static void handle_minor_recv(struct cap
        }
  }
  
        }
  }
  
@@ -1408,7 +1378,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  
        if (mp->tty && mp->ttyoutstop) {
  #if defined(_DEBUG_DATAFLOW) || defined(_DEBUG_TTYFUNCS)
  
        if (mp->tty && mp->ttyoutstop) {
  #if defined(_DEBUG_DATAFLOW) || defined(_DEBUG_TTYFUNCS)
-@@ -569,7 +641,7 @@
+@@ -569,7 +641,7 @@ static int handle_minor_send(struct capi
  
        while ((skb = skb_dequeue(&mp->outqueue)) != 0) {
                datahandle = mp->datahandle;
  
        while ((skb = skb_dequeue(&mp->outqueue)) != 0) {
                datahandle = mp->datahandle;
@@ -1417,7 +1387,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
                skb_push(skb, CAPI_DATA_B3_REQ_LEN);
                memset(skb->data, 0, CAPI_DATA_B3_REQ_LEN);
                capimsg_setu16(skb->data, 0, CAPI_DATA_B3_REQ_LEN);
                skb_push(skb, CAPI_DATA_B3_REQ_LEN);
                memset(skb->data, 0, CAPI_DATA_B3_REQ_LEN);
                capimsg_setu16(skb->data, 0, CAPI_DATA_B3_REQ_LEN);
-@@ -578,7 +650,7 @@
+@@ -578,7 +650,7 @@ static int handle_minor_send(struct capi
                capimsg_setu8 (skb->data, 5, CAPI_REQ);
                capimsg_setu16(skb->data, 6, mp->msgid++);
                capimsg_setu32(skb->data, 8, mp->ncci); /* NCCI */
                capimsg_setu8 (skb->data, 5, CAPI_REQ);
                capimsg_setu16(skb->data, 6, mp->msgid++);
                capimsg_setu32(skb->data, 8, mp->ncci); /* NCCI */
@@ -1426,7 +1396,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
                capimsg_setu16(skb->data, 16, len);     /* Data length */
                capimsg_setu16(skb->data, 18, datahandle);
                capimsg_setu16(skb->data, 20, 0);       /* Flags */
                capimsg_setu16(skb->data, 16, len);     /* Data length */
                capimsg_setu16(skb->data, 18, datahandle);
                capimsg_setu16(skb->data, 20, 0);       /* Flags */
-@@ -620,16 +692,16 @@
+@@ -620,16 +692,16 @@ static int handle_minor_send(struct capi
  #endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
  /* -------- function called by lower level -------------------------- */
  
  #endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
  /* -------- function called by lower level -------------------------- */
  
@@ -1446,7 +1416,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  
        (void) (*capifuncs->capi_get_message) (applid, &skb);
        if (!skb) {
  
        (void) (*capifuncs->capi_get_message) (applid, &skb);
        if (!skb) {
-@@ -683,6 +755,12 @@
+@@ -683,6 +755,12 @@ static void capi_signal(u16 applid, void
  #endif
                kfree_skb(skb);
                (void)capiminor_del_ack(mp, datahandle);
  #endif
                kfree_skb(skb);
                (void)capiminor_del_ack(mp, datahandle);
@@ -1459,7 +1429,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
                if (mp->tty) {
                        if (mp->tty->ldisc.write_wakeup)
                                mp->tty->ldisc.write_wakeup(mp->tty);
                if (mp->tty) {
                        if (mp->tty->ldisc.write_wakeup)
                                mp->tty->ldisc.write_wakeup(mp->tty);
-@@ -758,7 +836,7 @@
+@@ -758,7 +836,7 @@ capi_write(struct file *file, const char
        struct capidev *cdev = (struct capidev *)file->private_data;
        struct sk_buff *skb;
        int retval;
        struct capidev *cdev = (struct capidev *)file->private_data;
        struct sk_buff *skb;
        int retval;
@@ -1468,7 +1438,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  
          if (ppos != &file->f_pos)
                return -ESPIPE;
  
          if (ppos != &file->f_pos)
                return -ESPIPE;
-@@ -998,7 +1076,7 @@
+@@ -998,7 +1076,7 @@ capi_ioctl(struct inode *inode, struct f
                                                sizeof(ncci));
                        if (retval)
                                return -EFAULT;
                                                sizeof(ncci));
                        if (retval)
                                return -EFAULT;
@@ -1477,7 +1447,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
                        if (!nccip)
                                return 0;
  #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
                        if (!nccip)
                                return 0;
  #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
-@@ -1023,7 +1101,7 @@
+@@ -1023,7 +1101,7 @@ capi_ioctl(struct inode *inode, struct f
                                                sizeof(ncci));
                        if (retval)
                                return -EFAULT;
                                                sizeof(ncci));
                        if (retval)
                                return -EFAULT;
@@ -1486,7 +1456,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
                        if (!nccip || (mp = nccip->minorp) == 0)
                                return -ESRCH;
                        return mp->minor;
                        if (!nccip || (mp = nccip->minorp) == 0)
                                return -ESRCH;
                        return mp->minor;
-@@ -1070,7 +1148,9 @@
+@@ -1070,7 +1148,9 @@ capi_release(struct inode *inode, struct
  
  static struct file_operations capi_fops =
  {
  
  static struct file_operations capi_fops =
  {
@@ -1496,7 +1466,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
        llseek:         no_llseek,
        read:           capi_read,
        write:          capi_write,
        llseek:         no_llseek,
        read:           capi_read,
        write:          capi_write,
-@@ -1233,6 +1313,45 @@
+@@ -1233,6 +1313,45 @@ capinc_raw_ioctl(struct inode *inode, st
                return -EINVAL;
  
        switch (cmd) {
                return -EINVAL;
  
        switch (cmd) {
@@ -1542,7 +1512,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
        }
        return -EINVAL;
  }
        }
        return -EINVAL;
  }
-@@ -1260,7 +1379,9 @@
+@@ -1260,7 +1379,9 @@ capinc_raw_release(struct inode *inode, 
  
  static struct file_operations capinc_raw_fops =
  {
  
  static struct file_operations capinc_raw_fops =
  {
@@ -1552,7 +1522,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
        llseek:         no_llseek,
        read:           capinc_raw_read,
        write:          capinc_raw_write,
        llseek:         no_llseek,
        read:           capinc_raw_read,
        write:          capinc_raw_write,
-@@ -1272,7 +1393,7 @@
+@@ -1272,7 +1393,7 @@ static struct file_operations capinc_raw
  
  /* -------- tty_operations for capincci ----------------------------- */
  
  
  /* -------- tty_operations for capincci ----------------------------- */
  
@@ -1561,7 +1531,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct capiminor *mp;
  
  {
        struct capiminor *mp;
  
-@@ -1300,7 +1421,7 @@
+@@ -1300,7 +1421,7 @@ static int capinc_tty_open(struct tty_st
        return 0;
  }
  
        return 0;
  }
  
@@ -1570,7 +1540,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct capiminor *mp;
  
  {
        struct capiminor *mp;
  
-@@ -1325,8 +1446,8 @@
+@@ -1325,8 +1446,8 @@ static void capinc_tty_close(struct tty_
  #endif
  }
  
  #endif
  }
  
@@ -1581,7 +1551,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct capiminor *mp = (struct capiminor *)tty->driver_data;
        struct sk_buff *skb;
  {
        struct capiminor *mp = (struct capiminor *)tty->driver_data;
        struct sk_buff *skb;
-@@ -1377,7 +1498,7 @@
+@@ -1377,7 +1498,7 @@ static int capinc_tty_write(struct tty_s
        return count;
  }
  
        return count;
  }
  
@@ -1590,7 +1560,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct capiminor *mp = (struct capiminor *)tty->driver_data;
        struct sk_buff *skb;
  {
        struct capiminor *mp = (struct capiminor *)tty->driver_data;
        struct sk_buff *skb;
-@@ -1414,7 +1535,7 @@
+@@ -1414,7 +1535,7 @@ static void capinc_tty_put_char(struct t
        }
  }
  
        }
  }
  
@@ -1599,7 +1569,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct capiminor *mp = (struct capiminor *)tty->driver_data;
        struct sk_buff *skb;
  {
        struct capiminor *mp = (struct capiminor *)tty->driver_data;
        struct sk_buff *skb;
-@@ -1440,7 +1561,7 @@
+@@ -1440,7 +1561,7 @@ static void capinc_tty_flush_chars(struc
        (void)handle_minor_recv(mp);
  }
  
        (void)handle_minor_recv(mp);
  }
  
@@ -1608,7 +1578,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct capiminor *mp = (struct capiminor *)tty->driver_data;
        int room;
  {
        struct capiminor *mp = (struct capiminor *)tty->driver_data;
        int room;
-@@ -1458,7 +1579,7 @@
+@@ -1458,7 +1579,7 @@ static int capinc_tty_write_room(struct 
        return room;
  }
  
        return room;
  }
  
@@ -1617,7 +1587,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct capiminor *mp = (struct capiminor *)tty->driver_data;
        if (!mp || !mp->nccip) {
  {
        struct capiminor *mp = (struct capiminor *)tty->driver_data;
        if (!mp || !mp->nccip) {
-@@ -1476,7 +1597,7 @@
+@@ -1476,7 +1597,7 @@ static int capinc_tty_chars_in_buffer(st
        return mp->outbytes;
  }
  
        return mp->outbytes;
  }
  
@@ -1626,7 +1596,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
                    unsigned int cmd, unsigned long arg)
  {
        int error = 0;
                    unsigned int cmd, unsigned long arg)
  {
        int error = 0;
-@@ -1488,14 +1609,14 @@
+@@ -1488,14 +1609,14 @@ static int capinc_tty_ioctl(struct tty_s
        return error;
  }
  
        return error;
  }
  
@@ -1643,7 +1613,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct capiminor *mp = (struct capiminor *)tty->driver_data;
  #ifdef _DEBUG_TTYFUNCS
  {
        struct capiminor *mp = (struct capiminor *)tty->driver_data;
  #ifdef _DEBUG_TTYFUNCS
-@@ -1505,7 +1626,7 @@
+@@ -1505,7 +1626,7 @@ static void capinc_tty_throttle(struct t
                mp->ttyinstop = 1;
  }
  
                mp->ttyinstop = 1;
  }
  
@@ -1652,7 +1622,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct capiminor *mp = (struct capiminor *)tty->driver_data;
  #ifdef _DEBUG_TTYFUNCS
  {
        struct capiminor *mp = (struct capiminor *)tty->driver_data;
  #ifdef _DEBUG_TTYFUNCS
-@@ -1517,7 +1638,7 @@
+@@ -1517,7 +1638,7 @@ static void capinc_tty_unthrottle(struct
        }
  }
  
        }
  }
  
@@ -1661,7 +1631,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct capiminor *mp = (struct capiminor *)tty->driver_data;
  #ifdef _DEBUG_TTYFUNCS
  {
        struct capiminor *mp = (struct capiminor *)tty->driver_data;
  #ifdef _DEBUG_TTYFUNCS
-@@ -1528,7 +1649,7 @@
+@@ -1528,7 +1649,7 @@ static void capinc_tty_stop(struct tty_s
        }
  }
  
        }
  }
  
@@ -1670,7 +1640,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct capiminor *mp = (struct capiminor *)tty->driver_data;
  #ifdef _DEBUG_TTYFUNCS
  {
        struct capiminor *mp = (struct capiminor *)tty->driver_data;
  #ifdef _DEBUG_TTYFUNCS
-@@ -1540,43 +1661,49 @@
+@@ -1540,43 +1661,49 @@ static void capinc_tty_start(struct tty_
        }
  }
  
        }
  }
  
@@ -1727,7 +1697,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        return 0;
  }
  {
        return 0;
  }
-@@ -1588,7 +1715,7 @@
+@@ -1588,7 +1715,7 @@ static struct tty_struct *capinc_tty_tab
  static struct termios *capinc_tty_termios[CAPINC_NR_PORTS];
  static struct termios *capinc_tty_termios_locked[CAPINC_NR_PORTS];
  
  static struct termios *capinc_tty_termios[CAPINC_NR_PORTS];
  static struct termios *capinc_tty_termios_locked[CAPINC_NR_PORTS];
  
@@ -1736,7 +1706,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct tty_driver *drv = &capinc_tty_driver;
  
  {
        struct tty_driver *drv = &capinc_tty_driver;
  
-@@ -1646,7 +1773,7 @@
+@@ -1646,7 +1773,7 @@ static int capinc_tty_init(void)
        return 0;
  }
  
        return 0;
  }
  
@@ -1745,7 +1715,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct tty_driver *drv = &capinc_tty_driver;
        int retval;
  {
        struct tty_driver *drv = &capinc_tty_driver;
        int retval;
-@@ -1771,8 +1898,9 @@
+@@ -1771,8 +1898,9 @@ static void __exit proc_exit(void)
  
  /* -------- init function and module interface ---------------------- */
  
  
  /* -------- init function and module interface ---------------------- */
  
@@ -1756,7 +1726,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        if (capidev_cachep) {
                (void)kmem_cache_destroy(capidev_cachep);
  {
        if (capidev_cachep) {
                (void)kmem_cache_destroy(capidev_cachep);
-@@ -1837,8 +1965,9 @@
+@@ -1837,8 +1965,9 @@ static int __init alloc_init(void)
  #endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
        return 0;
  }
  #endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
        return 0;
  }
@@ -1767,7 +1737,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  {
        struct capi_ncciinfo *np;
        struct capidev *cdev;
  {
        struct capi_ncciinfo *np;
        struct capidev *cdev;
-@@ -1900,15 +2029,19 @@
+@@ -1900,15 +2029,19 @@ static int __init capi_init(void)
                MOD_DEC_USE_COUNT;
                return -EIO;
        }
                MOD_DEC_USE_COUNT;
                return -EIO;
        }
@@ -1787,7 +1757,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
        printk(KERN_NOTICE "capi20: started up with major %d\n", capi_major);
  
        if ((capifuncs = attach_capi_interface(&cuser)) == 0) {
        printk(KERN_NOTICE "capi20: started up with major %d\n", capi_major);
  
        if ((capifuncs = attach_capi_interface(&cuser)) == 0) {
-@@ -1918,9 +2051,11 @@
+@@ -1918,9 +2051,11 @@ static int __init capi_init(void)
  #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
                devfs_unregister_chrdev(capi_rawmajor, "capi/r%d");
  #endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
  #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
                devfs_unregister_chrdev(capi_rawmajor, "capi/r%d");
  #endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
@@ -1799,7 +1769,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
                return -EIO;
        }
  
                return -EIO;
        }
  
-@@ -1934,8 +2069,10 @@
+@@ -1934,8 +2069,10 @@ static int __init capi_init(void)
        }
  #endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
  
        }
  #endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
  
@@ -1810,7 +1780,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
                unsigned int j;
                devfs_unregister_chrdev(capi_rawmajor, "capi/r%d");
                for (j = 0; j < CAPINC_NR_PORTS; j++) {
                unsigned int j;
                devfs_unregister_chrdev(capi_rawmajor, "capi/r%d");
                for (j = 0; j < CAPINC_NR_PORTS; j++) {
-@@ -1943,16 +2080,20 @@
+@@ -1943,16 +2080,20 @@ static int __init capi_init(void)
                        sprintf(devname, "capi/r%u", j);
                        devfs_unregister(devfs_find_handle(NULL, devname, capi_rawmajor, j, DEVFS_SPECIAL_CHR, 0));
                }
                        sprintf(devname, "capi/r%u", j);
                        devfs_unregister(devfs_find_handle(NULL, devname, capi_rawmajor, j, DEVFS_SPECIAL_CHR, 0));
                }
@@ -1831,7 +1801,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
  
        (void)proc_init();
  
  
        (void)proc_init();
  
-@@ -1975,23 +2116,31 @@
+@@ -1975,23 +2116,31 @@ static int __init capi_init(void)
  static void __exit capi_exit(void)
  {
  #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
  static void __exit capi_exit(void)
  {
  #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
@@ -1863,27 +1833,24 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/a
        (void) detach_capi_interface(&cuser);
        printk(KERN_NOTICE "capi: Rev %s: unloaded\n", rev);
  }
        (void) detach_capi_interface(&cuser);
        printk(KERN_NOTICE "capi: Rev %s: unloaded\n", rev);
  }
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capicmd.h linux-2.4.29/drivers/isdn/avmb1/capicmd.h
---- linux-2.4.29.old/drivers/isdn/avmb1/capicmd.h      2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/capicmd.h  2005-03-22 15:06:44.865272224 +0100
+--- a/drivers/isdn/avmb1/capicmd.h
++++ b/drivers/isdn/avmb1/capicmd.h
 @@ -1,4 +1,4 @@
 -/* $Id: capicmd.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: capicmd.h,v 1.4 2001/09/24 13:22:44 kai Exp $
   * 
   * CAPI 2.0 Interface for Linux
   * 
 @@ -1,4 +1,4 @@
 -/* $Id: capicmd.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: capicmd.h,v 1.4 2001/09/24 13:22:44 kai Exp $
   * 
   * CAPI 2.0 Interface for Linux
   * 
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capidev.h linux-2.4.29/drivers/isdn/avmb1/capidev.h
---- linux-2.4.29.old/drivers/isdn/avmb1/capidev.h      2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/capidev.h  2005-03-22 15:06:44.880269944 +0100
+--- a/drivers/isdn/avmb1/capidev.h
++++ b/drivers/isdn/avmb1/capidev.h
 @@ -1,4 +1,4 @@
 -/* $Id: capidev.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: capidev.h,v 1.8 2001/09/24 13:22:44 kai Exp $
   *
   * CAPI 2.0 Interface for Linux
   *
 @@ -1,4 +1,4 @@
 -/* $Id: capidev.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: capidev.h,v 1.8 2001/09/24 13:22:44 kai Exp $
   *
   * CAPI 2.0 Interface for Linux
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capidrv.c linux-2.4.29/drivers/isdn/avmb1/capidrv.c
---- linux-2.4.29.old/drivers/isdn/avmb1/capidrv.c      2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/capidrv.c  2005-03-22 15:06:44.918264168 +0100
+--- a/drivers/isdn/avmb1/capidrv.c
++++ b/drivers/isdn/avmb1/capidrv.c
 @@ -1,4 +1,4 @@
 -/* $Id: capidrv.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: capidrv.c,v 1.45 2001/09/24 13:22:44 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: capidrv.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: capidrv.c,v 1.45 2001/09/24 13:22:44 kai Exp $
@@ -1899,7 +1866,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capidrv.c linux-2.4.29/drivers/isd
  static int debugmode = 0;
  
  MODULE_DESCRIPTION("CAPI4Linux: Interface to ISDN4Linux");
  static int debugmode = 0;
  
  MODULE_DESCRIPTION("CAPI4Linux: Interface to ISDN4Linux");
-@@ -105,7 +105,6 @@
+@@ -105,7 +105,6 @@ struct capidrv_contr {
                                int oldstate;
                                /* */
                                __u16 datahandle;
                                int oldstate;
                                /* */
                                __u16 datahandle;
@@ -1907,7 +1874,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capidrv.c linux-2.4.29/drivers/isd
                                struct ncci_datahandle_queue {
                                    struct ncci_datahandle_queue *next;
                                    __u16                         datahandle;
                                struct ncci_datahandle_queue {
                                    struct ncci_datahandle_queue *next;
                                    __u16                         datahandle;
-@@ -423,7 +422,6 @@
+@@ -423,7 +422,6 @@ static inline capidrv_ncci *new_ncci(cap
        nccip->plcip = plcip;
        nccip->chan = plcip->chan;
        nccip->datahandle = 0;
        nccip->plcip = plcip;
        nccip->chan = plcip->chan;
        nccip->datahandle = 0;
@@ -1915,7 +1882,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capidrv.c linux-2.4.29/drivers/isd
  
        nccip->next = plcip->ncci_list;
        plcip->ncci_list = nccip;
  
        nccip->next = plcip->ncci_list;
        plcip->ncci_list = nccip;
-@@ -480,7 +478,6 @@
+@@ -480,7 +478,6 @@ static int capidrv_add_ack(struct capidr
                           __u16 datahandle, int len)
  {
        struct ncci_datahandle_queue *n, **pp;
                           __u16 datahandle, int len)
  {
        struct ncci_datahandle_queue *n, **pp;
@@ -1923,7 +1890,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capidrv.c linux-2.4.29/drivers/isd
  
        n = (struct ncci_datahandle_queue *)
                kmalloc(sizeof(struct ncci_datahandle_queue), GFP_ATOMIC);
  
        n = (struct ncci_datahandle_queue *)
                kmalloc(sizeof(struct ncci_datahandle_queue), GFP_ATOMIC);
-@@ -491,31 +488,25 @@
+@@ -491,31 +488,25 @@ static int capidrv_add_ack(struct capidr
        n->next = 0;
        n->datahandle = datahandle;
        n->len = len;
        n->next = 0;
        n->datahandle = datahandle;
        n->len = len;
@@ -1955,7 +1922,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capidrv.c linux-2.4.29/drivers/isd
        return -1;
  }
  
        return -1;
  }
  
-@@ -523,25 +514,13 @@
+@@ -523,25 +514,13 @@ static int capidrv_del_ack(struct capidr
  
  static void send_message(capidrv_contr * card, _cmsg * cmsg)
  {
  
  static void send_message(capidrv_contr * card, _cmsg * cmsg)
  {
@@ -1984,7 +1951,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capidrv.c linux-2.4.29/drivers/isd
        global.nsentctlpkt++;
  }
  
        global.nsentctlpkt++;
  }
  
-@@ -1932,8 +1911,10 @@
+@@ -1932,8 +1911,10 @@ static int if_sendbuf(int id, int channe
                        (void)capidrv_del_ack(nccip, datahandle);
                        return 0;
                }
                        (void)capidrv_del_ack(nccip, datahandle);
                        return 0;
                }
@@ -1995,7 +1962,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capidrv.c linux-2.4.29/drivers/isd
                memcpy(skb_push(nskb, msglen), sendcmsg.buf, msglen);
                errcode = (*capifuncs->capi_put_message) (global.appid, nskb);
                if (errcode == CAPI_NOERROR) {
                memcpy(skb_push(nskb, msglen), sendcmsg.buf, msglen);
                errcode = (*capifuncs->capi_put_message) (global.appid, nskb);
                if (errcode == CAPI_NOERROR) {
-@@ -2035,6 +2016,52 @@
+@@ -2035,6 +2016,52 @@ static void enable_dchannel_trace(capidr
        send_message(card, &cmdcmsg);
  }
  
        send_message(card, &cmdcmsg);
  }
  
@@ -2048,7 +2015,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capidrv.c linux-2.4.29/drivers/isd
  
  static void send_listen(capidrv_contr *card)
  {
  
  static void send_listen(capidrv_contr *card)
  {
-@@ -2200,10 +2227,10 @@
+@@ -2200,10 +2227,10 @@ static int capidrv_delcontr(__u16 contr)
                        free_ncci(card, card->bchans[card->nbchan-1].nccip);
                if (card->bchans[card->nbchan-1].plcip)
                        free_plci(card, card->bchans[card->nbchan-1].plcip);
                        free_ncci(card, card->bchans[card->nbchan-1].nccip);
                if (card->bchans[card->nbchan-1].plcip)
                        free_plci(card, card->bchans[card->nbchan-1].plcip);
@@ -2061,18 +2028,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capidrv.c linux-2.4.29/drivers/isd
        kfree(card->bchans);
        card->bchans = 0;
  
        kfree(card->bchans);
        card->bchans = 0;
  
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capidrv.h linux-2.4.29/drivers/isdn/avmb1/capidrv.h
---- linux-2.4.29.old/drivers/isdn/avmb1/capidrv.h      2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/capidrv.h  2005-03-22 15:06:44.935261584 +0100
+--- a/drivers/isdn/avmb1/capidrv.h
++++ b/drivers/isdn/avmb1/capidrv.h
 @@ -1,4 +1,4 @@
 -/* $Id: capidrv.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: capidrv.h,v 1.4 2001/09/24 13:22:44 kai Exp $
   *
   * ISDN4Linux Driver, using capi20 interface (kernelcapi)
   *
 @@ -1,4 +1,4 @@
 -/* $Id: capidrv.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: capidrv.h,v 1.4 2001/09/24 13:22:44 kai Exp $
   *
   * ISDN4Linux Driver, using capi20 interface (kernelcapi)
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capifs.c linux-2.4.29/drivers/isdn/avmb1/capifs.c
---- linux-2.4.29.old/drivers/isdn/avmb1/capifs.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/capifs.c   2005-03-22 15:06:44.950259304 +0100
+--- a/drivers/isdn/avmb1/capifs.c
++++ b/drivers/isdn/avmb1/capifs.c
 @@ -1,4 +1,4 @@
 -/* $Id: capifs.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: capifs.c,v 1.22 2001/09/24 13:22:44 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: capifs.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: capifs.c,v 1.22 2001/09/24 13:22:44 kai Exp $
@@ -2087,7 +2052,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capifs.c linux-2.4.29/drivers/isdn
  #include <asm/bitops.h>
  #include <asm/uaccess.h>
  
  #include <asm/bitops.h>
  #include <asm/uaccess.h>
  
-@@ -32,7 +33,7 @@
+@@ -32,7 +33,7 @@ MODULE_DESCRIPTION("CAPI4Linux: /dev/cap
  MODULE_AUTHOR("Carsten Paeth");
  MODULE_LICENSE("GPL");
  
  MODULE_AUTHOR("Carsten Paeth");
  MODULE_LICENSE("GPL");
  
@@ -2096,7 +2061,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capifs.c linux-2.4.29/drivers/isdn
  
  struct capifs_ncci {
        struct inode *inode;
  
  struct capifs_ncci {
        struct inode *inode;
-@@ -69,14 +70,21 @@
+@@ -69,14 +70,21 @@ static inline struct capifs_sb_info *SBI
  static int capifs_root_readdir(struct file *,void *,filldir_t);
  static struct dentry *capifs_root_lookup(struct inode *,struct dentry *);
  static int capifs_revalidate(struct dentry *, int);
  static int capifs_root_readdir(struct file *,void *,filldir_t);
  static struct dentry *capifs_root_lookup(struct inode *,struct dentry *);
  static int capifs_revalidate(struct dentry *, int);
@@ -2118,7 +2083,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capifs.c linux-2.4.29/drivers/isdn
        lookup: capifs_root_lookup,
  };
  
        lookup: capifs_root_lookup,
  };
  
-@@ -101,12 +109,20 @@
+@@ -101,12 +109,20 @@ static int capifs_root_readdir(struct fi
        switch(nr)
        {
        case 0:
        switch(nr)
        {
        case 0:
@@ -2139,7 +2104,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capifs.c linux-2.4.29/drivers/isdn
                        return 0;
                filp->f_pos = ++nr;
                /* fall through */
                        return 0;
                filp->f_pos = ++nr;
                /* fall through */
-@@ -118,7 +134,11 @@
+@@ -118,7 +134,11 @@ static int capifs_root_readdir(struct fi
                                char *p = numbuf;
                                if (np->type) *p++ = np->type;
                                sprintf(p, "%u", np->num);
                                char *p = numbuf;
                                if (np->type) *p++ = np->type;
                                sprintf(p, "%u", np->num);
@@ -2151,7 +2116,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capifs.c linux-2.4.29/drivers/isdn
                                        return 0;
                        }
                        filp->f_pos = ++nr;
                                        return 0;
                        }
                        filp->f_pos = ++nr;
-@@ -180,7 +200,7 @@
+@@ -180,7 +200,7 @@ static struct dentry *capifs_root_lookup
  
        dentry->d_inode = np->inode;
        if ( dentry->d_inode )
  
        dentry->d_inode = np->inode;
        if ( dentry->d_inode )
@@ -2160,7 +2125,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capifs.c linux-2.4.29/drivers/isdn
        
        d_add(dentry, dentry->d_inode);
  
        
        d_add(dentry, dentry->d_inode);
  
-@@ -199,9 +219,9 @@
+@@ -199,9 +219,9 @@ static void capifs_put_super(struct supe
  
        for ( i = 0 ; i < sbi->max_ncci ; i++ ) {
                if ( (inode = sbi->nccis[i].inode) ) {
  
        for ( i = 0 ; i < sbi->max_ncci ; i++ ) {
                if ( (inode = sbi->nccis[i].inode) ) {
@@ -2172,7 +2137,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capifs.c linux-2.4.29/drivers/isdn
                        inode->i_nlink--;
                        iput(inode);
                }
                        inode->i_nlink--;
                        iput(inode);
                }
-@@ -213,11 +233,24 @@
+@@ -213,11 +233,24 @@ static void capifs_put_super(struct supe
  
        kfree(sbi->nccis);
        kfree(sbi);
  
        kfree(sbi->nccis);
        kfree(sbi);
@@ -2197,7 +2162,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capifs.c linux-2.4.29/drivers/isdn
        put_super:      capifs_put_super,
        statfs:         capifs_statfs,
  };
        put_super:      capifs_put_super,
        statfs:         capifs_statfs,
  };
-@@ -288,6 +321,10 @@
+@@ -288,6 +321,10 @@ struct super_block *capifs_read_super(st
        struct dentry * root;
        struct capifs_sb_info *sbi;
  
        struct dentry * root;
        struct capifs_sb_info *sbi;
  
@@ -2208,7 +2173,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capifs.c linux-2.4.29/drivers/isdn
        /* Super block already completed? */
        if (s->s_root)
                goto out;
        /* Super block already completed? */
        if (s->s_root)
                goto out;
-@@ -322,6 +359,7 @@
+@@ -322,6 +359,7 @@ struct super_block *capifs_read_super(st
        /*
         * Get the root inode and dentry, but defer checking for errors.
         */
        /*
         * Get the root inode and dentry, but defer checking for errors.
         */
@@ -2216,7 +2181,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capifs.c linux-2.4.29/drivers/isdn
        root_inode = capifs_new_inode(s);
        if (root_inode) {
                root_inode->i_ino = 1;
        root_inode = capifs_new_inode(s);
        if (root_inode) {
                root_inode->i_ino = 1;
-@@ -331,6 +369,10 @@
+@@ -331,6 +369,10 @@ struct super_block *capifs_read_super(st
                root_inode->i_nlink = 2;
        } 
        root = d_alloc_root(root_inode);
                root_inode->i_nlink = 2;
        } 
        root = d_alloc_root(root_inode);
@@ -2227,7 +2192,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capifs.c linux-2.4.29/drivers/isdn
  
        /*
         * Check whether somebody else completed the super block.
  
        /*
         * Check whether somebody else completed the super block.
-@@ -370,11 +412,34 @@
+@@ -370,11 +412,34 @@ struct super_block *capifs_read_super(st
        mounts = s;
  
  out:  /* Success ... somebody else completed the super block for us. */ 
        mounts = s;
  
  out:  /* Success ... somebody else completed the super block for us. */ 
@@ -2262,7 +2227,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capifs.c linux-2.4.29/drivers/isdn
  static int capifs_statfs(struct super_block *sb, struct statfs *buf)
  {
        buf->f_type = CAPIFS_SUPER_MAGIC;
  static int capifs_statfs(struct super_block *sb, struct statfs *buf)
  {
        buf->f_type = CAPIFS_SUPER_MAGIC;
-@@ -387,7 +452,9 @@
+@@ -387,7 +452,9 @@ static int capifs_statfs(struct super_bl
        buf->f_namelen = NAME_MAX;
        return 0;
  }
        buf->f_namelen = NAME_MAX;
        return 0;
  }
@@ -2272,7 +2237,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capifs.c linux-2.4.29/drivers/isdn
  static struct inode *capifs_new_inode(struct super_block *sb)
  {
        struct inode *inode = new_inode(sb);
  static struct inode *capifs_new_inode(struct super_block *sb)
  {
        struct inode *inode = new_inode(sb);
-@@ -399,8 +466,51 @@
+@@ -399,8 +466,51 @@ static struct inode *capifs_new_inode(st
        }
        return inode;
  }
        }
        return inode;
  }
@@ -2324,7 +2289,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capifs.c linux-2.4.29/drivers/isdn
  
  void capifs_new_ncci(char type, unsigned int num, kdev_t device)
  {
  
  void capifs_new_ncci(char type, unsigned int num, kdev_t device)
  {
-@@ -421,16 +531,26 @@
+@@ -421,16 +531,26 @@ void capifs_new_ncci(char type, unsigned
                                break;
                        }
                }
                                break;
                        }
                }
@@ -2351,27 +2316,24 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capifs.c linux-2.4.29/drivers/isdn
                }
        }
  }
                }
        }
  }
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capifs.h linux-2.4.29/drivers/isdn/avmb1/capifs.h
---- linux-2.4.29.old/drivers/isdn/avmb1/capifs.h       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/capifs.h   2005-03-22 15:06:44.965257024 +0100
+--- a/drivers/isdn/avmb1/capifs.h
++++ b/drivers/isdn/avmb1/capifs.h
 @@ -1,4 +1,4 @@
 -/* $Id: capifs.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: capifs.h,v 1.4 2001/09/24 13:22:44 kai Exp $
   * 
   * Copyright 2000 by Carsten Paeth <calle@calle.de>
   *
 @@ -1,4 +1,4 @@
 -/* $Id: capifs.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: capifs.h,v 1.4 2001/09/24 13:22:44 kai Exp $
   * 
   * Copyright 2000 by Carsten Paeth <calle@calle.de>
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capilli.h linux-2.4.29/drivers/isdn/avmb1/capilli.h
---- linux-2.4.29.old/drivers/isdn/avmb1/capilli.h      2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/capilli.h  2005-03-22 15:06:44.980254744 +0100
+--- a/drivers/isdn/avmb1/capilli.h
++++ b/drivers/isdn/avmb1/capilli.h
 @@ -1,4 +1,4 @@
 -/* $Id: capilli.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: capilli.h,v 1.5 2001/09/24 13:22:44 kai Exp $
   * 
   * Kernel CAPI 2.0 Driver Interface for Linux
   * 
 @@ -1,4 +1,4 @@
 -/* $Id: capilli.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: capilli.h,v 1.5 2001/09/24 13:22:44 kai Exp $
   * 
   * Kernel CAPI 2.0 Driver Interface for Linux
   * 
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capiutil.c linux-2.4.29/drivers/isdn/avmb1/capiutil.c
---- linux-2.4.29.old/drivers/isdn/avmb1/capiutil.c     2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/capiutil.c 2005-03-22 15:06:44.997252160 +0100
+--- a/drivers/isdn/avmb1/capiutil.c
++++ b/drivers/isdn/avmb1/capiutil.c
 @@ -1,4 +1,4 @@
 -/* $Id: capiutil.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: capiutil.c,v 1.16 2001/09/24 13:22:44 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: capiutil.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: capiutil.c,v 1.16 2001/09/24 13:22:44 kai Exp $
@@ -2386,18 +2348,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capiutil.c linux-2.4.29/drivers/is
  #include "capiutil.h"
  
  MODULE_DESCRIPTION("CAPI4Linux: CAPI message conversion support");
  #include "capiutil.h"
  
  MODULE_DESCRIPTION("CAPI4Linux: CAPI message conversion support");
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capiutil.h linux-2.4.29/drivers/isdn/avmb1/capiutil.h
---- linux-2.4.29.old/drivers/isdn/avmb1/capiutil.h     2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/capiutil.h 2005-03-22 15:06:45.040245624 +0100
+--- a/drivers/isdn/avmb1/capiutil.h
++++ b/drivers/isdn/avmb1/capiutil.h
 @@ -1,4 +1,4 @@
 -/* $Id: capiutil.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: capiutil.h,v 1.7 2001/09/24 13:22:44 kai Exp $
   *
   * CAPI 2.0 defines & types
   *
 @@ -1,4 +1,4 @@
 -/* $Id: capiutil.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: capiutil.h,v 1.7 2001/09/24 13:22:44 kai Exp $
   *
   * CAPI 2.0 defines & types
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/kcapi.c linux-2.4.29/drivers/isdn/avmb1/kcapi.c
---- linux-2.4.29.old/drivers/isdn/avmb1/kcapi.c        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/kcapi.c    2005-03-22 15:06:45.062242280 +0100
+--- a/drivers/isdn/avmb1/kcapi.c
++++ b/drivers/isdn/avmb1/kcapi.c
 @@ -1,4 +1,4 @@
 -/* $Id: kcapi.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: kcapi.c,v 1.28 2001/09/24 13:22:44 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: kcapi.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: kcapi.c,v 1.28 2001/09/24 13:22:44 kai Exp $
@@ -2421,7 +2381,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/kcapi.c linux-2.4.29/drivers/isdn/
  
  /* ------------------------------------------------------------- */
  
  
  /* ------------------------------------------------------------- */
  
-@@ -64,7 +65,6 @@
+@@ -64,7 +65,6 @@ struct capi_ncci {
        __u32 ncci;
        __u32 winsize;
        int   nmsg;
        __u32 ncci;
        __u32 winsize;
        int   nmsg;
@@ -2429,7 +2389,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/kcapi.c linux-2.4.29/drivers/isdn/
        struct msgidqueue *msgidqueue;
        struct msgidqueue *msgidlast;
        struct msgidqueue *msgidfree;
        struct msgidqueue *msgidqueue;
        struct msgidqueue *msgidlast;
        struct msgidqueue *msgidfree;
-@@ -104,14 +104,14 @@
+@@ -104,14 +104,14 @@ static char capi_manufakturer[64] = "AVM
  #define APPL(a)                  (&applications[(a)-1])
  #define       VALID_APPLID(a)    ((a) && (a) <= CAPI_MAXAPPL && APPL(a)->applid == a)
  #define APPL_IS_FREE(a)    (APPL(a)->applid == 0)
  #define APPL(a)                  (&applications[(a)-1])
  #define       VALID_APPLID(a)    ((a) && (a) <= CAPI_MAXAPPL && APPL(a)->applid == a)
  #define APPL_IS_FREE(a)    (APPL(a)->applid == 0)
@@ -2447,7 +2407,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/kcapi.c linux-2.4.29/drivers/isdn/
  
  static struct capi_appl applications[CAPI_MAXAPPL];
  static struct capi_ctr cards[CAPI_MAXCONTR];
  
  static struct capi_appl applications[CAPI_MAXAPPL];
  static struct capi_ctr cards[CAPI_MAXCONTR];
-@@ -535,9 +535,13 @@
+@@ -535,9 +535,13 @@ static int notify_push(unsigned int cmd,
         * of devices. Devices can only removed in
         * user process, not in bh.
         */
         * of devices. Devices can only removed in
         * user process, not in bh.
         */
@@ -2461,7 +2421,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/kcapi.c linux-2.4.29/drivers/isdn/
        return 0;
  }
  
        return 0;
  }
  
-@@ -546,13 +550,7 @@
+@@ -546,13 +550,7 @@ static int notify_push(unsigned int cmd,
  static void notify_up(__u32 contr)
  {
        struct capi_interface_user *p;
  static void notify_up(__u32 contr)
  {
        struct capi_interface_user *p;
@@ -2475,7 +2435,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/kcapi.c linux-2.4.29/drivers/isdn/
          printk(KERN_NOTICE "kcapi: notify up contr %d\n", contr);
        spin_lock(&capi_users_lock);
        for (p = capi_users; p; p = p->next) {
          printk(KERN_NOTICE "kcapi: notify up contr %d\n", contr);
        spin_lock(&capi_users_lock);
        for (p = capi_users; p; p = p->next) {
-@@ -639,7 +637,9 @@
+@@ -639,7 +637,9 @@ static void notify_handler(void *dummy)
                kfree(np);
                MOD_DEC_USE_COUNT;
        }
                kfree(np);
                MOD_DEC_USE_COUNT;
        }
@@ -2485,7 +2445,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/kcapi.c linux-2.4.29/drivers/isdn/
  }
        
  /* -------- NCCI Handling ------------------------------------- */
  }
        
  /* -------- NCCI Handling ------------------------------------- */
-@@ -647,7 +647,6 @@
+@@ -647,7 +647,6 @@ static void notify_handler(void *dummy)
  static inline void mq_init(struct capi_ncci * np)
  {
        int i;
  static inline void mq_init(struct capi_ncci * np)
  {
        int i;
@@ -2493,7 +2453,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/kcapi.c linux-2.4.29/drivers/isdn/
        np->msgidqueue = 0;
        np->msgidlast = 0;
        np->nmsg = 0;
        np->msgidqueue = 0;
        np->msgidlast = 0;
        np->nmsg = 0;
-@@ -662,11 +661,8 @@
+@@ -662,11 +661,8 @@ static inline void mq_init(struct capi_n
  static inline int mq_enqueue(struct capi_ncci * np, __u16 msgid)
  {
        struct msgidqueue *mq;
  static inline int mq_enqueue(struct capi_ncci * np, __u16 msgid)
  {
        struct msgidqueue *mq;
@@ -2506,7 +2466,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/kcapi.c linux-2.4.29/drivers/isdn/
        np->msgidfree = mq->next;
        mq->msgid = msgid;
        mq->next = 0;
        np->msgidfree = mq->next;
        mq->msgid = msgid;
        mq->next = 0;
-@@ -676,14 +672,12 @@
+@@ -676,14 +672,12 @@ static inline int mq_enqueue(struct capi
        if (!np->msgidqueue)
                np->msgidqueue = mq;
        np->nmsg++;
        if (!np->msgidqueue)
                np->msgidqueue = mq;
        np->nmsg++;
@@ -2521,7 +2481,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/kcapi.c linux-2.4.29/drivers/isdn/
        for (pp = &np->msgidqueue; *pp; pp = &(*pp)->next) {
                if ((*pp)->msgid == msgid) {
                        struct msgidqueue *mq = *pp;
        for (pp = &np->msgidqueue; *pp; pp = &(*pp)->next) {
                if ((*pp)->msgid == msgid) {
                        struct msgidqueue *mq = *pp;
-@@ -693,11 +687,9 @@
+@@ -693,11 +687,9 @@ static inline int mq_dequeue(struct capi
                        mq->next = np->msgidfree;
                        np->msgidfree = mq;
                        np->nmsg--;
                        mq->next = np->msgidfree;
                        np->msgidfree = mq;
                        np->nmsg--;
@@ -2533,7 +2493,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/kcapi.c linux-2.4.29/drivers/isdn/
        return 0;
  }
  
        return 0;
  }
  
-@@ -720,16 +712,12 @@
+@@ -720,16 +712,12 @@ static void controllercb_appl_released(s
                        nextpp = &(*pp)->next;
                }
        }
                        nextpp = &(*pp)->next;
                }
        }
@@ -2556,7 +2516,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/kcapi.c linux-2.4.29/drivers/isdn/
  }
  /*
   * ncci management
  }
  /*
   * ncci management
-@@ -882,7 +870,16 @@
+@@ -882,7 +870,16 @@ error:
  
  static void controllercb_ready(struct capi_ctr * card)
  {
  
  static void controllercb_ready(struct capi_ctr * card)
  {
@@ -2573,9 +2533,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/kcapi.c linux-2.4.29/drivers/isdn/
          printk(KERN_NOTICE "kcapi: card %d \"%s\" ready.\n",
                CARDNR(card), card->name);
  
          printk(KERN_NOTICE "kcapi: card %d \"%s\" ready.\n",
                CARDNR(card), card->name);
  
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/t1isa.c linux-2.4.29/drivers/isdn/avmb1/t1isa.c
---- linux-2.4.29.old/drivers/isdn/avmb1/t1isa.c        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/t1isa.c    2005-03-22 15:06:45.078239848 +0100
+--- a/drivers/isdn/avmb1/t1isa.c
++++ b/drivers/isdn/avmb1/t1isa.c
 @@ -1,4 +1,4 @@
 -/* $Id: t1isa.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: t1isa.c,v 1.22 2001/09/24 13:22:44 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: t1isa.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: t1isa.c,v 1.22 2001/09/24 13:22:44 kai Exp $
@@ -2598,9 +2557,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/t1isa.c linux-2.4.29/drivers/isdn/
  
  /* ------------------------------------------------------------- */
  
  
  /* ------------------------------------------------------------- */
  
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/t1pci.c linux-2.4.29/drivers/isdn/avmb1/t1pci.c
---- linux-2.4.29.old/drivers/isdn/avmb1/t1pci.c        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/t1pci.c    2005-03-22 15:06:45.094237416 +0100
+--- a/drivers/isdn/avmb1/t1pci.c
++++ b/drivers/isdn/avmb1/t1pci.c
 @@ -1,4 +1,4 @@
 -/* $Id: t1pci.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: t1pci.c,v 1.25 2001/09/24 13:22:44 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: t1pci.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: t1pci.c,v 1.25 2001/09/24 13:22:44 kai Exp $
@@ -2638,7 +2596,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/t1pci.c linux-2.4.29/drivers/isdn/
  MODULE_DESCRIPTION("CAPI4Linux: Driver for AVM T1 PCI card");
  MODULE_AUTHOR("Carsten Paeth");
  MODULE_LICENSE("GPL");
  MODULE_DESCRIPTION("CAPI4Linux: Driver for AVM T1 PCI card");
  MODULE_AUTHOR("Carsten Paeth");
  MODULE_LICENSE("GPL");
-@@ -264,9 +267,9 @@
+@@ -264,9 +267,9 @@ static int __init t1pci_init(void)
                }
                pci_set_master(dev);
  
                }
                pci_set_master(dev);
  
@@ -2650,9 +2608,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/t1pci.c linux-2.4.29/drivers/isdn/
  
                printk(KERN_INFO
                        "%s: PCI BIOS reports AVM-T1-PCI at i/o %#x, irq %d, mem %#x\n",
  
                printk(KERN_INFO
                        "%s: PCI BIOS reports AVM-T1-PCI at i/o %#x, irq %d, mem %#x\n",
-diff -rNu linux-2.4.29.old/drivers/isdn/divert/divert_procfs.c linux-2.4.29/drivers/isdn/divert/divert_procfs.c
---- linux-2.4.29.old/drivers/isdn/divert/divert_procfs.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/divert/divert_procfs.c   2005-03-22 15:06:45.158227688 +0100
+--- a/drivers/isdn/divert/divert_procfs.c
++++ b/drivers/isdn/divert/divert_procfs.c
 @@ -1,4 +1,4 @@
 -/* $Id: divert_procfs.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id$
 @@ -1,4 +1,4 @@
 -/* $Id: divert_procfs.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id$
@@ -2676,7 +2633,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/divert/divert_procfs.c linux-2.4.29/driv
  #include "isdn_divert.h"
  
  /*********************************/
  #include "isdn_divert.h"
  
  /*********************************/
-@@ -80,7 +83,6 @@
+@@ -80,7 +83,6 @@ static ssize_t
  isdn_divert_read(struct file *file, char *buf, size_t count, loff_t * off)
  {
        struct divert_info *inf;
  isdn_divert_read(struct file *file, char *buf, size_t count, loff_t * off)
  {
        struct divert_info *inf;
@@ -2684,7 +2641,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/divert/divert_procfs.c linux-2.4.29/driv
        int len;
  
        if (!*((struct divert_info **) file->private_data)) {
        int len;
  
        if (!*((struct divert_info **) file->private_data)) {
-@@ -92,11 +94,11 @@
+@@ -92,11 +94,11 @@ isdn_divert_read(struct file *file, char
                return (0);
  
        inf->usage_cnt--;       /* new usage count */
                return (0);
  
        inf->usage_cnt--;       /* new usage count */
@@ -2698,7 +2655,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/divert/divert_procfs.c linux-2.4.29/driv
                return (len);
        }
        return (0);
                return (len);
        }
        return (0);
-@@ -136,17 +138,23 @@
+@@ -136,17 +138,23 @@ isdn_divert_open(struct inode *ino, stru
  {
        unsigned long flags;
  
  {
        unsigned long flags;
  
@@ -2724,7 +2681,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/divert/divert_procfs.c linux-2.4.29/driv
        return (0);
  }                             /* isdn_divert_open */
  
        return (0);
  }                             /* isdn_divert_open */
  
-@@ -159,7 +167,9 @@
+@@ -159,7 +167,9 @@ isdn_divert_close(struct inode *ino, str
        struct divert_info *inf;
        unsigned long flags;
  
        struct divert_info *inf;
        unsigned long flags;
  
@@ -2734,7 +2691,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/divert/divert_procfs.c linux-2.4.29/driv
        save_flags(flags);
        cli();
        if_used--;
        save_flags(flags);
        cli();
        if_used--;
-@@ -175,7 +185,11 @@
+@@ -175,7 +185,11 @@ isdn_divert_close(struct inode *ino, str
                        divert_info_head = divert_info_head->next;
                        kfree(inf);
                }
                        divert_info_head = divert_info_head->next;
                        kfree(inf);
                }
@@ -2746,7 +2703,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/divert/divert_procfs.c linux-2.4.29/driv
        return (0);
  }                             /* isdn_divert_close */
  
        return (0);
  }                             /* isdn_divert_close */
  
-@@ -276,6 +290,9 @@
+@@ -276,6 +290,9 @@ static struct file_operations isdn_fops 
        open:           isdn_divert_open,
        release:        isdn_divert_close,                                      
  };
        open:           isdn_divert_open,
        release:        isdn_divert_close,                                      
  };
@@ -2756,7 +2713,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/divert/divert_procfs.c linux-2.4.29/driv
  
  /****************************/
  /* isdn subdir in /proc/net */
  
  /****************************/
  /* isdn subdir in /proc/net */
-@@ -302,8 +319,16 @@
+@@ -302,8 +319,16 @@ divert_dev_init(void)
                remove_proc_entry("isdn", proc_net);
                return (-1);
        }
                remove_proc_entry("isdn", proc_net);
                return (-1);
        }
@@ -2773,16 +2730,15 @@ diff -rNu linux-2.4.29.old/drivers/isdn/divert/divert_procfs.c linux-2.4.29/driv
  #endif        /* CONFIG_PROC_FS */
  
        return (0);
  #endif        /* CONFIG_PROC_FS */
  
        return (0);
-diff -rNu linux-2.4.29.old/drivers/isdn/divert/isdn_divert.c linux-2.4.29/drivers/isdn/divert/isdn_divert.c
---- linux-2.4.29.old/drivers/isdn/divert/isdn_divert.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/divert/isdn_divert.c     2005-03-22 15:06:45.173225408 +0100
+--- a/drivers/isdn/divert/isdn_divert.c
++++ b/drivers/isdn/divert/isdn_divert.c
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_divert.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id$
   *
   * DSS1 main diversion supplementary handling for i4l.
   *
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_divert.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id$
   *
   * DSS1 main diversion supplementary handling for i4l.
   *
-@@ -84,6 +84,9 @@
+@@ -84,6 +84,9 @@ static void deflect_timer_expire(ulong a
         restore_flags(flags); 
         break;
  
         restore_flags(flags); 
         break;
  
@@ -2792,7 +2748,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/divert/isdn_divert.c linux-2.4.29/driver
       case DEFLECT_AUTODEL:
       default:
         save_flags(flags);
       case DEFLECT_AUTODEL:
       default:
         save_flags(flags);
-@@ -452,6 +455,7 @@
+@@ -452,6 +455,7 @@ int isdn_divert_icall(isdn_ctrl *ic)
           case DEFLECT_PROCEED:
           case DEFLECT_REPORT:
           case DEFLECT_REJECT:
           case DEFLECT_PROCEED:
           case DEFLECT_REPORT:
           case DEFLECT_REJECT:
@@ -2800,7 +2756,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/divert/isdn_divert.c linux-2.4.29/driver
             if (dv->rule.action == DEFLECT_PROCEED)
            if ((!if_used) || ((!extern_wait_max) && (!dv->rule.waittime))) 
                return(0); /* no external deflection needed */  
             if (dv->rule.action == DEFLECT_PROCEED)
            if ((!if_used) || ((!extern_wait_max) && (!dv->rule.waittime))) 
                return(0); /* no external deflection needed */  
-@@ -495,6 +499,11 @@
+@@ -495,6 +499,11 @@ int isdn_divert_icall(isdn_ctrl *ic)
             else
               { cs->deflect_dest[0] = '\0';
               retval = 4; /* only proceed */
             else
               { cs->deflect_dest[0] = '\0';
               retval = 4; /* only proceed */
@@ -2812,7 +2768,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/divert/isdn_divert.c linux-2.4.29/driver
               }  
             sprintf(cs->info,"%d 0x%lx %s %s %s %s 0x%x 0x%x %d %d %s\n",
                     cs->akt_state,
               }  
             sprintf(cs->info,"%d 0x%lx %s %s %s %s 0x%x 0x%x %d %d %s\n",
                     cs->akt_state,
-@@ -739,6 +748,18 @@
+@@ -739,6 +748,18 @@ int prot_stat_callback(isdn_ctrl *ic)
                        } 
  
  
                        } 
  
  
@@ -2831,9 +2787,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/divert/isdn_divert.c linux-2.4.29/driver
                     break;
   
                   default:
                     break;
   
                   default:
-diff -rNu linux-2.4.29.old/drivers/isdn/divert/isdn_divert.h linux-2.4.29/drivers/isdn/divert/isdn_divert.h
---- linux-2.4.29.old/drivers/isdn/divert/isdn_divert.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/divert/isdn_divert.h     2005-03-22 15:06:45.189222976 +0100
+--- a/drivers/isdn/divert/isdn_divert.h
++++ b/drivers/isdn/divert/isdn_divert.h
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_divert.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id$
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_divert.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id$
@@ -2854,7 +2809,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/divert/isdn_divert.h linux-2.4.29/driver
  #define DEFLECT_AUTODEL 255  /* only for internal use */ 
  
  #define DEFLECT_ALL_IDS   0xFFFFFFFF /* all drivers selected */
  #define DEFLECT_AUTODEL 255  /* only for internal use */ 
  
  #define DEFLECT_ALL_IDS   0xFFFFFFFF /* all drivers selected */
-@@ -60,6 +61,7 @@
+@@ -60,6 +61,7 @@ typedef struct
                         2 = report call, send proceed, wait max waittime secs
                         3 = report call, alert and deflect after waittime 
                         4 = report call, reject immediately  
                         2 = report call, send proceed, wait max waittime secs
                         3 = report call, alert and deflect after waittime 
                         4 = report call, reject immediately  
@@ -2862,9 +2817,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/divert/isdn_divert.h linux-2.4.29/driver
                         actions 1-2 only take place if interface is opened 
                    */
     u_char waittime; /* maximum wait time for proceeding */ 
                         actions 1-2 only take place if interface is opened 
                    */
     u_char waittime; /* maximum wait time for proceeding */ 
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/Divas_mod.c linux-2.4.29/drivers/isdn/eicon/Divas_mod.c
---- linux-2.4.29.old/drivers/isdn/eicon/Divas_mod.c    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/Divas_mod.c        2005-03-22 15:06:45.229216896 +0100
+--- a/drivers/isdn/eicon/Divas_mod.c
++++ b/drivers/isdn/eicon/Divas_mod.c
 @@ -20,6 +20,7 @@
  #include "adapter.h"
  #include "uxio.h"
 @@ -20,6 +20,7 @@
  #include "adapter.h"
  #include "uxio.h"
@@ -2873,10 +2827,9 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/Divas_mod.c linux-2.4.29/drivers/i
  
  MODULE_DESCRIPTION("ISDN4Linux: Driver for Eicon Diva Server cards");
  MODULE_AUTHOR("Armin Schindler");
  
  MODULE_DESCRIPTION("ISDN4Linux: Driver for Eicon Diva Server cards");
  MODULE_AUTHOR("Armin Schindler");
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/common.c linux-2.4.29/drivers/isdn/eicon/common.c
---- linux-2.4.29.old/drivers/isdn/eicon/common.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/common.c   2005-03-22 15:06:45.301205952 +0100
-@@ -808,9 +808,7 @@
+--- a/drivers/isdn/eicon/common.c
++++ b/drivers/isdn/eicon/common.c
+@@ -808,9 +808,7 @@ void       DivasDoDpc(void *pData)
        
        while(i--)
        {
        
        while(i--)
        {
@@ -2887,16 +2840,15 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/common.c linux-2.4.29/drivers/isdn
        }
  }
  
        }
  }
  
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon.h linux-2.4.29/drivers/isdn/eicon/eicon.h
---- linux-2.4.29.old/drivers/isdn/eicon/eicon.h        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/eicon.h    2005-03-22 15:06:45.371195312 +0100
+--- a/drivers/isdn/eicon/eicon.h
++++ b/drivers/isdn/eicon/eicon.h
 @@ -1,4 +1,4 @@
 -/* $Id: eicon.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: eicon.h,v 1.26 2001/09/24 13:22:47 kai Exp $
   *
   * ISDN low-level module for Eicon active ISDN-Cards.
   *
 @@ -1,4 +1,4 @@
 -/* $Id: eicon.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: eicon.h,v 1.26 2001/09/24 13:22:47 kai Exp $
   *
   * ISDN low-level module for Eicon active ISDN-Cards.
   *
-@@ -348,19 +348,19 @@
+@@ -347,19 +347,19 @@ typedef struct eicon_card {
  extern char *eicon_ctype_name[];
  
  
  extern char *eicon_ctype_name[];
  
  
@@ -2919,18 +2871,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon.h linux-2.4.29/drivers/isdn/
  {
          queue_task(&card->ack_tq, &tq_immediate);
          mark_bh(IMMEDIATE_BH);
  {
          queue_task(&card->ack_tq, &tq_immediate);
          mark_bh(IMMEDIATE_BH);
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_dsp.h linux-2.4.29/drivers/isdn/eicon/eicon_dsp.h
---- linux-2.4.29.old/drivers/isdn/eicon/eicon_dsp.h    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/eicon_dsp.h        2005-03-22 15:06:45.386193032 +0100
+--- a/drivers/isdn/eicon/eicon_dsp.h
++++ b/drivers/isdn/eicon/eicon_dsp.h
 @@ -1,4 +1,4 @@
 -/* $Id: eicon_dsp.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: eicon_dsp.h,v 1.8 2001/09/24 13:22:47 kai Exp $
   *
   * ISDN lowlevel-module for Eicon active cards.
   * DSP definitions
 @@ -1,4 +1,4 @@
 -/* $Id: eicon_dsp.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: eicon_dsp.h,v 1.8 2001/09/24 13:22:47 kai Exp $
   *
   * ISDN lowlevel-module for Eicon active cards.
   * DSP definitions
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_idi.c linux-2.4.29/drivers/isdn/eicon/eicon_idi.c
---- linux-2.4.29.old/drivers/isdn/eicon/eicon_idi.c    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/eicon_idi.c        2005-03-22 15:06:45.421187712 +0100
+--- a/drivers/isdn/eicon/eicon_idi.c
++++ b/drivers/isdn/eicon/eicon_idi.c
 @@ -1,4 +1,4 @@
 -/* $Id: eicon_idi.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: eicon_idi.c,v 1.45 2001/11/07 22:35:48 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: eicon_idi.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: eicon_idi.c,v 1.45 2001/11/07 22:35:48 kai Exp $
@@ -2946,7 +2896,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_idi.c linux-2.4.29/drivers/i
  
  eicon_manifbuf *manbuf;
  
  
  eicon_manifbuf *manbuf;
  
-@@ -1583,6 +1583,37 @@
+@@ -1583,6 +1583,37 @@ idi_faxdata_rcv(eicon_card *ccard, eicon
                return;
        }
  
                return;
        }
  
@@ -2984,7 +2934,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_idi.c linux-2.4.29/drivers/i
  
        
        if (chan->fax->direction == ISDN_TTY_FAX_CONN_IN) {
  
        
        if (chan->fax->direction == ISDN_TTY_FAX_CONN_IN) {
-@@ -2054,8 +2085,7 @@
+@@ -2054,8 +2085,7 @@ idi_faxdata_send(eicon_card *ccard, eico
                                OutBuf.Len++;
                        } else {
                                *OutBuf.Next++ = 0;
                                OutBuf.Len++;
                        } else {
                                *OutBuf.Next++ = 0;
@@ -2994,7 +2944,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_idi.c linux-2.4.29/drivers/i
                                OutBuf.Len += 3;
                        }
                        memcpy(OutBuf.Next, LineBuf.Data, LineBuf.Len);
                                OutBuf.Len += 3;
                        }
                        memcpy(OutBuf.Next, LineBuf.Data, LineBuf.Len);
-@@ -2385,6 +2415,12 @@
+@@ -2385,6 +2415,12 @@ idi_handle_ind(eicon_card *ccard, struct
                                } else {
                                        if (chan->e.B2Id)
                                                idi_do_req(ccard, chan, REMOVE, 1);
                                } else {
                                        if (chan->e.B2Id)
                                                idi_do_req(ccard, chan, REMOVE, 1);
@@ -3007,27 +2957,24 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_idi.c linux-2.4.29/drivers/i
                                        chan->statectrl &= ~WAITING_FOR_HANGUP;
                                        chan->statectrl &= ~IN_HOLD;
                                        if (chan->statectrl & HAVE_CONN_REQ) {
                                        chan->statectrl &= ~WAITING_FOR_HANGUP;
                                        chan->statectrl &= ~IN_HOLD;
                                        if (chan->statectrl & HAVE_CONN_REQ) {
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_idi.h linux-2.4.29/drivers/isdn/eicon/eicon_idi.h
---- linux-2.4.29.old/drivers/isdn/eicon/eicon_idi.h    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/eicon_idi.h        2005-03-22 15:06:45.437185280 +0100
+--- a/drivers/isdn/eicon/eicon_idi.h
++++ b/drivers/isdn/eicon/eicon_idi.h
 @@ -1,4 +1,4 @@
 -/* $Id: eicon_idi.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: eicon_idi.h,v 1.12 2001/09/24 13:22:47 kai Exp $
   *
   * ISDN lowlevel-module for the Eicon active cards.
   * IDI-Interface
 @@ -1,4 +1,4 @@
 -/* $Id: eicon_idi.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: eicon_idi.h,v 1.12 2001/09/24 13:22:47 kai Exp $
   *
   * ISDN lowlevel-module for the Eicon active cards.
   * IDI-Interface
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_io.c linux-2.4.29/drivers/isdn/eicon/eicon_io.c
---- linux-2.4.29.old/drivers/isdn/eicon/eicon_io.c     2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/eicon_io.c 2005-03-22 15:06:45.453182848 +0100
+--- a/drivers/isdn/eicon/eicon_io.c
++++ b/drivers/isdn/eicon/eicon_io.c
 @@ -1,4 +1,4 @@
 -/* $Id: eicon_io.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: eicon_io.c,v 1.15 2001/09/24 13:22:47 kai Exp $
   *
   * ISDN low-level module for Eicon active ISDN-Cards.
   * Code for communicating with hardware.
 @@ -1,4 +1,4 @@
 -/* $Id: eicon_io.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: eicon_io.c,v 1.15 2001/09/24 13:22:47 kai Exp $
   *
   * ISDN low-level module for Eicon active ISDN-Cards.
   * Code for communicating with hardware.
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_isa.c linux-2.4.29/drivers/isdn/eicon/eicon_isa.c
---- linux-2.4.29.old/drivers/isdn/eicon/eicon_isa.c    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/eicon_isa.c        2005-03-22 15:06:45.469180416 +0100
+--- a/drivers/isdn/eicon/eicon_isa.c
++++ b/drivers/isdn/eicon/eicon_isa.c
 @@ -1,4 +1,4 @@
 -/* $Id: eicon_isa.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: eicon_isa.c,v 1.18 2001/11/07 22:35:48 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: eicon_isa.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: eicon_isa.c,v 1.18 2001/11/07 22:35:48 kai Exp $
@@ -3043,7 +2990,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_isa.c linux-2.4.29/drivers/i
  
  #undef EICON_MCA_DEBUG
  
  
  #undef EICON_MCA_DEBUG
  
-@@ -38,8 +38,12 @@
+@@ -38,8 +38,12 @@ static int eicon_isa_valid_irq[] = {
  static void
  eicon_isa_release_shmem(eicon_isa_card *card) {
        if (card->mvalid) {
  static void
  eicon_isa_release_shmem(eicon_isa_card *card) {
        if (card->mvalid) {
@@ -3056,7 +3003,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_isa.c linux-2.4.29/drivers/i
        }
        card->mvalid = 0;
  }
        }
        card->mvalid = 0;
  }
-@@ -94,12 +98,20 @@
+@@ -94,12 +98,20 @@ eicon_isa_find_card(int Mem, int Irq, ch
                         Mem, Id);
                return -1;
        }
                         Mem, Id);
                return -1;
        }
@@ -3077,7 +3024,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_isa.c linux-2.4.29/drivers/i
          writew(0x55aa, amem + 0x402);
          if (readw(amem + 0x402) != 0x55aa) primary = 0;
        writew(0, amem + 0x402);
          writew(0x55aa, amem + 0x402);
          if (readw(amem + 0x402) != 0x55aa) primary = 0;
        writew(0, amem + 0x402);
-@@ -109,12 +121,16 @@
+@@ -109,12 +121,16 @@ eicon_isa_find_card(int Mem, int Irq, ch
        if (primary) {
                printk(KERN_INFO "Eicon: assuming pri card at 0x%x\n", Mem);
                writeb(0, amem + 0x3ffe);
        if (primary) {
                printk(KERN_INFO "Eicon: assuming pri card at 0x%x\n", Mem);
                writeb(0, amem + 0x3ffe);
@@ -3094,7 +3041,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_isa.c linux-2.4.29/drivers/i
                return EICON_CTYPE_ISABRI;
        }
        return -1;
                return EICON_CTYPE_ISABRI;
        }
        return -1;
-@@ -151,6 +167,7 @@
+@@ -151,6 +167,7 @@ eicon_isa_bootload(eicon_isa_card *card,
        else
                card->ramsize  = RAMSIZE;
  
        else
                card->ramsize  = RAMSIZE;
  
@@ -3102,7 +3049,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_isa.c linux-2.4.29/drivers/i
        if (check_mem_region(card->physmem, card->ramsize)) {
                printk(KERN_WARNING "eicon_isa_boot: memory at 0x%lx already in use.\n",
                        card->physmem);
        if (check_mem_region(card->physmem, card->ramsize)) {
                printk(KERN_WARNING "eicon_isa_boot: memory at 0x%lx already in use.\n",
                        card->physmem);
-@@ -159,6 +176,16 @@
+@@ -159,6 +176,16 @@ eicon_isa_bootload(eicon_isa_card *card,
        }
        request_mem_region(card->physmem, card->ramsize, "Eicon ISA ISDN");
        card->shmem = (eicon_isa_shmem *) ioremap(card->physmem, card->ramsize);
        }
        request_mem_region(card->physmem, card->ramsize, "Eicon ISA ISDN");
        card->shmem = (eicon_isa_shmem *) ioremap(card->physmem, card->ramsize);
@@ -3119,18 +3066,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_isa.c linux-2.4.29/drivers/i
  #ifdef EICON_MCA_DEBUG
        printk(KERN_INFO "eicon_isa_boot: card->ramsize = %d.\n", card->ramsize);
  #endif
  #ifdef EICON_MCA_DEBUG
        printk(KERN_INFO "eicon_isa_boot: card->ramsize = %d.\n", card->ramsize);
  #endif
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_isa.h linux-2.4.29/drivers/isdn/eicon/eicon_isa.h
---- linux-2.4.29.old/drivers/isdn/eicon/eicon_isa.h    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/eicon_isa.h        2005-03-22 15:06:45.485177984 +0100
+--- a/drivers/isdn/eicon/eicon_isa.h
++++ b/drivers/isdn/eicon/eicon_isa.h
 @@ -1,4 +1,4 @@
 -/* $Id: eicon_isa.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: eicon_isa.h,v 1.11 2001/09/24 13:22:47 kai Exp $
   *
   * ISDN low-level module for Eicon active ISDN-Cards.
   *
 @@ -1,4 +1,4 @@
 -/* $Id: eicon_isa.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: eicon_isa.h,v 1.11 2001/09/24 13:22:47 kai Exp $
   *
   * ISDN low-level module for Eicon active ISDN-Cards.
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_mod.c linux-2.4.29/drivers/isdn/eicon/eicon_mod.c
---- linux-2.4.29.old/drivers/isdn/eicon/eicon_mod.c    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/eicon_mod.c        2005-03-22 15:06:45.505174944 +0100
+--- a/drivers/isdn/eicon/eicon_mod.c
++++ b/drivers/isdn/eicon/eicon_mod.c
 @@ -1,4 +1,4 @@
 -/* $Id: eicon_mod.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: eicon_mod.c,v 1.44 2001/11/20 09:48:25 armin Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: eicon_mod.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: eicon_mod.c,v 1.44 2001/11/20 09:48:25 armin Exp $
@@ -3146,7 +3091,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_mod.c linux-2.4.29/drivers/i
  
  extern char *eicon_pci_revision;
  extern char *eicon_isa_revision;
  
  extern char *eicon_pci_revision;
  extern char *eicon_isa_revision;
-@@ -639,6 +639,18 @@
+@@ -639,6 +639,18 @@ if_command(isdn_ctrl * c)
  static int
  if_writecmd(const u_char * buf, int len, int user, int id, int channel)
  {
  static int
  if_writecmd(const u_char * buf, int len, int user, int id, int channel)
  {
@@ -3165,7 +3110,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_mod.c linux-2.4.29/drivers/i
          return (len);
  }
  
          return (len);
  }
  
-@@ -665,11 +677,8 @@
+@@ -665,11 +677,8 @@ if_readstatus(u_char * buf, int len, int
                        else
                                cnt = skb->len;
  
                        else
                                cnt = skb->len;
  
@@ -3178,7 +3123,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_mod.c linux-2.4.29/drivers/i
                        else
                                memcpy(p, skb->data, cnt);
  
                        else
                                memcpy(p, skb->data, cnt);
  
-@@ -1459,6 +1468,7 @@
+@@ -1459,6 +1468,7 @@ eicon_exit(void)
  
  #ifndef MODULE
  
  
  #ifndef MODULE
  
@@ -3186,7 +3131,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_mod.c linux-2.4.29/drivers/i
  static int __init
  eicon_setup(char *line)
  {
  static int __init
  eicon_setup(char *line)
  {
-@@ -1467,6 +1477,12 @@
+@@ -1467,6 +1477,12 @@ eicon_setup(char *line)
        char *str;
  
        str = get_options(line, 4, ints);
        char *str;
  
        str = get_options(line, 4, ints);
@@ -3199,7 +3144,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_mod.c linux-2.4.29/drivers/i
  
          argc = ints[0];
          i = 1;
  
          argc = ints[0];
          i = 1;
-@@ -1494,9 +1510,13 @@
+@@ -1494,9 +1510,13 @@ eicon_setup(char *line)
  #else
        printk(KERN_INFO "Eicon ISDN active driver setup\n");
  #endif
  #else
        printk(KERN_INFO "Eicon ISDN active driver setup\n");
  #endif
@@ -3213,9 +3158,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_mod.c linux-2.4.29/drivers/i
  
  #endif /* MODULE */
  
  
  #endif /* MODULE */
  
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_pci.c linux-2.4.29/drivers/isdn/eicon/eicon_pci.c
---- linux-2.4.29.old/drivers/isdn/eicon/eicon_pci.c    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/eicon_pci.c        2005-03-22 15:06:45.522172360 +0100
+--- a/drivers/isdn/eicon/eicon_pci.c
++++ b/drivers/isdn/eicon/eicon_pci.c
 @@ -1,4 +1,4 @@
 -/* $Id: eicon_pci.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: eicon_pci.c,v 1.18 2001/09/24 13:22:47 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: eicon_pci.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: eicon_pci.c,v 1.18 2001/09/24 13:22:47 kai Exp $
@@ -3231,19 +3175,17 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_pci.c linux-2.4.29/drivers/i
  
  #if CONFIG_PCI                 /* intire stuff is only for PCI */
  #ifdef CONFIG_ISDN_DRV_EICON_PCI
  
  #if CONFIG_PCI                 /* intire stuff is only for PCI */
  #ifdef CONFIG_ISDN_DRV_EICON_PCI
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_pci.h linux-2.4.29/drivers/isdn/eicon/eicon_pci.h
---- linux-2.4.29.old/drivers/isdn/eicon/eicon_pci.h    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/eicon_pci.h        2005-03-22 15:06:45.538169928 +0100
+--- a/drivers/isdn/eicon/eicon_pci.h
++++ b/drivers/isdn/eicon/eicon_pci.h
 @@ -1,4 +1,4 @@
 -/* $Id: eicon_pci.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: eicon_pci.h,v 1.7 2001/09/24 13:22:47 kai Exp $
   *
   * ISDN low-level module for Eicon active ISDN-Cards (PCI part).
   *
 @@ -1,4 +1,4 @@
 -/* $Id: eicon_pci.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: eicon_pci.h,v 1.7 2001/09/24 13:22:47 kai Exp $
   *
   * ISDN low-level module for Eicon active ISDN-Cards (PCI part).
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/fourbri.c linux-2.4.29/drivers/isdn/eicon/fourbri.c
---- linux-2.4.29.old/drivers/isdn/eicon/fourbri.c      2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/fourbri.c  2005-03-22 15:06:45.553167648 +0100
-@@ -337,8 +337,7 @@
+--- a/drivers/isdn/eicon/fourbri.c
++++ b/drivers/isdn/eicon/fourbri.c
+@@ -337,8 +337,7 @@ static int diva_server_4bri_load(card_t 
  static int diva_server_4bri_start(card_t *card, byte *channels)
  {
        byte *ctl;
  static int diva_server_4bri_start(card_t *card, byte *channels)
  {
        byte *ctl;
@@ -3253,9 +3195,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/fourbri.c linux-2.4.29/drivers/isd
        int adapter_num;
  
        DPRINTF(("divas: start Diva Server 4BRI"));
        int adapter_num;
  
        DPRINTF(("divas: start Diva Server 4BRI"));
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/kprintf.c linux-2.4.29/drivers/isdn/eicon/kprintf.c
---- linux-2.4.29.old/drivers/isdn/eicon/kprintf.c      2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/kprintf.c  2005-03-22 15:06:45.601160352 +0100
+--- a/drivers/isdn/eicon/kprintf.c
++++ b/drivers/isdn/eicon/kprintf.c
 @@ -18,6 +18,468 @@
  #include "divalog.h"
  #include "uxio.h"
 @@ -18,6 +18,468 @@
  #include "divalog.h"
  #include "uxio.h"
@@ -3725,7 +3666,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/kprintf.c linux-2.4.29/drivers/isd
  void    DivasPrintf(char  *fmt, ...)
  
  {
  void    DivasPrintf(char  *fmt, ...)
  
  {
-@@ -40,7 +502,7 @@
+@@ -40,7 +502,7 @@ void    DivasPrintf(char  *fmt, ...)
  
      /* call vsprintf to format the user's information */
  
  
      /* call vsprintf to format the user's information */
  
@@ -3734,9 +3675,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/kprintf.c linux-2.4.29/drivers/isd
  
      va_end(argptr);
  
  
      va_end(argptr);
  
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/lincfg.c linux-2.4.29/drivers/isdn/eicon/lincfg.c
---- linux-2.4.29.old/drivers/isdn/eicon/lincfg.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/lincfg.c   2005-03-22 15:06:45.620157464 +0100
+--- a/drivers/isdn/eicon/lincfg.c
++++ b/drivers/isdn/eicon/lincfg.c
 @@ -26,6 +26,9 @@
  #include "uxio.h"
  
 @@ -26,6 +26,9 @@
  #include "uxio.h"
  
@@ -3747,10 +3687,9 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/lincfg.c linux-2.4.29/drivers/isdn
  #include <linux/kernel.h>
  #include <linux/ioport.h>
  
  #include <linux/kernel.h>
  #include <linux/ioport.h>
  
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/linchr.c linux-2.4.29/drivers/isdn/eicon/linchr.c
---- linux-2.4.29.old/drivers/isdn/eicon/linchr.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/linchr.c   2005-03-22 15:06:45.635155184 +0100
-@@ -154,17 +154,17 @@
+--- a/drivers/isdn/eicon/linchr.c
++++ b/drivers/isdn/eicon/linchr.c
+@@ -154,17 +154,17 @@ ssize_t do_read(struct file *pFile, char
        klog_t *pHeadItem;
  
        if (BufferSize < sizeof(klog_t))
        klog_t *pHeadItem;
  
        if (BufferSize < sizeof(klog_t))
@@ -3773,9 +3712,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/linchr.c linux-2.4.29/drivers/isdn
                kfree(pHeadItem);
                return sizeof(klog_t);
        }
                kfree(pHeadItem);
                return sizeof(klog_t);
        }
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/linio.c linux-2.4.29/drivers/isdn/eicon/linio.c
---- linux-2.4.29.old/drivers/isdn/eicon/linio.c        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/linio.c    2005-03-22 15:06:45.651152752 +0100
+--- a/drivers/isdn/eicon/linio.c
++++ b/drivers/isdn/eicon/linio.c
 @@ -15,6 +15,7 @@
  #include <linux/slab.h>
  #include <linux/pci.h>
 @@ -15,6 +15,7 @@
  #include <linux/slab.h>
  #include <linux/pci.h>
@@ -3784,9 +3722,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/eicon/linio.c linux-2.4.29/drivers/isdn/
  #undef N_DATA
  
  #include "uxio.h"
  #undef N_DATA
  
  #include "uxio.h"
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/Makefile linux-2.4.29/drivers/isdn/hisax/Makefile
---- linux-2.4.29.old/drivers/isdn/hisax/Makefile       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/Makefile   2005-03-22 15:06:45.819127216 +0100
+--- a/drivers/isdn/hisax/Makefile
++++ b/drivers/isdn/hisax/Makefile
 @@ -4,20 +4,17 @@
  
  O_TARGET        := vmlinux-obj.o
 @@ -4,20 +4,17 @@
  
  O_TARGET        := vmlinux-obj.o
@@ -3811,7 +3748,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/Makefile linux-2.4.29/drivers/isdn
  
  # Optional parts of multipart objects.
  hisax-objs-$(CONFIG_HISAX_EURO) += l3dss1.o
  
  # Optional parts of multipart objects.
  hisax-objs-$(CONFIG_HISAX_EURO) += l3dss1.o
-@@ -33,7 +30,7 @@
+@@ -33,7 +30,7 @@ hisax-objs-$(CONFIG_HISAX_AVM_A1_PCMCIA)
  hisax-objs-$(CONFIG_HISAX_FRITZPCI) += avm_pci.o isac.o arcofi.o
  hisax-objs-$(CONFIG_HISAX_ELSA) += elsa.o isac.o arcofi.o hscx.o
  hisax-objs-$(CONFIG_HISAX_IX1MICROR2) += ix1_micro.o isac.o arcofi.o hscx.o
  hisax-objs-$(CONFIG_HISAX_FRITZPCI) += avm_pci.o isac.o arcofi.o
  hisax-objs-$(CONFIG_HISAX_ELSA) += elsa.o isac.o arcofi.o hscx.o
  hisax-objs-$(CONFIG_HISAX_IX1MICROR2) += ix1_micro.o isac.o arcofi.o hscx.o
@@ -3820,7 +3757,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/Makefile linux-2.4.29/drivers/isdn
  hisax-objs-$(CONFIG_HISAX_ASUSCOM) += asuscom.o isac.o arcofi.o hscx.o
  hisax-objs-$(CONFIG_HISAX_TELEINT) += teleint.o isac.o arcofi.o hfc_2bs0.o
  hisax-objs-$(CONFIG_HISAX_SEDLBAUER) += sedlbauer.o isac.o arcofi.o hscx.o isar.o
  hisax-objs-$(CONFIG_HISAX_ASUSCOM) += asuscom.o isac.o arcofi.o hscx.o
  hisax-objs-$(CONFIG_HISAX_TELEINT) += teleint.o isac.o arcofi.o hfc_2bs0.o
  hisax-objs-$(CONFIG_HISAX_SEDLBAUER) += sedlbauer.o isac.o arcofi.o hscx.o isar.o
-@@ -44,6 +41,7 @@
+@@ -44,6 +41,7 @@ hisax-objs-$(CONFIG_HISAX_NETJET_U) += n
  hisax-objs-$(CONFIG_HISAX_HFCS) += hfcscard.o hfc_2bds0.o
  hisax-objs-$(CONFIG_HISAX_HFC_PCI) += hfc_pci.o
  hisax-objs-$(CONFIG_HISAX_HFC_SX) += hfc_sx.o
  hisax-objs-$(CONFIG_HISAX_HFCS) += hfcscard.o hfc_2bds0.o
  hisax-objs-$(CONFIG_HISAX_HFC_PCI) += hfc_pci.o
  hisax-objs-$(CONFIG_HISAX_HFC_SX) += hfc_sx.o
@@ -3828,7 +3765,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/Makefile linux-2.4.29/drivers/isdn
  hisax-objs-$(CONFIG_HISAX_NICCY) += niccy.o isac.o arcofi.o hscx.o
  hisax-objs-$(CONFIG_HISAX_ISURF) += isurf.o isac.o arcofi.o isar.o
  hisax-objs-$(CONFIG_HISAX_HSTSAPHIR) += saphir.o isac.o arcofi.o hscx.o
  hisax-objs-$(CONFIG_HISAX_NICCY) += niccy.o isac.o arcofi.o hscx.o
  hisax-objs-$(CONFIG_HISAX_ISURF) += isurf.o isac.o arcofi.o isar.o
  hisax-objs-$(CONFIG_HISAX_HSTSAPHIR) += saphir.o isac.o arcofi.o hscx.o
-@@ -51,7 +49,6 @@
+@@ -51,7 +49,6 @@ hisax-objs-$(CONFIG_HISAX_BKM_A4T) += bk
  hisax-objs-$(CONFIG_HISAX_SCT_QUADRO) += bkm_a8.o isac.o arcofi.o hscx.o
  hisax-objs-$(CONFIG_HISAX_GAZEL) += gazel.o isac.o arcofi.o hscx.o
  hisax-objs-$(CONFIG_HISAX_W6692) += w6692.o
  hisax-objs-$(CONFIG_HISAX_SCT_QUADRO) += bkm_a8.o isac.o arcofi.o hscx.o
  hisax-objs-$(CONFIG_HISAX_GAZEL) += gazel.o isac.o arcofi.o hscx.o
  hisax-objs-$(CONFIG_HISAX_W6692) += w6692.o
@@ -3836,7 +3773,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/Makefile linux-2.4.29/drivers/isdn
  #hisax-objs-$(CONFIG_HISAX_TESTEMU) += testemu.o
  
  hisax-objs += $(sort $(hisax-objs-y))
  #hisax-objs-$(CONFIG_HISAX_TESTEMU) += testemu.o
  
  hisax-objs += $(sort $(hisax-objs-y))
-@@ -61,10 +58,9 @@
+@@ -61,10 +58,9 @@ hisax-objs += $(sort $(hisax-objs-y))
  obj-$(CONFIG_ISDN_DRV_HISAX)          += hisax.o
  obj-$(CONFIG_HISAX_SEDLBAUER_CS)      += sedlbauer_cs.o
  obj-$(CONFIG_HISAX_ELSA_CS)           += elsa_cs.o
  obj-$(CONFIG_ISDN_DRV_HISAX)          += hisax.o
  obj-$(CONFIG_HISAX_SEDLBAUER_CS)      += sedlbauer_cs.o
  obj-$(CONFIG_HISAX_ELSA_CS)           += elsa_cs.o
@@ -3850,9 +3787,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/Makefile linux-2.4.29/drivers/isdn
  
  CERT := $(shell md5sum -c md5sums.asc >> /dev/null;echo $$?)
  CFLAGS_cert.o := -DCERTIFICATION=$(CERT)
  
  CERT := $(shell md5sum -c md5sums.asc >> /dev/null;echo $$?)
  CFLAGS_cert.o := -DCERTIFICATION=$(CERT)
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/amd7930.c linux-2.4.29/drivers/isdn/hisax/amd7930.c
---- linux-2.4.29.old/drivers/isdn/hisax/amd7930.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/amd7930.c  2005-03-22 15:06:45.837124480 +0100
+--- /dev/null
++++ b/drivers/isdn/hisax/amd7930.c
 @@ -0,0 +1,755 @@
 +/* $Id: amd7930.c,v 1.8 2001/09/24 13:22:55 kai Exp $
 + *
 @@ -0,0 +1,755 @@
 +/* $Id: amd7930.c,v 1.8 2001/09/24 13:22:55 kai Exp $
 + *
@@ -4609,27 +4545,24 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/amd7930.c linux-2.4.29/drivers/isd
 +
 +      return (1);
 +}
 +
 +      return (1);
 +}
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/arcofi.c linux-2.4.29/drivers/isdn/hisax/arcofi.c
---- linux-2.4.29.old/drivers/isdn/hisax/arcofi.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/arcofi.c   2005-03-22 15:06:45.852122200 +0100
+--- a/drivers/isdn/hisax/arcofi.c
++++ b/drivers/isdn/hisax/arcofi.c
 @@ -1,4 +1,4 @@
 -/* $Id: arcofi.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: arcofi.c,v 1.14 2001/09/24 13:22:55 kai Exp $
   *
   * Ansteuerung ARCOFI 2165
   *
 @@ -1,4 +1,4 @@
 -/* $Id: arcofi.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: arcofi.c,v 1.14 2001/09/24 13:22:55 kai Exp $
   *
   * Ansteuerung ARCOFI 2165
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/arcofi.h linux-2.4.29/drivers/isdn/hisax/arcofi.h
---- linux-2.4.29.old/drivers/isdn/hisax/arcofi.h       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/arcofi.h   2005-03-22 15:06:45.872119160 +0100
+--- a/drivers/isdn/hisax/arcofi.h
++++ b/drivers/isdn/hisax/arcofi.h
 @@ -1,4 +1,4 @@
 -/* $Id: arcofi.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id$
   *
   * Ansteuerung ARCOFI 2165
   *
 @@ -1,4 +1,4 @@
 -/* $Id: arcofi.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id$
   *
   * Ansteuerung ARCOFI 2165
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/asuscom.c linux-2.4.29/drivers/isdn/hisax/asuscom.c
---- linux-2.4.29.old/drivers/isdn/hisax/asuscom.c      2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/asuscom.c  2005-03-22 15:06:45.889116576 +0100
+--- a/drivers/isdn/hisax/asuscom.c
++++ b/drivers/isdn/hisax/asuscom.c
 @@ -1,4 +1,4 @@
 -/* $Id: asuscom.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: asuscom.c,v 1.14 2001/09/24 13:22:55 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: asuscom.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: asuscom.c,v 1.14 2001/09/24 13:22:55 kai Exp $
@@ -4653,7 +4586,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/asuscom.c linux-2.4.29/drivers/isd
  
  #define byteout(addr,val) outb(val,addr)
  #define bytein(addr) inb(addr)
  
  #define byteout(addr,val) outb(val,addr)
  #define bytein(addr) inb(addr)
-@@ -310,27 +309,6 @@
+@@ -310,27 +309,6 @@ Asus_card_msg(struct IsdnCardState *cs, 
        return(0);
  }
  
        return(0);
  }
  
@@ -4681,7 +4614,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/asuscom.c linux-2.4.29/drivers/isd
  int __init
  setup_asuscom(struct IsdnCard *card)
  {
  int __init
  setup_asuscom(struct IsdnCard *card)
  {
-@@ -343,45 +321,7 @@
+@@ -343,45 +321,7 @@ setup_asuscom(struct IsdnCard *card)
        printk(KERN_INFO "HiSax: Asuscom ISDNLink driver Rev. %s\n", HiSax_getrev(tmp));
        if (cs->typ != ISDN_CTYPE_ASUSCOM)
                return (0);
        printk(KERN_INFO "HiSax: Asuscom ISDNLink driver Rev. %s\n", HiSax_getrev(tmp));
        if (cs->typ != ISDN_CTYPE_ASUSCOM)
                return (0);
@@ -4728,9 +4661,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/asuscom.c linux-2.4.29/drivers/isd
        bytecnt = 8;
        cs->hw.asus.cfg_reg = card->para[1];
        cs->irq = card->para[0];
        bytecnt = 8;
        cs->hw.asus.cfg_reg = card->para[1];
        cs->irq = card->para[0];
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/avm_a1.c linux-2.4.29/drivers/isdn/hisax/avm_a1.c
---- linux-2.4.29.old/drivers/isdn/hisax/avm_a1.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/avm_a1.c   2005-03-22 15:06:45.904114296 +0100
+--- a/drivers/isdn/hisax/avm_a1.c
++++ b/drivers/isdn/hisax/avm_a1.c
 @@ -1,4 +1,4 @@
 -/* $Id: avm_a1.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: avm_a1.c,v 2.15 2001/09/24 13:22:55 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: avm_a1.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: avm_a1.c,v 2.15 2001/09/24 13:22:55 kai Exp $
@@ -4746,9 +4678,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/avm_a1.c linux-2.4.29/drivers/isdn
  
  #define        AVM_A1_STAT_ISAC       0x01
  #define        AVM_A1_STAT_HSCX       0x02
  
  #define        AVM_A1_STAT_ISAC       0x01
  #define        AVM_A1_STAT_HSCX       0x02
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/avm_a1p.c linux-2.4.29/drivers/isdn/hisax/avm_a1p.c
---- linux-2.4.29.old/drivers/isdn/hisax/avm_a1p.c      2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/avm_a1p.c  2005-03-22 15:06:45.919112016 +0100
+--- a/drivers/isdn/hisax/avm_a1p.c
++++ b/drivers/isdn/hisax/avm_a1p.c
 @@ -1,4 +1,4 @@
 -/* $Id: avm_a1p.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: avm_a1p.c,v 2.9 2001/09/24 13:22:55 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: avm_a1p.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: avm_a1p.c,v 2.9 2001/09/24 13:22:55 kai Exp $
@@ -4764,9 +4695,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/avm_a1p.c linux-2.4.29/drivers/isd
  
  static inline u_char
  ReadISAC(struct IsdnCardState *cs, u_char offset)
  
  static inline u_char
  ReadISAC(struct IsdnCardState *cs, u_char offset)
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/avm_pci.c linux-2.4.29/drivers/isdn/hisax/avm_pci.c
---- linux-2.4.29.old/drivers/isdn/hisax/avm_pci.c      2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/avm_pci.c  2005-03-22 15:06:45.945108064 +0100
+--- a/drivers/isdn/hisax/avm_pci.c
++++ b/drivers/isdn/hisax/avm_pci.c
 @@ -1,4 +1,4 @@
 -/* $Id: avm_pci.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: avm_pci.c,v 1.29 2001/09/24 13:22:55 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: avm_pci.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: avm_pci.c,v 1.29 2001/09/24 13:22:55 kai Exp $
@@ -4787,7 +4717,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/avm_pci.c linux-2.4.29/drivers/isd
  
  #define  AVM_FRITZ_PCI                1
  #define  AVM_FRITZ_PNP                2
  
  #define  AVM_FRITZ_PCI                1
  #define  AVM_FRITZ_PNP                2
-@@ -291,8 +291,7 @@
+@@ -291,8 +291,7 @@ hdlc_empty_fifo(struct BCState *bcs, int
                        debugl1(cs, "hdlc_empty_fifo: incoming packet too large");
                return;
        }
                        debugl1(cs, "hdlc_empty_fifo: incoming packet too large");
                return;
        }
@@ -4797,7 +4727,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/avm_pci.c linux-2.4.29/drivers/isd
        bcs->hw.hdlc.rcvidx += count;
        if (cs->subtyp == AVM_FRITZ_PCI) {
                outl(idx, cs->hw.avm.cfg_reg + 4);
        bcs->hw.hdlc.rcvidx += count;
        if (cs->subtyp == AVM_FRITZ_PCI) {
                outl(idx, cs->hw.avm.cfg_reg + 4);
-@@ -353,8 +352,7 @@
+@@ -353,8 +352,7 @@ hdlc_fill_fifo(struct BCState *bcs)
        }
        if ((cs->debug & L1_DEB_HSCX) && !(cs->debug & L1_DEB_HSCX_FIFO))
                debugl1(cs, "hdlc_fill_fifo %d/%ld", count, bcs->tx_skb->len);
        }
        if ((cs->debug & L1_DEB_HSCX) && !(cs->debug & L1_DEB_HSCX_FIFO))
                debugl1(cs, "hdlc_fill_fifo %d/%ld", count, bcs->tx_skb->len);
@@ -4807,7 +4737,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/avm_pci.c linux-2.4.29/drivers/isd
        skb_pull(bcs->tx_skb, count);
        bcs->tx_cnt -= count;
        bcs->hw.hdlc.count += count;
        skb_pull(bcs->tx_skb, count);
        bcs->tx_cnt -= count;
        bcs->hw.hdlc.count += count;
-@@ -766,10 +764,6 @@
+@@ -766,10 +764,6 @@ AVM_card_msg(struct IsdnCardState *cs, i
  }
  
  static struct pci_dev *dev_avm __initdata = NULL;
  }
  
  static struct pci_dev *dev_avm __initdata = NULL;
@@ -4818,7 +4748,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/avm_pci.c linux-2.4.29/drivers/isd
  
  int __init
  setup_avm_pcipnp(struct IsdnCard *card)
  
  int __init
  setup_avm_pcipnp(struct IsdnCard *card)
-@@ -783,47 +777,10 @@
+@@ -783,47 +777,10 @@ setup_avm_pcipnp(struct IsdnCard *card)
        if (cs->typ != ISDN_CTYPE_FRITZPCI)
                return (0);
        if (card->para[1]) {
        if (cs->typ != ISDN_CTYPE_FRITZPCI)
                return (0);
        if (card->para[1]) {
@@ -4866,7 +4796,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/avm_pci.c linux-2.4.29/drivers/isd
  #if CONFIG_PCI
                if (!pci_present()) {
                        printk(KERN_ERR "FritzPCI: no PCI bus present\n");
  #if CONFIG_PCI
                if (!pci_present()) {
                        printk(KERN_ERR "FritzPCI: no PCI bus present\n");
-@@ -838,7 +795,7 @@
+@@ -838,7 +795,7 @@ setup_avm_pcipnp(struct IsdnCard *card)
                        }
                        if (pci_enable_device(dev_avm))
                                return(0);
                        }
                        if (pci_enable_device(dev_avm))
                                return(0);
@@ -4875,7 +4805,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/avm_pci.c linux-2.4.29/drivers/isd
                        if (!cs->hw.avm.cfg_reg) {
                                printk(KERN_ERR "FritzPCI: No IO-Adr for PCI card found\n");
                                return(0);
                        if (!cs->hw.avm.cfg_reg) {
                                printk(KERN_ERR "FritzPCI: No IO-Adr for PCI card found\n");
                                return(0);
-@@ -854,7 +811,6 @@
+@@ -854,7 +811,6 @@ setup_avm_pcipnp(struct IsdnCard *card)
                return (0);
  #endif /* CONFIG_PCI */
        }
                return (0);
  #endif /* CONFIG_PCI */
        }
@@ -4883,9 +4813,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/avm_pci.c linux-2.4.29/drivers/isd
        cs->hw.avm.isac = cs->hw.avm.cfg_reg + 0x10;
        if (check_region((cs->hw.avm.cfg_reg), 32)) {
                printk(KERN_WARNING
        cs->hw.avm.isac = cs->hw.avm.cfg_reg + 0x10;
        if (check_region((cs->hw.avm.cfg_reg), 32)) {
                printk(KERN_WARNING
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/bkm_a4t.c linux-2.4.29/drivers/isdn/hisax/bkm_a4t.c
---- linux-2.4.29.old/drivers/isdn/hisax/bkm_a4t.c      2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/bkm_a4t.c  2005-03-22 15:06:45.962105480 +0100
+--- a/drivers/isdn/hisax/bkm_a4t.c
++++ b/drivers/isdn/hisax/bkm_a4t.c
 @@ -1,4 +1,4 @@
 -/* $Id: bkm_a4t.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: bkm_a4t.c,v 1.22 2001/09/24 13:22:55 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: bkm_a4t.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: bkm_a4t.c,v 1.22 2001/09/24 13:22:55 kai Exp $
@@ -4906,7 +4835,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/bkm_a4t.c linux-2.4.29/drivers/isd
  
  
  static inline u_char
  
  
  static inline u_char
-@@ -293,13 +294,13 @@
+@@ -293,13 +294,13 @@ setup_bkm_a4t(struct IsdnCard *card)
                u16 sub_sys;
                u16 sub_vendor;
  
                u16 sub_sys;
                u16 sub_vendor;
  
@@ -4923,9 +4852,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/bkm_a4t.c linux-2.4.29/drivers/isd
                        cs->irq = dev_a4t->irq;
                        break;
                }
                        cs->irq = dev_a4t->irq;
                        break;
                }
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/bkm_a8.c linux-2.4.29/drivers/isdn/hisax/bkm_a8.c
---- linux-2.4.29.old/drivers/isdn/hisax/bkm_a8.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/bkm_a8.c   2005-03-22 15:06:45.982102440 +0100
+--- a/drivers/isdn/hisax/bkm_a8.c
++++ b/drivers/isdn/hisax/bkm_a8.c
 @@ -1,4 +1,4 @@
 -/* $Id: bkm_a8.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: bkm_a8.c,v 1.22 2001/09/24 13:22:55 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: bkm_a8.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: bkm_a8.c,v 1.22 2001/09/24 13:22:55 kai Exp $
@@ -4949,7 +4877,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/bkm_a8.c linux-2.4.29/drivers/isdn
  
  static const char *sct_quadro_subtypes[] =
  {
  
  static const char *sct_quadro_subtypes[] =
  {
-@@ -329,13 +330,13 @@
+@@ -329,13 +330,13 @@ setup_sct_quadro(struct IsdnCard *card)
                while ((dev_a8 = pci_find_device(PCI_VENDOR_ID_PLX,
                        PCI_DEVICE_ID_PLX_9050, dev_a8))) {
                        
                while ((dev_a8 = pci_find_device(PCI_VENDOR_ID_PLX,
                        PCI_DEVICE_ID_PLX_9050, dev_a8))) {
                        
@@ -4966,7 +4894,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/bkm_a8.c linux-2.4.29/drivers/isdn
                                pci_irq = dev_a8->irq;
                                pci_bus = dev_a8->bus->number;
                                pci_device_fn = dev_a8->devfn;
                                pci_irq = dev_a8->irq;
                                pci_bus = dev_a8->bus->number;
                                pci_device_fn = dev_a8->devfn;
-@@ -365,7 +366,7 @@
+@@ -365,7 +366,7 @@ setup_sct_quadro(struct IsdnCard *card)
                        pci_ioaddr1 &= PCI_BASE_ADDRESS_IO_MASK;
                        pcibios_write_config_dword(pci_bus, pci_device_fn,
                                PCI_BASE_ADDRESS_1, pci_ioaddr1);
                        pci_ioaddr1 &= PCI_BASE_ADDRESS_IO_MASK;
                        pcibios_write_config_dword(pci_bus, pci_device_fn,
                                PCI_BASE_ADDRESS_1, pci_ioaddr1);
@@ -4975,18 +4903,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/bkm_a8.c linux-2.4.29/drivers/isdn
                }
  #endif /* End HACK */
        }
                }
  #endif /* End HACK */
        }
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/bkm_ax.h linux-2.4.29/drivers/isdn/hisax/bkm_ax.h
---- linux-2.4.29.old/drivers/isdn/hisax/bkm_ax.h       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/bkm_ax.h   2005-03-22 15:06:46.010098184 +0100
+--- a/drivers/isdn/hisax/bkm_ax.h
++++ b/drivers/isdn/hisax/bkm_ax.h
 @@ -1,4 +1,4 @@
 -/* $Id: bkm_ax.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id$
   *
   * low level decls for T-Berkom cards A4T and Scitel Quadro (4*S0, passive)
   *
 @@ -1,4 +1,4 @@
 -/* $Id: bkm_ax.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id$
   *
   * low level decls for T-Berkom cards A4T and Scitel Quadro (4*S0, passive)
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/callc.c linux-2.4.29/drivers/isdn/hisax/callc.c
---- linux-2.4.29.old/drivers/isdn/hisax/callc.c        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/callc.c    2005-03-22 15:06:46.027095600 +0100
+--- a/drivers/isdn/hisax/callc.c
++++ b/drivers/isdn/hisax/callc.c
 @@ -1,4 +1,4 @@
 -/* $Id: callc.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: callc.c,v 2.59 2002/02/09 21:19:11 keil Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: callc.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: callc.c,v 2.59 2002/02/09 21:19:11 keil Exp $
@@ -5002,7 +4928,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/callc.c linux-2.4.29/drivers/isdn/
  
  extern struct IsdnCard cards[];
  extern int nrcards;
  
  extern struct IsdnCard cards[];
  extern int nrcards;
-@@ -145,9 +145,11 @@
+@@ -145,9 +145,11 @@ enum {
        EV_PROCEED,             /* 20 */
        EV_ALERT,               /* 21 */ 
        EV_REDIR,               /* 22 */ 
        EV_PROCEED,             /* 20 */
        EV_ALERT,               /* 21 */ 
        EV_REDIR,               /* 22 */ 
@@ -5015,7 +4941,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/callc.c linux-2.4.29/drivers/isdn/
  
  static char *strEvent[] =
  {
  
  static char *strEvent[] =
  {
-@@ -174,6 +176,8 @@
+@@ -174,6 +176,8 @@ static char *strEvent[] =
        "EV_PROCEED",
        "EV_ALERT",
        "EV_REDIR",
        "EV_PROCEED",
        "EV_ALERT",
        "EV_REDIR",
@@ -5024,7 +4950,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/callc.c linux-2.4.29/drivers/isdn/
  };
  
  
  };
  
  
-@@ -286,6 +290,22 @@
+@@ -286,6 +290,22 @@ lli_prep_dialout(struct FsmInst *fi, int
  }
  
  static void
  }
  
  static void
@@ -5047,7 +4973,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/callc.c linux-2.4.29/drivers/isdn/
  lli_resume(struct FsmInst *fi, int event, void *arg)
  {
        struct Channel *chanp = fi->userdata;
  lli_resume(struct FsmInst *fi, int event, void *arg)
  {
        struct Channel *chanp = fi->userdata;
-@@ -784,6 +804,8 @@
+@@ -784,6 +804,8 @@ static struct FsmNode fnlist[] __initdat
          {ST_OUT_DIAL,           EV_DISCONNECT_IND,      lli_release_req},
          {ST_OUT_DIAL,           EV_RELEASE,             lli_dhup_close},
          {ST_OUT_DIAL,           EV_NOSETUP_RSP,         lli_no_setup_rsp},
          {ST_OUT_DIAL,           EV_DISCONNECT_IND,      lli_release_req},
          {ST_OUT_DIAL,           EV_RELEASE,             lli_dhup_close},
          {ST_OUT_DIAL,           EV_NOSETUP_RSP,         lli_no_setup_rsp},
@@ -5056,7 +4982,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/callc.c linux-2.4.29/drivers/isdn/
          {ST_OUT_DIAL,           EV_SETUP_ERR,           lli_error},
          {ST_IN_WAIT_LL,         EV_LEASED_REL,          lli_failure_l},
          {ST_IN_WAIT_LL,         EV_ACCEPTD,             lli_setup_rsp},
          {ST_OUT_DIAL,           EV_SETUP_ERR,           lli_error},
          {ST_IN_WAIT_LL,         EV_LEASED_REL,          lli_failure_l},
          {ST_IN_WAIT_LL,         EV_ACCEPTD,             lli_setup_rsp},
-@@ -925,7 +947,7 @@
+@@ -925,7 +947,7 @@ static void stat_redir_result(struct Isd
        ic.driver = cs->myid;
        ic.command = ISDN_STAT_REDIR;
        ic.arg = chan; 
        ic.driver = cs->myid;
        ic.command = ISDN_STAT_REDIR;
        ic.arg = chan; 
@@ -5065,7 +4991,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/callc.c linux-2.4.29/drivers/isdn/
        cs->iif.statcallb(&ic);
  } /* stat_redir_result */
  
        cs->iif.statcallb(&ic);
  } /* stat_redir_result */
  
-@@ -997,8 +1019,13 @@
+@@ -997,8 +1019,13 @@ dchan_l3l4(struct PStack *st, int pr, vo
                        FsmEvent(&chanp->fi, EV_RELEASE, NULL);
                        break;
                case (CC_PROCEED_SEND | INDICATION):
                        FsmEvent(&chanp->fi, EV_RELEASE, NULL);
                        break;
                case (CC_PROCEED_SEND | INDICATION):
@@ -5079,18 +5005,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/callc.c linux-2.4.29/drivers/isdn/
                case (CC_PROGRESS | INDICATION):
                case (CC_NOTIFY | INDICATION):
                        break;
                case (CC_PROGRESS | INDICATION):
                case (CC_NOTIFY | INDICATION):
                        break;
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/cert.c linux-2.4.29/drivers/isdn/hisax/cert.c
---- linux-2.4.29.old/drivers/isdn/hisax/cert.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/cert.c     2005-03-22 15:06:46.042093320 +0100
+--- a/drivers/isdn/hisax/cert.c
++++ b/drivers/isdn/hisax/cert.c
 @@ -1,4 +1,4 @@
 -/* $Id: cert.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: cert.c,v 2.6 2001/09/24 13:22:56 kai Exp $
   *
   * Author       Karsten Keil
   * Copyright    by Karsten Keil      <keil@isdn4linux.de>
 @@ -1,4 +1,4 @@
 -/* $Id: cert.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: cert.c,v 2.6 2001/09/24 13:22:56 kai Exp $
   *
   * Author       Karsten Keil
   * Copyright    by Karsten Keil      <keil@isdn4linux.de>
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn/hisax/config.c
---- linux-2.4.29.old/drivers/isdn/hisax/config.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/config.c   2005-03-22 15:06:46.077088000 +0100
+--- a/drivers/isdn/hisax/config.c
++++ b/drivers/isdn/hisax/config.c
 @@ -1,4 +1,4 @@
 -/* $Id: config.c,v 1.1.4.5 2001/12/09 19:19:26 kai Exp $
 +/* $Id: config.c,v 2.84 2002/08/13 09:55:29 keil Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: config.c,v 1.1.4.5 2001/12/09 19:19:26 kai Exp $
 +/* $Id: config.c,v 2.84 2002/08/13 09:55:29 keil Exp $
@@ -5119,7 +5043,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
   *
   * protocol can be either ISDN_PTYPE_EURO or ISDN_PTYPE_1TR6 or ISDN_PTYPE_NI1
   *
   *
   * protocol can be either ISDN_PTYPE_EURO or ISDN_PTYPE_1TR6 or ISDN_PTYPE_NI1
   *
-@@ -95,11 +99,17 @@
+@@ -95,11 +99,17 @@ const char *CardType[] = {
        "Siemens I-Surf", "Acer P10", "HST Saphir", "Telekom A4T",
        "Scitel Quadro", "Gazel", "HFC 2BDS0 PCI", "Winbond 6692",
        "HFC 2BDS0 SX", "NETspider-U", "HFC-2BDS0-SP PCMCIA",
        "Siemens I-Surf", "Acer P10", "HST Saphir", "Telekom A4T",
        "Scitel Quadro", "Gazel", "HFC 2BDS0 PCI", "Winbond 6692",
        "HFC 2BDS0 SX", "NETspider-U", "HFC-2BDS0-SP PCMCIA",
@@ -5138,7 +5062,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
  #ifdef CONFIG_HISAX_ELSA
  #define DEFAULT_CARD ISDN_CTYPE_ELSA
  #define DEFAULT_CFG {0,0,0,0}
  #ifdef CONFIG_HISAX_ELSA
  #define DEFAULT_CARD ISDN_CTYPE_ELSA
  #define DEFAULT_CFG {0,0,0,0}
-@@ -339,19 +349,27 @@
+@@ -339,19 +349,27 @@ EXPORT_SYMBOL(HiSax_closecard);
        NULL, \
  }
  
        NULL, \
  }
  
@@ -5172,7 +5096,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
  #undef IO0_IO1
  #ifdef CONFIG_HISAX_16_3
  #define IO0_IO1
  #undef IO0_IO1
  #ifdef CONFIG_HISAX_16_3
  #define IO0_IO1
-@@ -361,27 +379,23 @@
+@@ -361,27 +379,23 @@ static int io[HISAX_MAX_CARDS] __devinit
  #define IO0_IO1
  #endif
  #ifdef IO0_IO1
  #define IO0_IO1
  #endif
  #ifdef IO0_IO1
@@ -5211,7 +5135,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
  #endif
  #endif /* MODULE */
  
  #endif
  #endif /* MODULE */
  
-@@ -432,6 +446,7 @@
+@@ -432,6 +446,7 @@ void __init HiSaxVersion(void)
  }
  
  #ifndef MODULE
  }
  
  #ifndef MODULE
@@ -5219,7 +5143,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
  #define MAX_ARG       (HISAX_MAX_CARDS*5)
  static int __init HiSax_setup(char *line)
  {
  #define MAX_ARG       (HISAX_MAX_CARDS*5)
  static int __init HiSax_setup(char *line)
  {
-@@ -440,12 +455,16 @@
+@@ -440,12 +455,16 @@ static int __init HiSax_setup(char *line
        char *str;
  
        str = get_options(line, MAX_ARG, ints);
        char *str;
  
        str = get_options(line, MAX_ARG, ints);
@@ -5237,7 +5161,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
                if (argc) {
                        cards[i].typ = ints[j];
                        j++;
                if (argc) {
                        cards[i].typ = ints[j];
                        j++;
-@@ -473,19 +492,21 @@
+@@ -473,19 +492,21 @@ static int __init HiSax_setup(char *line
                }
                i++;
        }
                }
                i++;
        }
@@ -5267,7 +5191,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
  #endif /* MODULES */
  
  #if CARD_TELES0
  #endif /* MODULES */
  
  #if CARD_TELES0
-@@ -560,6 +581,10 @@
+@@ -560,6 +581,10 @@ extern int setup_hfcs(struct IsdnCard *c
  extern int setup_hfcpci(struct IsdnCard *card);
  #endif
  
  extern int setup_hfcpci(struct IsdnCard *card);
  #endif
  
@@ -5278,7 +5202,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
  #if CARD_HFC_SX
  extern int setup_hfcsx(struct IsdnCard *card);
  #endif
  #if CARD_HFC_SX
  extern int setup_hfcsx(struct IsdnCard *card);
  #endif
-@@ -604,10 +629,6 @@
+@@ -604,10 +629,6 @@ extern int setup_w6692(struct IsdnCard *
  extern int setup_netjet_u(struct IsdnCard *card);
  #endif
  
  extern int setup_netjet_u(struct IsdnCard *card);
  #endif
  
@@ -5289,7 +5213,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
  /*
   * Find card with given driverId
   */
  /*
   * Find card with given driverId
   */
-@@ -899,7 +920,8 @@
+@@ -899,7 +920,8 @@ static int __devinit init_card(struct Is
        return 3;
  }
  
        return 3;
  }
  
@@ -5299,7 +5223,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
  {
        long flags;
        int ret = 0;
  {
        long flags;
        int ret = 0;
-@@ -1093,6 +1115,12 @@
+@@ -1093,6 +1115,12 @@ static int __devinit checkcard(int cardn
                ret = setup_hfcsx(card);
                break;
  #endif
                ret = setup_hfcsx(card);
                break;
  #endif
@@ -5312,7 +5236,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
  #if CARD_NICCY
        case ISDN_CTYPE_NICCY:
                ret = setup_niccy(card);
  #if CARD_NICCY
        case ISDN_CTYPE_NICCY:
                ret = setup_niccy(card);
-@@ -1143,11 +1171,6 @@
+@@ -1143,11 +1171,6 @@ static int __devinit checkcard(int cardn
                ret = setup_netjet_u(card);
                break;
  #endif
                ret = setup_netjet_u(card);
                break;
  #endif
@@ -5324,7 +5248,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
        case ISDN_CTYPE_DYNAMIC:
                ret = 2;
                break;
        case ISDN_CTYPE_DYNAMIC:
                ret = 2;
                break;
-@@ -1186,6 +1209,9 @@
+@@ -1186,6 +1209,9 @@ static int __devinit checkcard(int cardn
        case ISDN_CTYPE_DYNAMIC:
                ret = 0;
                break;
        case ISDN_CTYPE_DYNAMIC:
                ret = 0;
                break;
@@ -5334,7 +5258,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
        default:
                ret = init_card(cs);
                break;
        default:
                ret = init_card(cs);
                break;
-@@ -1257,16 +1283,13 @@
+@@ -1257,16 +1283,13 @@ int __devinit HiSax_inithardware(int *bu
                        else
                                sprintf(ids, "%s%d", id, i);
                }
                        else
                                sprintf(ids, "%s%d", id, i);
                }
@@ -5355,7 +5279,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
                        HiSax_shiftcards(i);
                        nrcards--;
                }
                        HiSax_shiftcards(i);
                        nrcards--;
                }
-@@ -1342,6 +1365,49 @@
+@@ -1342,6 +1365,49 @@ void HiSax_reportcard(int cardnr, int se
  #endif
  }
  
  #endif
  }
  
@@ -5405,7 +5329,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
  static int __init HiSax_init(void)
  {
        int i, retval;
  static int __init HiSax_init(void)
  {
        int i, retval;
-@@ -1408,8 +1474,6 @@
+@@ -1408,8 +1474,6 @@ static int __init HiSax_init(void)
                if (protocol[i]) {
                        cards[j].protocol = protocol[i];
                        nzproto++;
                if (protocol[i]) {
                        cards[j].protocol = protocol[i];
                        nzproto++;
@@ -5414,7 +5338,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
                }
                switch (type[i]) {
                case ISDN_CTYPE_16_0:
                }
                switch (type[i]) {
                case ISDN_CTYPE_16_0:
-@@ -1487,22 +1551,15 @@
+@@ -1487,22 +1551,15 @@ static int __init HiSax_init(void)
                        } else {
                                /* QUADRO is a 4 BRI card */
                                cards[j++].para[0] = 1;
                        } else {
                                /* QUADRO is a 4 BRI card */
                                cards[j++].para[0] = 1;
@@ -5446,7 +5370,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
                        }
                        break;
                }
                        }
                        break;
                }
-@@ -1526,10 +1583,15 @@
+@@ -1526,10 +1583,15 @@ static int __init HiSax_init(void)
               nrcards, (nrcards > 1) ? "s" : "");
  
        /* Install only, if at least one card found */
               nrcards, (nrcards > 1) ? "s" : "");
  
        /* Install only, if at least one card found */
@@ -5464,7 +5388,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
   out_tei:
        TeiFree();
   out_isdnl2:
   out_tei:
        TeiFree();
   out_isdnl2:
-@@ -1576,8 +1638,6 @@
+@@ -1576,8 +1638,6 @@ int elsa_init_pcmcia(void *pcm_iob, int 
                cards[i].typ = type[i];
                if (protocol[i]) {
                        cards[i].protocol = protocol[i];
                cards[i].typ = type[i];
                if (protocol[i]) {
                        cards[i].protocol = protocol[i];
@@ -5473,7 +5397,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
                }
        }
        cards[0].para[0] = pcm_irq;
                }
        }
        cards[0].para[0] = pcm_irq;
-@@ -1595,8 +1655,7 @@
+@@ -1595,8 +1655,7 @@ int elsa_init_pcmcia(void *pcm_iob, int 
        printk(KERN_DEBUG "HiSax: Total %d card%s defined\n",
               nrcards, (nrcards > 1) ? "s" : "");
  
        printk(KERN_DEBUG "HiSax: Total %d card%s defined\n",
               nrcards, (nrcards > 1) ? "s" : "");
  
@@ -5483,7 +5407,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
        printk(KERN_NOTICE "HiSax: module installed\n");
  #endif
        return 0;
        printk(KERN_NOTICE "HiSax: module installed\n");
  #endif
        return 0;
-@@ -1619,8 +1678,6 @@
+@@ -1619,8 +1678,6 @@ int hfc_init_pcmcia(void *pcm_iob, int p
                cards[i].typ = type[i];
                if (protocol[i]) {
                        cards[i].protocol = protocol[i];
                cards[i].typ = type[i];
                if (protocol[i]) {
                        cards[i].protocol = protocol[i];
@@ -5492,7 +5416,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
                }
        }
        cards[0].para[0] = pcm_irq;
                }
        }
        cards[0].para[0] = pcm_irq;
-@@ -1638,8 +1695,7 @@
+@@ -1638,8 +1695,7 @@ int hfc_init_pcmcia(void *pcm_iob, int p
        printk(KERN_DEBUG "HiSax: Total %d card%s defined\n",
               nrcards, (nrcards > 1) ? "s" : "");
  
        printk(KERN_DEBUG "HiSax: Total %d card%s defined\n",
               nrcards, (nrcards > 1) ? "s" : "");
  
@@ -5502,7 +5426,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
        printk(KERN_NOTICE "HiSax: module installed\n");
  #endif
        return 0;
        printk(KERN_NOTICE "HiSax: module installed\n");
  #endif
        return 0;
-@@ -1662,8 +1718,6 @@
+@@ -1662,8 +1718,6 @@ int sedl_init_pcmcia(void *pcm_iob, int 
                cards[i].typ = type[i];
                if (protocol[i]) {
                        cards[i].protocol = protocol[i];
                cards[i].typ = type[i];
                if (protocol[i]) {
                        cards[i].protocol = protocol[i];
@@ -5511,7 +5435,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
                }
        }
        cards[0].para[0] = pcm_irq;
                }
        }
        cards[0].para[0] = pcm_irq;
-@@ -1681,8 +1735,7 @@
+@@ -1681,8 +1735,7 @@ int sedl_init_pcmcia(void *pcm_iob, int 
        printk(KERN_DEBUG "HiSax: Total %d card%s defined\n",
               nrcards, (nrcards > 1) ? "s" : "");
  
        printk(KERN_DEBUG "HiSax: Total %d card%s defined\n",
               nrcards, (nrcards > 1) ? "s" : "");
  
@@ -5521,7 +5445,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
        printk(KERN_NOTICE "HiSax: module installed\n");
  #endif
        return 0;
        printk(KERN_NOTICE "HiSax: module installed\n");
  #endif
        return 0;
-@@ -1705,8 +1758,6 @@
+@@ -1705,8 +1758,6 @@ int avm_a1_init_pcmcia(void *pcm_iob, in
                cards[i].typ = type[i];
                if (protocol[i]) {
                        cards[i].protocol = protocol[i];
                cards[i].typ = type[i];
                if (protocol[i]) {
                        cards[i].protocol = protocol[i];
@@ -5530,7 +5454,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
                }
        }
        cards[0].para[0] = pcm_irq;
                }
        }
        cards[0].para[0] = pcm_irq;
-@@ -1724,8 +1775,7 @@
+@@ -1724,8 +1775,7 @@ int avm_a1_init_pcmcia(void *pcm_iob, in
        printk(KERN_DEBUG "HiSax: Total %d card%s defined\n",
               nrcards, (nrcards > 1) ? "s" : "");
  
        printk(KERN_DEBUG "HiSax: Total %d card%s defined\n",
               nrcards, (nrcards > 1) ? "s" : "");
  
@@ -5540,7 +5464,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
        printk(KERN_NOTICE "HiSax: module installed\n");
  #endif
        return 0;
        printk(KERN_NOTICE "HiSax: module installed\n");
  #endif
        return 0;
-@@ -1743,7 +1793,7 @@
+@@ -1743,7 +1793,7 @@ int __devinit hisax_init_pcmcia(void *pc
                sprintf(ids, "HiSax%d", nrcards);
        else
                sprintf(ids, "HiSax");
                sprintf(ids, "HiSax%d", nrcards);
        else
                sprintf(ids, "HiSax");
@@ -5549,7 +5473,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
                return -1;
        }
        ret = nrcards;
                return -1;
        }
        ret = nrcards;
-@@ -1785,7 +1835,7 @@
+@@ -1785,7 +1835,7 @@ int hisax_register(struct hisax_d_if *hi
        cards[i].protocol = protocol;
        sprintf(id, "%s%d", name, i);
        nrcards++;
        cards[i].protocol = protocol;
        sprintf(id, "%s%d", name, i);
        nrcards++;
@@ -5558,7 +5482,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
        if (retval == 0) { // yuck
                cards[i].typ = 0;
                nrcards--;
        if (retval == 0) { // yuck
                cards[i].typ = 0;
                nrcards--;
-@@ -2117,9 +2167,6 @@
+@@ -2117,9 +2167,6 @@ static struct pci_device_id hisax_pci_tb
        {PCI_VENDOR_ID_EICON,    PCI_DEVICE_ID_EICON_DIVA20,     PCI_ANY_ID, PCI_ANY_ID},
        {PCI_VENDOR_ID_EICON,    PCI_DEVICE_ID_EICON_DIVA20_U,   PCI_ANY_ID, PCI_ANY_ID},
        {PCI_VENDOR_ID_EICON,    PCI_DEVICE_ID_EICON_DIVA201,    PCI_ANY_ID, PCI_ANY_ID},
        {PCI_VENDOR_ID_EICON,    PCI_DEVICE_ID_EICON_DIVA20,     PCI_ANY_ID, PCI_ANY_ID},
        {PCI_VENDOR_ID_EICON,    PCI_DEVICE_ID_EICON_DIVA20_U,   PCI_ANY_ID, PCI_ANY_ID},
        {PCI_VENDOR_ID_EICON,    PCI_DEVICE_ID_EICON_DIVA201,    PCI_ANY_ID, PCI_ANY_ID},
@@ -5568,7 +5492,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
  #endif
  #ifdef CONFIG_HISAX_ELSA
        {PCI_VENDOR_ID_ELSA,     PCI_DEVICE_ID_ELSA_MICROLINK,   PCI_ANY_ID, PCI_ANY_ID},
  #endif
  #ifdef CONFIG_HISAX_ELSA
        {PCI_VENDOR_ID_ELSA,     PCI_DEVICE_ID_ELSA_MICROLINK,   PCI_ANY_ID, PCI_ANY_ID},
-@@ -2178,11 +2225,3 @@
+@@ -2178,11 +2225,3 @@ MODULE_DEVICE_TABLE(pci, hisax_pci_tbl);
  
  module_init(HiSax_init);
  module_exit(HiSax_exit);
  
  module_init(HiSax_init);
  module_exit(HiSax_exit);
@@ -5580,9 +5504,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
 -EXPORT_SYMBOL(FsmInitTimer);
 -EXPORT_SYMBOL(FsmDelTimer);
 -EXPORT_SYMBOL(FsmRestartTimer);
 -EXPORT_SYMBOL(FsmInitTimer);
 -EXPORT_SYMBOL(FsmDelTimer);
 -EXPORT_SYMBOL(FsmRestartTimer);
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/diva.c linux-2.4.29/drivers/isdn/hisax/diva.c
---- linux-2.4.29.old/drivers/isdn/hisax/diva.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/diva.c     2005-03-22 15:06:46.106083592 +0100
+--- a/drivers/isdn/hisax/diva.c
++++ b/drivers/isdn/hisax/diva.c
 @@ -1,4 +1,4 @@
 -/* $Id: diva.c,v 1.1.4.2 2002/08/30 11:21:00 keil Exp $
 +/* $Id: diva.c,v 1.33 2001/09/24 13:22:56 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: diva.c,v 1.1.4.2 2002/08/30 11:21:00 keil Exp $
 +/* $Id: diva.c,v 1.33 2001/09/24 13:22:56 kai Exp $
@@ -5606,7 +5529,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/diva.c linux-2.4.29/drivers/isdn/h
  
  #define byteout(addr,val) outb(val,addr)
  #define bytein(addr) inb(addr)
  
  #define byteout(addr,val) outb(val,addr)
  #define bytein(addr) inb(addr)
-@@ -51,7 +50,6 @@
+@@ -51,7 +50,6 @@ const char *Diva_revision = "$Revision: 
  #define DIVA_PCI      2
  #define DIVA_IPAC_ISA 3
  #define DIVA_IPAC_PCI 4
  #define DIVA_PCI      2
  #define DIVA_IPAC_ISA 3
  #define DIVA_IPAC_PCI 4
@@ -5614,7 +5537,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/diva.c linux-2.4.29/drivers/isdn/h
  
  /* CTRL (Read) */
  #define DIVA_IRQ_STAT 0x01
  
  /* CTRL (Read) */
  #define DIVA_IRQ_STAT 0x01
-@@ -71,12 +69,10 @@
+@@ -71,12 +69,10 @@ const char *Diva_revision = "$Revision: 
  #define PITA_MISC_REG         0x1c
  #ifdef __BIG_ENDIAN
  #define PITA_PARA_SOFTRESET   0x00000001
  #define PITA_MISC_REG         0x1c
  #ifdef __BIG_ENDIAN
  #define PITA_PARA_SOFTRESET   0x00000001
@@ -5627,7 +5550,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/diva.c linux-2.4.29/drivers/isdn/h
  #define PITA_PARA_MPX_MODE    0x04000000
  #define PITA_INT0_ENABLE      0x00020000
  #endif
  #define PITA_PARA_MPX_MODE    0x04000000
  #define PITA_INT0_ENABLE      0x00020000
  #endif
-@@ -244,47 +240,6 @@
+@@ -244,47 +240,6 @@ MemWriteHSCX(struct IsdnCardState *cs, i
        memwritereg(cs->hw.diva.cfg_reg, offset + (hscx ? 0x40 : 0), value);
  }
  
        memwritereg(cs->hw.diva.cfg_reg, offset + (hscx ? 0x40 : 0), value);
  }
  
@@ -5675,7 +5598,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/diva.c linux-2.4.29/drivers/isdn/h
  /*
   * fast interrupt HSCX stuff goes here
   */
  /*
   * fast interrupt HSCX stuff goes here
   */
-@@ -595,7 +550,7 @@
+@@ -595,7 +550,7 @@ Memhscx_int_main(struct IsdnCardState *c
        u_char exval;
        struct BCState *bcs;
  
        u_char exval;
        struct BCState *bcs;
  
@@ -5684,7 +5607,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/diva.c linux-2.4.29/drivers/isdn/h
                bcs = cs->bcs + 1;
                exval = MemReadHSCX(cs, 1, HSCX_EXIR);
                if (exval & 0x40) {
                bcs = cs->bcs + 1;
                exval = MemReadHSCX(cs, 1, HSCX_EXIR);
                if (exval & 0x40) {
-@@ -622,7 +577,7 @@
+@@ -622,7 +577,7 @@ Memhscx_int_main(struct IsdnCardState *c
                        debugl1(cs, "HSCX B interrupt %x", val);
                Memhscx_interrupt(cs, val, 1);
        }
                        debugl1(cs, "HSCX B interrupt %x", val);
                Memhscx_interrupt(cs, val, 1);
        }
@@ -5693,7 +5616,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/diva.c linux-2.4.29/drivers/isdn/h
                bcs = cs->bcs;
                exval = MemReadHSCX(cs, 0, HSCX_EXIR);
                if (exval & 0x40) {
                bcs = cs->bcs;
                exval = MemReadHSCX(cs, 0, HSCX_EXIR);
                if (exval & 0x40) {
-@@ -644,7 +599,7 @@
+@@ -644,7 +599,7 @@ Memhscx_int_main(struct IsdnCardState *c
                } else if (cs->debug & L1_DEB_HSCX)
                        debugl1(cs, "HSCX A EXIR %x", exval);
        }
                } else if (cs->debug & L1_DEB_HSCX)
                        debugl1(cs, "HSCX A EXIR %x", exval);
        }
@@ -5702,7 +5625,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/diva.c linux-2.4.29/drivers/isdn/h
                exval = MemReadHSCX(cs, 0, HSCX_ISTA);
                if (cs->debug & L1_DEB_HSCX)
                        debugl1(cs, "HSCX A interrupt %x", exval);
                exval = MemReadHSCX(cs, 0, HSCX_ISTA);
                if (cs->debug & L1_DEB_HSCX)
                        debugl1(cs, "HSCX A interrupt %x", exval);
-@@ -705,31 +660,12 @@
+@@ -705,31 +660,12 @@ Start_IPACPCI:
        memwritereg(cs->hw.diva.cfg_reg, IPAC_MASK, 0xC0);
  }
  
        memwritereg(cs->hw.diva.cfg_reg, IPAC_MASK, 0xC0);
  }
  
@@ -5735,7 +5658,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/diva.c linux-2.4.29/drivers/isdn/h
                u_int *cfg = (unsigned int *)cs->hw.diva.pci_cfg;
  
                *cfg = 0; /* disable INT0/1 */ 
                u_int *cfg = (unsigned int *)cs->hw.diva.pci_cfg;
  
                *cfg = 0; /* disable INT0/1 */ 
-@@ -776,16 +712,6 @@
+@@ -776,16 +712,6 @@ reset_diva(struct IsdnCardState *cs)
                set_current_state(TASK_UNINTERRUPTIBLE);
                schedule_timeout((10*HZ)/1000);
                memwritereg(cs->hw.diva.cfg_reg, IPAC_MASK, 0xc0);
                set_current_state(TASK_UNINTERRUPTIBLE);
                schedule_timeout((10*HZ)/1000);
                memwritereg(cs->hw.diva.cfg_reg, IPAC_MASK, 0xc0);
@@ -5752,7 +5675,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/diva.c linux-2.4.29/drivers/isdn/h
        } else { /* DIVA 2.0 */
                cs->hw.diva.ctrl_reg = 0;        /* Reset On */
                byteout(cs->hw.diva.ctrl, cs->hw.diva.ctrl_reg);
        } else { /* DIVA 2.0 */
                cs->hw.diva.ctrl_reg = 0;        /* Reset On */
                byteout(cs->hw.diva.ctrl, cs->hw.diva.ctrl_reg);
-@@ -814,9 +740,7 @@
+@@ -814,9 +740,7 @@ diva_led_handler(struct IsdnCardState *c
  {
        int blink = 0;
  
  {
        int blink = 0;
  
@@ -5763,7 +5686,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/diva.c linux-2.4.29/drivers/isdn/h
                return;
        del_timer(&cs->hw.diva.tl);
        if (cs->hw.diva.status & DIVA_ASSIGN)
                return;
        del_timer(&cs->hw.diva.tl);
        if (cs->hw.diva.status & DIVA_ASSIGN)
-@@ -859,12 +783,6 @@
+@@ -859,12 +783,6 @@ Diva_card_msg(struct IsdnCardState *cs, 
                        release_io_diva(cs);
                        return(0);
                case CARD_INIT:
                        release_io_diva(cs);
                        return(0);
                case CARD_INIT:
@@ -5776,7 +5699,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/diva.c linux-2.4.29/drivers/isdn/h
                        if (cs->subtyp == DIVA_IPAC_PCI) {
                                ireg = (unsigned int *)cs->hw.diva.pci_cfg;
                                *ireg = PITA_INT0_ENABLE;
                        if (cs->subtyp == DIVA_IPAC_PCI) {
                                ireg = (unsigned int *)cs->hw.diva.pci_cfg;
                                *ireg = PITA_INT0_ENABLE;
-@@ -901,9 +819,7 @@
+@@ -901,9 +819,7 @@ Diva_card_msg(struct IsdnCardState *cs, 
                        }
                        break;
        }
                        }
                        break;
        }
@@ -5787,7 +5710,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/diva.c linux-2.4.29/drivers/isdn/h
                diva_led_handler(cs);
        return(0);
  }
                diva_led_handler(cs);
        return(0);
  }
-@@ -911,40 +827,11 @@
+@@ -911,40 +827,11 @@ Diva_card_msg(struct IsdnCardState *cs, 
  static struct pci_dev *dev_diva __initdata = NULL;
  static struct pci_dev *dev_diva_u __initdata = NULL;
  static struct pci_dev *dev_diva201 __initdata = NULL;
  static struct pci_dev *dev_diva __initdata = NULL;
  static struct pci_dev *dev_diva_u __initdata = NULL;
  static struct pci_dev *dev_diva201 __initdata = NULL;
@@ -5829,7 +5752,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/diva.c linux-2.4.29/drivers/isdn/h
        u_char val;
        struct IsdnCardState *cs = card->cs;
        char tmp[64];
        u_char val;
        struct IsdnCardState *cs = card->cs;
        char tmp[64];
-@@ -977,75 +864,8 @@
+@@ -977,75 +864,8 @@ setup_diva(struct IsdnCard *card)
                        cs->hw.diva.hscx_adr = card->para[1] + DIVA_HSCX_ADR;
                }
                cs->irq = card->para[0];
                        cs->hw.diva.hscx_adr = card->para[1] + DIVA_HSCX_ADR;
                }
                cs->irq = card->para[0];
@@ -5906,7 +5829,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/diva.c linux-2.4.29/drivers/isdn/h
  #if CONFIG_PCI
                if (!pci_present()) {
                        printk(KERN_ERR "Diva: no PCI bus present\n");
  #if CONFIG_PCI
                if (!pci_present()) {
                        printk(KERN_ERR "Diva: no PCI bus present\n");
-@@ -1059,14 +879,14 @@
+@@ -1059,14 +879,14 @@ setup_diva(struct IsdnCard *card)
                                return(0);
                        cs->subtyp = DIVA_PCI;
                        cs->irq = dev_diva->irq;
                                return(0);
                        cs->subtyp = DIVA_PCI;
                        cs->irq = dev_diva->irq;
@@ -5923,7 +5846,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/diva.c linux-2.4.29/drivers/isdn/h
                } else if ((dev_diva201 = pci_find_device(PCI_VENDOR_ID_EICON,
                        PCI_DEVICE_ID_EICON_DIVA201, dev_diva201))) {
                        if (pci_enable_device(dev_diva201))
                } else if ((dev_diva201 = pci_find_device(PCI_VENDOR_ID_EICON,
                        PCI_DEVICE_ID_EICON_DIVA201, dev_diva201))) {
                        if (pci_enable_device(dev_diva201))
-@@ -1074,19 +894,9 @@
+@@ -1074,19 +894,9 @@ setup_diva(struct IsdnCard *card)
                        cs->subtyp = DIVA_IPAC_PCI;
                        cs->irq = dev_diva201->irq;
                        cs->hw.diva.pci_cfg =
                        cs->subtyp = DIVA_IPAC_PCI;
                        cs->irq = dev_diva201->irq;
                        cs->hw.diva.pci_cfg =
@@ -5945,7 +5868,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/diva.c linux-2.4.29/drivers/isdn/h
                } else {
                        printk(KERN_WARNING "Diva: No PCI card found\n");
                        return(0);
                } else {
                        printk(KERN_WARNING "Diva: No PCI card found\n");
                        return(0);
-@@ -1107,8 +917,7 @@
+@@ -1107,8 +917,7 @@ setup_diva(struct IsdnCard *card)
                printk(KERN_WARNING "Diva: unable to config DIVA PCI\n");
                return (0);
  #endif /* CONFIG_PCI */
                printk(KERN_WARNING "Diva: unable to config DIVA PCI\n");
                return (0);
  #endif /* CONFIG_PCI */
@@ -5955,7 +5878,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/diva.c linux-2.4.29/drivers/isdn/h
                        cs->hw.diva.ctrl = 0;
                        cs->hw.diva.isac = 0;
                        cs->hw.diva.hscx = 0;
                        cs->hw.diva.ctrl = 0;
                        cs->hw.diva.isac = 0;
                        cs->hw.diva.hscx = 0;
-@@ -1125,23 +934,18 @@
+@@ -1125,23 +934,18 @@ setup_diva(struct IsdnCard *card)
                        bytecnt = 32;
                }
        }
                        bytecnt = 32;
                }
        }
@@ -5985,7 +5908,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/diva.c linux-2.4.29/drivers/isdn/h
                if (check_region(cs->hw.diva.cfg_reg, bytecnt)) {
                        printk(KERN_WARNING
                               "HiSax: %s config port %lx-%lx already in use\n",
                if (check_region(cs->hw.diva.cfg_reg, bytecnt)) {
                        printk(KERN_WARNING
                               "HiSax: %s config port %lx-%lx already in use\n",
-@@ -1177,17 +981,6 @@
+@@ -1177,17 +981,6 @@ ready:
                cs->irq_func = &diva_irq_ipac_pci;
                val = memreadreg(cs->hw.diva.cfg_reg, IPAC_ID);
                printk(KERN_INFO "Diva: IPAC version %x\n", val);
                cs->irq_func = &diva_irq_ipac_pci;
                val = memreadreg(cs->hw.diva.cfg_reg, IPAC_ID);
                printk(KERN_INFO "Diva: IPAC version %x\n", val);
@@ -6003,9 +5926,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/diva.c linux-2.4.29/drivers/isdn/h
        } else { /* DIVA 2.0 */
                cs->hw.diva.tl.function = (void *) diva_led_handler;
                cs->hw.diva.tl.data = (long) cs;
        } else { /* DIVA 2.0 */
                cs->hw.diva.tl.function = (void *) diva_led_handler;
                cs->hw.diva.tl.data = (long) cs;
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/elsa.c linux-2.4.29/drivers/isdn/hisax/elsa.c
---- linux-2.4.29.old/drivers/isdn/hisax/elsa.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/elsa.c     2005-03-22 15:06:46.123081008 +0100
+--- a/drivers/isdn/hisax/elsa.c
++++ b/drivers/isdn/hisax/elsa.c
 @@ -1,4 +1,4 @@
 -/* $Id: elsa.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: elsa.c,v 2.32 2001/09/24 13:22:56 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: elsa.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: elsa.c,v 2.32 2001/09/24 13:22:56 kai Exp $
@@ -6028,7 +5950,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/elsa.c linux-2.4.29/drivers/isdn/h
  const char *Elsa_Types[] =
  {"None", "PC", "PCC-8", "PCC-16", "PCF", "PCF-Pro",
   "PCMCIA", "QS 1000", "QS 3000", "Microlink PCI", "QS 3000 PCI", 
  const char *Elsa_Types[] =
  {"None", "PC", "PCC-8", "PCC-16", "PCF", "PCF-Pro",
   "PCMCIA", "QS 1000", "QS 3000", "Microlink PCI", "QS 3000 PCI", 
-@@ -864,21 +864,6 @@
+@@ -864,21 +864,6 @@ probe_elsa(struct IsdnCardState *cs)
  static        struct pci_dev *dev_qs1000 __devinitdata = NULL;
  static        struct pci_dev *dev_qs3000 __devinitdata = NULL;
  
  static        struct pci_dev *dev_qs1000 __devinitdata = NULL;
  static        struct pci_dev *dev_qs3000 __devinitdata = NULL;
  
@@ -6050,7 +5972,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/elsa.c linux-2.4.29/drivers/isdn/h
  int __devinit
  setup_elsa(struct IsdnCard *card)
  {
  int __devinit
  setup_elsa(struct IsdnCard *card)
  {
-@@ -893,7 +878,6 @@
+@@ -893,7 +878,6 @@ setup_elsa(struct IsdnCard *card)
        cs->hw.elsa.ctrl_reg = 0;
        cs->hw.elsa.status = 0;
        cs->hw.elsa.MFlag = 0;
        cs->hw.elsa.ctrl_reg = 0;
        cs->hw.elsa.status = 0;
        cs->hw.elsa.MFlag = 0;
@@ -6058,7 +5980,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/elsa.c linux-2.4.29/drivers/isdn/h
        if (cs->typ == ISDN_CTYPE_ELSA) {
                cs->hw.elsa.base = card->para[0];
                printk(KERN_INFO "Elsa: Microlink IO probing\n");
        if (cs->typ == ISDN_CTYPE_ELSA) {
                cs->hw.elsa.base = card->para[0];
                printk(KERN_INFO "Elsa: Microlink IO probing\n");
-@@ -955,60 +939,9 @@
+@@ -955,60 +939,9 @@ setup_elsa(struct IsdnCard *card)
                        return (0);
                }
        } else if (cs->typ == ISDN_CTYPE_ELSA_PNP) {
                        return (0);
                }
        } else if (cs->typ == ISDN_CTYPE_ELSA_PNP) {
@@ -6122,7 +6044,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/elsa.c linux-2.4.29/drivers/isdn/h
                cs->hw.elsa.cfg = cs->hw.elsa.base + ELSA_CONFIG;
                cs->hw.elsa.ale = cs->hw.elsa.base + ELSA_ALE;
                cs->hw.elsa.isac = cs->hw.elsa.base + ELSA_ISAC;
                cs->hw.elsa.cfg = cs->hw.elsa.base + ELSA_CONFIG;
                cs->hw.elsa.ale = cs->hw.elsa.base + ELSA_ALE;
                cs->hw.elsa.isac = cs->hw.elsa.base + ELSA_ISAC;
-@@ -1058,16 +991,16 @@
+@@ -1058,16 +991,16 @@ setup_elsa(struct IsdnCard *card)
                                return(0);
                        cs->subtyp = ELSA_QS1000PCI;
                        cs->irq = dev_qs1000->irq;
                                return(0);
                        cs->subtyp = ELSA_QS1000PCI;
                        cs->irq = dev_qs1000->irq;
@@ -6143,7 +6065,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/elsa.c linux-2.4.29/drivers/isdn/h
                } else {
                        printk(KERN_WARNING "Elsa: No PCI card found\n");
                        return(0);
                } else {
                        printk(KERN_WARNING "Elsa: No PCI card found\n");
                        return(0);
-@@ -1123,7 +1056,6 @@
+@@ -1123,7 +1056,6 @@ setup_elsa(struct IsdnCard *card)
                        break;
                case ELSA_PCFPRO:
                case ELSA_PCF:
                        break;
                case ELSA_PCFPRO:
                case ELSA_PCF:
@@ -6151,10 +6073,9 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/elsa.c linux-2.4.29/drivers/isdn/h
                case ELSA_QS3000PCI:
                        bytecnt = 16;
                        break;
                case ELSA_QS3000PCI:
                        bytecnt = 16;
                        break;
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/elsa_cs.c linux-2.4.29/drivers/isdn/hisax/elsa_cs.c
---- linux-2.4.29.old/drivers/isdn/hisax/elsa_cs.c      2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/elsa_cs.c  2005-03-22 15:06:46.138078728 +0100
-@@ -72,7 +72,7 @@
+--- a/drivers/isdn/hisax/elsa_cs.c
++++ b/drivers/isdn/hisax/elsa_cs.c
+@@ -72,7 +72,7 @@ static int pc_debug = PCMCIA_DEBUG;
  MODULE_PARM(pc_debug, "i");
  #define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args);
  static char *version =
  MODULE_PARM(pc_debug, "i");
  #define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args);
  static char *version =
@@ -6163,16 +6084,15 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/elsa_cs.c linux-2.4.29/drivers/isd
  #else
  #define DEBUG(n, args...)
  #endif
  #else
  #define DEBUG(n, args...)
  #endif
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/elsa_ser.c linux-2.4.29/drivers/isdn/hisax/elsa_ser.c
---- linux-2.4.29.old/drivers/isdn/hisax/elsa_ser.c     2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/elsa_ser.c 2005-03-22 15:06:46.158075688 +0100
+--- a/drivers/isdn/hisax/elsa_ser.c
++++ b/drivers/isdn/hisax/elsa_ser.c
 @@ -1,4 +1,4 @@
 -/* $Id: elsa_ser.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: elsa_ser.c,v 2.14 2001/09/24 13:22:56 kai Exp $
   *
   * stuff for the serial modem on ELSA cards
   *
 @@ -1,4 +1,4 @@
 -/* $Id: elsa_ser.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: elsa_ser.c,v 2.14 2001/09/24 13:22:56 kai Exp $
   *
   * stuff for the serial modem on ELSA cards
   *
-@@ -396,6 +396,74 @@
+@@ -396,6 +396,74 @@ static inline void transmit_chars(struct
        }
  }
  
        }
  }
  
@@ -6247,9 +6167,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/elsa_ser.c linux-2.4.29/drivers/is
  
  static void rs_interrupt_elsa(int irq, struct IsdnCardState *cs)
  {
  
  static void rs_interrupt_elsa(int irq, struct IsdnCardState *cs)
  {
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/fsm.c linux-2.4.29/drivers/isdn/hisax/fsm.c
---- linux-2.4.29.old/drivers/isdn/hisax/fsm.c  2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/fsm.c      2005-03-22 15:06:46.174073256 +0100
+--- a/drivers/isdn/hisax/fsm.c
++++ b/drivers/isdn/hisax/fsm.c
 @@ -1,4 +1,4 @@
 -/* $Id: fsm.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id$
 @@ -1,4 +1,4 @@
 -/* $Id: fsm.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id$
@@ -6271,18 +6190,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/fsm.c linux-2.4.29/drivers/isdn/hi
  int __init
  FsmNew(struct Fsm *fsm, struct FsmNode *fnlist, int fncount)
  {
  int __init
  FsmNew(struct Fsm *fsm, struct FsmNode *fnlist, int fncount)
  {
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/fsm.h linux-2.4.29/drivers/isdn/hisax/fsm.h
---- linux-2.4.29.old/drivers/isdn/hisax/fsm.h  2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/fsm.h      2005-03-22 15:06:46.189070976 +0100
+--- a/drivers/isdn/hisax/fsm.h
++++ b/drivers/isdn/hisax/fsm.h
 @@ -1,4 +1,4 @@
 -/* $Id: fsm.h,v 1.1.2.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id$
   *
   * Finite state machine
   *
 @@ -1,4 +1,4 @@
 -/* $Id: fsm.h,v 1.1.2.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id$
   *
   * Finite state machine
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/gazel.c linux-2.4.29/drivers/isdn/hisax/gazel.c
---- linux-2.4.29.old/drivers/isdn/hisax/gazel.c        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/gazel.c    2005-03-22 15:06:46.205068544 +0100
+--- a/drivers/isdn/hisax/gazel.c
++++ b/drivers/isdn/hisax/gazel.c
 @@ -1,4 +1,4 @@
 -/* $Id: gazel.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: gazel.c,v 2.19 2001/09/24 13:22:56 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: gazel.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: gazel.c,v 2.19 2001/09/24 13:22:56 kai Exp $
@@ -6301,7 +6218,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/gazel.c linux-2.4.29/drivers/isdn/
  
  #define R647      1
  #define R685      2
  
  #define R647      1
  #define R685      2
-@@ -563,8 +564,8 @@
+@@ -563,8 +564,8 @@ setup_gazelpci(struct IsdnCardState *cs)
                        if (pci_enable_device(dev_tel))
                                return 1;
                        pci_irq = dev_tel->irq;
                        if (pci_enable_device(dev_tel))
                                return 1;
                        pci_irq = dev_tel->irq;
@@ -6312,16 +6229,15 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/gazel.c linux-2.4.29/drivers/isdn/
                        found = 1;
                }
                if (found)
                        found = 1;
                }
                if (found)
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_2bds0.c linux-2.4.29/drivers/isdn/hisax/hfc_2bds0.c
---- linux-2.4.29.old/drivers/isdn/hisax/hfc_2bds0.c    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfc_2bds0.c        2005-03-22 15:06:46.221066112 +0100
+--- a/drivers/isdn/hisax/hfc_2bds0.c
++++ b/drivers/isdn/hisax/hfc_2bds0.c
 @@ -1,4 +1,4 @@
 -/* $Id: hfc_2bds0.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: hfc_2bds0.c,v 1.18 2001/09/24 13:22:56 kai Exp $
   *
   * specific routines for CCD's HFC 2BDS0
   *
 @@ -1,4 +1,4 @@
 -/* $Id: hfc_2bds0.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: hfc_2bds0.c,v 1.18 2001/09/24 13:22:56 kai Exp $
   *
   * specific routines for CCD's HFC 2BDS0
   *
-@@ -616,6 +616,17 @@
+@@ -616,6 +616,17 @@ hfcd_bh(struct IsdnCardState *cs)
  */
        if (!cs)
                return;
  */
        if (!cs)
                return;
@@ -6339,7 +6255,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_2bds0.c linux-2.4.29/drivers/i
        if (test_and_clear_bit(D_L1STATECHANGE, &cs->event)) {
                switch (cs->dc.hfcd.ph_state) {
                        case (0):
        if (test_and_clear_bit(D_L1STATECHANGE, &cs->event)) {
                switch (cs->dc.hfcd.ph_state) {
                        case (0):
-@@ -1090,6 +1101,32 @@
+@@ -1090,6 +1101,32 @@ HFCD_l1hw(struct PStack *st, int pr, voi
                        cs->hw.hfcD.mst_m |= HFCD_MASTER;
                        cs->writeisac(cs, HFCD_MST_MODE, cs->hw.hfcD.mst_m);
                        break;
                        cs->hw.hfcD.mst_m |= HFCD_MASTER;
                        cs->writeisac(cs, HFCD_MST_MODE, cs->hw.hfcD.mst_m);
                        break;
@@ -6372,7 +6288,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_2bds0.c linux-2.4.29/drivers/i
                default:
                        if (cs->debug & L1_DEB_WARN)
                                debugl1(cs, "hfcd_l1hw unknown pr %4x", pr);
                default:
                        if (cs->debug & L1_DEB_WARN)
                                debugl1(cs, "hfcd_l1hw unknown pr %4x", pr);
-@@ -1106,6 +1143,20 @@
+@@ -1106,6 +1143,20 @@ setstack_hfcd(struct PStack *st, struct 
  static void
  hfc_dbusy_timer(struct IsdnCardState *cs)
  {
  static void
  hfc_dbusy_timer(struct IsdnCardState *cs)
  {
@@ -6393,36 +6309,32 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_2bds0.c linux-2.4.29/drivers/i
  }
  
  unsigned int __init
  }
  
  unsigned int __init
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_2bds0.h linux-2.4.29/drivers/isdn/hisax/hfc_2bds0.h
---- linux-2.4.29.old/drivers/isdn/hisax/hfc_2bds0.h    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfc_2bds0.h        2005-03-22 15:06:46.236063832 +0100
+--- a/drivers/isdn/hisax/hfc_2bds0.h
++++ b/drivers/isdn/hisax/hfc_2bds0.h
 @@ -1,4 +1,4 @@
 -/* $Id: hfc_2bds0.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: hfc_2bds0.h,v 1.6 2001/09/24 13:22:56 kai Exp $
   *
   * specific defines for CCD's HFC 2BDS0
   *
 @@ -1,4 +1,4 @@
 -/* $Id: hfc_2bds0.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: hfc_2bds0.h,v 1.6 2001/09/24 13:22:56 kai Exp $
   *
   * specific defines for CCD's HFC 2BDS0
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_2bs0.c linux-2.4.29/drivers/isdn/hisax/hfc_2bs0.c
---- linux-2.4.29.old/drivers/isdn/hisax/hfc_2bs0.c     2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfc_2bs0.c 2005-03-22 15:06:46.272058360 +0100
+--- a/drivers/isdn/hisax/hfc_2bs0.c
++++ b/drivers/isdn/hisax/hfc_2bs0.c
 @@ -1,4 +1,4 @@
 -/* $Id: hfc_2bs0.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: hfc_2bs0.c,v 1.20 2001/09/24 13:22:56 kai Exp $
   *
   * specific routines for CCD's HFC 2BS0
   *
 @@ -1,4 +1,4 @@
 -/* $Id: hfc_2bs0.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: hfc_2bs0.c,v 1.20 2001/09/24 13:22:56 kai Exp $
   *
   * specific routines for CCD's HFC 2BS0
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_2bs0.h linux-2.4.29/drivers/isdn/hisax/hfc_2bs0.h
---- linux-2.4.29.old/drivers/isdn/hisax/hfc_2bs0.h     2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfc_2bs0.h 2005-03-22 15:06:46.288055928 +0100
+--- a/drivers/isdn/hisax/hfc_2bs0.h
++++ b/drivers/isdn/hisax/hfc_2bs0.h
 @@ -1,4 +1,4 @@
 -/* $Id: hfc_2bs0.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: hfc_2bs0.h,v 1.5 2001/09/24 13:22:56 kai Exp $
   *
   * specific defines for CCD's HFC 2BS0
   *
 @@ -1,4 +1,4 @@
 -/* $Id: hfc_2bs0.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: hfc_2bs0.h,v 1.5 2001/09/24 13:22:56 kai Exp $
   *
   * specific defines for CCD's HFC 2BS0
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_pci.c linux-2.4.29/drivers/isdn/hisax/hfc_pci.c
---- linux-2.4.29.old/drivers/isdn/hisax/hfc_pci.c      2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfc_pci.c  2005-03-22 15:06:46.305053344 +0100
+--- a/drivers/isdn/hisax/hfc_pci.c
++++ b/drivers/isdn/hisax/hfc_pci.c
 @@ -1,4 +1,4 @@
 -/* $Id: hfc_pci.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: hfc_pci.c,v 1.48 2001/09/24 13:22:56 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: hfc_pci.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: hfc_pci.c,v 1.48 2001/09/24 13:22:56 kai Exp $
@@ -6443,7 +6355,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_pci.c linux-2.4.29/drivers/isd
  
  /* table entry in the PCI devices list */
  typedef struct {
  
  /* table entry in the PCI devices list */
  typedef struct {
-@@ -76,8 +77,6 @@
+@@ -76,8 +77,6 @@ release_io_hfcpci(struct IsdnCardState *
  {
        unsigned long flags;
  
  {
        unsigned long flags;
  
@@ -6452,7 +6364,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_pci.c linux-2.4.29/drivers/isd
        save_flags(flags);
        cli();
        cs->hw.hfcpci.int_m2 = 0;       /* interrupt output off ! */
        save_flags(flags);
        cli();
        cs->hw.hfcpci.int_m2 = 0;       /* interrupt output off ! */
-@@ -88,11 +87,13 @@
+@@ -88,11 +87,13 @@ release_io_hfcpci(struct IsdnCardState *
        set_current_state(TASK_UNINTERRUPTIBLE);
        schedule_timeout((30 * HZ) / 1000);     /* Timeout 30ms */
        Write_hfc(cs, HFCPCI_CIRM, 0);  /* Reset Off */
        set_current_state(TASK_UNINTERRUPTIBLE);
        schedule_timeout((30 * HZ) / 1000);     /* Timeout 30ms */
        Write_hfc(cs, HFCPCI_CIRM, 0);  /* Reset Off */
@@ -6467,7 +6379,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_pci.c linux-2.4.29/drivers/isd
  }
  
  /********************************************************************************/
  }
  
  /********************************************************************************/
-@@ -687,10 +688,6 @@
+@@ -687,10 +688,6 @@ hfcpci_fill_fifo(struct BCState *bcs)
                                debugl1(cs, "hfcpci_fill_fifo_trans %d frame length %d discarded",
                                        bcs->channel, bcs->tx_skb->len);
  
                                debugl1(cs, "hfcpci_fill_fifo_trans %d frame length %d discarded",
                                        bcs->channel, bcs->tx_skb->len);
  
@@ -6478,7 +6390,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_pci.c linux-2.4.29/drivers/isd
                        dev_kfree_skb_any(bcs->tx_skb);
                        cli();
                        bcs->tx_skb = skb_dequeue(&bcs->squeue);        /* fetch next data */
                        dev_kfree_skb_any(bcs->tx_skb);
                        cli();
                        bcs->tx_skb = skb_dequeue(&bcs->squeue);        /* fetch next data */
-@@ -1146,6 +1143,20 @@
+@@ -1146,6 +1143,20 @@ hfcpci_interrupt(int intno, void *dev_id
  static void
  hfcpci_dbusy_timer(struct IsdnCardState *cs)
  {
  static void
  hfcpci_dbusy_timer(struct IsdnCardState *cs)
  {
@@ -6499,7 +6411,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_pci.c linux-2.4.29/drivers/isd
  }
  
  /*************************************/
  }
  
  /*************************************/
-@@ -1550,6 +1561,17 @@
+@@ -1550,6 +1561,17 @@ hfcpci_bh(struct IsdnCardState *cs)
   */
        if (!cs)
                return;
   */
        if (!cs)
                return;
@@ -6517,7 +6429,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_pci.c linux-2.4.29/drivers/isd
        if (test_and_clear_bit(D_L1STATECHANGE, &cs->event)) {
                if (!cs->hw.hfcpci.nt_mode)
                        switch (cs->dc.hfcpci.ph_state) {
        if (test_and_clear_bit(D_L1STATECHANGE, &cs->event)) {
                if (!cs->hw.hfcpci.nt_mode)
                        switch (cs->dc.hfcpci.ph_state) {
-@@ -1712,7 +1734,7 @@
+@@ -1712,7 +1734,7 @@ setup_hfcpci(struct IsdnCard *card)
                                if (pci_enable_device(tmp_hfcpci))
                                        continue;
                                pci_set_master(tmp_hfcpci);
                                if (pci_enable_device(tmp_hfcpci))
                                        continue;
                                pci_set_master(tmp_hfcpci);
@@ -6526,7 +6438,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_pci.c linux-2.4.29/drivers/isd
                                        continue;
                                else
                                        break;
                                        continue;
                                else
                                        break;
-@@ -1729,7 +1751,7 @@
+@@ -1729,7 +1751,7 @@ setup_hfcpci(struct IsdnCard *card)
                                printk(KERN_WARNING "HFC-PCI: No IRQ for PCI card found\n");
                                return (0);
                        }
                                printk(KERN_WARNING "HFC-PCI: No IRQ for PCI card found\n");
                                return (0);
                        }
@@ -6535,7 +6447,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_pci.c linux-2.4.29/drivers/isd
                        printk(KERN_INFO "HiSax: HFC-PCI card manufacturer: %s card name: %s\n", id_list[i].vendor_name, id_list[i].card_name);
                } else {
                        printk(KERN_WARNING "HFC-PCI: No PCI card found\n");
                        printk(KERN_INFO "HiSax: HFC-PCI card manufacturer: %s card name: %s\n", id_list[i].vendor_name, id_list[i].card_name);
                } else {
                        printk(KERN_WARNING "HFC-PCI: No PCI card found\n");
-@@ -1746,7 +1768,7 @@
+@@ -1746,7 +1768,7 @@ setup_hfcpci(struct IsdnCard *card)
                        printk(KERN_WARNING "HFC-PCI: Error allocating memory for FIFO!\n");
                        return 0;
                }
                        printk(KERN_WARNING "HFC-PCI: Error allocating memory for FIFO!\n");
                        return 0;
                }
@@ -6544,18 +6456,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_pci.c linux-2.4.29/drivers/isd
                    (((ulong) cs->hw.hfcpci.share_start) & ~0x7FFF) + 0x8000;
                pcibios_write_config_dword(cs->hw.hfcpci.pci_bus,
                                       cs->hw.hfcpci.pci_device_fn, 0x80,
                    (((ulong) cs->hw.hfcpci.share_start) & ~0x7FFF) + 0x8000;
                pcibios_write_config_dword(cs->hw.hfcpci.pci_bus,
                                       cs->hw.hfcpci.pci_device_fn, 0x80,
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_pci.h linux-2.4.29/drivers/isdn/hisax/hfc_pci.h
---- linux-2.4.29.old/drivers/isdn/hisax/hfc_pci.h      2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfc_pci.h  2005-03-22 15:06:46.320051064 +0100
+--- a/drivers/isdn/hisax/hfc_pci.h
++++ b/drivers/isdn/hisax/hfc_pci.h
 @@ -1,4 +1,4 @@
 -/* $Id: hfc_pci.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: hfc_pci.h,v 1.10 2001/09/24 13:22:56 kai Exp $
   *
   * specific defines for CCD's HFC 2BDS0 PCI chips
   *
 @@ -1,4 +1,4 @@
 -/* $Id: hfc_pci.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: hfc_pci.h,v 1.10 2001/09/24 13:22:56 kai Exp $
   *
   * specific defines for CCD's HFC 2BDS0 PCI chips
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_sx.c linux-2.4.29/drivers/isdn/hisax/hfc_sx.c
---- linux-2.4.29.old/drivers/isdn/hisax/hfc_sx.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfc_sx.c   2005-03-22 15:06:46.350046504 +0100
+--- a/drivers/isdn/hisax/hfc_sx.c
++++ b/drivers/isdn/hisax/hfc_sx.c
 @@ -1,4 +1,4 @@
 -/* $Id: hfc_sx.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: hfc_sx.c,v 1.12 2001/09/24 13:22:56 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: hfc_sx.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: hfc_sx.c,v 1.12 2001/09/24 13:22:56 kai Exp $
@@ -6575,7 +6485,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_sx.c linux-2.4.29/drivers/isdn
  
  /***************************************/
  /* IRQ-table for CCDs demo board       */
  
  /***************************************/
  /* IRQ-table for CCDs demo board       */
-@@ -940,6 +939,20 @@
+@@ -940,6 +939,20 @@ hfcsx_interrupt(int intno, void *dev_id,
  static void
  hfcsx_dbusy_timer(struct IsdnCardState *cs)
  {
  static void
  hfcsx_dbusy_timer(struct IsdnCardState *cs)
  {
@@ -6596,7 +6506,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_sx.c linux-2.4.29/drivers/isdn
  }
  
  /*************************************/
  }
  
  /*************************************/
-@@ -1333,6 +1346,17 @@
+@@ -1333,6 +1346,17 @@ hfcsx_bh(struct IsdnCardState *cs)
   */
        if (!cs)
                return;
   */
        if (!cs)
                return;
@@ -6614,7 +6524,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_sx.c linux-2.4.29/drivers/isdn
        if (test_and_clear_bit(D_L1STATECHANGE, &cs->event)) {
                if (!cs->hw.hfcsx.nt_mode)
                        switch (cs->dc.hfcsx.ph_state) {
        if (test_and_clear_bit(D_L1STATECHANGE, &cs->event)) {
                if (!cs->hw.hfcsx.nt_mode)
                        switch (cs->dc.hfcsx.ph_state) {
-@@ -1461,17 +1485,7 @@
+@@ -1461,17 +1485,7 @@ hfcsx_card_msg(struct IsdnCardState *cs,
        return (0);
  }
  
        return (0);
  }
  
@@ -6632,7 +6542,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_sx.c linux-2.4.29/drivers/isdn
  
  int __devinit
  setup_hfcsx(struct IsdnCard *card)
  
  int __devinit
  setup_hfcsx(struct IsdnCard *card)
-@@ -1482,45 +1496,6 @@
+@@ -1482,45 +1496,6 @@ setup_hfcsx(struct IsdnCard *card)
  
        strcpy(tmp, hfcsx_revision);
        printk(KERN_INFO "HiSax: HFC-SX driver Rev. %s\n", HiSax_getrev(tmp));
  
        strcpy(tmp, hfcsx_revision);
        printk(KERN_INFO "HiSax: HFC-SX driver Rev. %s\n", HiSax_getrev(tmp));
@@ -6678,7 +6588,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_sx.c linux-2.4.29/drivers/isdn
        cs->hw.hfcsx.base = card->para[1] & 0xfffe;
        cs->irq = card->para[0];
        cs->hw.hfcsx.int_s1 = 0;
        cs->hw.hfcsx.base = card->para[1] & 0xfffe;
        cs->irq = card->para[0];
        cs->hw.hfcsx.int_s1 = 0;
-@@ -1603,3 +1578,7 @@
+@@ -1603,3 +1578,7 @@ setup_hfcsx(struct IsdnCard *card)
        cs->auxcmd = &hfcsx_auxcmd;
        return (1);
  }
        cs->auxcmd = &hfcsx_auxcmd;
        return (1);
  }
@@ -6686,18 +6596,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_sx.c linux-2.4.29/drivers/isdn
 +
 +
 +
 +
 +
 +
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_sx.h linux-2.4.29/drivers/isdn/hisax/hfc_sx.h
---- linux-2.4.29.old/drivers/isdn/hisax/hfc_sx.h       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfc_sx.h   2005-03-22 15:06:46.365044224 +0100
+--- a/drivers/isdn/hisax/hfc_sx.h
++++ b/drivers/isdn/hisax/hfc_sx.h
 @@ -1,4 +1,4 @@
 -/* $Id: hfc_sx.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id$
   *
   * specific defines for CCD's HFC 2BDS0 S+,SP chips
   *
 @@ -1,4 +1,4 @@
 -/* $Id: hfc_sx.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id$
   *
   * specific defines for CCD's HFC 2BDS0 S+,SP chips
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_usb.c linux-2.4.29/drivers/isdn/hisax/hfc_usb.c
---- linux-2.4.29.old/drivers/isdn/hisax/hfc_usb.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfc_usb.c  2005-03-22 15:06:46.381041792 +0100
+--- /dev/null
++++ b/drivers/isdn/hisax/hfc_usb.c
 @@ -0,0 +1,1189 @@
 +/* $Id: hfc_usb.c,v 2.3 2001/07/06 21:30:11 werner Exp $
 + *
 @@ -0,0 +1,1189 @@
 +/* $Id: hfc_usb.c,v 2.3 2001/07/06 21:30:11 werner Exp $
 + *
@@ -7888,9 +7796,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_usb.c linux-2.4.29/drivers/isd
 +
 +module_init(hfc_usb_init);
 +module_exit(hfc_usb_exit);
 +
 +module_init(hfc_usb_init);
 +module_exit(hfc_usb_exit);
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_usbr.c linux-2.4.29/drivers/isdn/hisax/hfc_usbr.c
---- linux-2.4.29.old/drivers/isdn/hisax/hfc_usbr.c     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfc_usbr.c 2005-03-22 15:06:46.397039360 +0100
+--- /dev/null
++++ b/drivers/isdn/hisax/hfc_usbr.c
 @@ -0,0 +1,471 @@
 +/* $Id: hfc_usbr.c,v 2.5 2001/07/06 21:30:11 werner Exp $
 +
 @@ -0,0 +1,471 @@
 +/* $Id: hfc_usbr.c,v 2.5 2001/07/06 21:30:11 werner Exp $
 +
@@ -8363,9 +8270,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_usbr.c linux-2.4.29/drivers/is
 +      cs->cardmsg = &hfcusb_card_msg;
 +      return (1);             /* success */
 +}
 +      cs->cardmsg = &hfcusb_card_msg;
 +      return (1);             /* success */
 +}
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfcscard.c linux-2.4.29/drivers/isdn/hisax/hfcscard.c
---- linux-2.4.29.old/drivers/isdn/hisax/hfcscard.c     2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfcscard.c 2005-03-22 15:06:46.412037080 +0100
+--- a/drivers/isdn/hisax/hfcscard.c
++++ b/drivers/isdn/hisax/hfcscard.c
 @@ -1,4 +1,4 @@
 -/* $Id: hfcscard.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: hfcscard.c,v 1.10 2001/09/24 13:22:56 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: hfcscard.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
 +/* $Id: hfcscard.c,v 1.10 2001/09/24 13:22:56 kai Exp $
@@ -8388,7 +8294,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfcscard.c linux-2.4.29/drivers/is
  
  static void
  hfcs_interrupt(int intno, void *dev_id, struct pt_regs *regs)
  
  static void
  hfcs_interrupt(int intno, void *dev_id, struct pt_regs *regs)
-@@ -140,36 +139,6 @@
+@@ -140,36 +139,6 @@ hfcs_card_msg(struct IsdnCardState *cs, 
        return(0);
  }
  
        return(0);
  }
  
@@ -8425,7 +8331,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfcscard.c linux-2.4.29/drivers/is
  int __init
  setup_hfcs(struct IsdnCard *card)
  {
  int __init
  setup_hfcs(struct IsdnCard *card)
  {
-@@ -178,46 +147,6 @@
+@@ -178,46 +147,6 @@ setup_hfcs(struct IsdnCard *card)
  
        strcpy(tmp, hfcs_revision);
        printk(KERN_INFO "HiSax: HFC-S driver Rev. %s\n", HiSax_getrev(tmp));
  
        strcpy(tmp, hfcs_revision);
        printk(KERN_INFO "HiSax: HFC-S driver Rev. %s\n", HiSax_getrev(tmp));
@@ -8472,9 +8378,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfcscard.c linux-2.4.29/drivers/is
        cs->hw.hfcD.addr = card->para[1] & 0xfffe;
        cs->irq = card->para[0];
        cs->hw.hfcD.cip = 0;
        cs->hw.hfcD.addr = card->para[1] & 0xfffe;
        cs->irq = card->para[0];
        cs->hw.hfcD.cip = 0;
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax.h linux-2.4.29/drivers/isdn/hisax/hisax.h
---- linux-2.4.29.old/drivers/isdn/hisax/hisax.h        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hisax.h    2005-03-22 15:06:46.431034192 +0100
+--- a/drivers/isdn/hisax/hisax.h
++++ b/drivers/isdn/hisax/hisax.h
 @@ -1,4 +1,4 @@
 -/* $Id: hisax.h,v 1.1.4.2 2001/12/09 19:15:28 kai Exp $
 +/* $Id: hisax.h,v 2.64 2001/09/24 13:22:56 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: hisax.h,v 1.1.4.2 2001/12/09 19:15:28 kai Exp $
 +/* $Id: hisax.h,v 2.64 2001/09/24 13:22:56 kai Exp $
@@ -8501,7 +8406,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax.h linux-2.4.29/drivers/isdn/
  #define MDL_ASSIGN    0x0280
  #define MDL_REMOVE    0x0284
  #define MDL_ERROR     0x0288
  #define MDL_ASSIGN    0x0280
  #define MDL_REMOVE    0x0284
  #define MDL_ERROR     0x0288
-@@ -472,8 +471,6 @@
+@@ -472,8 +471,6 @@ struct amd7930_hw {
  #define BC_FLG_FTI_RUN        13
  #define BC_FLG_LL_OK  14
  #define BC_FLG_LL_CONN        15
  #define BC_FLG_FTI_RUN        13
  #define BC_FLG_LL_OK  14
  #define BC_FLG_LL_CONN        15
@@ -8510,7 +8415,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax.h linux-2.4.29/drivers/isdn/
  
  #define L1_MODE_NULL  0
  #define L1_MODE_TRANS 1
  
  #define L1_MODE_NULL  0
  #define L1_MODE_TRANS 1
-@@ -695,6 +692,13 @@
+@@ -695,6 +692,13 @@ struct hfcPCI_hw {
        struct timer_list timer;
  };
  
        struct timer_list timer;
  };
  
@@ -8524,7 +8429,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax.h linux-2.4.29/drivers/isdn/
  struct hfcSX_hw {
          unsigned long base;
        unsigned char cirm;
  struct hfcSX_hw {
          unsigned long base;
        unsigned char cirm;
-@@ -838,17 +842,6 @@
+@@ -838,17 +842,6 @@ struct w6692_chip {
        int ph_state;
  };
  
        int ph_state;
  };
  
@@ -8542,7 +8447,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax.h linux-2.4.29/drivers/isdn/
  struct icc_chip {
        int ph_state;
        u_char *mon_tx;
  struct icc_chip {
        int ph_state;
        u_char *mon_tx;
-@@ -902,6 +895,9 @@
+@@ -902,6 +895,9 @@ struct IsdnCardState {
                struct njet_hw njet;
                struct hfcD_hw hfcD;
                struct hfcPCI_hw hfcpci;
                struct njet_hw njet;
                struct hfcD_hw hfcD;
                struct hfcPCI_hw hfcpci;
@@ -8552,7 +8457,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax.h linux-2.4.29/drivers/isdn/
                struct hfcSX_hw hfcsx;
                struct ix1_hw niccy;
                struct isurf_hw isurf;
                struct hfcSX_hw hfcsx;
                struct ix1_hw niccy;
                struct isurf_hw isurf;
-@@ -945,7 +941,6 @@
+@@ -945,7 +941,6 @@ struct IsdnCardState {
                struct hfcpci_chip hfcpci;
                struct hfcsx_chip hfcsx;
                struct w6692_chip w6692;
                struct hfcpci_chip hfcpci;
                struct hfcsx_chip hfcsx;
                struct w6692_chip w6692;
@@ -8560,7 +8465,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax.h linux-2.4.29/drivers/isdn/
                struct icc_chip icc;
        } dc;
        u_char *rcvbuf;
                struct icc_chip icc;
        } dc;
        u_char *rcvbuf;
-@@ -967,6 +962,8 @@
+@@ -967,6 +962,8 @@ struct IsdnCardState {
  #define  MON0_TX      4
  #define  MON1_TX      8
  
  #define  MON0_TX      4
  #define  MON1_TX      8
  
@@ -8569,7 +8474,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax.h linux-2.4.29/drivers/isdn/
  #define  ISDN_CTYPE_16_0      1
  #define  ISDN_CTYPE_8_0               2
  #define  ISDN_CTYPE_16_3      3
  #define  ISDN_CTYPE_16_0      1
  #define  ISDN_CTYPE_8_0               2
  #define  ISDN_CTYPE_16_3      3
-@@ -1006,8 +1003,8 @@
+@@ -1006,8 +1003,8 @@ struct IsdnCardState {
  #define  ISDN_CTYPE_HFC_SX      37
  #define  ISDN_CTYPE_NETJET_U  38
  #define  ISDN_CTYPE_HFC_SP_PCMCIA      39
  #define  ISDN_CTYPE_HFC_SX      37
  #define  ISDN_CTYPE_NETJET_U  38
  #define  ISDN_CTYPE_HFC_SP_PCMCIA      39
@@ -8580,7 +8485,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax.h linux-2.4.29/drivers/isdn/
  #define  ISDN_CTYPE_COUNT     41
  
  
  #define  ISDN_CTYPE_COUNT     41
  
  
-@@ -1267,10 +1264,6 @@
+@@ -1267,10 +1264,6 @@ struct IsdnCardState {
  #define CARD_NETJET_U 0
  #endif
  
  #define CARD_NETJET_U 0
  #endif
  
@@ -8591,9 +8496,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax.h linux-2.4.29/drivers/isdn/
  #define TEI_PER_CARD 1
  
  /* L1 Debug */
  #define TEI_PER_CARD 1
  
  /* L1 Debug */
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_debug.h linux-2.4.29/drivers/isdn/hisax/hisax_debug.h
---- linux-2.4.29.old/drivers/isdn/hisax/hisax_debug.h  2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hisax_debug.h      2005-03-22 15:06:46.452031000 +0100
+--- a/drivers/isdn/hisax/hisax_debug.h
++++ b/drivers/isdn/hisax/hisax_debug.h
 @@ -28,7 +28,7 @@
  
  #define DBG(level, format, arg...) do { \
 @@ -28,7 +28,7 @@
  
  #define DBG(level, format, arg...) do { \
@@ -8603,9 +8507,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_debug.h linux-2.4.29/drivers
  } while (0)
  
  #define DBG_PACKET(level,data,count) \
  } while (0)
  
  #define DBG_PACKET(level,data,count) \
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/drivers/isdn/hisax/hisax_fcpcipnp.c
---- linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hisax_fcpcipnp.c   2005-03-22 15:06:46.468028568 +0100
+--- a/drivers/isdn/hisax/hisax_fcpcipnp.c
++++ b/drivers/isdn/hisax/hisax_fcpcipnp.c
 @@ -20,22 +20,19 @@
   *
   * o POWER PC
 @@ -20,22 +20,19 @@
   *
   * o POWER PC
@@ -8631,7 +8534,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
  
  // debugging cruft
  #define __debug_variable debug
  
  // debugging cruft
  #define __debug_variable debug
-@@ -46,10 +43,14 @@
+@@ -46,10 +43,14 @@ static int debug = 0;
  MODULE_PARM(debug, "i");
  #endif
  
  MODULE_PARM(debug, "i");
  #endif
  
@@ -8648,7 +8551,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
        { PCI_VENDOR_ID_AVM, PCI_DEVICE_ID_AVM_A1   , PCI_ANY_ID, PCI_ANY_ID,
          0, 0, (unsigned long) "Fritz!Card PCI" },
        { PCI_VENDOR_ID_AVM, PCI_DEVICE_ID_AVM_A1_V2, PCI_ANY_ID, PCI_ANY_ID,
        { PCI_VENDOR_ID_AVM, PCI_DEVICE_ID_AVM_A1   , PCI_ANY_ID, PCI_ANY_ID,
          0, 0, (unsigned long) "Fritz!Card PCI" },
        { PCI_VENDOR_ID_AVM, PCI_DEVICE_ID_AVM_A1_V2, PCI_ANY_ID, PCI_ANY_ID,
-@@ -58,7 +59,7 @@
+@@ -58,7 +59,7 @@ static struct pci_device_id fcpci_ids[] 
  };
  MODULE_DEVICE_TABLE(pci, fcpci_ids);
  
  };
  MODULE_DEVICE_TABLE(pci, fcpci_ids);
  
@@ -8657,7 +8560,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
        { ISAPNP_VENDOR('A', 'V', 'M'), ISAPNP_FUNCTION(0x0900),
          ISAPNP_VENDOR('A', 'V', 'M'), ISAPNP_FUNCTION(0x0900), 
          (unsigned long) "Fritz!Card PnP" },
        { ISAPNP_VENDOR('A', 'V', 'M'), ISAPNP_FUNCTION(0x0900),
          ISAPNP_VENDOR('A', 'V', 'M'), ISAPNP_FUNCTION(0x0900), 
          (unsigned long) "Fritz!Card PnP" },
-@@ -68,7 +69,8 @@
+@@ -68,7 +69,8 @@ MODULE_DEVICE_TABLE(isapnp, fcpnp_ids);
  
  static int protocol = 2;       /* EURO-ISDN Default */
  MODULE_PARM(protocol, "i");
  
  static int protocol = 2;       /* EURO-ISDN Default */
  MODULE_PARM(protocol, "i");
@@ -8667,7 +8570,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
  
  // ----------------------------------------------------------------------
  
  
  // ----------------------------------------------------------------------
  
-@@ -147,7 +149,7 @@
+@@ -147,7 +149,7 @@ static unsigned char fcpci_read_isac(str
        outb(idx, adapter->io + AVM_INDEX);
        val = inb(adapter->io + AVM_DATA + (offset & 0xf));
        spin_unlock_irqrestore(&adapter->hw_lock, flags);
        outb(idx, adapter->io + AVM_INDEX);
        val = inb(adapter->io + AVM_DATA + (offset & 0xf));
        spin_unlock_irqrestore(&adapter->hw_lock, flags);
@@ -8676,7 +8579,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
            offset, val);
        return val;
  }
            offset, val);
        return val;
  }
-@@ -160,7 +162,7 @@
+@@ -160,7 +162,7 @@ static void fcpci_write_isac(struct isac
                AVM_IDX_ISAC_REG_HIGH : AVM_IDX_ISAC_REG_LOW;
        unsigned long flags;
  
                AVM_IDX_ISAC_REG_HIGH : AVM_IDX_ISAC_REG_LOW;
        unsigned long flags;
  
@@ -8685,7 +8588,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
            offset, value);
        spin_lock_irqsave(&adapter->hw_lock, flags);
        outb(idx, adapter->io + AVM_INDEX);
            offset, value);
        spin_lock_irqsave(&adapter->hw_lock, flags);
        outb(idx, adapter->io + AVM_INDEX);
-@@ -240,7 +242,7 @@
+@@ -240,7 +242,7 @@ static unsigned char fcpci2_read_isac(st
        outl(offset, adapter->io + AVM_ISACSX_INDEX);
        val = inl(adapter->io + AVM_ISACSX_DATA);
        spin_unlock_irqrestore(&adapter->hw_lock, flags);
        outl(offset, adapter->io + AVM_ISACSX_INDEX);
        val = inl(adapter->io + AVM_ISACSX_DATA);
        spin_unlock_irqrestore(&adapter->hw_lock, flags);
@@ -8694,7 +8597,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
            offset, val);
  
        return val;
            offset, val);
  
        return val;
-@@ -252,7 +254,7 @@
+@@ -252,7 +254,7 @@ static void fcpci2_write_isac(struct isa
        struct fritz_adapter *adapter = isac->priv;
        unsigned long flags;
  
        struct fritz_adapter *adapter = isac->priv;
        unsigned long flags;
  
@@ -8703,7 +8606,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
            offset, value);
        spin_lock_irqsave(&adapter->hw_lock, flags);
        outl(offset, adapter->io + AVM_ISACSX_INDEX);
            offset, value);
        spin_lock_irqsave(&adapter->hw_lock, flags);
        outl(offset, adapter->io + AVM_ISACSX_INDEX);
-@@ -375,6 +377,9 @@
+@@ -375,6 +377,9 @@ static void hdlc_fill_fifo(struct fritz_
  
        DBG(0x40, "hdlc_fill_fifo");
  
  
        DBG(0x40, "hdlc_fill_fifo");
  
@@ -8713,7 +8616,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
        if (skb->len == 0)
                BUG();
  
        if (skb->len == 0)
                BUG();
  
-@@ -515,7 +520,6 @@
+@@ -515,7 +520,6 @@ static inline void hdlc_xdu_irq(struct f
        }
        skb_push(bcs->tx_skb, bcs->tx_cnt);
        bcs->tx_cnt = 0;
        }
        skb_push(bcs->tx_skb, bcs->tx_cnt);
        bcs->tx_cnt = 0;
@@ -8721,7 +8624,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
  }
  
  static inline void hdlc_xpr_irq(struct fritz_bcs *bcs)
  }
  
  static inline void hdlc_xpr_irq(struct fritz_bcs *bcs)
-@@ -536,7 +540,7 @@
+@@ -536,7 +540,7 @@ static inline void hdlc_xpr_irq(struct f
        dev_kfree_skb_irq(skb);
  }
  
        dev_kfree_skb_irq(skb);
  }
  
@@ -8730,7 +8633,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
  {
        DBG(0x10, "ch%d stat %#x", bcs->channel, stat);
        if (stat & HDLC_INT_RPR) {
  {
        DBG(0x10, "ch%d stat %#x", bcs->channel, stat);
        if (stat & HDLC_INT_RPR) {
-@@ -553,7 +557,7 @@
+@@ -553,7 +557,7 @@ static void hdlc_irq_one(struct fritz_bc
        }
  }
  
        }
  }
  
@@ -8739,7 +8642,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
  {
        int nr;
        u32 stat;
  {
        int nr;
        u32 stat;
-@@ -562,7 +566,7 @@
+@@ -562,7 +566,7 @@ static inline void hdlc_irq(struct fritz
                stat = adapter->read_hdlc_status(adapter, nr);
                DBG(0x10, "HDLC %c stat %#x", 'A' + nr, stat);
                if (stat & HDLC_INT_MASK)
                stat = adapter->read_hdlc_status(adapter, nr);
                DBG(0x10, "HDLC %c stat %#x", 'A' + nr, stat);
                if (stat & HDLC_INT_MASK)
@@ -8748,7 +8651,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
        }
  }
  
        }
  }
  
-@@ -584,14 +588,14 @@
+@@ -584,14 +588,14 @@ static void modehdlc(struct fritz_bcs *b
                adapter->write_ctrl(bcs, 5);
                break;
        case L1_MODE_TRANS:
                adapter->write_ctrl(bcs, 5);
                break;
        case L1_MODE_TRANS:
@@ -8770,7 +8673,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
                adapter->write_ctrl(bcs, 5);
                bcs->ctrl.sr.cmd = HDLC_CMD_XRS;
                adapter->write_ctrl(bcs, 1);
                adapter->write_ctrl(bcs, 5);
                bcs->ctrl.sr.cmd = HDLC_CMD_XRS;
                adapter->write_ctrl(bcs, 1);
-@@ -645,10 +649,10 @@
+@@ -645,10 +649,10 @@ static void fcpci2_irq(int intno, void *
                return;
        DBG(2, "STATUS0 %#x", val);
        if (val & AVM_STATUS0_IRQ_ISAC)
                return;
        DBG(2, "STATUS0 %#x", val);
        if (val & AVM_STATUS0_IRQ_ISAC)
@@ -8783,7 +8686,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
  }
  
  static void fcpci_irq(int intno, void *dev, struct pt_regs *regs)
  }
  
  static void fcpci_irq(int intno, void *dev, struct pt_regs *regs)
-@@ -662,10 +666,10 @@
+@@ -662,10 +666,10 @@ static void fcpci_irq(int intno, void *d
                return;
        DBG(2, "sval %#x", sval);
        if (!(sval & AVM_STATUS0_IRQ_ISAC))
                return;
        DBG(2, "sval %#x", sval);
        if (!(sval & AVM_STATUS0_IRQ_ISAC))
@@ -8796,7 +8699,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
  }
  
  // ----------------------------------------------------------------------
  }
  
  // ----------------------------------------------------------------------
-@@ -681,11 +685,6 @@
+@@ -681,11 +685,6 @@ static inline void fcpci_init(struct fri
  {
        outb(AVM_STATUS0_DIS_TIMER | AVM_STATUS0_RES_TIMER | 
             AVM_STATUS0_ENA_IRQ, adapter->io + AVM_STATUS0);
  {
        outb(AVM_STATUS0_DIS_TIMER | AVM_STATUS0_RES_TIMER | 
             AVM_STATUS0_ENA_IRQ, adapter->io + AVM_STATUS0);
@@ -8808,7 +8711,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
  }
  
  // ----------------------------------------------------------------------
  }
  
  // ----------------------------------------------------------------------
-@@ -693,6 +692,7 @@
+@@ -693,6 +692,7 @@ static inline void fcpci_init(struct fri
  static int __devinit fcpcipnp_setup(struct fritz_adapter *adapter)
  {
        u32 val = 0;
  static int __devinit fcpcipnp_setup(struct fritz_adapter *adapter)
  {
        u32 val = 0;
@@ -8816,7 +8719,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
        int retval;
  
        DBG(1,"");
        int retval;
  
        DBG(1,"");
-@@ -700,21 +700,21 @@
+@@ -700,21 +700,21 @@ static int __devinit fcpcipnp_setup(stru
        isac_init(&adapter->isac); // FIXME is this okay now
  
        retval = -EBUSY;
        isac_init(&adapter->isac); // FIXME is this okay now
  
        retval = -EBUSY;
@@ -8845,7 +8748,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
                break;
        }
        if (retval)
                break;
        }
        if (retval)
-@@ -808,11 +808,23 @@
+@@ -808,11 +808,23 @@ static int __devinit fcpcipnp_setup(stru
  
  static void __devexit fcpcipnp_release(struct fritz_adapter *adapter)
  {
  
  static void __devexit fcpcipnp_release(struct fritz_adapter *adapter)
  {
@@ -8870,7 +8773,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
  }
  
  // ----------------------------------------------------------------------
  }
  
  // ----------------------------------------------------------------------
-@@ -830,6 +842,8 @@
+@@ -830,6 +842,8 @@ new_adapter(struct pci_dev *pdev)
  
        memset(adapter, 0, sizeof(struct fritz_adapter));
  
  
        memset(adapter, 0, sizeof(struct fritz_adapter));
  
@@ -8879,7 +8782,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
        SET_MODULE_OWNER(&adapter->isac.hisax_d_if);
        adapter->isac.hisax_d_if.ifc.priv = &adapter->isac;
        adapter->isac.hisax_d_if.ifc.l2l1 = isac_d_l2l1;
        SET_MODULE_OWNER(&adapter->isac.hisax_d_if);
        adapter->isac.hisax_d_if.ifc.priv = &adapter->isac;
        adapter->isac.hisax_d_if.ifc.l2l1 = isac_d_l2l1;
-@@ -840,6 +854,7 @@
+@@ -840,6 +854,7 @@ new_adapter(struct pci_dev *pdev)
                adapter->bcs[i].b_if.ifc.priv = &adapter->bcs[i];
                adapter->bcs[i].b_if.ifc.l2l1 = fritz_b_l2l1;
        }
                adapter->bcs[i].b_if.ifc.priv = &adapter->bcs[i];
                adapter->bcs[i].b_if.ifc.l2l1 = fritz_b_l2l1;
        }
@@ -8887,7 +8790,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
  
        pci_set_drvdata(pdev, adapter);
  
  
        pci_set_drvdata(pdev, adapter);
  
-@@ -854,6 +869,7 @@
+@@ -854,6 +869,7 @@ new_adapter(struct pci_dev *pdev)
  static void delete_adapter(struct fritz_adapter *adapter)
  {
        hisax_unregister(&adapter->isac.hisax_d_if);
  static void delete_adapter(struct fritz_adapter *adapter)
  {
        hisax_unregister(&adapter->isac.hisax_d_if);
@@ -8895,7 +8798,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
        kfree(adapter);
  }
  
        kfree(adapter);
  }
  
-@@ -863,12 +879,15 @@
+@@ -863,12 +879,15 @@ static int __devinit fcpci_probe(struct 
        struct fritz_adapter *adapter;
        int retval;
  
        struct fritz_adapter *adapter;
        int retval;
  
@@ -8912,7 +8815,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
                adapter->type = AVM_FRITZ_PCIV2;
        else
                adapter->type = AVM_FRITZ_PCI;
                adapter->type = AVM_FRITZ_PCIV2;
        else
                adapter->type = AVM_FRITZ_PCI;
-@@ -876,12 +895,7 @@
+@@ -876,12 +895,7 @@ static int __devinit fcpci_probe(struct 
        retval = pci_enable_device(pdev);
        if (retval)
                goto err_free;
        retval = pci_enable_device(pdev);
        if (retval)
                goto err_free;
@@ -8925,7 +8828,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
  
        retval = fcpcipnp_setup(adapter);
        if (retval)
  
        retval = fcpcipnp_setup(adapter);
        if (retval)
-@@ -901,6 +915,9 @@
+@@ -901,6 +915,9 @@ static int __devinit fcpnp_probe(struct 
        struct fritz_adapter *adapter;
        int retval;
  
        struct fritz_adapter *adapter;
        int retval;
  
@@ -8935,7 +8838,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
        retval = -ENOMEM;
        adapter = new_adapter(pdev);
        if (!adapter)
        retval = -ENOMEM;
        adapter = new_adapter(pdev);
        if (!adapter)
-@@ -912,11 +929,8 @@
+@@ -912,11 +929,8 @@ static int __devinit fcpnp_probe(struct 
        pdev->deactivate(pdev); // why?
        pdev->activate(pdev);
        adapter->io = pdev->resource[0].start;
        pdev->deactivate(pdev); // why?
        pdev->activate(pdev);
        adapter->io = pdev->resource[0].start;
@@ -8949,7 +8852,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
        retval = fcpcipnp_setup(adapter);
        if (retval)
                goto err_free;
        retval = fcpcipnp_setup(adapter);
        if (retval)
                goto err_free;
-@@ -929,43 +943,35 @@
+@@ -929,43 +943,35 @@ static int __devinit fcpnp_probe(struct 
        return retval;
  }
  
        return retval;
  }
  
@@ -9004,7 +8907,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
  
        retval = pci_register_driver(&fcpci_driver);
        if (retval < 0)
  
        retval = pci_register_driver(&fcpci_driver);
        if (retval < 0)
-@@ -976,15 +982,14 @@
+@@ -976,15 +982,14 @@ static int __init hisax_fcpcipnp_init(vo
        if (retval < 0)
                goto out_unregister_pci;
  
        if (retval < 0)
                goto out_unregister_pci;
  
@@ -9022,7 +8925,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
   out_unregister_isapnp:
        isapnp_unregister_driver(&fcpnp_driver);
  #endif
   out_unregister_isapnp:
        isapnp_unregister_driver(&fcpnp_driver);
  #endif
-@@ -994,11 +999,15 @@
+@@ -994,11 +999,15 @@ static int __init hisax_fcpcipnp_init(vo
        return retval;
  }
  
        return retval;
  }
  
@@ -9041,10 +8944,9 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
 +#ifdef __ISAPNP__
 +#include "hisax_isapnp.c"
 +#endif
 +#ifdef __ISAPNP__
 +#include "hisax_isapnp.c"
 +#endif
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.h linux-2.4.29/drivers/isdn/hisax/hisax_fcpcipnp.h
---- linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.h       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hisax_fcpcipnp.h   2005-03-22 15:06:46.484026136 +0100
-@@ -43,10 +43,12 @@
+--- a/drivers/isdn/hisax/hisax_fcpcipnp.h
++++ b/drivers/isdn/hisax/hisax_fcpcipnp.h
+@@ -43,10 +43,12 @@ struct fritz_bcs {
  };
  
  struct fritz_adapter {
  };
  
  struct fritz_adapter {
@@ -9058,9 +8960,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.h linux-2.4.29/driv
        struct isac isac;
  
        struct fritz_bcs bcs[2];
        struct isac isac;
  
        struct fritz_bcs bcs[2];
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isac.c linux-2.4.29/drivers/isdn/hisax/hisax_isac.c
---- linux-2.4.29.old/drivers/isdn/hisax/hisax_isac.c   2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hisax_isac.c       2005-03-22 15:06:46.543017168 +0100
+--- a/drivers/isdn/hisax/hisax_isac.c
++++ b/drivers/isdn/hisax/hisax_isac.c
 @@ -34,7 +34,7 @@
  static int debug = 1;
  MODULE_PARM(debug, "i");
 @@ -34,7 +34,7 @@
  static int debug = 1;
  MODULE_PARM(debug, "i");
@@ -9070,7 +8971,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isac.c linux-2.4.29/drivers/
    "2086/2186 V1.1", 
    "2085 B1", 
    "2085 B2",
    "2086/2186 V1.1", 
    "2085 B1", 
    "2085 B2",
-@@ -42,10 +42,6 @@
+@@ -42,10 +42,6 @@ static char *ISACVer[] = {
  };
  #endif
  
  };
  #endif
  
@@ -9081,7 +8982,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isac.c linux-2.4.29/drivers/
  #define DBG_WARN      0x0001
  #define DBG_IRQ       0x0002
  #define DBG_L1M       0x0004
  #define DBG_WARN      0x0001
  #define DBG_IRQ       0x0002
  #define DBG_L1M       0x0004
-@@ -438,7 +434,7 @@
+@@ -438,7 +434,7 @@ static void l1m_debug(struct FsmInst *fi
        va_end(args);
  }
  
        va_end(args);
  }
  
@@ -9090,7 +8991,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isac.c linux-2.4.29/drivers/
  {
        int val;
  
  {
        int val;
  
-@@ -602,7 +598,7 @@
+@@ -602,7 +598,7 @@ static inline void isac_exi_interrupt(st
        }
  }
  
        }
  }
  
@@ -9099,7 +9000,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isac.c linux-2.4.29/drivers/
  {
        unsigned char val;
  
  {
        unsigned char val;
  
-@@ -635,8 +631,6 @@
+@@ -635,8 +631,6 @@ void isac_irq(struct isac *isac)
        if (val & ISAC_ISTA_SIN) {
                DBG(DBG_WARN, "SIN");
        }
        if (val & ISAC_ISTA_SIN) {
                DBG(DBG_WARN, "SIN");
        }
@@ -9108,7 +9009,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isac.c linux-2.4.29/drivers/
  }
  
  // ======================================================================
  }
  
  // ======================================================================
-@@ -742,7 +736,7 @@
+@@ -742,7 +736,7 @@ static inline void isacsx_icd_interrupt(
        }
  }
  
        }
  }
  
@@ -9117,7 +9018,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isac.c linux-2.4.29/drivers/
  {
        unsigned char val;
  
  {
        unsigned char val;
  
-@@ -755,7 +749,7 @@
+@@ -755,7 +749,7 @@ void isacsx_irq(struct isac *isac)
                isacsx_cic_interrupt(isac);
  }
  
                isacsx_cic_interrupt(isac);
  }
  
@@ -9126,7 +9027,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isac.c linux-2.4.29/drivers/
  {
        isac->tx_skb = NULL;
        isac->l1m.fsm = &l1fsm;
  {
        isac->tx_skb = NULL;
        isac->l1m.fsm = &l1fsm;
-@@ -770,7 +764,7 @@
+@@ -770,7 +764,7 @@ void isac_init(struct isac *isac)
        FsmInitTimer(&isac->l1m, &isac->timer);
  }
  
        FsmInitTimer(&isac->l1m, &isac->timer);
  }
  
@@ -9135,7 +9036,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isac.c linux-2.4.29/drivers/
  {
        int val, eval;
  
  {
        int val, eval;
  
-@@ -781,7 +775,7 @@
+@@ -781,7 +775,7 @@ void isac_setup(struct isac *isac)
  
        isac->write_isac(isac, ISAC_MASK, 0xff);
        isac->mocr = 0xaa;
  
        isac->write_isac(isac, ISAC_MASK, 0xff);
        isac->mocr = 0xaa;
@@ -9144,7 +9045,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isac.c linux-2.4.29/drivers/
                /* IOM 1 Mode */
                isac->write_isac(isac, ISAC_ADF2, 0x0);
                isac->write_isac(isac, ISAC_SPCR, 0xa);
                /* IOM 1 Mode */
                isac->write_isac(isac, ISAC_ADF2, 0x0);
                isac->write_isac(isac, ISAC_SPCR, 0xa);
-@@ -817,7 +811,7 @@
+@@ -817,7 +811,7 @@ void isac_setup(struct isac *isac)
        FsmEvent(&isac->l1m, (val >> 2) & 0xf, NULL);
  
        isac->write_isac(isac, ISAC_MASK, 0x0);
        FsmEvent(&isac->l1m, (val >> 2) & 0xf, NULL);
  
        isac->write_isac(isac, ISAC_MASK, 0x0);
@@ -9153,7 +9054,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isac.c linux-2.4.29/drivers/
        isac->write_isac(isac, ISAC_CMDR, ISAC_CMDR_XRES | ISAC_CMDR_RRES);
  }
  
        isac->write_isac(isac, ISAC_CMDR, ISAC_CMDR_XRES | ISAC_CMDR_RRES);
  }
  
-@@ -888,10 +882,10 @@
+@@ -888,10 +882,10 @@ EXPORT_SYMBOL(isac_init);
  EXPORT_SYMBOL(isac_d_l2l1);
  
  EXPORT_SYMBOL(isacsx_setup);
  EXPORT_SYMBOL(isac_d_l2l1);
  
  EXPORT_SYMBOL(isacsx_setup);
@@ -9166,9 +9067,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isac.c linux-2.4.29/drivers/
  
  module_init(hisax_isac_init);
  module_exit(hisax_isac_exit);
  
  module_init(hisax_isac_init);
  module_exit(hisax_isac_exit);
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isac.h linux-2.4.29/drivers/isdn/hisax/hisax_isac.h
---- linux-2.4.29.old/drivers/isdn/hisax/hisax_isac.h   2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hisax_isac.h       2005-03-22 15:06:46.559014736 +0100
+--- a/drivers/isdn/hisax/hisax_isac.h
++++ b/drivers/isdn/hisax/hisax_isac.h
 @@ -8,7 +8,7 @@
  #define TIMER3_VALUE 7000
  #define MAX_DFRAME_LEN_L1 300
 @@ -8,7 +8,7 @@
  #define TIMER3_VALUE 7000
  #define MAX_DFRAME_LEN_L1 300
@@ -9178,7 +9078,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isac.h linux-2.4.29/drivers/
  
  struct isac {
        void *priv;
  
  struct isac {
        void *priv;
-@@ -37,9 +37,9 @@
+@@ -37,9 +37,9 @@ void isac_init(struct isac *isac);
  void isac_d_l2l1(struct hisax_if *hisax_d_if, int pr, void *arg);
  
  void isac_setup(struct isac *isac);
  void isac_d_l2l1(struct hisax_if *hisax_d_if, int pr, void *arg);
  
  void isac_setup(struct isac *isac);
@@ -9190,9 +9090,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isac.h linux-2.4.29/drivers/
 +void isacsx_interrupt(struct isac *isac);
  
  #endif
 +void isacsx_interrupt(struct isac *isac);
  
  #endif
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isapnp.c linux-2.4.29/drivers/isdn/hisax/hisax_isapnp.c
---- linux-2.4.29.old/drivers/isdn/hisax/hisax_isapnp.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hisax_isapnp.c     2005-03-22 15:06:46.576012152 +0100
+--- /dev/null
++++ b/drivers/isdn/hisax/hisax_isapnp.c
 @@ -0,0 +1,105 @@
 +// FIXME copied
 +static const struct isapnp_device_id *
 @@ -0,0 +1,105 @@
 +// FIXME copied
 +static const struct isapnp_device_id *
@@ -9299,9 +9198,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isapnp.c linux-2.4.29/driver
 +      }
 +}
 +
 +      }
 +}
 +
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isapnp.h linux-2.4.29/drivers/isdn/hisax/hisax_isapnp.h
---- linux-2.4.29.old/drivers/isdn/hisax/hisax_isapnp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hisax_isapnp.h     2005-03-22 15:06:46.590010024 +0100
+--- /dev/null
++++ b/drivers/isdn/hisax/hisax_isapnp.h
 @@ -0,0 +1,33 @@
 +#ifndef __HISAX_ISAPNP_H__
 +#define __HISAX_ISAPNP_H__
 @@ -0,0 +1,33 @@
 +#ifndef __HISAX_ISAPNP_H__
 +#define __HISAX_ISAPNP_H__
@@ -9336,9 +9234,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isapnp.h linux-2.4.29/driver
 +#endif
 +
 +#endif
 +#endif
 +
 +#endif
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_loadable.h linux-2.4.29/drivers/isdn/hisax/hisax_loadable.h
---- linux-2.4.29.old/drivers/isdn/hisax/hisax_loadable.h       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hisax_loadable.h   2005-03-22 15:06:46.606007592 +0100
+--- /dev/null
++++ b/drivers/isdn/hisax/hisax_loadable.h
 @@ -0,0 +1,74 @@
 +/* $Id: hisax_loadable.h,v 2.1 2001/06/08 22:19:16 werner Exp $
 + *
 @@ -0,0 +1,74 @@
 +/* $Id: hisax_loadable.h,v 2.1 2001/06/08 22:19:16 werner Exp $
 + *
@@ -9414,81 +9311,72 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_loadable.h linux-2.4.29/driv
 +/* definition of the register function */
 +/***************************************/
 +extern int hisax_register_hfcusb(struct hisax_drvreg *l1drv);
 +/* definition of the register function */
 +/***************************************/
 +extern int hisax_register_hfcusb(struct hisax_drvreg *l1drv);
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hscx.c linux-2.4.29/drivers/isdn/hisax/hscx.c
---- linux-2.4.29.old/drivers/isdn/hisax/hscx.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hscx.c     2005-03-22 15:06:46.621005312 +0100
+--- a/drivers/isdn/hisax/hscx.c
++++ b/drivers/isdn/hisax/hscx.c
 @@ -1,4 +1,4 @@
 -/* $Id: hscx.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: hscx.c,v 1.24 2001/09/24 13:22:56 kai Exp $
   *
   * HSCX specific routines
   *
 @@ -1,4 +1,4 @@
 -/* $Id: hscx.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: hscx.c,v 1.24 2001/09/24 13:22:56 kai Exp $
   *
   * HSCX specific routines
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hscx.h linux-2.4.29/drivers/isdn/hisax/hscx.h
---- linux-2.4.29.old/drivers/isdn/hisax/hscx.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hscx.h     2005-03-22 15:06:46.640002424 +0100
+--- a/drivers/isdn/hisax/hscx.h
++++ b/drivers/isdn/hisax/hscx.h
 @@ -1,4 +1,4 @@
 -/* $Id: hscx.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: hscx.h,v 1.8 2001/09/24 13:22:56 kai Exp $
   *
   * HSCX specific defines
   *
 @@ -1,4 +1,4 @@
 -/* $Id: hscx.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: hscx.h,v 1.8 2001/09/24 13:22:56 kai Exp $
   *
   * HSCX specific defines
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hscx_irq.c linux-2.4.29/drivers/isdn/hisax/hscx_irq.c
---- linux-2.4.29.old/drivers/isdn/hisax/hscx_irq.c     2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hscx_irq.c 2005-03-22 15:06:46.655999992 +0100
+--- a/drivers/isdn/hisax/hscx_irq.c
++++ b/drivers/isdn/hisax/hscx_irq.c
 @@ -1,4 +1,4 @@
 -/* $Id: hscx_irq.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: hscx_irq.c,v 1.18 2001/09/24 13:22:56 kai Exp $
   *
   * low level b-channel stuff for Siemens HSCX
   *
 @@ -1,4 +1,4 @@
 -/* $Id: hscx_irq.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: hscx_irq.c,v 1.18 2001/09/24 13:22:56 kai Exp $
   *
   * low level b-channel stuff for Siemens HSCX
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/icc.c linux-2.4.29/drivers/isdn/hisax/icc.c
---- linux-2.4.29.old/drivers/isdn/hisax/icc.c  2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/icc.c      2005-03-22 15:06:46.672997408 +0100
+--- a/drivers/isdn/hisax/icc.c
++++ b/drivers/isdn/hisax/icc.c
 @@ -1,4 +1,4 @@
 -/* $Id: icc.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: icc.c,v 1.8 2001/09/24 13:22:56 kai Exp $
   *
   * ICC specific routines
   *
 @@ -1,4 +1,4 @@
 -/* $Id: icc.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: icc.c,v 1.8 2001/09/24 13:22:56 kai Exp $
   *
   * ICC specific routines
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/icc.h linux-2.4.29/drivers/isdn/hisax/icc.h
---- linux-2.4.29.old/drivers/isdn/hisax/icc.h  2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/icc.h      2005-03-22 15:06:46.687995128 +0100
+--- a/drivers/isdn/hisax/icc.h
++++ b/drivers/isdn/hisax/icc.h
 @@ -1,4 +1,4 @@
 -/* $Id: icc.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: icc.h,v 1.4 2001/09/24 13:22:56 kai Exp $
   *
   * ICC specific routines
   *
 @@ -1,4 +1,4 @@
 -/* $Id: icc.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: icc.h,v 1.4 2001/09/24 13:22:56 kai Exp $
   *
   * ICC specific routines
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/ipac.h linux-2.4.29/drivers/isdn/hisax/ipac.h
---- linux-2.4.29.old/drivers/isdn/hisax/ipac.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/ipac.h     2005-03-22 15:06:46.702992848 +0100
+--- a/drivers/isdn/hisax/ipac.h
++++ b/drivers/isdn/hisax/ipac.h
 @@ -1,4 +1,4 @@
 -/* $Id: ipac.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: ipac.h,v 1.7 2001/09/24 13:22:56 kai Exp $
   *
   * IPAC specific defines
   *
 @@ -1,4 +1,4 @@
 -/* $Id: ipac.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: ipac.h,v 1.7 2001/09/24 13:22:56 kai Exp $
   *
   * IPAC specific defines
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isac.c linux-2.4.29/drivers/isdn/hisax/isac.c
---- linux-2.4.29.old/drivers/isdn/hisax/isac.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isac.c     2005-03-22 15:06:46.844971264 +0100
+--- a/drivers/isdn/hisax/isac.c
++++ b/drivers/isdn/hisax/isac.c
 @@ -1,4 +1,4 @@
 -/* $Id: isac.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: isac.c,v 1.31 2001/09/24 13:22:56 kai Exp $
   *
   * ISAC specific routines
   *
 @@ -1,4 +1,4 @@
 -/* $Id: isac.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: isac.c,v 1.31 2001/09/24 13:22:56 kai Exp $
   *
   * ISAC specific routines
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isac.h linux-2.4.29/drivers/isdn/hisax/isac.h
---- linux-2.4.29.old/drivers/isdn/hisax/isac.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isac.h     2005-03-22 15:06:47.111930680 +0100
+--- a/drivers/isdn/hisax/isac.h
++++ b/drivers/isdn/hisax/isac.h
 @@ -1,4 +1,4 @@
 -/* $Id: isac.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: isac.h,v 1.9 2001/09/24 13:22:56 kai Exp $
   *
   * ISAC specific defines
   *
 @@ -1,4 +1,4 @@
 -/* $Id: isac.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: isac.h,v 1.9 2001/09/24 13:22:56 kai Exp $
   *
   * ISAC specific defines
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/hisax/isar.c
---- linux-2.4.29.old/drivers/isdn/hisax/isar.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isar.c     2005-03-22 15:06:47.302901648 +0100
+--- a/drivers/isdn/hisax/isar.c
++++ b/drivers/isdn/hisax/isar.c
 @@ -1,4 +1,4 @@
 -/* $Id: isar.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: isar.c,v 1.22 2001/09/23 12:00:05 keil Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: isar.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: isar.c,v 1.22 2001/09/23 12:00:05 keil Exp $
@@ -9512,7 +9400,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
  
  void isar_setup(struct IsdnCardState *cs);
  static void isar_pump_cmd(struct BCState *bcs, u_char cmd, u_char para);
  
  void isar_setup(struct IsdnCardState *cs);
  static void isar_pump_cmd(struct BCState *bcs, u_char cmd, u_char para);
-@@ -127,7 +125,7 @@
+@@ -127,7 +125,7 @@ get_irq_infos(struct IsdnCardState *cs, 
        ireg->clsb = cs->BC_Read_Reg(cs, 1, ISAR_CTRL_L);
  #if DUMP_MBOXFRAME
        if (cs->debug & L1_DEB_HSCX)
        ireg->clsb = cs->BC_Read_Reg(cs, 1, ISAR_CTRL_L);
  #if DUMP_MBOXFRAME
        if (cs->debug & L1_DEB_HSCX)
@@ -9521,7 +9409,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
                        ireg->clsb);
  #endif
  }
                        ireg->clsb);
  #endif
  }
-@@ -414,7 +412,6 @@
+@@ -414,7 +412,6 @@ isar_load_firmware(struct IsdnCardState 
        }
        cs->debug = debug;
        isar_setup(cs);
        }
        cs->debug = debug;
        isar_setup(cs);
@@ -9529,7 +9417,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
        ret = 0;
  reterrflg:
        restore_flags(flags);
        ret = 0;
  reterrflg:
        restore_flags(flags);
-@@ -428,21 +425,6 @@
+@@ -428,21 +425,6 @@ reterror:
        return(ret);
  }
  
        return(ret);
  }
  
@@ -9551,7 +9439,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
  extern void BChannel_bh(struct BCState *);
  #define B_LL_NOCARRIER        8
  #define B_LL_CONNECT  9
  extern void BChannel_bh(struct BCState *);
  #define B_LL_NOCARRIER        8
  #define B_LL_CONNECT  9
-@@ -599,6 +581,7 @@
+@@ -599,6 +581,7 @@ isar_rcv_frame(struct IsdnCardState *cs,
                                if (ireg->cmsb & SART_NMD) { /* ABORT */
                                        if (cs->debug & L1_DEB_WARN)
                                                debugl1(cs, "isar_rcv_frame: no more data");
                                if (ireg->cmsb & SART_NMD) { /* ABORT */
                                        if (cs->debug & L1_DEB_WARN)
                                                debugl1(cs, "isar_rcv_frame: no more data");
@@ -9559,7 +9447,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
                                        bcs->hw.isar.rcvidx = 0;
                                        send_DLE_ETX(bcs);
                                        sendmsg(cs, SET_DPS(bcs->hw.isar.dpath) |
                                        bcs->hw.isar.rcvidx = 0;
                                        send_DLE_ETX(bcs);
                                        sendmsg(cs, SET_DPS(bcs->hw.isar.dpath) |
-@@ -609,6 +592,7 @@
+@@ -609,6 +592,7 @@ isar_rcv_frame(struct IsdnCardState *cs,
                                }
                        } else {
                                printk(KERN_WARNING "HiSax: skb out of memory\n");
                                }
                        } else {
                                printk(KERN_WARNING "HiSax: skb out of memory\n");
@@ -9567,7 +9455,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
                        }
                        break;
                }
                        }
                        break;
                }
-@@ -633,9 +617,8 @@
+@@ -633,9 +617,8 @@ isar_rcv_frame(struct IsdnCardState *cs,
                        bcs->hw.isar.rcvidx = 0;
                        cs->BC_Write_Reg(cs, 1, ISAR_IIA, 0);
                } else {
                        bcs->hw.isar.rcvidx = 0;
                        cs->BC_Write_Reg(cs, 1, ISAR_IIA, 0);
                } else {
@@ -9578,7 +9466,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
                        ptr = bcs->hw.isar.rcvbuf + bcs->hw.isar.rcvidx;
                        bcs->hw.isar.rcvidx += ireg->clsb;
                        rcv_mbox(cs, ireg, ptr);
                        ptr = bcs->hw.isar.rcvbuf + bcs->hw.isar.rcvidx;
                        bcs->hw.isar.rcvidx += ireg->clsb;
                        rcv_mbox(cs, ireg, ptr);
-@@ -646,8 +629,6 @@
+@@ -646,8 +629,6 @@ isar_rcv_frame(struct IsdnCardState *cs,
                                        if (cs->debug & L1_DEB_WARN)
                                                debugl1(cs, "isar frame to short %d",
                                                        bcs->hw.isar.rcvidx);
                                        if (cs->debug & L1_DEB_WARN)
                                                debugl1(cs, "isar frame to short %d",
                                                        bcs->hw.isar.rcvidx);
@@ -9587,7 +9475,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
                                } else if (!(skb = dev_alloc_skb(bcs->hw.isar.rcvidx))) {
                                        printk(KERN_WARNING "ISAR: receive out of memory\n");
                                } else {
                                } else if (!(skb = dev_alloc_skb(bcs->hw.isar.rcvidx))) {
                                        printk(KERN_WARNING "ISAR: receive out of memory\n");
                                } else {
-@@ -658,7 +639,6 @@
+@@ -658,7 +639,6 @@ isar_rcv_frame(struct IsdnCardState *cs,
                                        isar_sched_event(bcs, B_RCVBUFREADY);
                                        send_DLE_ETX(bcs);
                                        isar_sched_event(bcs, B_LL_OK);
                                        isar_sched_event(bcs, B_RCVBUFREADY);
                                        send_DLE_ETX(bcs);
                                        isar_sched_event(bcs, B_LL_OK);
@@ -9595,7 +9483,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
                                }
                                bcs->hw.isar.rcvidx = 0;
                        }
                                }
                                bcs->hw.isar.rcvidx = 0;
                        }
-@@ -666,14 +646,13 @@
+@@ -666,14 +646,13 @@ isar_rcv_frame(struct IsdnCardState *cs,
                if (ireg->cmsb & SART_NMD) { /* ABORT */
                        if (cs->debug & L1_DEB_WARN)
                                debugl1(cs, "isar_rcv_frame: no more data");
                if (ireg->cmsb & SART_NMD) { /* ABORT */
                        if (cs->debug & L1_DEB_WARN)
                                debugl1(cs, "isar_rcv_frame: no more data");
@@ -9613,7 +9501,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
                }
                break;
        default:
                }
                break;
        default:
-@@ -977,6 +956,21 @@
+@@ -977,6 +956,21 @@ isar_pump_statev_modem(struct BCState *b
        }
  }
  
        }
  }
  
@@ -9635,7 +9523,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
  static void
  isar_pump_statev_fax(struct BCState *bcs, u_char devt) {
        struct IsdnCardState *cs = bcs->cs;
  static void
  isar_pump_statev_fax(struct BCState *bcs, u_char devt) {
        struct IsdnCardState *cs = bcs->cs;
-@@ -1081,22 +1075,19 @@
+@@ -1081,22 +1075,19 @@ isar_pump_statev_fax(struct BCState *bcs
                        if (cs->debug & L1_DEB_HSCX)
                                debugl1(cs, "pump stev RSP_DISC");
                        if (bcs->hw.isar.state == STFAX_ESCAPE) {
                        if (cs->debug & L1_DEB_HSCX)
                                debugl1(cs, "pump stev RSP_DISC");
                        if (bcs->hw.isar.state == STFAX_ESCAPE) {
@@ -9661,7 +9549,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
                                                p1 = bcs->hw.isar.mod = bcs->hw.isar.newmod;
                                                bcs->hw.isar.newmod = 0;
                                                bcs->hw.isar.cmd = bcs->hw.isar.newcmd;
                                                p1 = bcs->hw.isar.mod = bcs->hw.isar.newmod;
                                                bcs->hw.isar.newmod = 0;
                                                bcs->hw.isar.cmd = bcs->hw.isar.newcmd;
-@@ -1215,9 +1206,6 @@
+@@ -1215,9 +1206,6 @@ isar_int_main(struct IsdnCardState *cs)
                                        isar_pump_statev_modem(bcs, ireg->cmsb);
                                } else if (bcs->mode == L1_MODE_FAX) {
                                        isar_pump_statev_fax(bcs, ireg->cmsb);
                                        isar_pump_statev_modem(bcs, ireg->cmsb);
                                } else if (bcs->mode == L1_MODE_FAX) {
                                        isar_pump_statev_fax(bcs, ireg->cmsb);
@@ -9671,7 +9559,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
                                } else {
                                        if (cs->debug & L1_DEB_WARN)
                                                debugl1(cs, "isar IIS_PSTEV pmode %d stat %x",
                                } else {
                                        if (cs->debug & L1_DEB_WARN)
                                                debugl1(cs, "isar IIS_PSTEV pmode %d stat %x",
-@@ -1278,9 +1266,6 @@
+@@ -1278,9 +1266,6 @@ ftimer_handler(struct BCState *bcs) {
        if (test_and_clear_bit(BC_FLG_LL_CONN, &bcs->Flag)) {
                isar_sched_event(bcs, B_LL_CONNECT);
        }
        if (test_and_clear_bit(BC_FLG_LL_CONN, &bcs->Flag)) {
                isar_sched_event(bcs, B_LL_CONNECT);
        }
@@ -9681,7 +9569,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
  }
  
  static void
  }
  
  static void
-@@ -1303,7 +1288,7 @@
+@@ -1303,7 +1288,7 @@ setup_pump(struct BCState *bcs) {
                        } else {
                                param[5] = PV32P6_ATN;
                        }
                        } else {
                                param[5] = PV32P6_ATN;
                        }
@@ -9690,7 +9578,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
                        param[1] = PV32P2_V23R | PV32P2_V22A | PV32P2_V22B |
                                   PV32P2_V22C | PV32P2_V21 | PV32P2_BEL; 
                        param[2] = PV32P3_AMOD | PV32P3_V32B | PV32P3_V23B;
                        param[1] = PV32P2_V23R | PV32P2_V22A | PV32P2_V22B |
                                   PV32P2_V22C | PV32P2_V21 | PV32P2_BEL; 
                        param[2] = PV32P3_AMOD | PV32P3_V32B | PV32P3_V23B;
-@@ -1319,7 +1304,7 @@
+@@ -1319,7 +1304,7 @@ setup_pump(struct BCState *bcs) {
                        } else {
                                param[1] = PFAXP2_ATN;
                        }
                        } else {
                                param[1] = PFAXP2_ATN;
                        }
@@ -9699,7 +9587,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
                        sendmsg(cs, dps | ISAR_HIS_PUMPCFG, ctrl, 2, param);
                        bcs->hw.isar.state = STFAX_NULL;
                        bcs->hw.isar.newcmd = 0;
                        sendmsg(cs, dps | ISAR_HIS_PUMPCFG, ctrl, 2, param);
                        bcs->hw.isar.state = STFAX_NULL;
                        bcs->hw.isar.newcmd = 0;
-@@ -1348,6 +1333,7 @@
+@@ -1348,6 +1333,7 @@ setup_sart(struct BCState *bcs) {
                                "\0\0");
                        break;
                case L1_MODE_HDLC:
                                "\0\0");
                        break;
                case L1_MODE_HDLC:
@@ -9707,7 +9595,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
                        param[0] = 0;
                        sendmsg(cs, dps | ISAR_HIS_SARTCFG, SMODE_HDLC, 1,
                                param);
                        param[0] = 0;
                        sendmsg(cs, dps | ISAR_HIS_SARTCFG, SMODE_HDLC, 1,
                                param);
-@@ -1359,9 +1345,6 @@
+@@ -1359,9 +1345,6 @@ setup_sart(struct BCState *bcs) {
                        sendmsg(cs, dps | ISAR_HIS_SARTCFG, ctrl, 2,
                                param);
                        break;
                        sendmsg(cs, dps | ISAR_HIS_SARTCFG, ctrl, 2,
                                param);
                        break;
@@ -9717,7 +9605,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
        }
        udelay(1000);
        sendmsg(cs, dps | ISAR_HIS_BSTREQ, 0, 0, NULL);
        }
        udelay(1000);
        sendmsg(cs, dps | ISAR_HIS_BSTREQ, 0, 0, NULL);
-@@ -1465,7 +1448,6 @@
+@@ -1465,7 +1448,6 @@ isar_pump_cmd(struct BCState *bcs, u_cha
  
        switch(cmd) {
                case ISDN_FAX_CLASS1_FTM:
  
        switch(cmd) {
                case ISDN_FAX_CLASS1_FTM:
@@ -9725,7 +9613,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
                        if (bcs->hw.isar.state == STFAX_READY) {
                                p1 = para;
                                ctrl = PCTRL_CMD_FTM;
                        if (bcs->hw.isar.state == STFAX_READY) {
                                p1 = para;
                                ctrl = PCTRL_CMD_FTM;
-@@ -1489,7 +1471,6 @@
+@@ -1489,7 +1471,6 @@ isar_pump_cmd(struct BCState *bcs, u_cha
                        }
                        break;
                case ISDN_FAX_CLASS1_FTH:
                        }
                        break;
                case ISDN_FAX_CLASS1_FTH:
@@ -9733,7 +9621,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
                        if (bcs->hw.isar.state == STFAX_READY) {
                                p1 = para;
                                ctrl = PCTRL_CMD_FTH;
                        if (bcs->hw.isar.state == STFAX_READY) {
                                p1 = para;
                                ctrl = PCTRL_CMD_FTH;
-@@ -1513,7 +1494,6 @@
+@@ -1513,7 +1494,6 @@ isar_pump_cmd(struct BCState *bcs, u_cha
                        }
                        break;
                case ISDN_FAX_CLASS1_FRM:
                        }
                        break;
                case ISDN_FAX_CLASS1_FRM:
@@ -9741,7 +9629,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
                        if (bcs->hw.isar.state == STFAX_READY) {
                                p1 = para;
                                ctrl = PCTRL_CMD_FRM;
                        if (bcs->hw.isar.state == STFAX_READY) {
                                p1 = para;
                                ctrl = PCTRL_CMD_FRM;
-@@ -1537,7 +1517,6 @@
+@@ -1537,7 +1517,6 @@ isar_pump_cmd(struct BCState *bcs, u_cha
                        }
                        break;
                case ISDN_FAX_CLASS1_FRH:
                        }
                        break;
                case ISDN_FAX_CLASS1_FRH:
@@ -9749,7 +9637,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
                        if (bcs->hw.isar.state == STFAX_READY) {
                                p1 = para;
                                ctrl = PCTRL_CMD_FRH;
                        if (bcs->hw.isar.state == STFAX_READY) {
                                p1 = para;
                                ctrl = PCTRL_CMD_FRH;
-@@ -1560,11 +1539,6 @@
+@@ -1560,11 +1539,6 @@ isar_pump_cmd(struct BCState *bcs, u_cha
                                bcs->hw.isar.state = STFAX_ESCAPE; 
                        }
                        break;
                                bcs->hw.isar.state = STFAX_ESCAPE; 
                        }
                        break;
@@ -9761,7 +9649,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
        }
        if (ctrl)
                sendmsg(cs, dps | ISAR_HIS_PUMPCTRL, ctrl, nom, &p1);
        }
        if (ctrl)
                sendmsg(cs, dps | ISAR_HIS_PUMPCTRL, ctrl, nom, &p1);
-@@ -1658,15 +1632,6 @@
+@@ -1658,15 +1632,6 @@ isar_l2l1(struct PStack *st, int pr, voi
                        l1_msg_b(st, pr, arg);
                        break;
                case (PH_DEACTIVATE | CONFIRM):
                        l1_msg_b(st, pr, arg);
                        break;
                case (PH_DEACTIVATE | CONFIRM):
@@ -9777,7 +9665,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
                        test_and_clear_bit(BC_FLG_ACTIV, &st->l1.bcs->Flag);
                        test_and_clear_bit(BC_FLG_BUSY, &st->l1.bcs->Flag);
                        if (st->l1.bcs->cs->debug & L1_DEB_HSCX)
                        test_and_clear_bit(BC_FLG_ACTIV, &st->l1.bcs->Flag);
                        test_and_clear_bit(BC_FLG_BUSY, &st->l1.bcs->Flag);
                        if (st->l1.bcs->cs->debug & L1_DEB_HSCX)
-@@ -1758,51 +1723,6 @@
+@@ -1758,51 +1723,6 @@ isar_auxcmd(struct IsdnCardState *cs, is
                                                test_and_set_bit(BC_FLG_DLEETX,
                                                        &bcs->Flag);
                                        break;
                                                test_and_set_bit(BC_FLG_DLEETX,
                                                        &bcs->Flag);
                                        break;
@@ -9829,7 +9717,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
                                case ISDN_FAX_CLASS1_FRM:
                                case ISDN_FAX_CLASS1_FRH:
                                case ISDN_FAX_CLASS1_FTM:
                                case ISDN_FAX_CLASS1_FRM:
                                case ISDN_FAX_CLASS1_FRH:
                                case ISDN_FAX_CLASS1_FTM:
-@@ -1815,24 +1735,16 @@
+@@ -1815,24 +1735,16 @@ isar_auxcmd(struct IsdnCardState *cs, is
                                                cs->iif.statcallb(ic);
                                                return(0);
                                        } else if (ic->parm.aux.subcmd == AT_EQ_QUERY) {
                                                cs->iif.statcallb(ic);
                                                return(0);
                                        } else if (ic->parm.aux.subcmd == AT_EQ_QUERY) {
@@ -9856,7 +9744,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
                                                        test_bit(BC_FLG_INIT, &bcs->Flag)) {
                                                        isar_pump_cmd(bcs,
                                                                ic->parm.aux.cmd,
                                                        test_bit(BC_FLG_INIT, &bcs->Flag)) {
                                                        isar_pump_cmd(bcs,
                                                                ic->parm.aux.cmd,
-@@ -1850,7 +1762,7 @@
+@@ -1850,7 +1762,7 @@ isar_auxcmd(struct IsdnCardState *cs, is
                        break;
                case (ISDN_CMD_IOCTL):
                        switch (ic->arg) {
                        break;
                case (ISDN_CMD_IOCTL):
                        switch (ic->arg) {
@@ -9865,7 +9753,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
                                        features = ISDN_FEATURE_L2_MODEM |
                                                ISDN_FEATURE_L2_FAX |
                                                ISDN_FEATURE_L3_FCLASS1;
                                        features = ISDN_FEATURE_L2_MODEM |
                                                ISDN_FEATURE_L2_FAX |
                                                ISDN_FEATURE_L3_FCLASS1;
-@@ -1860,26 +1772,6 @@
+@@ -1860,26 +1772,6 @@ isar_auxcmd(struct IsdnCardState *cs, is
                                        else 
                                                ll_run(cs, features);
                                        break;
                                        else 
                                                ll_run(cs, features);
                                        break;
@@ -9892,9 +9780,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/h
                                default:
                                        printk(KERN_DEBUG "HiSax: invalid ioctl %d\n",
                                               (int) ic->arg);
                                default:
                                        printk(KERN_DEBUG "HiSax: invalid ioctl %d\n",
                                               (int) ic->arg);
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.h linux-2.4.29/drivers/isdn/hisax/isar.h
---- linux-2.4.29.old/drivers/isdn/hisax/isar.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isar.h     2005-03-22 15:06:47.457878088 +0100
+--- a/drivers/isdn/hisax/isar.h
++++ b/drivers/isdn/hisax/isar.h
 @@ -1,4 +1,4 @@
 -/* $Id: isar.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: isar.h,v 1.11 2001/09/24 13:22:56 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: isar.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: isar.h,v 1.11 2001/09/24 13:22:56 kai Exp $
@@ -9930,9 +9817,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.h linux-2.4.29/drivers/isdn/h
  extern int ISARVersion(struct IsdnCardState *cs, char *s);
  extern void isar_int_main(struct IsdnCardState *cs);
  extern void initisar(struct IsdnCardState *cs);
  extern int ISARVersion(struct IsdnCardState *cs, char *s);
  extern void isar_int_main(struct IsdnCardState *cs);
  extern void initisar(struct IsdnCardState *cs);
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isdnl1.c linux-2.4.29/drivers/isdn/hisax/isdnl1.c
---- linux-2.4.29.old/drivers/isdn/hisax/isdnl1.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isdnl1.c   2005-03-22 15:06:47.582859088 +0100
+--- a/drivers/isdn/hisax/isdnl1.c
++++ b/drivers/isdn/hisax/isdnl1.c
 @@ -1,4 +1,4 @@
 -/* $Id: isdnl1.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: isdnl1.c,v 2.46 2001/09/24 13:22:56 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: isdnl1.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: isdnl1.c,v 2.46 2001/09/24 13:22:56 kai Exp $
@@ -9948,18 +9834,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isdnl1.c linux-2.4.29/drivers/isdn
  
  #define __NO_VERSION__
  #include <linux/init.h>
  
  #define __NO_VERSION__
  #include <linux/init.h>
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isdnl1.h linux-2.4.29/drivers/isdn/hisax/isdnl1.h
---- linux-2.4.29.old/drivers/isdn/hisax/isdnl1.h       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isdnl1.h   2005-03-22 15:06:47.615854072 +0100
+--- a/drivers/isdn/hisax/isdnl1.h
++++ b/drivers/isdn/hisax/isdnl1.h
 @@ -1,4 +1,4 @@
 -/* $Id: isdnl1.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: isdnl1.h,v 2.12 2001/09/24 13:22:56 kai Exp $
   *
   * Layer 1 defines
   *
 @@ -1,4 +1,4 @@
 -/* $Id: isdnl1.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: isdnl1.h,v 2.12 2001/09/24 13:22:56 kai Exp $
   *
   * Layer 1 defines
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isdnl2.c linux-2.4.29/drivers/isdn/hisax/isdnl2.c
---- linux-2.4.29.old/drivers/isdn/hisax/isdnl2.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isdnl2.c   2005-03-22 15:06:47.631851640 +0100
+--- a/drivers/isdn/hisax/isdnl2.c
++++ b/drivers/isdn/hisax/isdnl2.c
 @@ -1,4 +1,4 @@
 -/* $Id: isdnl2.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: isdnl2.c,v 2.30 2001/09/24 13:22:56 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: isdnl2.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: isdnl2.c,v 2.30 2001/09/24 13:22:56 kai Exp $
@@ -9975,7 +9859,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isdnl2.c linux-2.4.29/drivers/isdn
  
  static void l2m_debug(struct FsmInst *fi, char *fmt, ...);
  
  
  static void l2m_debug(struct FsmInst *fi, char *fmt, ...);
  
-@@ -1418,8 +1418,8 @@
+@@ -1418,8 +1418,8 @@ l2_st5_tei_remove(struct FsmInst *fi, in
        freewin(st);
        st->l2.tei = -1;
        stop_t200(st, 17);
        freewin(st);
        st->l2.tei = -1;
        stop_t200(st, 17);
@@ -9985,18 +9869,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isdnl2.c linux-2.4.29/drivers/isdn
  }
  
  static void
  }
  
  static void
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isdnl2.h linux-2.4.29/drivers/isdn/hisax/isdnl2.h
---- linux-2.4.29.old/drivers/isdn/hisax/isdnl2.h       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isdnl2.h   2005-03-22 15:06:47.647849208 +0100
+--- a/drivers/isdn/hisax/isdnl2.h
++++ b/drivers/isdn/hisax/isdnl2.h
 @@ -1,4 +1,4 @@
 -/* $Id: isdnl2.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id$
   *
   * Layer 2 defines
   *
 @@ -1,4 +1,4 @@
 -/* $Id: isdnl2.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id$
   *
   * Layer 2 defines
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isdnl3.c linux-2.4.29/drivers/isdn/hisax/isdnl3.c
---- linux-2.4.29.old/drivers/isdn/hisax/isdnl3.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isdnl3.c   2005-03-22 15:06:47.663846776 +0100
+--- a/drivers/isdn/hisax/isdnl3.c
++++ b/drivers/isdn/hisax/isdnl3.c
 @@ -1,4 +1,4 @@
 -/* $Id: isdnl3.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: isdnl3.c,v 2.22 2001/09/24 13:22:56 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: isdnl3.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: isdnl3.c,v 2.22 2001/09/24 13:22:56 kai Exp $
@@ -10012,18 +9894,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isdnl3.c linux-2.4.29/drivers/isdn
  
  static struct Fsm l3fsm;
  
  
  static struct Fsm l3fsm;
  
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isdnl3.h linux-2.4.29/drivers/isdn/hisax/isdnl3.h
---- linux-2.4.29.old/drivers/isdn/hisax/isdnl3.h       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isdnl3.h   2005-03-22 15:06:47.679844344 +0100
+--- a/drivers/isdn/hisax/isdnl3.h
++++ b/drivers/isdn/hisax/isdnl3.h
 @@ -1,4 +1,4 @@
 -/* $Id: isdnl3.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id$
   *
   * This software may be used and distributed according to the terms
   * of the GNU General Public License, incorporated herein by reference.
 @@ -1,4 +1,4 @@
 -/* $Id: isdnl3.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id$
   *
   * This software may be used and distributed according to the terms
   * of the GNU General Public License, incorporated herein by reference.
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isurf.c linux-2.4.29/drivers/isdn/hisax/isurf.c
---- linux-2.4.29.old/drivers/isdn/hisax/isurf.c        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isurf.c    2005-03-22 15:06:47.699841304 +0100
+--- a/drivers/isdn/hisax/isurf.c
++++ b/drivers/isdn/hisax/isurf.c
 @@ -1,4 +1,4 @@
 -/* $Id: isurf.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: isurf.c,v 1.12 2001/09/24 13:22:56 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: isurf.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: isurf.c,v 1.12 2001/09/24 13:22:56 kai Exp $
@@ -10043,7 +9923,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isurf.c linux-2.4.29/drivers/isdn/
  
  #define byteout(addr,val) outb(val,addr)
  #define bytein(addr) inb(addr)
  
  #define byteout(addr,val) outb(val,addr)
  #define bytein(addr) inb(addr)
-@@ -128,8 +127,10 @@
+@@ -128,8 +127,10 @@ void
  release_io_isurf(struct IsdnCardState *cs)
  {
        release_region(cs->hw.isurf.reset, 1);
  release_io_isurf(struct IsdnCardState *cs)
  {
        release_region(cs->hw.isurf.reset, 1);
@@ -10054,7 +9934,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isurf.c linux-2.4.29/drivers/isdn/
  }
  
  static void
  }
  
  static void
-@@ -194,10 +195,6 @@
+@@ -194,10 +195,6 @@ isurf_auxcmd(struct IsdnCardState *cs, i
        return(isar_auxcmd(cs, ic));
  }
  
        return(isar_auxcmd(cs, ic));
  }
  
@@ -10065,7 +9945,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isurf.c linux-2.4.29/drivers/isdn/
  int __init
  setup_isurf(struct IsdnCard *card)
  {
  int __init
  setup_isurf(struct IsdnCard *card)
  {
-@@ -215,58 +212,9 @@
+@@ -215,58 +212,9 @@ setup_isurf(struct IsdnCard *card)
                cs->hw.isurf.phymem = card->para[2];
                cs->irq = card->para[0];
        } else {
                cs->hw.isurf.phymem = card->para[2];
                cs->irq = card->para[0];
        } else {
@@ -10124,7 +10004,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isurf.c linux-2.4.29/drivers/isdn/
        }
        if (check_region(cs->hw.isurf.reset, 1)) {
                printk(KERN_WARNING
        }
        if (check_region(cs->hw.isurf.reset, 1)) {
                printk(KERN_WARNING
-@@ -277,6 +225,7 @@
+@@ -277,6 +225,7 @@ setup_isurf(struct IsdnCard *card)
        } else {
                request_region(cs->hw.isurf.reset, 1, "isurf isdn");
        }
        } else {
                request_region(cs->hw.isurf.reset, 1, "isurf isdn");
        }
@@ -10132,7 +10012,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isurf.c linux-2.4.29/drivers/isdn/
        if (check_mem_region(cs->hw.isurf.phymem, ISURF_IOMEM_SIZE)) {
                printk(KERN_WARNING
                        "HiSax: %s memory region %lx-%lx already in use\n",
        if (check_mem_region(cs->hw.isurf.phymem, ISURF_IOMEM_SIZE)) {
                printk(KERN_WARNING
                        "HiSax: %s memory region %lx-%lx already in use\n",
-@@ -292,6 +241,10 @@
+@@ -292,6 +241,10 @@ setup_isurf(struct IsdnCard *card)
        cs->hw.isurf.isar =
                (unsigned long) ioremap(cs->hw.isurf.phymem, ISURF_IOMEM_SIZE);
        cs->hw.isurf.isac = cs->hw.isurf.isar + ISURF_ISAC_OFFSET;
        cs->hw.isurf.isar =
                (unsigned long) ioremap(cs->hw.isurf.phymem, ISURF_IOMEM_SIZE);
        cs->hw.isurf.isac = cs->hw.isurf.isar + ISURF_ISAC_OFFSET;
@@ -10143,9 +10023,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isurf.c linux-2.4.29/drivers/isdn/
        printk(KERN_INFO
               "ISurf: defined at 0x%x 0x%lx IRQ %d\n",
               cs->hw.isurf.reset,
        printk(KERN_INFO
               "ISurf: defined at 0x%x 0x%lx IRQ %d\n",
               cs->hw.isurf.reset,
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/ix1_micro.c linux-2.4.29/drivers/isdn/hisax/ix1_micro.c
---- linux-2.4.29.old/drivers/isdn/hisax/ix1_micro.c    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/ix1_micro.c        2005-03-22 15:06:47.714839024 +0100
+--- a/drivers/isdn/hisax/ix1_micro.c
++++ b/drivers/isdn/hisax/ix1_micro.c
 @@ -1,4 +1,4 @@
 -/* $Id: ix1_micro.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: ix1_micro.c,v 2.12 2001/09/24 13:22:56 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: ix1_micro.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: ix1_micro.c,v 2.12 2001/09/24 13:22:56 kai Exp $
@@ -10168,7 +10047,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/ix1_micro.c linux-2.4.29/drivers/i
  
  #define byteout(addr,val) outb(val,addr)
  #define bytein(addr) inb(addr)
  
  #define byteout(addr,val) outb(val,addr)
  #define bytein(addr) inb(addr)
-@@ -219,21 +218,6 @@
+@@ -219,21 +218,6 @@ ix1_card_msg(struct IsdnCardState *cs, i
        return(0);
  }
  
        return(0);
  }
  
@@ -10190,7 +10069,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/ix1_micro.c linux-2.4.29/drivers/i
  
  int __init
  setup_ix1micro(struct IsdnCard *card)
  
  int __init
  setup_ix1micro(struct IsdnCard *card)
-@@ -246,45 +230,6 @@
+@@ -246,45 +230,6 @@ setup_ix1micro(struct IsdnCard *card)
        if (cs->typ != ISDN_CTYPE_IX1MICROR2)
                return (0);
  
        if (cs->typ != ISDN_CTYPE_IX1MICROR2)
                return (0);
  
@@ -10236,36 +10115,32 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/ix1_micro.c linux-2.4.29/drivers/i
        /* IO-Ports */
        cs->hw.ix1.isac_ale = card->para[1] + ISAC_COMMAND_OFFSET;
        cs->hw.ix1.hscx_ale = card->para[1] + HSCX_COMMAND_OFFSET;
        /* IO-Ports */
        cs->hw.ix1.isac_ale = card->para[1] + ISAC_COMMAND_OFFSET;
        cs->hw.ix1.hscx_ale = card->para[1] + HSCX_COMMAND_OFFSET;
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/jade.c linux-2.4.29/drivers/isdn/hisax/jade.c
---- linux-2.4.29.old/drivers/isdn/hisax/jade.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/jade.c     2005-03-22 15:06:47.729836744 +0100
+--- a/drivers/isdn/hisax/jade.c
++++ b/drivers/isdn/hisax/jade.c
 @@ -1,4 +1,4 @@
 -/* $Id: jade.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: jade.c,v 1.9 2001/09/24 13:22:56 kai Exp $
   *
   * JADE stuff (derived from original hscx.c)
   *
 @@ -1,4 +1,4 @@
 -/* $Id: jade.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: jade.c,v 1.9 2001/09/24 13:22:56 kai Exp $
   *
   * JADE stuff (derived from original hscx.c)
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/jade.h linux-2.4.29/drivers/isdn/hisax/jade.h
---- linux-2.4.29.old/drivers/isdn/hisax/jade.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/jade.h     2005-03-22 15:06:47.745834312 +0100
+--- a/drivers/isdn/hisax/jade.h
++++ b/drivers/isdn/hisax/jade.h
 @@ -1,4 +1,4 @@
 -/* $Id: jade.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: jade.h,v 1.5 2001/09/24 13:22:56 kai Exp $
   *
   * JADE specific defines
   *
 @@ -1,4 +1,4 @@
 -/* $Id: jade.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: jade.h,v 1.5 2001/09/24 13:22:56 kai Exp $
   *
   * JADE specific defines
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/jade_irq.c linux-2.4.29/drivers/isdn/hisax/jade_irq.c
---- linux-2.4.29.old/drivers/isdn/hisax/jade_irq.c     2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/jade_irq.c 2005-03-22 15:06:47.760832032 +0100
+--- a/drivers/isdn/hisax/jade_irq.c
++++ b/drivers/isdn/hisax/jade_irq.c
 @@ -1,4 +1,4 @@
 -/* $Id: jade_irq.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: jade_irq.c,v 1.7 2001/09/24 13:22:56 kai Exp $
   *
   * Low level JADE IRQ stuff (derived from original hscx_irq.c)
   *
 @@ -1,4 +1,4 @@
 -/* $Id: jade_irq.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: jade_irq.c,v 1.7 2001/09/24 13:22:56 kai Exp $
   *
   * Low level JADE IRQ stuff (derived from original hscx_irq.c)
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/l3_1tr6.c linux-2.4.29/drivers/isdn/hisax/l3_1tr6.c
---- linux-2.4.29.old/drivers/isdn/hisax/l3_1tr6.c      2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/l3_1tr6.c  2005-03-22 15:06:47.777829448 +0100
+--- a/drivers/isdn/hisax/l3_1tr6.c
++++ b/drivers/isdn/hisax/l3_1tr6.c
 @@ -1,4 +1,4 @@
 -/* $Id: l3_1tr6.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: l3_1tr6.c,v 2.15 2001/09/24 13:22:56 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: l3_1tr6.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: l3_1tr6.c,v 2.15 2001/09/24 13:22:56 kai Exp $
@@ -10281,18 +10156,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/l3_1tr6.c linux-2.4.29/drivers/isd
  
  #define MsgHead(ptr, cref, mty, dis) \
        *ptr++ = dis; \
  
  #define MsgHead(ptr, cref, mty, dis) \
        *ptr++ = dis; \
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/l3_1tr6.h linux-2.4.29/drivers/isdn/hisax/l3_1tr6.h
---- linux-2.4.29.old/drivers/isdn/hisax/l3_1tr6.h      2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/l3_1tr6.h  2005-03-22 15:06:47.796826560 +0100
+--- a/drivers/isdn/hisax/l3_1tr6.h
++++ b/drivers/isdn/hisax/l3_1tr6.h
 @@ -1,4 +1,4 @@
 -/* $Id: l3_1tr6.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id$
   *
   * German 1TR6 D-channel protocol defines
   *
 @@ -1,4 +1,4 @@
 -/* $Id: l3_1tr6.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id$
   *
   * German 1TR6 D-channel protocol defines
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/l3dss1.c linux-2.4.29/drivers/isdn/hisax/l3dss1.c
---- linux-2.4.29.old/drivers/isdn/hisax/l3dss1.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/l3dss1.c   2005-03-22 15:06:47.822822608 +0100
+--- a/drivers/isdn/hisax/l3dss1.c
++++ b/drivers/isdn/hisax/l3dss1.c
 @@ -1,4 +1,4 @@
 -/* $Id: l3dss1.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: l3dss1.c,v 2.32 2001/09/24 13:22:56 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: l3dss1.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: l3dss1.c,v 2.32 2001/09/24 13:22:56 kai Exp $
@@ -10308,18 +10181,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/l3dss1.c linux-2.4.29/drivers/isdn
  
  #define EXT_BEARER_CAPS 1
  
  
  #define EXT_BEARER_CAPS 1
  
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/l3dss1.h linux-2.4.29/drivers/isdn/hisax/l3dss1.h
---- linux-2.4.29.old/drivers/isdn/hisax/l3dss1.h       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/l3dss1.h   2005-03-22 15:06:47.842819568 +0100
+--- a/drivers/isdn/hisax/l3dss1.h
++++ b/drivers/isdn/hisax/l3dss1.h
 @@ -1,4 +1,4 @@
 -/* $Id: l3dss1.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id$
   *
   * DSS1 (Euro) D-channel protocol defines
   *
 @@ -1,4 +1,4 @@
 -/* $Id: l3dss1.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id$
   *
   * DSS1 (Euro) D-channel protocol defines
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/l3ni1.c linux-2.4.29/drivers/isdn/hisax/l3ni1.c
---- linux-2.4.29.old/drivers/isdn/hisax/l3ni1.c        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/l3ni1.c    2005-03-22 15:06:47.859816984 +0100
+--- a/drivers/isdn/hisax/l3ni1.c
++++ b/drivers/isdn/hisax/l3ni1.c
 @@ -1,4 +1,4 @@
 -/* $Id: l3ni1.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: l3ni1.c,v 2.8 2001/09/24 13:22:56 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: l3ni1.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: l3ni1.c,v 2.8 2001/09/24 13:22:56 kai Exp $
@@ -10335,27 +10206,24 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/l3ni1.c linux-2.4.29/drivers/isdn/
  
  #define EXT_BEARER_CAPS 1
  
  
  #define EXT_BEARER_CAPS 1
  
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/l3ni1.h linux-2.4.29/drivers/isdn/hisax/l3ni1.h
---- linux-2.4.29.old/drivers/isdn/hisax/l3ni1.h        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/l3ni1.h    2005-03-22 15:06:47.877814248 +0100
+--- a/drivers/isdn/hisax/l3ni1.h
++++ b/drivers/isdn/hisax/l3ni1.h
 @@ -1,4 +1,4 @@
 -/* $Id: l3ni1.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id$
   *
   * NI1 D-channel protocol
   *
 @@ -1,4 +1,4 @@
 -/* $Id: l3ni1.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id$
   *
   * NI1 D-channel protocol
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/lmgr.c linux-2.4.29/drivers/isdn/hisax/lmgr.c
---- linux-2.4.29.old/drivers/isdn/hisax/lmgr.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/lmgr.c     2005-03-22 15:06:47.895811512 +0100
+--- a/drivers/isdn/hisax/lmgr.c
++++ b/drivers/isdn/hisax/lmgr.c
 @@ -1,4 +1,4 @@
 -/* $Id: lmgr.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id$
   *
   * Layermanagement module
   *
 @@ -1,4 +1,4 @@
 -/* $Id: lmgr.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id$
   *
   * Layermanagement module
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/md5sums.asc linux-2.4.29/drivers/isdn/hisax/md5sums.asc
---- linux-2.4.29.old/drivers/isdn/hisax/md5sums.asc    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/md5sums.asc        2005-03-22 15:06:47.910809232 +0100
+--- a/drivers/isdn/hisax/md5sums.asc
++++ b/drivers/isdn/hisax/md5sums.asc
 @@ -1,33 +1,22 @@
 ------BEGIN PGP SIGNED MESSAGE-----
 -Hash: SHA1
 @@ -1,33 +1,22 @@
 ------BEGIN PGP SIGNED MESSAGE-----
 -Hash: SHA1
@@ -10406,9 +10274,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/md5sums.asc linux-2.4.29/drivers/i
 -GIKgAEdRLzERmpt/bCCwAbY=
 -=FaHw
 ------END PGP SIGNATURE-----
 -GIKgAEdRLzERmpt/bCCwAbY=
 -=FaHw
 ------END PGP SIGNATURE-----
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/mic.c linux-2.4.29/drivers/isdn/hisax/mic.c
---- linux-2.4.29.old/drivers/isdn/hisax/mic.c  2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/mic.c      2005-03-22 15:06:47.926806800 +0100
+--- a/drivers/isdn/hisax/mic.c
++++ b/drivers/isdn/hisax/mic.c
 @@ -1,4 +1,4 @@
 -/* $Id: mic.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: mic.c,v 1.12 2001/09/24 13:22:56 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: mic.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: mic.c,v 1.12 2001/09/24 13:22:56 kai Exp $
@@ -10424,9 +10291,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/mic.c linux-2.4.29/drivers/isdn/hi
  
  #define byteout(addr,val) outb(val,addr)
  #define bytein(addr) inb(addr)
  
  #define byteout(addr,val) outb(val,addr)
  #define bytein(addr) inb(addr)
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/netjet.c linux-2.4.29/drivers/isdn/hisax/netjet.c
---- linux-2.4.29.old/drivers/isdn/hisax/netjet.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/netjet.c   2005-03-22 15:06:47.941804520 +0100
+--- a/drivers/isdn/hisax/netjet.c
++++ b/drivers/isdn/hisax/netjet.c
 @@ -1,4 +1,4 @@
 -/* $Id: netjet.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: netjet.c,v 1.29 2001/09/24 13:22:56 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: netjet.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: netjet.c,v 1.29 2001/09/24 13:22:56 kai Exp $
@@ -10453,7 +10319,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/netjet.c linux-2.4.29/drivers/isdn
  
  /* Interface functions */
  
  
  /* Interface functions */
  
-@@ -135,7 +133,6 @@
+@@ -135,7 +133,6 @@ void
  mode_tiger(struct BCState *bcs, int mode, int bc)
  {
        struct IsdnCardState *cs = bcs->cs;
  mode_tiger(struct BCState *bcs, int mode, int bc)
  {
        struct IsdnCardState *cs = bcs->cs;
@@ -10461,7 +10327,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/netjet.c linux-2.4.29/drivers/isdn
  
        if (cs->debug & L1_DEB_HSCX)
                debugl1(cs, "Tiger mode %d bchan %d/%d",
  
        if (cs->debug & L1_DEB_HSCX)
                debugl1(cs, "Tiger mode %d bchan %d/%d",
-@@ -157,15 +154,6 @@
+@@ -157,15 +154,6 @@ mode_tiger(struct BCState *bcs, int mode
                                        cs->hw.njet.dmactrl);
                                byteout(cs->hw.njet.base + NETJET_IRQMASK0, 0);
                        }
                                        cs->hw.njet.dmactrl);
                                byteout(cs->hw.njet.base + NETJET_IRQMASK0, 0);
                        }
@@ -10477,7 +10343,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/netjet.c linux-2.4.29/drivers/isdn
                        break;
                case (L1_MODE_TRANS):
                        break;
                        break;
                case (L1_MODE_TRANS):
                        break;
-@@ -191,14 +179,6 @@
+@@ -191,14 +179,6 @@ mode_tiger(struct BCState *bcs, int mode
                        bcs->hw.tiger.sendp = bcs->hw.tiger.send;
                        bcs->hw.tiger.free = NETJET_DMA_TXSIZE;
                        test_and_set_bit(BC_FLG_EMPTY, &bcs->Flag);
                        bcs->hw.tiger.sendp = bcs->hw.tiger.send;
                        bcs->hw.tiger.free = NETJET_DMA_TXSIZE;
                        test_and_set_bit(BC_FLG_EMPTY, &bcs->Flag);
@@ -10492,7 +10358,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/netjet.c linux-2.4.29/drivers/isdn
                        break;
        }
        if (cs->debug & L1_DEB_HSCX)
                        break;
        }
        if (cs->debug & L1_DEB_HSCX)
-@@ -874,13 +854,9 @@
+@@ -874,13 +854,9 @@ tiger_l2l1(struct PStack *st, int pr, vo
                case (PH_ACTIVATE | REQUEST):
                        test_and_set_bit(BC_FLG_ACTIV, &st->l1.bcs->Flag);
                        mode_tiger(st->l1.bcs, st->l1.mode, st->l1.bc);
                case (PH_ACTIVATE | REQUEST):
                        test_and_set_bit(BC_FLG_ACTIV, &st->l1.bcs->Flag);
                        mode_tiger(st->l1.bcs, st->l1.mode, st->l1.bc);
@@ -10506,18 +10372,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/netjet.c linux-2.4.29/drivers/isdn
                        l1_msg_b(st, pr, arg);
                        break;
                case (PH_DEACTIVATE | CONFIRM):
                        l1_msg_b(st, pr, arg);
                        break;
                case (PH_DEACTIVATE | CONFIRM):
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/netjet.h linux-2.4.29/drivers/isdn/hisax/netjet.h
---- linux-2.4.29.old/drivers/isdn/hisax/netjet.h       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/netjet.h   2005-03-22 15:06:47.956802240 +0100
+--- a/drivers/isdn/hisax/netjet.h
++++ b/drivers/isdn/hisax/netjet.h
 @@ -1,4 +1,4 @@
 -/* $Id: netjet.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: netjet.h,v 2.8 2001/09/24 13:22:56 kai Exp $
   *
   * NETjet common header file
   *
 @@ -1,4 +1,4 @@
 -/* $Id: netjet.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: netjet.h,v 2.8 2001/09/24 13:22:56 kai Exp $
   *
   * NETjet common header file
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/niccy.c linux-2.4.29/drivers/isdn/hisax/niccy.c
---- linux-2.4.29.old/drivers/isdn/hisax/niccy.c        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/niccy.c    2005-03-22 15:06:47.977799048 +0100
+--- a/drivers/isdn/hisax/niccy.c
++++ b/drivers/isdn/hisax/niccy.c
 @@ -1,4 +1,4 @@
 -/* $Id: niccy.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: niccy.c,v 1.21 2001/10/20 22:05:00 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: niccy.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: niccy.c,v 1.21 2001/10/20 22:05:00 kai Exp $
@@ -10537,7 +10401,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/niccy.c linux-2.4.29/drivers/isdn/
  
  #define byteout(addr,val) outb(val,addr)
  #define bytein(addr) inb(addr)
  
  #define byteout(addr,val) outb(val,addr)
  #define bytein(addr) inb(addr)
-@@ -239,9 +239,6 @@
+@@ -239,9 +239,6 @@ niccy_card_msg(struct IsdnCardState *cs,
  }
  
  static struct pci_dev *niccy_dev __initdata = NULL;
  }
  
  static struct pci_dev *niccy_dev __initdata = NULL;
@@ -10547,7 +10411,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/niccy.c linux-2.4.29/drivers/isdn/
  
  int __init
  setup_niccy(struct IsdnCard *card)
  
  int __init
  setup_niccy(struct IsdnCard *card)
-@@ -253,39 +250,7 @@
+@@ -253,39 +250,7 @@ setup_niccy(struct IsdnCard *card)
        printk(KERN_INFO "HiSax: Niccy driver Rev. %s\n", HiSax_getrev(tmp));
        if (cs->typ != ISDN_CTYPE_NICCY)
                return (0);
        printk(KERN_INFO "HiSax: Niccy driver Rev. %s\n", HiSax_getrev(tmp));
        if (cs->typ != ISDN_CTYPE_NICCY)
                return (0);
@@ -10588,7 +10452,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/niccy.c linux-2.4.29/drivers/isdn/
        if (card->para[1]) {
                cs->hw.niccy.isac = card->para[1] + ISAC_PNP;
                cs->hw.niccy.hscx = card->para[1] + HSCX_PNP;
        if (card->para[1]) {
                cs->hw.niccy.isac = card->para[1] + ISAC_PNP;
                cs->hw.niccy.hscx = card->para[1] + HSCX_PNP;
-@@ -331,12 +296,12 @@
+@@ -331,12 +296,12 @@ setup_niccy(struct IsdnCard *card)
                                return(0);
                        }
                        cs->irq = niccy_dev->irq;
                                return(0);
                        }
                        cs->irq = niccy_dev->irq;
@@ -10603,9 +10467,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/niccy.c linux-2.4.29/drivers/isdn/
                        if (!pci_ioaddr) {
                                printk(KERN_WARNING "Niccy: No IO-Adr for PCI card found\n");
                                return(0);
                        if (!pci_ioaddr) {
                                printk(KERN_WARNING "Niccy: No IO-Adr for PCI card found\n");
                                return(0);
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/nj_s.c linux-2.4.29/drivers/isdn/hisax/nj_s.c
---- linux-2.4.29.old/drivers/isdn/hisax/nj_s.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/nj_s.c     2005-03-22 15:06:47.993796616 +0100
+--- a/drivers/isdn/hisax/nj_s.c
++++ b/drivers/isdn/hisax/nj_s.c
 @@ -1,4 +1,4 @@
 -/* $Id: nj_s.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: nj_s.c,v 2.13 2001/09/24 13:22:56 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: nj_s.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: nj_s.c,v 2.13 2001/09/24 13:22:56 kai Exp $
@@ -10626,7 +10489,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/nj_s.c linux-2.4.29/drivers/isdn/h
  
  static u_char dummyrr(struct IsdnCardState *cs, int chan, u_char off)
  {
  
  static u_char dummyrr(struct IsdnCardState *cs, int chan, u_char off)
  {
-@@ -130,7 +131,6 @@
+@@ -130,7 +131,6 @@ NETjet_S_card_msg(struct IsdnCardState *
                        release_io_netjet(cs);
                        return(0);
                case CARD_INIT:
                        release_io_netjet(cs);
                        return(0);
                case CARD_INIT:
@@ -10634,7 +10497,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/nj_s.c linux-2.4.29/drivers/isdn/h
                        inittiger(cs);
                        clear_pending_isac_ints(cs);
                        initisac(cs);
                        inittiger(cs);
                        clear_pending_isac_ints(cs);
                        initisac(cs);
-@@ -180,19 +180,11 @@
+@@ -180,19 +180,11 @@ setup_netjet_s(struct IsdnCard *card)
                                printk(KERN_WARNING "NETjet-S: No IRQ for PCI card found\n");
                                return(0);
                        }
                                printk(KERN_WARNING "NETjet-S: No IRQ for PCI card found\n");
                                return(0);
                        }
@@ -10655,7 +10518,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/nj_s.c linux-2.4.29/drivers/isdn/h
                } else {
                        printk(KERN_WARNING "NETjet-S: No PCI card found\n");
                        return(0);
                } else {
                        printk(KERN_WARNING "NETjet-S: No PCI card found\n");
                        return(0);
-@@ -263,6 +255,7 @@
+@@ -263,6 +255,7 @@ setup_netjet_s(struct IsdnCard *card)
        } else {
                request_region(cs->hw.njet.base, bytecnt, "netjet-s isdn");
        }
        } else {
                request_region(cs->hw.njet.base, bytecnt, "netjet-s isdn");
        }
@@ -10663,9 +10526,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/nj_s.c linux-2.4.29/drivers/isdn/h
        cs->readisac  = &NETjet_ReadIC;
        cs->writeisac = &NETjet_WriteIC;
        cs->readisacfifo  = &NETjet_ReadICfifo;
        cs->readisac  = &NETjet_ReadIC;
        cs->writeisac = &NETjet_WriteIC;
        cs->readisacfifo  = &NETjet_ReadICfifo;
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/nj_u.c linux-2.4.29/drivers/isdn/hisax/nj_u.c
---- linux-2.4.29.old/drivers/isdn/hisax/nj_u.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/nj_u.c     2005-03-22 15:06:48.008794336 +0100
+--- a/drivers/isdn/hisax/nj_u.c
++++ b/drivers/isdn/hisax/nj_u.c
 @@ -1,4 +1,4 @@
 -/* $Id: nj_u.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $ 
 +/* $Id: nj_u.c,v 2.14 2001/09/24 13:22:56 kai Exp $ 
 @@ -1,4 +1,4 @@
 -/* $Id: nj_u.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $ 
 +/* $Id: nj_u.c,v 2.14 2001/09/24 13:22:56 kai Exp $ 
@@ -10686,7 +10548,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/nj_u.c linux-2.4.29/drivers/isdn/h
  
  static u_char dummyrr(struct IsdnCardState *cs, int chan, u_char off)
  {
  
  static u_char dummyrr(struct IsdnCardState *cs, int chan, u_char off)
  {
-@@ -181,7 +182,7 @@
+@@ -181,7 +182,7 @@ setup_netjet_u(struct IsdnCard *card)
                                printk(KERN_WARNING "NETspider-U: No IRQ for PCI card found\n");
                                return(0);
                        }
                                printk(KERN_WARNING "NETspider-U: No IRQ for PCI card found\n");
                                return(0);
                        }
@@ -10695,16 +10557,15 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/nj_u.c linux-2.4.29/drivers/isdn/h
                        if (!cs->hw.njet.base) {
                                printk(KERN_WARNING "NETspider-U: No IO-Adr for PCI card found\n");
                                return(0);
                        if (!cs->hw.njet.base) {
                                printk(KERN_WARNING "NETspider-U: No IO-Adr for PCI card found\n");
                                return(0);
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/q931.c linux-2.4.29/drivers/isdn/hisax/q931.c
---- linux-2.4.29.old/drivers/isdn/hisax/q931.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/q931.c     2005-03-22 15:06:48.032790688 +0100
+--- a/drivers/isdn/hisax/q931.c
++++ b/drivers/isdn/hisax/q931.c
 @@ -1,4 +1,4 @@
 -/* $Id: q931.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: q931.c,v 1.12 2001/09/24 13:22:56 kai Exp $
   *
   * code to decode ITU Q.931 call control messages
   *
 @@ -1,4 +1,4 @@
 -/* $Id: q931.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: q931.c,v 1.12 2001/09/24 13:22:56 kai Exp $
   *
   * code to decode ITU Q.931 call control messages
   *
-@@ -197,6 +197,31 @@
+@@ -197,6 +197,31 @@ struct MessageType mt_n1[] =
  
  #define MT_N1_LEN (sizeof(mt_n1) / sizeof(struct MessageType))
  
  
  #define MT_N1_LEN (sizeof(mt_n1) / sizeof(struct MessageType))
  
@@ -10736,9 +10597,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/q931.c linux-2.4.29/drivers/isdn/h
  
  static int
  prbits(char *dest, u_char b, int start, int len)
  
  static int
  prbits(char *dest, u_char b, int start, int len)
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/rawhdlc.c linux-2.4.29/drivers/isdn/hisax/rawhdlc.c
---- linux-2.4.29.old/drivers/isdn/hisax/rawhdlc.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/rawhdlc.c  2005-03-22 15:06:48.047788408 +0100
+--- /dev/null
++++ b/drivers/isdn/hisax/rawhdlc.c
 @@ -0,0 +1,543 @@
 +/* $Id: rawhdlc.c,v 1.7 2001/09/24 13:22:57 kai Exp $
 + *
 @@ -0,0 +1,543 @@
 +/* $Id: rawhdlc.c,v 1.7 2001/09/24 13:22:57 kai Exp $
 + *
@@ -11283,9 +11143,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/rawhdlc.c linux-2.4.29/drivers/isd
 +}
 +
 +#endif
 +}
 +
 +#endif
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/rawhdlc.h linux-2.4.29/drivers/isdn/hisax/rawhdlc.h
---- linux-2.4.29.old/drivers/isdn/hisax/rawhdlc.h      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/rawhdlc.h  2005-03-22 15:06:48.076784000 +0100
+--- /dev/null
++++ b/drivers/isdn/hisax/rawhdlc.h
 @@ -0,0 +1,28 @@
 +/* $Id: rawhdlc.h,v 1.5 2001/09/24 13:22:57 kai Exp $
 + *
 @@ -0,0 +1,28 @@
 +/* $Id: rawhdlc.h,v 1.5 2001/09/24 13:22:57 kai Exp $
 + *
@@ -11315,9 +11174,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/rawhdlc.h linux-2.4.29/drivers/isd
 +                       u_char *src, u_int slen, u_char *dst, u_int dsize);
 +#define RAWHDLC_H
 +#endif
 +                       u_char *src, u_int slen, u_char *dst, u_int dsize);
 +#define RAWHDLC_H
 +#endif
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/s0box.c linux-2.4.29/drivers/isdn/hisax/s0box.c
---- linux-2.4.29.old/drivers/isdn/hisax/s0box.c        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/s0box.c    2005-03-22 15:06:48.092781568 +0100
+--- a/drivers/isdn/hisax/s0box.c
++++ b/drivers/isdn/hisax/s0box.c
 @@ -1,4 +1,4 @@
 -/* $Id: s0box.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: s0box.c,v 2.6 2001/09/24 13:22:57 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: s0box.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: s0box.c,v 2.6 2001/09/24 13:22:57 kai Exp $
@@ -11333,9 +11191,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/s0box.c linux-2.4.29/drivers/isdn/
  
  static inline void
  writereg(unsigned int padr, signed int addr, u_char off, u_char val) {
  
  static inline void
  writereg(unsigned int padr, signed int addr, u_char off, u_char val) {
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/saphir.c linux-2.4.29/drivers/isdn/hisax/saphir.c
---- linux-2.4.29.old/drivers/isdn/hisax/saphir.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/saphir.c   2005-03-22 15:06:48.107779288 +0100
+--- a/drivers/isdn/hisax/saphir.c
++++ b/drivers/isdn/hisax/saphir.c
 @@ -1,4 +1,4 @@
 -/* $Id: saphir.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: saphir.c,v 1.10 2001/09/24 13:22:57 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: saphir.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: saphir.c,v 1.10 2001/09/24 13:22:57 kai Exp $
@@ -11351,9 +11208,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/saphir.c linux-2.4.29/drivers/isdn
  
  #define byteout(addr,val) outb(val,addr)
  #define bytein(addr) inb(addr)
  
  #define byteout(addr,val) outb(val,addr)
  #define bytein(addr) inb(addr)
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/sedlbauer.c linux-2.4.29/drivers/isdn/hisax/sedlbauer.c
---- linux-2.4.29.old/drivers/isdn/hisax/sedlbauer.c    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/sedlbauer.c        2005-03-22 15:06:48.123776856 +0100
+--- a/drivers/isdn/hisax/sedlbauer.c
++++ b/drivers/isdn/hisax/sedlbauer.c
 @@ -1,4 +1,4 @@
 -/* $Id: sedlbauer.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: sedlbauer.c,v 1.34 2002/02/09 21:00:57 keil Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: sedlbauer.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: sedlbauer.c,v 1.34 2002/02/09 21:00:57 keil Exp $
@@ -11383,7 +11239,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/sedlbauer.c linux-2.4.29/drivers/i
  #define PCI_SUBVENDOR_SEDLBAUER_PCI   0x53
  #define PCI_SUBVENDOR_SPEEDFAX_PCI    0x54
  #define PCI_SUB_ID_SEDLBAUER          0x01
  #define PCI_SUBVENDOR_SEDLBAUER_PCI   0x53
  #define PCI_SUBVENDOR_SPEEDFAX_PCI    0x54
  #define PCI_SUB_ID_SEDLBAUER          0x01
-@@ -72,6 +73,7 @@
+@@ -72,6 +73,7 @@ const char *Sedlbauer_Types[] =
  #define SEDL_SPEED_PCI        6
  #define SEDL_SPEEDFAX_PYRAMID 7
  #define SEDL_SPEEDFAX_PCI     8
  #define SEDL_SPEED_PCI        6
  #define SEDL_SPEEDFAX_PYRAMID 7
  #define SEDL_SPEEDFAX_PCI     8
@@ -11391,7 +11247,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/sedlbauer.c linux-2.4.29/drivers/i
  
  #define SEDL_CHIP_TEST                0
  #define SEDL_CHIP_ISAC_HSCX   1
  
  #define SEDL_CHIP_TEST                0
  #define SEDL_CHIP_ISAC_HSCX   1
-@@ -531,21 +533,6 @@
+@@ -531,21 +533,6 @@ Sedl_card_msg(struct IsdnCardState *cs, 
  
  static struct pci_dev *dev_sedl __devinitdata = NULL;
  
  
  static struct pci_dev *dev_sedl __devinitdata = NULL;
  
@@ -11413,7 +11269,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/sedlbauer.c linux-2.4.29/drivers/i
  int __devinit
  setup_sedlbauer(struct IsdnCard *card)
  {
  int __devinit
  setup_sedlbauer(struct IsdnCard *card)
  {
-@@ -581,57 +568,6 @@
+@@ -581,57 +568,6 @@ setup_sedlbauer(struct IsdnCard *card)
                        bytecnt = 16;
                }
        } else {
                        bytecnt = 16;
                }
        } else {
@@ -11471,7 +11327,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/sedlbauer.c linux-2.4.29/drivers/i
  /* Probe for Sedlbauer speed pci */
  #if CONFIG_PCI
                if (!pci_present()) {
  /* Probe for Sedlbauer speed pci */
  #if CONFIG_PCI
                if (!pci_present()) {
-@@ -647,15 +583,15 @@
+@@ -647,15 +583,15 @@ setup_sedlbauer(struct IsdnCard *card)
                                printk(KERN_WARNING "Sedlbauer: No IRQ for PCI card found\n");
                                return(0);
                        }
                                printk(KERN_WARNING "Sedlbauer: No IRQ for PCI card found\n");
                                return(0);
                        }
@@ -11490,7 +11346,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/sedlbauer.c linux-2.4.29/drivers/i
                printk(KERN_INFO "Sedlbauer: PCI subvendor:%x subid %x\n",
                        sub_vendor_id, sub_id);
                printk(KERN_INFO "Sedlbauer: PCI base adr %#x\n",
                printk(KERN_INFO "Sedlbauer: PCI subvendor:%x subid %x\n",
                        sub_vendor_id, sub_id);
                printk(KERN_INFO "Sedlbauer: PCI base adr %#x\n",
-@@ -670,6 +606,9 @@
+@@ -670,6 +606,9 @@ setup_sedlbauer(struct IsdnCard *card)
                } else if (sub_vendor_id == PCI_SUBVENDOR_SPEEDFAX_PCI) {
                        cs->hw.sedl.chip = SEDL_CHIP_ISAC_ISAR;
                        cs->subtyp = SEDL_SPEEDFAX_PCI;
                } else if (sub_vendor_id == PCI_SUBVENDOR_SPEEDFAX_PCI) {
                        cs->hw.sedl.chip = SEDL_CHIP_ISAC_ISAR;
                        cs->subtyp = SEDL_SPEEDFAX_PCI;
@@ -11500,7 +11356,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/sedlbauer.c linux-2.4.29/drivers/i
                } else if (sub_vendor_id == PCI_SUBVENDOR_SEDLBAUER_PCI) {
                        cs->hw.sedl.chip = SEDL_CHIP_IPAC;
                        cs->subtyp = SEDL_SPEED_PCI;
                } else if (sub_vendor_id == PCI_SUBVENDOR_SEDLBAUER_PCI) {
                        cs->hw.sedl.chip = SEDL_CHIP_IPAC;
                        cs->subtyp = SEDL_SPEED_PCI;
-@@ -683,8 +622,8 @@
+@@ -683,8 +622,8 @@ setup_sedlbauer(struct IsdnCard *card)
                cs->hw.sedl.reset_off = SEDL_ISAR_PCI_ISAR_RESET_OFF;
                byteout(cs->hw.sedl.cfg_reg, 0xff);
                byteout(cs->hw.sedl.cfg_reg, 0x00);
                cs->hw.sedl.reset_off = SEDL_ISAR_PCI_ISAR_RESET_OFF;
                byteout(cs->hw.sedl.cfg_reg, 0xff);
                byteout(cs->hw.sedl.cfg_reg, 0x00);
@@ -11511,7 +11367,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/sedlbauer.c linux-2.4.29/drivers/i
                byteout(cs->hw.sedl.cfg_reg +3, cs->hw.sedl.reset_on);
                save_flags(flags);
                sti();
                byteout(cs->hw.sedl.cfg_reg +3, cs->hw.sedl.reset_on);
                save_flags(flags);
                sti();
-@@ -697,7 +636,7 @@
+@@ -697,7 +636,7 @@ setup_sedlbauer(struct IsdnCard *card)
                return (0);
  #endif /* CONFIG_PCI */
        }       
                return (0);
  #endif /* CONFIG_PCI */
        }       
@@ -11520,9 +11376,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/sedlbauer.c linux-2.4.29/drivers/i
        /* In case of the sedlbauer pcmcia card, this region is in use,
         * reserved for us by the card manager. So we do not check it
         * here, it would fail.
        /* In case of the sedlbauer pcmcia card, this region is in use,
         * reserved for us by the card manager. So we do not check it
         * here, it would fail.
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/sportster.c linux-2.4.29/drivers/isdn/hisax/sportster.c
---- linux-2.4.29.old/drivers/isdn/hisax/sportster.c    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/sportster.c        2005-03-22 15:06:48.169769864 +0100
+--- a/drivers/isdn/hisax/sportster.c
++++ b/drivers/isdn/hisax/sportster.c
 @@ -1,4 +1,4 @@
 -/* $Id: sportster.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: sportster.c,v 1.16 2001/09/24 13:22:57 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: sportster.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: sportster.c,v 1.16 2001/09/24 13:22:57 kai Exp $
@@ -11538,9 +11393,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/sportster.c linux-2.4.29/drivers/i
  
  #define byteout(addr,val) outb(val,addr)
  #define bytein(addr) inb(addr)
  
  #define byteout(addr,val) outb(val,addr)
  #define bytein(addr) inb(addr)
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481-debug.h linux-2.4.29/drivers/isdn/hisax/st5481-debug.h
---- linux-2.4.29.old/drivers/isdn/hisax/st5481-debug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/st5481-debug.h     2005-03-22 15:06:48.184767584 +0100
+--- /dev/null
++++ b/drivers/isdn/hisax/st5481-debug.h
 @@ -0,0 +1,103 @@
 +#define ST5481_DEBUG 0x0
 +
 @@ -0,0 +1,103 @@
 +#define ST5481_DEBUG 0x0
 +
@@ -11645,10 +11499,9 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481-debug.h linux-2.4.29/driver
 +
 +
 +
 +
 +
 +
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481.h linux-2.4.29/drivers/isdn/hisax/st5481.h
---- linux-2.4.29.old/drivers/isdn/hisax/st5481.h       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/st5481.h   2005-03-22 15:06:48.201765000 +0100
-@@ -219,15 +219,15 @@
+--- a/drivers/isdn/hisax/st5481.h
++++ b/drivers/isdn/hisax/st5481.h
+@@ -219,15 +219,15 @@ enum {
  #define L1_EVENT_COUNT (EV_TIMER3 + 1)
  
  #define ERR(format, arg...) \
  #define L1_EVENT_COUNT (EV_TIMER3 + 1)
  
  #define ERR(format, arg...) \
@@ -11668,7 +11521,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481.h linux-2.4.29/drivers/isdn
  #include "fsm.h"
  #include "hisax_if.h"
  #include <linux/skbuff.h>
  #include "fsm.h"
  #include "hisax_if.h"
  #include <linux/skbuff.h>
-@@ -236,7 +236,7 @@
+@@ -236,7 +236,7 @@ printk(KERN_INFO "%s:%s: " format "\n" ,
   * FIFO handling
   */
  
   * FIFO handling
   */
  
@@ -11677,7 +11530,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481.h linux-2.4.29/drivers/isdn
  struct fifo {
        u_char r,w,count,size;
        spinlock_t lock;
  struct fifo {
        u_char r,w,count,size;
        spinlock_t lock;
-@@ -270,7 +270,7 @@
+@@ -270,7 +270,7 @@ static inline int fifo_add(struct fifo *
                index = -1;
        } else {
                // Return index where to get the next data to add to the FIFO
                index = -1;
        } else {
                // Return index where to get the next data to add to the FIFO
@@ -11686,7 +11539,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481.h linux-2.4.29/drivers/isdn
                fifo->count++;
        }
        spin_unlock_irqrestore(&fifo->lock, flags);
                fifo->count++;
        }
        spin_unlock_irqrestore(&fifo->lock, flags);
-@@ -289,13 +289,13 @@
+@@ -289,13 +289,13 @@ static inline int fifo_remove(struct fif
                return -1;
        }
  
                return -1;
        }
  
@@ -11702,7 +11555,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481.h linux-2.4.29/drivers/isdn
                fifo->count--;
        }
        spin_unlock_irqrestore(&fifo->lock, flags);
                fifo->count--;
        }
        spin_unlock_irqrestore(&fifo->lock, flags);
-@@ -309,7 +309,7 @@
+@@ -309,7 +309,7 @@ static inline int fifo_remove(struct fif
  typedef void (*ctrl_complete_t)(void *);
  
  typedef struct ctrl_msg {
  typedef void (*ctrl_complete_t)(void *);
  
  typedef struct ctrl_msg {
@@ -11711,7 +11564,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481.h linux-2.4.29/drivers/isdn
        ctrl_complete_t complete;
        void *context;
  } ctrl_msg; 
        ctrl_complete_t complete;
        void *context;
  } ctrl_msg; 
-@@ -336,7 +336,7 @@
+@@ -336,7 +336,7 @@ struct st5481_intr {
  };
  
  struct st5481_d_out {
  };
  
  struct st5481_d_out {
@@ -11720,7 +11573,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481.h linux-2.4.29/drivers/isdn
        struct urb *urb[2]; /* double buffering */
        unsigned long busy;
        struct sk_buff *tx_skb;
        struct urb *urb[2]; /* double buffering */
        unsigned long busy;
        struct sk_buff *tx_skb;
-@@ -344,7 +344,7 @@
+@@ -344,7 +344,7 @@ struct st5481_d_out {
  };
  
  struct st5481_b_out {
  };
  
  struct st5481_b_out {
@@ -11729,7 +11582,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481.h linux-2.4.29/drivers/isdn
        struct urb *urb[2]; /* double buffering */
        u_char flow_event;
        u_long busy;
        struct urb *urb[2]; /* double buffering */
        u_char flow_event;
        u_long busy;
-@@ -352,7 +352,7 @@
+@@ -352,7 +352,7 @@ struct st5481_b_out {
  };
  
  struct st5481_in {
  };
  
  struct st5481_in {
@@ -11738,7 +11591,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481.h linux-2.4.29/drivers/isdn
        struct urb *urb[2]; /* double buffering */
        int mode;
        int bufsize;
        struct urb *urb[2]; /* double buffering */
        int mode;
        int bufsize;
-@@ -478,7 +478,7 @@
+@@ -478,7 +478,7 @@ extern int st5481_debug;
    if (level & __debug_variable) dump_iso_packet(__FUNCTION__,urb)
  
  static void __attribute__((unused))
    if (level & __debug_variable) dump_iso_packet(__FUNCTION__,urb)
  
  static void __attribute__((unused))
@@ -11747,10 +11600,9 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481.h linux-2.4.29/drivers/isdn
  {
        int i,j;
        int len,ofs;
  {
        int i,j;
        int len,ofs;
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_b.c linux-2.4.29/drivers/isdn/hisax/st5481_b.c
---- linux-2.4.29.old/drivers/isdn/hisax/st5481_b.c     2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/st5481_b.c 2005-03-22 15:06:48.216762720 +0100
-@@ -67,28 +67,24 @@
+--- a/drivers/isdn/hisax/st5481_b.c
++++ b/drivers/isdn/hisax/st5481_b.c
+@@ -67,28 +67,24 @@ static void usb_b_out(struct st5481_bcs 
                                bytes_sent = buf_size - len;
                                if (skb->len < bytes_sent)
                                        bytes_sent = skb->len;
                                bytes_sent = buf_size - len;
                                if (skb->len < bytes_sent)
                                        bytes_sent = skb->len;
@@ -11787,7 +11639,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_b.c linux-2.4.29/drivers/is
  /*                            if (!(bcs->tx_skb = skb_dequeue(&bcs->sq))) { */
  /*                                    st5481B_sched_event(bcs, B_XMTBUFREADY); */
  /*                            } */
  /*                            if (!(bcs->tx_skb = skb_dequeue(&bcs->sq))) { */
  /*                                    st5481B_sched_event(bcs, B_XMTBUFREADY); */
  /*                            } */
-@@ -99,9 +95,9 @@
+@@ -99,9 +95,9 @@ static void usb_b_out(struct st5481_bcs 
                                len = buf_size;
                        } else {
                                // Send flags
                                len = buf_size;
                        } else {
                                // Send flags
@@ -11800,7 +11652,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_b.c linux-2.4.29/drivers/is
                        }
                }       
        }
                        }
                }       
        }
-@@ -213,7 +209,7 @@
+@@ -213,7 +209,7 @@ static void st5481B_mode(struct st5481_b
        if (bcs->mode != L1_MODE_NULL) {
                // Open the B channel
                if (bcs->mode != L1_MODE_TRANS) {
        if (bcs->mode != L1_MODE_NULL) {
                // Open the B channel
                if (bcs->mode != L1_MODE_TRANS) {
@@ -11809,7 +11661,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_b.c linux-2.4.29/drivers/is
                }
                st5481_usb_pipe_reset(adapter, (bcs->channel+1)*2, NULL, NULL);
        
                }
                st5481_usb_pipe_reset(adapter, (bcs->channel+1)*2, NULL, NULL);
        
-@@ -279,7 +275,7 @@
+@@ -279,7 +275,7 @@ static int __devinit st5481_setup_b_out(
                                      usb_b_out_complete, bcs);
  }
  
                                      usb_b_out_complete, bcs);
  }
  
@@ -11818,7 +11670,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_b.c linux-2.4.29/drivers/is
  {
        struct st5481_b_out *b_out = &bcs->b_out;
  
  {
        struct st5481_b_out *b_out = &bcs->b_out;
  
-@@ -320,7 +316,7 @@
+@@ -320,7 +316,7 @@ int __devinit st5481_setup_b(struct st54
  /*
   * Release buffers and URBs for the B channels
   */
  /*
   * Release buffers and URBs for the B channels
   */
@@ -11827,10 +11679,9 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_b.c linux-2.4.29/drivers/is
  {
        DBG(4,"");
  
  {
        DBG(4,"");
  
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_d.c linux-2.4.29/drivers/isdn/hisax/st5481_d.c
---- linux-2.4.29.old/drivers/isdn/hisax/st5481_d.c     2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/st5481_d.c 2005-03-22 15:06:48.231760440 +0100
-@@ -162,8 +162,8 @@
+--- a/drivers/isdn/hisax/st5481_d.c
++++ b/drivers/isdn/hisax/st5481_d.c
+@@ -162,8 +162,8 @@ static struct FsmNode L1FnList[] __initd
        {ST_L1_F8, EV_TIMER3,            l1_timer3},
        {ST_L1_F8, EV_IND_DP,            l1_go_f3},
        {ST_L1_F8, EV_IND_AP,            l1_go_f6},
        {ST_L1_F8, EV_TIMER3,            l1_timer3},
        {ST_L1_F8, EV_IND_DP,            l1_go_f3},
        {ST_L1_F8, EV_IND_AP,            l1_go_f6},
@@ -11841,7 +11692,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_d.c linux-2.4.29/drivers/is
        {ST_L1_F8, EV_IND_RSY,           l1_ignore},
  };
  
        {ST_L1_F8, EV_IND_RSY,           l1_ignore},
  };
  
-@@ -297,7 +297,7 @@
+@@ -297,7 +297,7 @@ static void usb_d_out(struct st5481_adap
        unsigned int num_packets, packet_offset;
        int len, buf_size, bytes_sent;
        struct sk_buff *skb;
        unsigned int num_packets, packet_offset;
        int len, buf_size, bytes_sent;
        struct sk_buff *skb;
@@ -11850,7 +11701,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_d.c linux-2.4.29/drivers/is
  
        if (d_out->fsm.state != ST_DOUT_NORMAL)
                return;
  
        if (d_out->fsm.state != ST_DOUT_NORMAL)
                return;
-@@ -313,15 +313,15 @@
+@@ -313,15 +313,15 @@ static void usb_d_out(struct st5481_adap
        buf_size = NUM_ISO_PACKETS_D * SIZE_ISO_PACKETS_D_OUT;
        
        if (skb) {
        buf_size = NUM_ISO_PACKETS_D * SIZE_ISO_PACKETS_D_OUT;
        
        if (skb) {
@@ -11872,7 +11723,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_d.c linux-2.4.29/drivers/is
        }
        
        if (len < buf_size) {
        }
        
        if (len < buf_size) {
-@@ -413,7 +413,7 @@
+@@ -413,7 +413,7 @@ static void dout_start_xmit(struct FsmIn
  
        DBG(2,"len=%d",skb->len);
  
  
        DBG(2,"len=%d",skb->len);
  
@@ -11881,7 +11732,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_d.c linux-2.4.29/drivers/is
  
        if (test_and_set_bit(buf_nr, &d_out->busy)) {
                WARN("ep %d urb %d busy %#lx", EP_D_OUT, buf_nr, d_out->busy);
  
        if (test_and_set_bit(buf_nr, &d_out->busy)) {
                WARN("ep %d urb %d busy %#lx", EP_D_OUT, buf_nr, d_out->busy);
-@@ -422,9 +422,9 @@
+@@ -422,9 +422,9 @@ static void dout_start_xmit(struct FsmIn
        urb = d_out->urb[buf_nr];
  
        DBG_SKB(0x10, skb);
        urb = d_out->urb[buf_nr];
  
        DBG_SKB(0x10, skb);
@@ -11894,7 +11745,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_d.c linux-2.4.29/drivers/is
        skb_pull(skb, bytes_sent);
  
        if(len < 16)
        skb_pull(skb, bytes_sent);
  
        if(len < 16)
-@@ -673,7 +673,7 @@
+@@ -673,7 +673,7 @@ static int __devinit st5481_setup_d_out(
                                      usb_d_out_complete, adapter);
  }
  
                                      usb_d_out_complete, adapter);
  }
  
@@ -11903,7 +11754,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_d.c linux-2.4.29/drivers/is
  {
        struct st5481_d_out *d_out = &adapter->d_out;
  
  {
        struct st5481_d_out *d_out = &adapter->d_out;
  
-@@ -723,7 +723,7 @@
+@@ -723,7 +723,7 @@ int __devinit st5481_setup_d(struct st54
        return retval;
  }
  
        return retval;
  }
  
@@ -11912,9 +11763,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_d.c linux-2.4.29/drivers/is
  {
        DBG(2,"");
  
  {
        DBG(2,"");
  
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_init.c linux-2.4.29/drivers/isdn/hisax/st5481_init.c
---- linux-2.4.29.old/drivers/isdn/hisax/st5481_init.c  2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/st5481_init.c      2005-03-22 15:06:48.268754816 +0100
+--- a/drivers/isdn/hisax/st5481_init.c
++++ b/drivers/isdn/hisax/st5481_init.c
 @@ -14,6 +14,7 @@
   * TODO:
   *
 @@ -14,6 +14,7 @@
   * TODO:
   *
@@ -11923,7 +11773,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_init.c linux-2.4.29/drivers
   * hotplug / unregister issues
   * mod_inc/dec_use_count
   * unify parts of d/b channel usb handling
   * hotplug / unregister issues
   * mod_inc/dec_use_count
   * unify parts of d/b channel usb handling
-@@ -177,7 +178,7 @@
+@@ -177,7 +178,7 @@ MODULE_DEVICE_TABLE (usb, st5481_ids);
  static struct usb_driver st5481_usb_driver = {
        name: "st5481_usb",
        probe: probe_st5481,
  static struct usb_driver st5481_usb_driver = {
        name: "st5481_usb",
        probe: probe_st5481,
@@ -11932,10 +11782,9 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_init.c linux-2.4.29/drivers
        id_table: st5481_ids,
  };
  
        id_table: st5481_ids,
  };
  
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_usb.c linux-2.4.29/drivers/isdn/hisax/st5481_usb.c
---- linux-2.4.29.old/drivers/isdn/hisax/st5481_usb.c   2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/st5481_usb.c       2005-03-22 15:06:48.284752384 +0100
-@@ -41,9 +41,9 @@
+--- a/drivers/isdn/hisax/st5481_usb.c
++++ b/drivers/isdn/hisax/st5481_usb.c
+@@ -41,9 +41,9 @@ static void usb_next_ctrl_msg(struct urb
                (unsigned char *)&ctrl->msg_fifo.data[r_index];
        
        DBG(1,"request=0x%02x,value=0x%04x,index=%x",
                (unsigned char *)&ctrl->msg_fifo.data[r_index];
        
        DBG(1,"request=0x%02x,value=0x%04x,index=%x",
@@ -11948,7 +11797,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_usb.c linux-2.4.29/drivers/
  
        // Prepare the URB
        urb->dev = adapter->usb_dev;
  
        // Prepare the URB
        urb->dev = adapter->usb_dev;
-@@ -69,11 +69,11 @@
+@@ -69,11 +69,11 @@ void usb_ctrl_msg(struct st5481_adapter 
        }
        ctrl_msg = &ctrl->msg_fifo.data[w_index]; 
     
        }
        ctrl_msg = &ctrl->msg_fifo.data[w_index]; 
     
@@ -11965,7 +11814,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_usb.c linux-2.4.29/drivers/
        ctrl_msg->complete = complete;
        ctrl_msg->context = context;
  
        ctrl_msg->complete = complete;
        ctrl_msg->context = context;
  
-@@ -140,17 +140,17 @@
+@@ -140,17 +140,17 @@ static void usb_ctrl_complete(struct urb
  
        ctrl_msg = (struct ctrl_msg *)urb->setup_packet;
        
  
        ctrl_msg = (struct ctrl_msg *)urb->setup_packet;
        
@@ -11989,7 +11838,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_usb.c linux-2.4.29/drivers/
                              0);
  
  
                              0);
  
  
-@@ -235,7 +235,7 @@
+@@ -235,7 +235,7 @@ int __devinit st5481_setup_usb(struct st
        struct usb_interface_descriptor *altsetting;
        struct usb_endpoint_descriptor *endpoint;
        int status;
        struct usb_interface_descriptor *altsetting;
        struct usb_endpoint_descriptor *endpoint;
        int status;
@@ -11998,7 +11847,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_usb.c linux-2.4.29/drivers/
        u_char *buf;
        
        DBG(1,"");
        u_char *buf;
        
        DBG(1,"");
-@@ -307,7 +307,7 @@
+@@ -307,7 +307,7 @@ int __devinit st5481_setup_usb(struct st
   * Release buffers and URBs for the interrupt and control
   * endpoint.
   */
   * Release buffers and URBs for the interrupt and control
   * endpoint.
   */
@@ -12007,7 +11856,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_usb.c linux-2.4.29/drivers/
  {
        struct st5481_intr *intr = &adapter->intr;
        struct st5481_ctrl *ctrl = &adapter->ctrl;
  {
        struct st5481_intr *intr = &adapter->intr;
        struct st5481_ctrl *ctrl = &adapter->ctrl;
-@@ -443,7 +443,7 @@
+@@ -443,7 +443,7 @@ st5481_setup_isocpipes(struct urb* urb[2
        return retval;
  }
  
        return retval;
  }
  
@@ -12016,7 +11865,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_usb.c linux-2.4.29/drivers/
  {
        int j;
  
  {
        int j;
  
-@@ -484,18 +484,16 @@
+@@ -484,18 +484,16 @@ static void usb_in_complete(struct urb *
        ptr = urb->transfer_buffer;
        while (len > 0) {
                if (in->mode == L1_MODE_TRANS) {
        ptr = urb->transfer_buffer;
        while (len > 0) {
                if (in->mode == L1_MODE_TRANS) {
@@ -12040,7 +11889,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_usb.c linux-2.4.29/drivers/
                if (status > 0) {
                        // Good frame received
                        DBG(4,"count=%d",status);
                if (status > 0) {
                        // Good frame received
                        DBG(4,"count=%d",status);
-@@ -549,7 +547,7 @@
+@@ -549,7 +547,7 @@ int __devinit st5481_setup_in(struct st5
        return retval;
  }
  
        return retval;
  }
  
@@ -12049,7 +11898,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_usb.c linux-2.4.29/drivers/
  {
        DBG(2,"");
  
  {
        DBG(2,"");
  
-@@ -562,8 +560,7 @@
+@@ -562,8 +560,7 @@ void st5481_release_in(struct st5481_in 
   */
  int st5481_isoc_flatten(struct urb *urb)
  {
   */
  int st5481_isoc_flatten(struct urb *urb)
  {
@@ -12059,7 +11908,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_usb.c linux-2.4.29/drivers/
        unsigned char *src,*dst;
        unsigned int len;
        
        unsigned char *src,*dst;
        unsigned int len;
        
-@@ -624,10 +621,15 @@
+@@ -624,10 +621,15 @@ void st5481_in_mode(struct st5481_in *in
  
        if (in->mode != L1_MODE_NULL) {
                if (in->mode != L1_MODE_TRANS)
  
        if (in->mode != L1_MODE_NULL) {
                if (in->mode != L1_MODE_TRANS)
@@ -12077,9 +11926,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_usb.c linux-2.4.29/drivers/
                st5481_usb_device_ctrl_msg(in->adapter, in->counter,
                                           in->packet_size,
                                           NULL, NULL);
                st5481_usb_device_ctrl_msg(in->adapter, in->counter,
                                           in->packet_size,
                                           NULL, NULL);
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/tei.c linux-2.4.29/drivers/isdn/hisax/tei.c
---- linux-2.4.29.old/drivers/isdn/hisax/tei.c  2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/tei.c      2005-03-22 15:06:48.316747520 +0100
+--- a/drivers/isdn/hisax/tei.c
++++ b/drivers/isdn/hisax/tei.c
 @@ -1,4 +1,4 @@
 -/* $Id: tei.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: tei.c,v 2.20 2001/09/24 13:22:57 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: tei.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: tei.c,v 2.20 2001/09/24 13:22:57 kai Exp $
@@ -12095,9 +11943,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/tei.c linux-2.4.29/drivers/isdn/hi
  
  #define ID_REQUEST    1
  #define ID_ASSIGNED   2
  
  #define ID_REQUEST    1
  #define ID_ASSIGNED   2
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/teleint.c linux-2.4.29/drivers/isdn/hisax/teleint.c
---- linux-2.4.29.old/drivers/isdn/hisax/teleint.c      2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/teleint.c  2005-03-22 15:06:48.330745392 +0100
+--- a/drivers/isdn/hisax/teleint.c
++++ b/drivers/isdn/hisax/teleint.c
 @@ -1,4 +1,4 @@
 -/* $Id: teleint.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: teleint.c,v 1.16 2001/09/24 13:22:57 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: teleint.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: teleint.c,v 1.16 2001/09/24 13:22:57 kai Exp $
@@ -12113,9 +11960,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/teleint.c linux-2.4.29/drivers/isd
  
  #define byteout(addr,val) outb(val,addr)
  #define bytein(addr) inb(addr)
  
  #define byteout(addr,val) outb(val,addr)
  #define bytein(addr) inb(addr)
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/teles0.c linux-2.4.29/drivers/isdn/hisax/teles0.c
---- linux-2.4.29.old/drivers/isdn/hisax/teles0.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/teles0.c   2005-03-22 15:06:48.348742656 +0100
+--- a/drivers/isdn/hisax/teles0.c
++++ b/drivers/isdn/hisax/teles0.c
 @@ -1,4 +1,4 @@
 -/* $Id: teles0.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: teles0.c,v 2.15 2001/09/24 13:22:57 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: teles0.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: teles0.c,v 2.15 2001/09/24 13:22:57 kai Exp $
@@ -12131,7 +11977,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/teles0.c linux-2.4.29/drivers/isdn
  
  #define TELES_IOMEM_SIZE      0x400
  #define byteout(addr,val) outb(val,addr)
  
  #define TELES_IOMEM_SIZE      0x400
  #define byteout(addr,val) outb(val,addr)
-@@ -189,8 +189,10 @@
+@@ -189,8 +189,10 @@ release_io_teles0(struct IsdnCardState *
  {
        if (cs->hw.teles0.cfg_reg)
                release_region(cs->hw.teles0.cfg_reg, 8);
  {
        if (cs->hw.teles0.cfg_reg)
                release_region(cs->hw.teles0.cfg_reg, 8);
@@ -12142,7 +11988,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/teles0.c linux-2.4.29/drivers/isdn
  }
  
  static int
  }
  
  static int
-@@ -327,6 +329,7 @@
+@@ -327,6 +329,7 @@ setup_teles0(struct IsdnCard *card)
        /* 16.0 and 8.0 designed for IOM1 */
        test_and_set_bit(HW_IOM1, &cs->HW_Flags);
        cs->hw.teles0.phymem = card->para[1];
        /* 16.0 and 8.0 designed for IOM1 */
        test_and_set_bit(HW_IOM1, &cs->HW_Flags);
        cs->hw.teles0.phymem = card->para[1];
@@ -12150,7 +11996,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/teles0.c linux-2.4.29/drivers/isdn
        if (check_mem_region(cs->hw.teles0.phymem, TELES_IOMEM_SIZE)) {
                printk(KERN_WARNING
                        "HiSax: %s memory region %lx-%lx already in use\n",
        if (check_mem_region(cs->hw.teles0.phymem, TELES_IOMEM_SIZE)) {
                printk(KERN_WARNING
                        "HiSax: %s memory region %lx-%lx already in use\n",
-@@ -342,6 +345,9 @@
+@@ -342,6 +345,9 @@ setup_teles0(struct IsdnCard *card)
        }
        cs->hw.teles0.membase =
                (unsigned long) ioremap(cs->hw.teles0.phymem, TELES_IOMEM_SIZE);
        }
        cs->hw.teles0.membase =
                (unsigned long) ioremap(cs->hw.teles0.phymem, TELES_IOMEM_SIZE);
@@ -12160,9 +12006,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/teles0.c linux-2.4.29/drivers/isdn
        printk(KERN_INFO
               "HiSax: %s config irq:%d mem:0x%lX cfg:0x%X\n",
               CardType[cs->typ], cs->irq,
        printk(KERN_INFO
               "HiSax: %s config irq:%d mem:0x%lX cfg:0x%X\n",
               CardType[cs->typ], cs->irq,
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/teles3.c linux-2.4.29/drivers/isdn/hisax/teles3.c
---- linux-2.4.29.old/drivers/isdn/hisax/teles3.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/teles3.c   2005-03-22 15:06:48.367739768 +0100
+--- a/drivers/isdn/hisax/teles3.c
++++ b/drivers/isdn/hisax/teles3.c
 @@ -1,4 +1,4 @@
 -/* $Id: teles3.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: teles3.c,v 2.19 2001/09/24 13:22:57 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: teles3.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: teles3.c,v 2.19 2001/09/24 13:22:57 kai Exp $
@@ -12185,7 +12030,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/teles3.c linux-2.4.29/drivers/isdn
  
  #define byteout(addr,val) outb(val,addr)
  #define bytein(addr) inb(addr)
  
  #define byteout(addr,val) outb(val,addr)
  #define bytein(addr) inb(addr)
-@@ -255,24 +254,6 @@
+@@ -255,24 +254,6 @@ Teles_card_msg(struct IsdnCardState *cs,
        return(0);
  }
  
        return(0);
  }
  
@@ -12210,7 +12055,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/teles3.c linux-2.4.29/drivers/isdn
  int __devinit
  setup_teles3(struct IsdnCard *card)
  {
  int __devinit
  setup_teles3(struct IsdnCard *card)
  {
-@@ -286,47 +267,6 @@
+@@ -286,47 +267,6 @@ setup_teles3(struct IsdnCard *card)
            && (cs->typ != ISDN_CTYPE_TELESPCMCIA) && (cs->typ != ISDN_CTYPE_COMPAQ_ISA))
                return (0);
  
            && (cs->typ != ISDN_CTYPE_TELESPCMCIA) && (cs->typ != ISDN_CTYPE_COMPAQ_ISA))
                return (0);
  
@@ -12258,9 +12103,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/teles3.c linux-2.4.29/drivers/isdn
        if (cs->typ == ISDN_CTYPE_16_3) {
                cs->hw.teles3.cfg_reg = card->para[1];
                switch (cs->hw.teles3.cfg_reg) {
        if (cs->typ == ISDN_CTYPE_16_3) {
                cs->hw.teles3.cfg_reg = card->para[1];
                switch (cs->hw.teles3.cfg_reg) {
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/telespci.c linux-2.4.29/drivers/isdn/hisax/telespci.c
---- linux-2.4.29.old/drivers/isdn/hisax/telespci.c     2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/telespci.c 2005-03-22 15:06:48.382737488 +0100
+--- a/drivers/isdn/hisax/telespci.c
++++ b/drivers/isdn/hisax/telespci.c
 @@ -1,4 +1,4 @@
 -/* $Id: telespci.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: telespci.c,v 2.23 2001/09/24 13:22:57 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: telespci.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: telespci.c,v 2.23 2001/09/24 13:22:57 kai Exp $
@@ -12279,7 +12123,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/telespci.c linux-2.4.29/drivers/is
  
  #define ZORAN_PO_RQ_PEN       0x02000000
  #define ZORAN_PO_WR   0x00800000
  
  #define ZORAN_PO_RQ_PEN       0x02000000
  #define ZORAN_PO_WR   0x00800000
-@@ -307,10 +308,10 @@
+@@ -307,10 +308,10 @@ setup_telespci(struct IsdnCard *card)
                        printk(KERN_WARNING "Teles: No IRQ for PCI card found\n");
                        return(0);
                }
                        printk(KERN_WARNING "Teles: No IRQ for PCI card found\n");
                        return(0);
                }
@@ -12292,9 +12136,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/telespci.c linux-2.4.29/drivers/is
        } else {
                printk(KERN_WARNING "TelesPCI: No PCI card found\n");
                return(0);
        } else {
                printk(KERN_WARNING "TelesPCI: No PCI card found\n");
                return(0);
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/w6692.c linux-2.4.29/drivers/isdn/hisax/w6692.c
---- linux-2.4.29.old/drivers/isdn/hisax/w6692.c        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/w6692.c    2005-03-22 15:06:48.398735056 +0100
+--- a/drivers/isdn/hisax/w6692.c
++++ b/drivers/isdn/hisax/w6692.c
 @@ -1,4 +1,4 @@
 -/* $Id: w6692.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: w6692.c,v 1.18 2001/09/24 13:22:57 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: w6692.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: w6692.c,v 1.18 2001/09/24 13:22:57 kai Exp $
@@ -12309,7 +12152,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/w6692.c linux-2.4.29/drivers/isdn/
  
  /* table entry in the PCI devices list */
  typedef struct {
  
  /* table entry in the PCI devices list */
  typedef struct {
-@@ -29,20 +30,14 @@
+@@ -29,20 +30,14 @@ typedef struct {
  
  static const PCI_ENTRY id_list[] =
  {
  
  static const PCI_ENTRY id_list[] =
  {
@@ -12333,7 +12176,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/w6692.c linux-2.4.29/drivers/isdn/
  
  #define DBUSY_TIMER_VALUE 80
  
  
  #define DBUSY_TIMER_VALUE 80
  
-@@ -675,6 +670,16 @@
+@@ -675,6 +670,16 @@ setstack_W6692(struct PStack *st, struct
  static void
  DC_Close_W6692(struct IsdnCardState *cs)
  {
  static void
  DC_Close_W6692(struct IsdnCardState *cs)
  {
@@ -12350,7 +12193,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/w6692.c linux-2.4.29/drivers/isdn/
  }
  
  static void
  }
  
  static void
-@@ -865,38 +870,31 @@
+@@ -865,38 +870,31 @@ setstack_w6692(struct PStack *st, struct
        return (0);
  }
  
        return (0);
  }
  
@@ -12405,7 +12248,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/w6692.c linux-2.4.29/drivers/isdn/
                ph_command(cs, W_L1CMD_RST);
                cs->dc.w6692.ph_state = W_L1CMD_RST;
                W6692_new_ph(cs);
                ph_command(cs, W_L1CMD_RST);
                cs->dc.w6692.ph_state = W_L1CMD_RST;
                W6692_new_ph(cs);
-@@ -963,14 +961,9 @@
+@@ -963,14 +961,9 @@ w6692_card_msg(struct IsdnCardState *cs,
  {
        switch (mt) {
                case CARD_RESET:
  {
        switch (mt) {
                case CARD_RESET:
@@ -12420,7 +12263,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/w6692.c linux-2.4.29/drivers/isdn/
                        return (0);
                case CARD_INIT:
                        initW6692(cs, 3);
                        return (0);
                case CARD_INIT:
                        initW6692(cs, 3);
-@@ -1013,7 +1006,6 @@
+@@ -1013,7 +1006,6 @@ setup_w6692(struct IsdnCard *card)
                if (dev_w6692) {
                        if (pci_enable_device(dev_w6692))
                                continue;
                if (dev_w6692) {
                        if (pci_enable_device(dev_w6692))
                                continue;
@@ -12428,7 +12271,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/w6692.c linux-2.4.29/drivers/isdn/
                        break;
                }
                id_idx++;
                        break;
                }
                id_idx++;
-@@ -1023,14 +1015,7 @@
+@@ -1023,14 +1015,7 @@ setup_w6692(struct IsdnCard *card)
                pci_irq = dev_w6692->irq;
                /* I think address 0 is allways the configuration area */
                /* and address 1 is the real IO space KKe 03.09.99 */
                pci_irq = dev_w6692->irq;
                /* I think address 0 is allways the configuration area */
                /* and address 1 is the real IO space KKe 03.09.99 */
@@ -12444,7 +12287,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/w6692.c linux-2.4.29/drivers/isdn/
        }
        if (!found) {
                printk(KERN_WARNING "W6692: No PCI card found\n");
        }
        if (!found) {
                printk(KERN_WARNING "W6692: No PCI card found\n");
-@@ -1047,18 +1032,18 @@
+@@ -1047,18 +1032,18 @@ setup_w6692(struct IsdnCard *card)
        }
        cs->hw.w6692.iobase = pci_ioaddr;
        printk(KERN_INFO "Found: %s %s, I/O base: 0x%x, irq: %d\n",
        }
        cs->hw.w6692.iobase = pci_ioaddr;
        printk(KERN_INFO "Found: %s %s, I/O base: 0x%x, irq: %d\n",
@@ -12467,7 +12310,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/w6692.c linux-2.4.29/drivers/isdn/
        }
  #else
        printk(KERN_WARNING "HiSax: W6692 and NO_PCI_BIOS\n");
        }
  #else
        printk(KERN_WARNING "HiSax: W6692 and NO_PCI_BIOS\n");
-@@ -1068,7 +1053,7 @@
+@@ -1068,7 +1053,7 @@ setup_w6692(struct IsdnCard *card)
  
        printk(KERN_INFO
               "HiSax: %s config irq:%d I/O:%x\n",
  
        printk(KERN_INFO
               "HiSax: %s config irq:%d I/O:%x\n",
@@ -12476,18 +12319,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/w6692.c linux-2.4.29/drivers/isdn/
               cs->hw.w6692.iobase);
  
        cs->readW6692 = &ReadW6692;
               cs->hw.w6692.iobase);
  
        cs->readW6692 = &ReadW6692;
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/w6692.h linux-2.4.29/drivers/isdn/hisax/w6692.h
---- linux-2.4.29.old/drivers/isdn/hisax/w6692.h        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/w6692.h    2005-03-22 15:06:48.414732624 +0100
+--- a/drivers/isdn/hisax/w6692.h
++++ b/drivers/isdn/hisax/w6692.h
 @@ -1,4 +1,4 @@
 -/* $Id: w6692.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: w6692.h,v 1.4 2001/09/24 13:22:57 kai Exp $
   *
   * Winbond W6692 specific defines
   *
 @@ -1,4 +1,4 @@
 -/* $Id: w6692.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
 +/* $Id: w6692.h,v 1.4 2001/09/24 13:22:57 kai Exp $
   *
   * Winbond W6692 specific defines
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/boardergo.c linux-2.4.29/drivers/isdn/hysdn/boardergo.c
---- linux-2.4.29.old/drivers/isdn/hysdn/boardergo.c    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/boardergo.c        2005-03-22 15:06:48.468724416 +0100
+--- a/drivers/isdn/hysdn/boardergo.c
++++ b/drivers/isdn/hysdn/boardergo.c
 @@ -1,27 +1,41 @@
 -/* $Id: boardergo.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 - *
 @@ -1,27 +1,41 @@
 -/* $Id: boardergo.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 - *
@@ -12540,7 +12381,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/boardergo.c linux-2.4.29/drivers/i
  
  #include "hysdn_defs.h"
  #include "boardergo.h"
  
  #include "hysdn_defs.h"
  #include "boardergo.h"
-@@ -45,11 +59,10 @@
+@@ -45,11 +59,10 @@ ergo_interrupt(int intno, void *dev_id, 
        if (!card->irq_enabled)
                return;         /* other device interrupting or irq switched off */
  
        if (!card->irq_enabled)
                return;         /* other device interrupting or irq switched off */
  
@@ -12554,7 +12395,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/boardergo.c linux-2.4.29/drivers/i
                return;         /* no interrupt requested by E1 */
        }
        /* clear any pending ints on the board */
                return;         /* no interrupt requested by E1 */
        }
        /* clear any pending ints on the board */
-@@ -63,7 +76,7 @@
+@@ -63,7 +76,7 @@ ergo_interrupt(int intno, void *dev_id, 
                queue_task(&card->irq_queue, &tq_immediate);
                mark_bh(IMMEDIATE_BH);
        }
                queue_task(&card->irq_queue, &tq_immediate);
                mark_bh(IMMEDIATE_BH);
        }
@@ -12563,7 +12404,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/boardergo.c linux-2.4.29/drivers/i
  }                             /* ergo_interrupt */
  
  /******************************************************************************/
  }                             /* ergo_interrupt */
  
  /******************************************************************************/
-@@ -83,17 +96,15 @@
+@@ -83,17 +96,15 @@ ergo_irq_bh(hysdn_card * card)
                return;         /* invalid call */
  
        dpr = card->dpram;      /* point to DPRAM */
                return;         /* invalid call */
  
        dpr = card->dpram;      /* point to DPRAM */
@@ -12583,7 +12424,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/boardergo.c linux-2.4.29/drivers/i
                again = 0;      /* assume loop not to be repeated */
  
                if (!dpr->ToHyFlag) {
                again = 0;      /* assume loop not to be repeated */
  
                if (!dpr->ToHyFlag) {
-@@ -113,15 +124,13 @@
+@@ -113,15 +124,13 @@ ergo_irq_bh(hysdn_card * card)
                                again = 1;      /* restart loop */
                        }
                }               /* a message has arrived for us */
                                again = 1;      /* restart loop */
                        }
                }               /* a message has arrived for us */
@@ -12600,7 +12441,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/boardergo.c linux-2.4.29/drivers/i
  }                             /* ergo_irq_bh */
  
  
  }                             /* ergo_irq_bh */
  
  
-@@ -138,8 +147,7 @@
+@@ -138,8 +147,7 @@ ergo_stopcard(hysdn_card * card)
  #ifdef CONFIG_HYSDN_CAPI
        hycapi_capi_stop(card);
  #endif /* CONFIG_HYSDN_CAPI */
  #ifdef CONFIG_HYSDN_CAPI
        hycapi_capi_stop(card);
  #endif /* CONFIG_HYSDN_CAPI */
@@ -12610,7 +12451,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/boardergo.c linux-2.4.29/drivers/i
        val = bytein(card->iobase + PCI9050_INTR_REG);  /* get actual value */
        val &= ~(PCI9050_INTR_REG_ENPCI | PCI9050_INTR_REG_EN1);        /* mask irq */
        byteout(card->iobase + PCI9050_INTR_REG, val);
        val = bytein(card->iobase + PCI9050_INTR_REG);  /* get actual value */
        val &= ~(PCI9050_INTR_REG_ENPCI | PCI9050_INTR_REG_EN1);        /* mask irq */
        byteout(card->iobase + PCI9050_INTR_REG, val);
-@@ -147,8 +155,7 @@
+@@ -147,8 +155,7 @@ ergo_stopcard(hysdn_card * card)
        byteout(card->iobase + PCI9050_USER_IO, PCI9050_E1_RESET);      /* reset E1 processor */
        card->state = CARD_STATE_UNUSED;
        card->err_log_state = ERRLOG_STATE_OFF;         /* currently no log active */
        byteout(card->iobase + PCI9050_USER_IO, PCI9050_E1_RESET);      /* reset E1 processor */
        card->state = CARD_STATE_UNUSED;
        card->err_log_state = ERRLOG_STATE_OFF;         /* currently no log active */
@@ -12620,7 +12461,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/boardergo.c linux-2.4.29/drivers/i
  }                             /* ergo_stopcard */
  
  /**************************************************************************/
  }                             /* ergo_stopcard */
  
  /**************************************************************************/
-@@ -163,20 +170,17 @@
+@@ -163,20 +170,17 @@ ergo_set_errlog_state(hysdn_card * card,
                card->err_log_state = ERRLOG_STATE_OFF;         /* must be off */
                return;
        }
                card->err_log_state = ERRLOG_STATE_OFF;         /* must be off */
                return;
        }
@@ -12644,7 +12485,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/boardergo.c linux-2.4.29/drivers/i
        queue_task(&card->irq_queue, &tq_immediate);
        mark_bh(IMMEDIATE_BH);
  }                             /* ergo_set_errlog_state */
        queue_task(&card->irq_queue, &tq_immediate);
        mark_bh(IMMEDIATE_BH);
  }                             /* ergo_set_errlog_state */
-@@ -245,9 +249,6 @@
+@@ -245,9 +249,6 @@ ergo_writebootimg(struct HYSDN_CARD *car
                while (!dpram->ToHyNoDpramErrLog);      /* reread volatile register to flush PCI */
  
                byteout(card->iobase + PCI9050_USER_IO, PCI9050_E1_RUN);        /* start E1 processor */
                while (!dpram->ToHyNoDpramErrLog);      /* reread volatile register to flush PCI */
  
                byteout(card->iobase + PCI9050_USER_IO, PCI9050_E1_RUN);        /* start E1 processor */
@@ -12654,7 +12495,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/boardergo.c linux-2.4.29/drivers/i
                set_current_state(TASK_INTERRUPTIBLE);
                schedule_timeout((20 * HZ) / 1000);     /* Timeout 20ms */
  
                set_current_state(TASK_INTERRUPTIBLE);
                schedule_timeout((20 * HZ) / 1000);     /* Timeout 20ms */
  
-@@ -282,7 +283,6 @@
+@@ -282,7 +283,6 @@ ergo_writebootseq(struct HYSDN_CARD *car
        dst = sp->Data;         /* point to data in spool structure */
        buflen = sp->Len;       /* maximum len of spooled data */
        wr_mirror = sp->WrPtr;  /* only once read */
        dst = sp->Data;         /* point to data in spool structure */
        buflen = sp->Len;       /* maximum len of spooled data */
        wr_mirror = sp->WrPtr;  /* only once read */
@@ -12662,7 +12503,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/boardergo.c linux-2.4.29/drivers/i
  
        /* try until all bytes written or error */
        i = 0x1000;             /* timeout value */
  
        /* try until all bytes written or error */
        i = 0x1000;             /* timeout value */
-@@ -358,9 +358,7 @@
+@@ -358,9 +358,7 @@ ergo_waitpofready(struct HYSDN_CARD *car
  
                        if (card->debug_flags & LOG_POF_RECORD)
                                hysdn_addlog(card, "ERGO: pof boot success");
  
                        if (card->debug_flags & LOG_POF_RECORD)
                                hysdn_addlog(card, "ERGO: pof boot success");
@@ -12673,7 +12514,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/boardergo.c linux-2.4.29/drivers/i
                        card->state = CARD_STATE_RUN;   /* now card is running */
                        /* enable the cards interrupt */
                        byteout(card->iobase + PCI9050_INTR_REG,
                        card->state = CARD_STATE_RUN;   /* now card is running */
                        /* enable the cards interrupt */
                        byteout(card->iobase + PCI9050_INTR_REG,
-@@ -371,8 +369,7 @@
+@@ -371,8 +369,7 @@ ergo_waitpofready(struct HYSDN_CARD *car
                        dpr->ToPcFlag = 0;      /* reset data indicator */
                        dpr->ToHyInt = 1;
                        dpr->ToPcInt = 1;       /* interrupt to E1 for all cards */
                        dpr->ToPcFlag = 0;      /* reset data indicator */
                        dpr->ToHyInt = 1;
                        dpr->ToPcInt = 1;       /* interrupt to E1 for all cards */
@@ -12683,7 +12524,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/boardergo.c linux-2.4.29/drivers/i
                        if ((hynet_enable & (1 << card->myid)) 
                            && (i = hysdn_net_create(card))) 
                        {
                        if ((hynet_enable & (1 << card->myid)) 
                            && (i = hysdn_net_create(card))) 
                        {
-@@ -387,7 +384,6 @@
+@@ -387,7 +384,6 @@ ergo_waitpofready(struct HYSDN_CARD *car
  #endif /* CONFIG_HYSDN_CAPI */
                        return (0);     /* success */
                }               /* data has arrived */
  #endif /* CONFIG_HYSDN_CAPI */
                        return (0);     /* success */
                }               /* data has arrived */
@@ -12691,9 +12532,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/boardergo.c linux-2.4.29/drivers/i
                set_current_state(TASK_INTERRUPTIBLE);
                schedule_timeout((50 * HZ) / 1000);     /* Timeout 50ms */
        }                       /* wait until timeout */
                set_current_state(TASK_INTERRUPTIBLE);
                schedule_timeout((50 * HZ) / 1000);     /* Timeout 50ms */
        }                       /* wait until timeout */
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/boardergo.h linux-2.4.29/drivers/isdn/hysdn/boardergo.h
---- linux-2.4.29.old/drivers/isdn/hysdn/boardergo.h    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/boardergo.h        2005-03-22 15:06:48.485721832 +0100
+--- a/drivers/isdn/hysdn/boardergo.h
++++ b/drivers/isdn/hysdn/boardergo.h
 @@ -1,4 +1,4 @@
 -/* $Id: boardergo.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
 @@ -1,4 +1,4 @@
 -/* $Id: boardergo.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
@@ -12708,9 +12548,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/boardergo.h linux-2.4.29/drivers/i
  
  /************************************************/
  /* defines for the dual port memory of the card */
  
  /************************************************/
  /* defines for the dual port memory of the card */
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hycapi.c linux-2.4.29/drivers/isdn/hysdn/hycapi.c
---- linux-2.4.29.old/drivers/isdn/hysdn/hycapi.c       2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/hycapi.c   2005-03-22 15:06:48.500719552 +0100
+--- a/drivers/isdn/hysdn/hycapi.c
++++ b/drivers/isdn/hysdn/hycapi.c
 @@ -1,4 +1,4 @@
 -/* $Id: hycapi.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
 @@ -1,4 +1,4 @@
 -/* $Id: hycapi.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
@@ -12726,16 +12565,15 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hycapi.c linux-2.4.29/drivers/isdn
  
  unsigned int hycapi_enable = 0xffffffff; 
  MODULE_PARM(hycapi_enable, "i");
  
  unsigned int hycapi_enable = 0xffffffff; 
  MODULE_PARM(hycapi_enable, "i");
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_boot.c linux-2.4.29/drivers/isdn/hysdn/hysdn_boot.c
---- linux-2.4.29.old/drivers/isdn/hysdn/hysdn_boot.c   2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/hysdn_boot.c       2005-03-22 15:06:48.516717120 +0100
+--- a/drivers/isdn/hysdn/hysdn_boot.c
++++ b/drivers/isdn/hysdn/hysdn_boot.c
 @@ -1,4 +1,4 @@
 -/* $Id: hysdn_boot.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Linux driver for HYSDN cards
   * specific routines for booting and pof handling
 @@ -1,4 +1,4 @@
 -/* $Id: hysdn_boot.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Linux driver for HYSDN cards
   * specific routines for booting and pof handling
-@@ -143,7 +143,7 @@
+@@ -143,7 +143,7 @@ pof_handle_data(hysdn_card * card, int d
                                             (boot->pof_recid == TAG_CABSDATA) ? "CABSDATA" : "ABSDATA",
                                             datlen, boot->pof_recoffset);
  
                                             (boot->pof_recid == TAG_CABSDATA) ? "CABSDATA" : "ABSDATA",
                                             datlen, boot->pof_recoffset);
  
@@ -12744,9 +12582,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_boot.c linux-2.4.29/drivers/
                                return (boot->last_error);      /* error writing data */
  
                        if (boot->pof_recoffset + datlen >= boot->pof_reclen)
                                return (boot->last_error);      /* error writing data */
  
                        if (boot->pof_recoffset + datlen >= boot->pof_reclen)
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_defs.h linux-2.4.29/drivers/isdn/hysdn/hysdn_defs.h
---- linux-2.4.29.old/drivers/isdn/hysdn/hysdn_defs.h   2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/hysdn_defs.h       2005-03-22 15:06:48.533714536 +0100
+--- a/drivers/isdn/hysdn/hysdn_defs.h
++++ b/drivers/isdn/hysdn/hysdn_defs.h
 @@ -1,4 +1,4 @@
 -/* $Id: hysdn_defs.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id: hysdn_defs.h,v 1.10 2001/09/24 13:23:03 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: hysdn_defs.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id: hysdn_defs.h,v 1.10 2001/09/24 13:23:03 kai Exp $
@@ -12765,7 +12602,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_defs.h linux-2.4.29/drivers/
  
  /****************************/
  /* storage type definitions */
  
  /****************************/
  /* storage type definitions */
-@@ -176,6 +181,7 @@
+@@ -176,6 +181,7 @@ typedef struct HYSDN_CARD {
        struct tq_struct irq_queue;     /* interrupt task queue */
        uchar volatile irq_enabled;     /* interrupt enabled if != 0 */
        uchar volatile hw_lock; /* hardware is currently locked -> no access */
        struct tq_struct irq_queue;     /* interrupt task queue */
        uchar volatile irq_enabled;     /* interrupt enabled if != 0 */
        uchar volatile hw_lock; /* hardware is currently locked -> no access */
@@ -12773,9 +12610,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_defs.h linux-2.4.29/drivers/
  
        /* boot process */
        void *boot;             /* pointer to boot private data */
  
        /* boot process */
        void *boot;             /* pointer to boot private data */
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_init.c linux-2.4.29/drivers/isdn/hysdn/hysdn_init.c
---- linux-2.4.29.old/drivers/isdn/hysdn/hysdn_init.c   2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/hysdn_init.c       2005-03-22 15:06:48.551711800 +0100
+--- a/drivers/isdn/hysdn/hysdn_init.c
++++ b/drivers/isdn/hysdn/hysdn_init.c
 @@ -1,4 +1,4 @@
 -/* $Id: hysdn_init.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
 @@ -1,4 +1,4 @@
 -/* $Id: hysdn_init.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
@@ -12790,7 +12626,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_init.c linux-2.4.29/drivers/
  static struct pci_device_id hysdn_pci_tbl[] __initdata = {
        {PCI_VENDOR_ID_HYPERCOPE, PCI_DEVICE_ID_HYPERCOPE_PLX, PCI_ANY_ID, PCI_SUBDEVICE_ID_HYPERCOPE_METRO},
        {PCI_VENDOR_ID_HYPERCOPE, PCI_DEVICE_ID_HYPERCOPE_PLX, PCI_ANY_ID, PCI_SUBDEVICE_ID_HYPERCOPE_CHAMP2},
  static struct pci_device_id hysdn_pci_tbl[] __initdata = {
        {PCI_VENDOR_ID_HYPERCOPE, PCI_DEVICE_ID_HYPERCOPE_PLX, PCI_ANY_ID, PCI_SUBDEVICE_ID_HYPERCOPE_METRO},
        {PCI_VENDOR_ID_HYPERCOPE, PCI_DEVICE_ID_HYPERCOPE_PLX, PCI_ANY_ID, PCI_SUBDEVICE_ID_HYPERCOPE_CHAMP2},
-@@ -29,11 +30,12 @@
+@@ -29,11 +30,12 @@ static struct pci_device_id hysdn_pci_tb
        { }                             /* Terminating entry */
  };
  MODULE_DEVICE_TABLE(pci, hysdn_pci_tbl);
        { }                             /* Terminating entry */
  };
  MODULE_DEVICE_TABLE(pci, hysdn_pci_tbl);
@@ -12804,7 +12640,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_init.c linux-2.4.29/drivers/
  int cardmax;                  /* number of found cards */
  hysdn_card *card_root = NULL; /* pointer to first card */
  
  int cardmax;                  /* number of found cards */
  hysdn_card *card_root = NULL; /* pointer to first card */
  
-@@ -91,11 +93,11 @@
+@@ -91,11 +93,11 @@ search_cards(void)
                card->myid = cardmax;   /* set own id */
                card->bus = akt_pcidev->bus->number;
                card->devfn = akt_pcidev->devfn;        /* slot + function */
                card->myid = cardmax;   /* set own id */
                card->bus = akt_pcidev->bus->number;
                card->devfn = akt_pcidev->devfn;        /* slot + function */
@@ -12820,16 +12656,15 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_init.c linux-2.4.29/drivers/
                card->brdtype = BD_NONE;        /* unknown */
                card->debug_flags = DEF_DEB_FLAGS;      /* set default debug */
                card->faxchans = 0;     /* default no fax channels */
                card->brdtype = BD_NONE;        /* unknown */
                card->debug_flags = DEF_DEB_FLAGS;      /* set default debug */
                card->faxchans = 0;     /* default no fax channels */
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_net.c linux-2.4.29/drivers/isdn/hysdn/hysdn_net.c
---- linux-2.4.29.old/drivers/isdn/hysdn/hysdn_net.c    2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/hysdn_net.c        2005-03-22 15:06:48.567709368 +0100
+--- a/drivers/isdn/hysdn/hysdn_net.c
++++ b/drivers/isdn/hysdn/hysdn_net.c
 @@ -1,4 +1,4 @@
 -/* $Id: hysdn_net.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Linux driver for HYSDN cards, net (ethernet type) handling routines.
   *
 @@ -1,4 +1,4 @@
 -/* $Id: hysdn_net.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Linux driver for HYSDN cards, net (ethernet type) handling routines.
   *
-@@ -29,7 +29,7 @@
+@@ -29,7 +29,7 @@ unsigned int hynet_enable = 0xffffffff; 
  MODULE_PARM(hynet_enable, "i");
  
  /* store the actual version for log reporting */
  MODULE_PARM(hynet_enable, "i");
  
  /* store the actual version for log reporting */
@@ -12838,7 +12673,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_net.c linux-2.4.29/drivers/i
  
  #define MAX_SKB_BUFFERS 20    /* number of buffers for keeping TX-data */
  
  
  #define MAX_SKB_BUFFERS 20    /* number of buffers for keeping TX-data */
  
-@@ -45,6 +45,10 @@
+@@ -45,6 +45,10 @@ struct net_local {
        /* additional vars may be added here */
        char dev_name[9];       /* our own device name */
  
        /* additional vars may be added here */
        char dev_name[9];       /* our own device name */
  
@@ -12849,7 +12684,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_net.c linux-2.4.29/drivers/i
        /* Tx control lock.  This protects the transmit buffer ring
         * state along with the "tx full" state of the driver.  This
         * means all netif_queue flow control actions are protected
        /* Tx control lock.  This protects the transmit buffer ring
         * state along with the "tx full" state of the driver.  This
         * means all netif_queue flow control actions are protected
-@@ -56,6 +60,7 @@
+@@ -56,6 +60,7 @@ struct net_local {
        int sk_count;           /* number of buffers currently in ring */
  
        int is_open;            /* flag controlling module locking */
        int sk_count;           /* number of buffers currently in ring */
  
        int is_open;            /* flag controlling module locking */
@@ -12857,7 +12692,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_net.c linux-2.4.29/drivers/i
  };                            /* net_local */
  
  
  };                            /* net_local */
  
  
-@@ -83,11 +88,19 @@
+@@ -83,11 +88,19 @@ net_open(struct net_device *dev)
        hysdn_card *card = dev->priv;
        int i;
  
        hysdn_card *card = dev->priv;
        int i;
  
@@ -12877,7 +12712,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_net.c linux-2.4.29/drivers/i
  
        /* Fill in the MAC-level header (if not already set) */
        if (!card->mac_addr[0]) {
  
        /* Fill in the MAC-level header (if not already set) */
        if (!card->mac_addr[0]) {
-@@ -104,6 +117,7 @@
+@@ -104,6 +117,7 @@ net_open(struct net_device *dev)
        return (0);
  }                             /* net_open */
  
        return (0);
  }                             /* net_open */
  
@@ -12885,7 +12720,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_net.c linux-2.4.29/drivers/i
  /*******************************************/
  /* flush the currently occupied tx-buffers */
  /* must only be called when device closed  */
  /*******************************************/
  /* flush the currently occupied tx-buffers */
  /* must only be called when device closed  */
-@@ -119,6 +133,7 @@
+@@ -119,6 +133,7 @@ flush_tx_buffers(struct net_local *nl)
                nl->sk_count--;
        }
  }                             /* flush_tx_buffers */
                nl->sk_count--;
        }
  }                             /* flush_tx_buffers */
@@ -12893,7 +12728,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_net.c linux-2.4.29/drivers/i
  
  
  /*********************************************************************/
  
  
  /*********************************************************************/
-@@ -129,6 +144,15 @@
+@@ -129,6 +144,15 @@ static int
  net_close(struct net_device *dev)
  {
  
  net_close(struct net_device *dev)
  {
  
@@ -12909,7 +12744,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_net.c linux-2.4.29/drivers/i
        netif_stop_queue(dev);  /* disable queueing */
  
        if (((struct net_local *) dev)->is_open)
        netif_stop_queue(dev);  /* disable queueing */
  
        if (((struct net_local *) dev)->is_open)
-@@ -136,9 +160,52 @@
+@@ -136,9 +160,52 @@ net_close(struct net_device *dev)
        ((struct net_local *) dev)->is_open = 0;
        flush_tx_buffers((struct net_local *) dev);
  
        ((struct net_local *) dev)->is_open = 0;
        flush_tx_buffers((struct net_local *) dev);
  
@@ -12962,7 +12797,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_net.c linux-2.4.29/drivers/i
  /************************************/
  /* send a packet on this interface. */
  /* new style for kernel >= 2.3.33   */
  /************************************/
  /* send a packet on this interface. */
  /* new style for kernel >= 2.3.33   */
-@@ -176,6 +243,7 @@
+@@ -176,6 +243,7 @@ net_send_packet(struct sk_buff *skb, str
        return (0);             /* success */
  }                             /* net_send_packet */
  
        return (0);             /* success */
  }                             /* net_send_packet */
  
@@ -12970,7 +12805,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_net.c linux-2.4.29/drivers/i
  
  
  /***********************************************************************/
  
  
  /***********************************************************************/
-@@ -190,6 +258,15 @@
+@@ -190,6 +258,15 @@ hysdn_tx_netack(hysdn_card * card)
        if (!lp)
                return;         /* non existing device */
  
        if (!lp)
                return;         /* non existing device */
  
@@ -12986,7 +12821,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_net.c linux-2.4.29/drivers/i
  
        if (!lp->sk_count)
                return;         /* error condition */
  
        if (!lp->sk_count)
                return;         /* error condition */
-@@ -203,6 +280,7 @@
+@@ -203,6 +280,7 @@ hysdn_tx_netack(hysdn_card * card)
  
        if (lp->sk_count-- == MAX_SKB_BUFFERS)  /* dec usage count */
                netif_start_queue((struct net_device *) lp);
  
        if (lp->sk_count-- == MAX_SKB_BUFFERS)  /* dec usage count */
                netif_start_queue((struct net_device *) lp);
@@ -12994,7 +12829,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_net.c linux-2.4.29/drivers/i
  }                             /* hysdn_tx_netack */
  
  /*****************************************************/
  }                             /* hysdn_tx_netack */
  
  /*****************************************************/
-@@ -250,10 +328,15 @@
+@@ -250,10 +328,15 @@ hysdn_tx_netget(hysdn_card * card)
        if (!lp)
                return (NULL);  /* non existing device */
  
        if (!lp)
                return (NULL);  /* non existing device */
  
@@ -13010,7 +12845,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_net.c linux-2.4.29/drivers/i
  }                             /* hysdn_tx_netget */
  
  
  }                             /* hysdn_tx_netget */
  
  
-@@ -296,15 +379,21 @@
+@@ -296,15 +379,21 @@ hysdn_net_create(hysdn_card * card)
        }
        memset(dev, 0, sizeof(struct net_local));       /* clean the structure */
  
        }
        memset(dev, 0, sizeof(struct net_local));       /* clean the structure */
  
@@ -13032,7 +12867,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_net.c linux-2.4.29/drivers/i
        if ((i = register_netdev(dev))) {
                printk(KERN_WARNING "HYSDN: unable to create network device\n");
                kfree(dev);
        if ((i = register_netdev(dev))) {
                printk(KERN_WARNING "HYSDN: unable to create network device\n");
                kfree(dev);
-@@ -333,7 +422,9 @@
+@@ -333,7 +422,9 @@ hysdn_net_release(hysdn_card * card)
        card->netif = NULL;     /* clear out pointer */
        dev->stop(dev);         /* close the device */
  
        card->netif = NULL;     /* clear out pointer */
        dev->stop(dev);         /* close the device */
  
@@ -13042,18 +12877,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_net.c linux-2.4.29/drivers/i
  
        unregister_netdev(dev); /* release the device */
        kfree(dev);             /* release the memory allocated */
  
        unregister_netdev(dev); /* release the device */
        kfree(dev);             /* release the memory allocated */
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_pof.h linux-2.4.29/drivers/isdn/hysdn/hysdn_pof.h
---- linux-2.4.29.old/drivers/isdn/hysdn/hysdn_pof.h    2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/hysdn_pof.h        2005-03-22 15:06:48.583706936 +0100
+--- a/drivers/isdn/hysdn/hysdn_pof.h
++++ b/drivers/isdn/hysdn/hysdn_pof.h
 @@ -1,4 +1,4 @@
 -/* $Id: hysdn_pof.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Linux driver for HYSDN cards, definitions used for handling pof-files.
   *
 @@ -1,4 +1,4 @@
 -/* $Id: hysdn_pof.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Linux driver for HYSDN cards, definitions used for handling pof-files.
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_procconf.c linux-2.4.29/drivers/isdn/hysdn/hysdn_procconf.c
---- linux-2.4.29.old/drivers/isdn/hysdn/hysdn_procconf.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/hysdn_procconf.c   2005-03-22 15:06:48.598704656 +0100
+--- a/drivers/isdn/hysdn/hysdn_procconf.c
++++ b/drivers/isdn/hysdn/hysdn_procconf.c
 @@ -1,4 +1,4 @@
 -/* $Id: hysdn_procconf.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
 @@ -1,4 +1,4 @@
 -/* $Id: hysdn_procconf.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
@@ -13075,7 +12908,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_procconf.c linux-2.4.29/driv
  
  #define INFO_OUT_LEN 80               /* length of info line including lf */
  
  
  #define INFO_OUT_LEN 80               /* length of info line including lf */
  
-@@ -212,32 +214,29 @@
+@@ -212,32 +214,29 @@ hysdn_conf_write(struct file *file, cons
  static ssize_t
  hysdn_conf_read(struct file *file, char *buf, size_t count, loff_t * off)
  {
  static ssize_t
  hysdn_conf_read(struct file *file, char *buf, size_t count, loff_t * off)
  {
@@ -13125,7 +12958,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_procconf.c linux-2.4.29/driv
  
        return (i);
  }                             /* hysdn_conf_read */
  
        return (i);
  }                             /* hysdn_conf_read */
-@@ -254,7 +253,11 @@
+@@ -254,7 +253,11 @@ hysdn_conf_open(struct inode *ino, struc
        char *cp, *tmp;
  
        /* now search the addressed card */
        char *cp, *tmp;
  
        /* now search the addressed card */
@@ -13137,7 +12970,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_procconf.c linux-2.4.29/driv
        card = card_root;
        while (card) {
                pd = card->procconf;
        card = card_root;
        while (card) {
                pd = card->procconf;
-@@ -263,7 +266,11 @@
+@@ -263,7 +266,11 @@ hysdn_conf_open(struct inode *ino, struc
                card = card->next;      /* search next entry */
        }
        if (!card) {
                card = card->next;      /* search next entry */
        }
        if (!card) {
@@ -13149,7 +12982,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_procconf.c linux-2.4.29/driv
                return (-ENODEV);       /* device is unknown/invalid */
        }
        if (card->debug_flags & (LOG_PROC_OPEN | LOG_PROC_ALL))
                return (-ENODEV);       /* device is unknown/invalid */
        }
        if (card->debug_flags & (LOG_PROC_OPEN | LOG_PROC_ALL))
-@@ -274,7 +281,11 @@
+@@ -274,7 +281,11 @@ hysdn_conf_open(struct inode *ino, struc
                /* write only access -> write boot file or conf line */
  
                if (!(cnf = kmalloc(sizeof(struct conf_writedata), GFP_KERNEL))) {
                /* write only access -> write boot file or conf line */
  
                if (!(cnf = kmalloc(sizeof(struct conf_writedata), GFP_KERNEL))) {
@@ -13161,7 +12994,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_procconf.c linux-2.4.29/driv
                        return (-EFAULT);
                }
                cnf->card = card;
                        return (-EFAULT);
                }
                cnf->card = card;
-@@ -286,7 +297,11 @@
+@@ -286,7 +297,11 @@ hysdn_conf_open(struct inode *ino, struc
                /* read access -> output card info data */
  
                if (!(tmp = (char *) kmalloc(INFO_OUT_LEN * 2 + 2, GFP_KERNEL))) {
                /* read access -> output card info data */
  
                if (!(tmp = (char *) kmalloc(INFO_OUT_LEN * 2 + 2, GFP_KERNEL))) {
@@ -13173,7 +13006,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_procconf.c linux-2.4.29/driv
                        return (-EFAULT);       /* out of memory */
                }
                filep->private_data = tmp;      /* start of string */
                        return (-EFAULT);       /* out of memory */
                }
                filep->private_data = tmp;      /* start of string */
-@@ -320,10 +335,16 @@
+@@ -320,10 +335,16 @@ hysdn_conf_open(struct inode *ino, struc
                *cp++ = '\n';
                *cp = 0;        /* end of string */
        } else {                /* simultaneous read/write access forbidden ! */
                *cp++ = '\n';
                *cp = 0;        /* end of string */
        } else {                /* simultaneous read/write access forbidden ! */
@@ -13190,7 +13023,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_procconf.c linux-2.4.29/driv
        return (0);
  }                             /* hysdn_conf_open */
  
        return (0);
  }                             /* hysdn_conf_open */
  
-@@ -338,7 +359,9 @@
+@@ -338,7 +359,9 @@ hysdn_conf_close(struct inode *ino, stru
        int retval = 0;
        struct proc_dir_entry *pd;
  
        int retval = 0;
        struct proc_dir_entry *pd;
  
@@ -13200,7 +13033,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_procconf.c linux-2.4.29/driv
        /* search the addressed card */
        card = card_root;
        while (card) {
        /* search the addressed card */
        card = card_root;
        while (card) {
-@@ -348,7 +371,9 @@
+@@ -348,7 +371,9 @@ hysdn_conf_close(struct inode *ino, stru
                card = card->next;      /* search next entry */
        }
        if (!card) {
                card = card->next;      /* search next entry */
        }
        if (!card) {
@@ -13210,7 +13043,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_procconf.c linux-2.4.29/driv
                return (-ENODEV);       /* device is unknown/invalid */
        }
        if (card->debug_flags & (LOG_PROC_OPEN | LOG_PROC_ALL))
                return (-ENODEV);       /* device is unknown/invalid */
        }
        if (card->debug_flags & (LOG_PROC_OPEN | LOG_PROC_ALL))
-@@ -371,7 +396,11 @@
+@@ -371,7 +396,11 @@ hysdn_conf_close(struct inode *ino, stru
                if (filep->private_data)
                        kfree(filep->private_data);     /* release memory */
        }
                if (filep->private_data)
                        kfree(filep->private_data);     /* release memory */
        }
@@ -13222,7 +13055,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_procconf.c linux-2.4.29/driv
        return (retval);
  }                             /* hysdn_conf_close */
  
        return (retval);
  }                             /* hysdn_conf_close */
  
-@@ -387,6 +416,9 @@
+@@ -387,6 +416,9 @@ static struct file_operations conf_fops 
        release:        hysdn_conf_close,                                       
  };
  
        release:        hysdn_conf_close,                                       
  };
  
@@ -13232,7 +13065,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_procconf.c linux-2.4.29/driv
  /*****************************/
  /* hysdn subdir in /proc/net */
  /*****************************/
  /*****************************/
  /* hysdn subdir in /proc/net */
  /*****************************/
-@@ -415,8 +447,17 @@
+@@ -415,8 +447,17 @@ hysdn_procconf_init(void)
                if ((card->procconf = (void *) create_proc_entry(conf_name,
                                             S_IFREG | S_IRUGO | S_IWUSR,
                                            hysdn_proc_entry)) != NULL) {
                if ((card->procconf = (void *) create_proc_entry(conf_name,
                                             S_IFREG | S_IRUGO | S_IWUSR,
                                            hysdn_proc_entry)) != NULL) {
@@ -13250,9 +13083,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_procconf.c linux-2.4.29/driv
                        hysdn_proclog_init(card);       /* init the log file entry */
                }
                card = card->next;      /* next entry */
                        hysdn_proclog_init(card);       /* init the log file entry */
                }
                card = card->next;      /* next entry */
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_proclog.c linux-2.4.29/drivers/isdn/hysdn/hysdn_proclog.c
---- linux-2.4.29.old/drivers/isdn/hysdn/hysdn_proclog.c        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/hysdn_proclog.c    2005-03-22 15:06:48.613702376 +0100
+--- a/drivers/isdn/hysdn/hysdn_proclog.c
++++ b/drivers/isdn/hysdn/hysdn_proclog.c
 @@ -1,4 +1,4 @@
 -/* $Id: hysdn_proclog.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
 @@ -1,4 +1,4 @@
 -/* $Id: hysdn_proclog.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
@@ -13269,7 +13101,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_proclog.c linux-2.4.29/drive
  
  #include "hysdn_defs.h"
  
  
  #include "hysdn_defs.h"
  
-@@ -115,8 +117,7 @@
+@@ -115,8 +117,7 @@ put_log_buffer(hysdn_card * card, char *
        strcpy(ib->log_start, cp);      /* set output string */
        ib->next = NULL;
        ib->proc_ctrl = pd;     /* point to own control structure */
        strcpy(ib->log_start, cp);      /* set output string */
        ib->next = NULL;
        ib->proc_ctrl = pd;     /* point to own control structure */
@@ -13279,7 +13111,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_proclog.c linux-2.4.29/drive
        ib->usage_cnt = pd->if_used;
        if (!pd->log_head)
                pd->log_head = ib;      /* new head */
        ib->usage_cnt = pd->if_used;
        if (!pd->log_head)
                pd->log_head = ib;      /* new head */
-@@ -124,7 +125,7 @@
+@@ -124,7 +125,7 @@ put_log_buffer(hysdn_card * card, char *
                pd->log_tail->next = ib;        /* follows existing messages */
        pd->log_tail = ib;      /* new tail */
        i = pd->del_lock++;     /* get lock state */
                pd->log_tail->next = ib;        /* follows existing messages */
        pd->log_tail = ib;      /* new tail */
        i = pd->del_lock++;     /* get lock state */
@@ -13288,7 +13120,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_proclog.c linux-2.4.29/drive
  
        /* delete old entrys */
        if (!i)
  
        /* delete old entrys */
        if (!i)
-@@ -210,7 +211,6 @@
+@@ -210,7 +211,6 @@ hysdn_log_read(struct file *file, char *
        word ino;
        struct procdata *pd = NULL;
        hysdn_card *card;
        word ino;
        struct procdata *pd = NULL;
        hysdn_card *card;
@@ -13296,7 +13128,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_proclog.c linux-2.4.29/drive
  
        if (!*((struct log_data **) file->private_data)) {
                if (file->f_flags & O_NONBLOCK)
  
        if (!*((struct log_data **) file->private_data)) {
                if (file->f_flags & O_NONBLOCK)
-@@ -235,11 +235,11 @@
+@@ -235,11 +235,11 @@ hysdn_log_read(struct file *file, char *
                return (0);
  
        inf->usage_cnt--;       /* new usage count */
                return (0);
  
        inf->usage_cnt--;       /* new usage count */
@@ -13310,7 +13142,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_proclog.c linux-2.4.29/drive
                return (len);
        }
        return (0);
                return (len);
        }
        return (0);
-@@ -255,7 +255,11 @@
+@@ -255,7 +255,11 @@ hysdn_log_open(struct inode *ino, struct
        struct procdata *pd = NULL;
        ulong flags;
  
        struct procdata *pd = NULL;
        ulong flags;
  
@@ -13322,7 +13154,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_proclog.c linux-2.4.29/drive
        card = card_root;
        while (card) {
                pd = card->proclog;
        card = card_root;
        while (card) {
                pd = card->proclog;
-@@ -264,7 +268,11 @@
+@@ -264,7 +268,11 @@ hysdn_log_open(struct inode *ino, struct
                card = card->next;      /* search next entry */
        }
        if (!card) {
                card = card->next;      /* search next entry */
        }
        if (!card) {
@@ -13334,7 +13166,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_proclog.c linux-2.4.29/drive
                return (-ENODEV);       /* device is unknown/invalid */
        }
        filep->private_data = card;     /* remember our own card */
                return (-ENODEV);       /* device is unknown/invalid */
        }
        filep->private_data = card;     /* remember our own card */
-@@ -274,19 +282,24 @@
+@@ -274,19 +282,24 @@ hysdn_log_open(struct inode *ino, struct
        } else if ((filep->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_READ) {
  
                /* read access -> log/debug read */
        } else if ((filep->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_READ) {
  
                /* read access -> log/debug read */
@@ -13364,7 +13196,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_proclog.c linux-2.4.29/drive
        return (0);
  }                             /* hysdn_log_open */
  
        return (0);
  }                             /* hysdn_log_open */
  
-@@ -306,7 +319,9 @@
+@@ -306,7 +319,9 @@ hysdn_log_close(struct inode *ino, struc
        int flags, retval = 0;
  
  
        int flags, retval = 0;
  
  
@@ -13374,7 +13206,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_proclog.c linux-2.4.29/drive
        if ((filep->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_WRITE) {
                /* write only access -> write debug level written */
                retval = 0;     /* success */
        if ((filep->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_WRITE) {
                /* write only access -> write debug level written */
                retval = 0;     /* success */
-@@ -314,8 +329,7 @@
+@@ -314,8 +329,7 @@ hysdn_log_close(struct inode *ino, struc
                /* read access -> log/debug read, mark one further file as closed */
  
                pd = NULL;
                /* read access -> log/debug read, mark one further file as closed */
  
                pd = NULL;
@@ -13384,7 +13216,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_proclog.c linux-2.4.29/drive
                inf = *((struct log_data **) filep->private_data);      /* get first log entry */
                if (inf)
                        pd = (struct procdata *) inf->proc_ctrl;        /* still entries there */
                inf = *((struct log_data **) filep->private_data);      /* get first log entry */
                if (inf)
                        pd = (struct procdata *) inf->proc_ctrl;        /* still entries there */
-@@ -338,7 +352,7 @@
+@@ -338,7 +352,7 @@ hysdn_log_close(struct inode *ino, struc
                        inf->usage_cnt--;       /* decrement usage count for buffers */
                        inf = inf->next;
                }
                        inf->usage_cnt--;       /* decrement usage count for buffers */
                        inf = inf->next;
                }
@@ -13393,7 +13225,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_proclog.c linux-2.4.29/drive
  
                if (pd)
                        if (pd->if_used <= 0)   /* delete buffers if last file closed */
  
                if (pd)
                        if (pd->if_used <= 0)   /* delete buffers if last file closed */
-@@ -348,7 +362,11 @@
+@@ -348,7 +362,11 @@ hysdn_log_close(struct inode *ino, struc
                                        kfree(inf);
                                }
        }                       /* read access */
                                        kfree(inf);
                                }
        }                       /* read access */
@@ -13405,7 +13237,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_proclog.c linux-2.4.29/drive
  
        return (retval);
  }                             /* hysdn_log_close */
  
        return (retval);
  }                             /* hysdn_log_close */
-@@ -400,6 +418,9 @@
+@@ -400,6 +418,9 @@ static struct file_operations log_fops =
        release:        hysdn_log_close,                                        
  };
  
        release:        hysdn_log_close,                                        
  };
  
@@ -13415,7 +13247,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_proclog.c linux-2.4.29/drive
  
  /***********************************************************************************/
  /* hysdn_proclog_init is called when the module is loaded after creating the cards */
  
  /***********************************************************************************/
  /* hysdn_proclog_init is called when the module is loaded after creating the cards */
-@@ -414,10 +435,20 @@
+@@ -414,10 +435,20 @@ hysdn_proclog_init(hysdn_card * card)
  
        if ((pd = (struct procdata *) kmalloc(sizeof(struct procdata), GFP_KERNEL)) != NULL) {
                memset(pd, 0, sizeof(struct procdata));
  
        if ((pd = (struct procdata *) kmalloc(sizeof(struct procdata), GFP_KERNEL)) != NULL) {
                memset(pd, 0, sizeof(struct procdata));
@@ -13436,9 +13268,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_proclog.c linux-2.4.29/drive
                }
  
                init_waitqueue_head(&(pd->rd_queue));
                }
  
                init_waitqueue_head(&(pd->rd_queue));
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_sched.c linux-2.4.29/drivers/isdn/hysdn/hysdn_sched.c
---- linux-2.4.29.old/drivers/isdn/hysdn/hysdn_sched.c  2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/hysdn_sched.c      2005-03-22 15:06:48.630699792 +0100
+--- a/drivers/isdn/hysdn/hysdn_sched.c
++++ b/drivers/isdn/hysdn/hysdn_sched.c
 @@ -1,4 +1,4 @@
 -/* $Id: hysdn_sched.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id: hysdn_sched.c,v 1.9 2001/09/24 13:23:03 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: hysdn_sched.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id: hysdn_sched.c,v 1.9 2001/09/24 13:23:03 kai Exp $
@@ -13457,7 +13288,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_sched.c linux-2.4.29/drivers
  #include <asm/io.h>
  
  #include "hysdn_defs.h"
  #include <asm/io.h>
  
  #include "hysdn_defs.h"
-@@ -151,22 +149,19 @@
+@@ -151,22 +149,19 @@ hysdn_tx_cfgline(hysdn_card * card, ucha
  
        if (card->debug_flags & LOG_SCHED_ASYN)
                hysdn_addlog(card, "async tx-cfg chan=%d len=%d", chan, strlen(line) + 1);
  
        if (card->debug_flags & LOG_SCHED_ASYN)
                hysdn_addlog(card, "async tx-cfg chan=%d len=%d", chan, strlen(line) + 1);
@@ -13484,7 +13315,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_sched.c linux-2.4.29/drivers
        }                       /* wait for buffer to become free */
  
        strcpy(card->async_data, line);
        }                       /* wait for buffer to become free */
  
        strcpy(card->async_data, line);
-@@ -177,31 +172,26 @@
+@@ -177,31 +172,26 @@ hysdn_tx_cfgline(hysdn_card * card, ucha
        /* now queue the task */
        queue_task(&card->irq_queue, &tq_immediate);
        mark_bh(IMMEDIATE_BH);
        /* now queue the task */
        queue_task(&card->irq_queue, &tq_immediate);
        mark_bh(IMMEDIATE_BH);
@@ -13522,16 +13353,15 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_sched.c linux-2.4.29/drivers
        if (card->debug_flags & LOG_SCHED_ASYN)
                hysdn_addlog(card, "async tx-cfg data send");
  
        if (card->debug_flags & LOG_SCHED_ASYN)
                hysdn_addlog(card, "async tx-cfg data send");
  
-diff -rNu linux-2.4.29.old/drivers/isdn/icn/icn.c linux-2.4.29/drivers/isdn/icn/icn.c
---- linux-2.4.29.old/drivers/isdn/icn/icn.c    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/icn/icn.c        2005-03-22 15:06:48.722685808 +0100
+--- a/drivers/isdn/icn/icn.c
++++ b/drivers/isdn/icn/icn.c
 @@ -1,4 +1,4 @@
 -/* $Id: icn.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * ISDN low-level module for the ICN active ISDN-Card.
   *
 @@ -1,4 +1,4 @@
 -/* $Id: icn.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * ISDN low-level module for the ICN active ISDN-Card.
   *
-@@ -41,7 +41,7 @@
+@@ -41,7 +41,7 @@ MODULE_PARM_DESC(icn_id2, "ID-String of 
  #undef MAP_DEBUG
  
  static char
  #undef MAP_DEBUG
  
  static char
@@ -13540,7 +13370,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/icn/icn.c linux-2.4.29/drivers/isdn/icn/
  
  static int icn_addcard(int, char *, char *);
  
  
  static int icn_addcard(int, char *, char *);
  
-@@ -1634,6 +1634,7 @@
+@@ -1634,6 +1634,7 @@ icn_addcard(int port, char *id1, char *i
  }
  
  #ifndef MODULE
  }
  
  #ifndef MODULE
@@ -13548,7 +13378,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/icn/icn.c linux-2.4.29/drivers/isdn/icn/
  static int __init
  icn_setup(char *line)
  {
  static int __init
  icn_setup(char *line)
  {
-@@ -1643,6 +1644,14 @@
+@@ -1643,6 +1644,14 @@ icn_setup(char *line)
        static char sid2[20];
  
        str = get_options(line, 2, ints);
        static char sid2[20];
  
        str = get_options(line, 2, ints);
@@ -13563,7 +13393,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/icn/icn.c linux-2.4.29/drivers/isdn/icn/
        if (ints[0])
                portbase = ints[1];
        if (ints[0] > 1)
        if (ints[0])
                portbase = ints[1];
        if (ints[0] > 1)
-@@ -1656,9 +1665,13 @@
+@@ -1656,9 +1665,13 @@ icn_setup(char *line)
                        icn_id2 = sid2;
                }
        }
                        icn_id2 = sid2;
                }
        }
@@ -13577,18 +13407,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/icn/icn.c linux-2.4.29/drivers/isdn/icn/
  #endif /* MODULE */
  
  static int __init icn_init(void)
  #endif /* MODULE */
  
  static int __init icn_init(void)
-diff -rNu linux-2.4.29.old/drivers/isdn/icn/icn.h linux-2.4.29/drivers/isdn/icn/icn.h
---- linux-2.4.29.old/drivers/isdn/icn/icn.h    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/icn/icn.h        2005-03-22 15:06:48.752681248 +0100
+--- a/drivers/isdn/icn/icn.h
++++ b/drivers/isdn/icn/icn.h
 @@ -1,4 +1,4 @@
 -/* $Id: icn.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * ISDN lowlevel-module for the ICN active ISDN-Card.
   *
 @@ -1,4 +1,4 @@
 -/* $Id: icn.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * ISDN lowlevel-module for the ICN active ISDN-Card.
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_audio.c linux-2.4.29/drivers/isdn/isdn_audio.c
---- linux-2.4.29.old/drivers/isdn/isdn_audio.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_audio.c     2005-03-22 15:06:44.306357192 +0100
+--- a/drivers/isdn/isdn_audio.c
++++ b/drivers/isdn/isdn_audio.c
 @@ -1,9 +1,9 @@
 -/* $Id: isdn_audio.c,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
 +/* $Id: isdn_audio.c,v 1.24 2002/08/13 09:57:26 keil Exp $
 @@ -1,9 +1,9 @@
 -/* $Id: isdn_audio.c,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
 +/* $Id: isdn_audio.c,v 1.24 2002/08/13 09:57:26 keil Exp $
@@ -13610,7 +13438,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_audio.c linux-2.4.29/drivers/isdn/i
  
  /*
   * Misc. lookup-tables.
  
  /*
   * Misc. lookup-tables.
-@@ -169,19 +169,39 @@
+@@ -169,19 +169,39 @@ static char isdn_audio_ulaw_to_alaw[] =
        0x8a, 0x8a, 0x6a, 0x6a, 0xea, 0xea, 0x2a, 0x2a
  };
  
        0x8a, 0x8a, 0x6a, 0x6a, 0xea, 0xea, 0x2a, 0x2a
  };
  
@@ -13653,7 +13481,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_audio.c linux-2.4.29/drivers/isdn/i
  };
  
  static char dtmf_matrix[4][4] =
  };
  
  static char dtmf_matrix[4][4] =
-@@ -208,7 +228,7 @@
+@@ -208,7 +228,7 @@ isdn_audio_tlookup(const u_char *table, 
        :       "memory", "ax");
  #else
        while (n--)
        :       "memory", "ax");
  #else
        while (n--)
@@ -13662,7 +13490,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_audio.c linux-2.4.29/drivers/isdn/i
  #endif
  }
  
  #endif
  }
  
-@@ -479,18 +499,6 @@
+@@ -479,18 +499,6 @@ isdn_audio_goertzel(int *sample, modem_i
                        sk2 = sk1;
                        sk1 = sk;
                }
                        sk2 = sk1;
                        sk1 = sk;
                }
@@ -13681,7 +13509,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_audio.c linux-2.4.29/drivers/isdn/i
                result[k] =
                    ((sk * sk) >> AMP_BITS) -
                    ((((cos2pik[k] * sk) >> 15) * sk2) >> AMP_BITS) +
                result[k] =
                    ((sk * sk) >> AMP_BITS) -
                    ((((cos2pik[k] * sk) >> 15) * sk2) >> AMP_BITS) +
-@@ -514,58 +522,28 @@
+@@ -514,58 +522,28 @@ isdn_audio_eval_dtmf(modem_info * info)
        int grp[2];
        char what;
        char *p;
        int grp[2];
        char what;
        char *p;
@@ -13753,16 +13581,15 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_audio.c linux-2.4.29/drivers/isdn/i
                                what = '.';
                }
                if ((what != s->last) && (what != ' ') && (what != '.')) {
                                what = '.';
                }
                if ((what != s->last) && (what != ' ') && (what != '.')) {
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_audio.h linux-2.4.29/drivers/isdn/isdn_audio.h
---- linux-2.4.29.old/drivers/isdn/isdn_audio.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_audio.h     2005-03-22 15:06:44.321354912 +0100
+--- a/drivers/isdn/isdn_audio.h
++++ b/drivers/isdn/isdn_audio.h
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_audio.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_audio.h,v 1.10 2001/09/24 13:22:42 kai Exp $
   *
   * Linux ISDN subsystem, audio conversion and compression (linklevel).
   *
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_audio.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_audio.h,v 1.10 2001/09/24 13:22:42 kai Exp $
   *
   * Linux ISDN subsystem, audio conversion and compression (linklevel).
   *
-@@ -20,7 +20,6 @@
+@@ -20,7 +20,6 @@ typedef struct adpcm_state {
  
  typedef struct dtmf_state {
        char last;
  
  typedef struct dtmf_state {
        char last;
@@ -13770,10 +13597,9 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_audio.h linux-2.4.29/drivers/isdn/i
        int idx;
        int buf[DTMF_NPOINTS];
  } dtmf_state;
        int idx;
        int buf[DTMF_NPOINTS];
  } dtmf_state;
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_bsdcomp.c linux-2.4.29/drivers/isdn/isdn_bsdcomp.c
---- linux-2.4.29.old/drivers/isdn/isdn_bsdcomp.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_bsdcomp.c   2005-03-22 15:06:44.339352176 +0100
-@@ -105,6 +105,14 @@
+--- a/drivers/isdn/isdn_bsdcomp.c
++++ b/drivers/isdn/isdn_bsdcomp.c
+@@ -105,6 +105,14 @@ MODULE_LICENSE("Dual BSD/GPL");
  
  #define DEBUG 1
  
  
  #define DEBUG 1
  
@@ -13788,7 +13614,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_bsdcomp.c linux-2.4.29/drivers/isdn
  /*
   * A dictionary for doing BSD compress.
   */
  /*
   * A dictionary for doing BSD compress.
   */
-@@ -285,7 +293,7 @@
+@@ -285,7 +293,7 @@ static void bsd_free (void *state)
                 * Release the dictionary
                 */
                if (db->dict) {
                 * Release the dictionary
                 */
                if (db->dict) {
@@ -13797,7 +13623,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_bsdcomp.c linux-2.4.29/drivers/isdn
                        db->dict = NULL;
                }
  
                        db->dict = NULL;
                }
  
-@@ -293,7 +301,7 @@
+@@ -293,7 +301,7 @@ static void bsd_free (void *state)
                 * Release the string buffer
                 */
                if (db->lens) {
                 * Release the string buffer
                 */
                if (db->lens) {
@@ -13806,7 +13632,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_bsdcomp.c linux-2.4.29/drivers/isdn
                        db->lens = NULL;
                }
  
                        db->lens = NULL;
                }
  
-@@ -350,14 +358,19 @@
+@@ -350,14 +358,19 @@ static void *bsd_alloc (struct isdn_ppp_
         * Allocate space for the dictionary. This may be more than one page in
         * length.
         */
         * Allocate space for the dictionary. This may be more than one page in
         * length.
         */
@@ -13829,7 +13655,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_bsdcomp.c linux-2.4.29/drivers/isdn
        /*
         * If this is the compression buffer then there is no length data.
         * For decompression, the length information is needed as well.
        /*
         * If this is the compression buffer then there is no length data.
         * For decompression, the length information is needed as well.
-@@ -365,7 +378,7 @@
+@@ -365,7 +378,7 @@ static void *bsd_alloc (struct isdn_ppp_
        if (!decomp)
                db->lens = NULL;
        else {
        if (!decomp)
                db->lens = NULL;
        else {
@@ -13838,7 +13664,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_bsdcomp.c linux-2.4.29/drivers/isdn
                        sizeof (db->lens[0]));
                if (!db->lens) {
                        bsd_free (db); /* calls MOD_DEC_USE_COUNT; */
                        sizeof (db->lens[0]));
                if (!db->lens) {
                        bsd_free (db); /* calls MOD_DEC_USE_COUNT; */
-@@ -478,7 +491,11 @@
+@@ -478,7 +491,11 @@ static int bsd_compress (void *state, st
        int hval,disp,ilen,mxcode;
        unsigned char *rptr = skb_in->data;
        int isize = skb_in->len;
        int hval,disp,ilen,mxcode;
        unsigned char *rptr = skb_in->data;
        int isize = skb_in->len;
@@ -13850,7 +13676,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_bsdcomp.c linux-2.4.29/drivers/isdn
  #define OUTPUT(ent)                   \
    {                                   \
      bitno -= n_bits;                  \
  #define OUTPUT(ent)                   \
    {                                   \
      bitno -= n_bits;                  \
-@@ -490,17 +507,45 @@
+@@ -490,17 +507,45 @@ static int bsd_compress (void *state, st
        bitno += 8;                     \
      } while (bitno <= 24);            \
    }
        bitno += 8;                     \
      } while (bitno <= 24);            \
    }
@@ -13896,7 +13722,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_bsdcomp.c linux-2.4.29/drivers/isdn
  
        db      = (struct bsd_db *) state;
        hshift  = db->hshift;
  
        db      = (struct bsd_db *) state;
        hshift  = db->hshift;
-@@ -538,6 +583,9 @@
+@@ -538,6 +583,9 @@ static int bsd_compress (void *state, st
        
                /* continue probing until a match or invalid entry */
                disp = (hval == 0) ? 1 : hval;
        
                /* continue probing until a match or invalid entry */
                disp = (hval == 0) ? 1 : hval;
@@ -13906,7 +13732,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_bsdcomp.c linux-2.4.29/drivers/isdn
  
                do {
                        hval += disp;
  
                do {
                        hval += disp;
-@@ -546,7 +594,15 @@
+@@ -546,7 +594,15 @@ static int bsd_compress (void *state, st
                        dictp = dict_ptr (db, hval);
                        if (dictp->codem1 >= max_ent)
                                goto nomatch;
                        dictp = dict_ptr (db, hval);
                        if (dictp->codem1 >= max_ent)
                                goto nomatch;
@@ -13922,7 +13748,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_bsdcomp.c linux-2.4.29/drivers/isdn
  
                ent = dictp->codem1 + 1;        /* finally found (prefix,suffix) */
                continue;
  
                ent = dictp->codem1 + 1;        /* finally found (prefix,suffix) */
                continue;
-@@ -669,6 +725,9 @@
+@@ -669,6 +725,9 @@ static int bsd_decompress (void *state, 
        int ilen;
        int codelen;
        int extra;
        int ilen;
        int codelen;
        int extra;
@@ -13932,7 +13758,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_bsdcomp.c linux-2.4.29/drivers/isdn
  
        db       = (struct bsd_db *) state;
        max_ent  = db->max_ent;
  
        db       = (struct bsd_db *) state;
        max_ent  = db->max_ent;
-@@ -677,7 +736,9 @@
+@@ -677,7 +736,9 @@ static int bsd_decompress (void *state, 
        n_bits   = db->n_bits;
        tgtbitno = 32 - n_bits; /* bitno when we have a code */
  
        n_bits   = db->n_bits;
        tgtbitno = 32 - n_bits; /* bitno when we have a code */
  
@@ -13942,7 +13768,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_bsdcomp.c linux-2.4.29/drivers/isdn
  
        if(!skb_in || !skb_out) {
                printk(KERN_ERR "bsd_decompress called with NULL parameter\n");
  
        if(!skb_in || !skb_out) {
                printk(KERN_ERR "bsd_decompress called with NULL parameter\n");
-@@ -795,7 +856,11 @@
+@@ -795,7 +856,11 @@ static int bsd_decompress (void *state, 
  
                p     = skb_put(skb_out,codelen);
                p += codelen;
  
                p     = skb_put(skb_out,codelen);
                p += codelen;
@@ -13954,7 +13780,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_bsdcomp.c linux-2.4.29/drivers/isdn
                        struct bsd_dict *dictp2 = dict_ptr (db, finchar);
            
                        dictp = dict_ptr (db, dictp2->cptr);
                        struct bsd_dict *dictp2 = dict_ptr (db, finchar);
            
                        dictp = dict_ptr (db, dictp2->cptr);
-@@ -822,6 +887,12 @@
+@@ -822,6 +887,12 @@ static int bsd_decompress (void *state, 
                        }
                }
                *--p = finchar;
                        }
                }
                *--p = finchar;
@@ -13967,7 +13793,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_bsdcomp.c linux-2.4.29/drivers/isdn
        
  #ifdef DEBUG
                if (--codelen != 0)
        
  #ifdef DEBUG
                if (--codelen != 0)
-@@ -851,12 +922,23 @@
+@@ -851,12 +922,23 @@ static int bsd_decompress (void *state, 
                        /* look for a free hash table entry */
                        if (dictp->codem1 < max_ent) {
                                disp = (hval == 0) ? 1 : hval;
                        /* look for a free hash table entry */
                        if (dictp->codem1 < max_ent) {
                                disp = (hval == 0) ? 1 : hval;
@@ -13991,7 +13817,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_bsdcomp.c linux-2.4.29/drivers/isdn
                        }
            
                        /*
                        }
            
                        /*
-@@ -895,11 +977,21 @@
+@@ -895,11 +977,21 @@ static int bsd_decompress (void *state, 
        db->comp_bytes   += skb_in->len - BSD_OVHD;
        db->uncomp_bytes += skb_out->len;
  
        db->comp_bytes   += skb_in->len - BSD_OVHD;
        db->uncomp_bytes += skb_out->len;
  
@@ -14013,9 +13839,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_bsdcomp.c linux-2.4.29/drivers/isdn
        return skb_out->len;
  }
  
        return skb_out->len;
  }
  
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/isdn_common.c
---- linux-2.4.29.old/drivers/isdn/isdn_common.c        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_common.c    2005-03-22 15:06:44.359349136 +0100
+--- a/drivers/isdn/isdn_common.c
++++ b/drivers/isdn/isdn_common.c
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_common.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_common.c,v 1.137 2002/02/09 21:19:11 keil Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_common.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_common.c,v 1.137 2002/02/09 21:19:11 keil Exp $
@@ -14040,7 +13865,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
  
  /* Debugflags */
  #undef ISDN_DEBUG_STATCALLB
  
  /* Debugflags */
  #undef ISDN_DEBUG_STATCALLB
-@@ -44,7 +47,7 @@
+@@ -44,7 +47,7 @@ MODULE_LICENSE("GPL");
  
  isdn_dev *dev;
  
  
  isdn_dev *dev;
  
@@ -14049,7 +13874,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
  
  extern char *isdn_net_revision;
  extern char *isdn_tty_revision;
  
  extern char *isdn_net_revision;
  extern char *isdn_tty_revision;
-@@ -67,19 +70,19 @@
+@@ -67,19 +70,19 @@ static isdn_divert_if *divert_if; /* = N
  
  static int isdn_writebuf_stub(int, int, const u_char *, int, int);
  static void set_global_features(void);
  
  static int isdn_writebuf_stub(int, int, const u_char *, int, int);
  static void set_global_features(void);
@@ -14073,7 +13898,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
  
                cmd.driver = i;
                cmd.arg = 0;
  
                cmd.driver = i;
                cmd.arg = 0;
-@@ -101,10 +104,7 @@
+@@ -101,10 +104,7 @@ isdn_unlock_drivers(void)
  {
        int i;
  
  {
        int i;
  
@@ -14085,7 +13910,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
                if (dev->drv[i]->locks > 0) {
                        isdn_ctrl cmd;
  
                if (dev->drv[i]->locks > 0) {
                        isdn_ctrl cmd;
  
-@@ -114,7 +114,6 @@
+@@ -114,7 +114,6 @@ isdn_unlock_drivers(void)
                        isdn_command(&cmd);
                        dev->drv[i]->locks--;
                }
                        isdn_command(&cmd);
                        dev->drv[i]->locks--;
                }
@@ -14093,7 +13918,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
  }
  
  void
  }
  
  void
-@@ -473,6 +472,7 @@
+@@ -473,6 +472,7 @@ isdn_status_callback(isdn_ctrl * c)
                        dev->drv[di]->flags &= ~DRV_FLAG_RUNNING;
                        break;
                case ISDN_STAT_ICALL:
                        dev->drv[di]->flags &= ~DRV_FLAG_RUNNING;
                        break;
                case ISDN_STAT_ICALL:
@@ -14101,7 +13926,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
                        if (i < 0)
                                return -1;
  #ifdef ISDN_DEBUG_STATCALLB
                        if (i < 0)
                                return -1;
  #ifdef ISDN_DEBUG_STATCALLB
-@@ -718,7 +718,9 @@
+@@ -718,7 +718,9 @@ isdn_status_callback(isdn_ctrl * c)
                                        dev->drvmap[i] = -1;
                                        dev->chanmap[i] = -1;
                                        dev->usage[i] &= ~ISDN_USAGE_DISABLED;
                                        dev->drvmap[i] = -1;
                                        dev->chanmap[i] = -1;
                                        dev->usage[i] &= ~ISDN_USAGE_DISABLED;
@@ -14111,7 +13936,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
                                }
                        dev->drivers--;
                        dev->channels -= dev->drv[di]->channels;
                                }
                        dev->drivers--;
                        dev->channels -= dev->drv[di]->channels;
-@@ -755,6 +757,10 @@
+@@ -755,6 +757,10 @@ isdn_status_callback(isdn_ctrl * c)
                          if (divert_if)
                            return(divert_if->stat_callback(c));
  #endif /* CONFIG_ISDN_DIVERSION */
                          if (divert_if)
                            return(divert_if->stat_callback(c));
  #endif /* CONFIG_ISDN_DIVERSION */
@@ -14122,7 +13947,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
                default:
                        return -1;
        }
                default:
                        return -1;
        }
-@@ -900,72 +906,239 @@
+@@ -900,72 +906,239 @@ isdn_minor2chan(int minor)
        return (dev->chanmap[minor]);
  }
  
        return (dev->chanmap[minor]);
  }
  
@@ -14401,7 +14226,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
  static ssize_t
  isdn_read(struct file *file, char *buf, size_t count, loff_t * off)
  {
  static ssize_t
  isdn_read(struct file *file, char *buf, size_t count, loff_t * off)
  {
-@@ -976,37 +1149,16 @@
+@@ -976,37 +1149,16 @@ isdn_read(struct file *file, char *buf, 
        int chidx;
        int retval;
        char *p;
        int chidx;
        int retval;
        char *p;
@@ -14444,7 +14269,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
        if (!dev->drivers) {
                retval = -ENODEV;
                goto out;
        if (!dev->drivers) {
                retval = -ENODEV;
                goto out;
-@@ -1031,7 +1183,7 @@
+@@ -1031,7 +1183,7 @@ isdn_read(struct file *file, char *buf, 
                cli();
                len = isdn_readbchan(drvidx, chidx, p, 0, count,
                                     &dev->drv[drvidx]->rcv_waitq[chidx]);
                cli();
                len = isdn_readbchan(drvidx, chidx, p, 0, count,
                                     &dev->drv[drvidx]->rcv_waitq[chidx]);
@@ -14453,7 +14278,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
                restore_flags(flags);
                if (copy_to_user(buf,p,len)) 
                        len = -EFAULT;
                restore_flags(flags);
                if (copy_to_user(buf,p,len)) 
                        len = -EFAULT;
-@@ -1052,6 +1204,9 @@
+@@ -1052,6 +1204,9 @@ isdn_read(struct file *file, char *buf, 
                        }
                        interruptible_sleep_on(&(dev->drv[drvidx]->st_waitq));
                }
                        }
                        interruptible_sleep_on(&(dev->drv[drvidx]->st_waitq));
                }
@@ -14463,7 +14288,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
                if (dev->drv[drvidx]->interface->readstat) {
                        if (count > dev->drv[drvidx]->stavail)
                                count = dev->drv[drvidx]->stavail;
                if (dev->drv[drvidx]->interface->readstat) {
                        if (count > dev->drv[drvidx]->stavail)
                                count = dev->drv[drvidx]->stavail;
-@@ -1061,6 +1216,9 @@
+@@ -1065,6 +1220,9 @@ isdn_read(struct file *file, char *buf, 
                } else {
                        len = 0;
                }
                } else {
                        len = 0;
                }
@@ -14473,7 +14298,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
                save_flags(flags);
                cli();
                if (len)
                save_flags(flags);
                cli();
                if (len)
-@@ -1068,7 +1226,7 @@
+@@ -1072,7 +1230,7 @@ isdn_read(struct file *file, char *buf, 
                else
                        dev->drv[drvidx]->stavail = 0;
                restore_flags(flags);
                else
                        dev->drv[drvidx]->stavail = 0;
                restore_flags(flags);
@@ -14482,7 +14307,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
                retval = len;
                goto out;
        }
                retval = len;
                goto out;
        }
-@@ -1080,7 +1238,9 @@
+@@ -1084,7 +1242,9 @@ isdn_read(struct file *file, char *buf, 
  #endif
        retval = -ENODEV;
   out:
  #endif
        retval = -ENODEV;
   out:
@@ -14492,7 +14317,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
        return retval;
  }
  
        return retval;
  }
  
-@@ -1092,15 +1252,18 @@
+@@ -1096,15 +1256,18 @@ isdn_write(struct file *file, const char
        int chidx;
        int retval;
  
        int chidx;
        int retval;
  
@@ -14513,7 +14338,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
        if (minor <= ISDN_MINOR_BMAX) {
                printk(KERN_WARNING "isdn_write minor %d obsolete!\n", minor);
                drvidx = isdn_minor2drv(minor);
        if (minor <= ISDN_MINOR_BMAX) {
                printk(KERN_WARNING "isdn_write minor %d obsolete!\n", minor);
                drvidx = isdn_minor2drv(minor);
-@@ -1145,7 +1308,9 @@
+@@ -1149,7 +1312,9 @@ isdn_write(struct file *file, const char
  #endif
        retval = -ENODEV;
   out:
  #endif
        retval = -ENODEV;
   out:
@@ -14523,7 +14348,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
        return retval;
  }
  
        return retval;
  }
  
-@@ -1156,15 +1321,12 @@
+@@ -1160,15 +1325,12 @@ isdn_poll(struct file *file, poll_table 
        unsigned int minor = MINOR(file->f_dentry->d_inode->i_rdev);
        int drvidx = isdn_minor2drv(minor - ISDN_MINOR_CTRL);
  
        unsigned int minor = MINOR(file->f_dentry->d_inode->i_rdev);
        int drvidx = isdn_minor2drv(minor - ISDN_MINOR_CTRL);
  
@@ -14544,7 +14369,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
        if (minor >= ISDN_MINOR_CTRL && minor <= ISDN_MINOR_CTRLMAX) {
                if (drvidx < 0) {
                        /* driver deregistered while file open */
        if (minor >= ISDN_MINOR_CTRL && minor <= ISDN_MINOR_CTRLMAX) {
                if (drvidx < 0) {
                        /* driver deregistered while file open */
-@@ -1186,7 +1348,9 @@
+@@ -1190,7 +1352,9 @@ isdn_poll(struct file *file, poll_table 
  #endif
        mask = POLLERR;
   out:
  #endif
        mask = POLLERR;
   out:
@@ -14554,7 +14379,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
        return mask;
  }
  
        return mask;
  }
  
-@@ -1216,42 +1380,9 @@
+@@ -1220,42 +1384,9 @@ isdn_ioctl(struct inode *inode, struct f
  #define phone iocpar.phone
  #define cfg   iocpar.cfg
  
  #define phone iocpar.phone
  #define cfg   iocpar.cfg
  
@@ -14600,7 +14425,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
        if (!dev->drivers)
                return -ENODEV;
        if (minor <= ISDN_MINOR_BMAX) {
        if (!dev->drivers)
                return -ENODEV;
        if (minor <= ISDN_MINOR_BMAX) {
-@@ -1273,11 +1404,34 @@
+@@ -1277,11 +1408,34 @@ isdn_ioctl(struct inode *inode, struct f
   */
                switch (cmd) {
                        case IIOCNETDWRSET:
   */
                switch (cmd) {
                        case IIOCNETDWRSET:
@@ -14635,7 +14460,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
  #ifdef CONFIG_NETDEVICES
                        case IIOCNETAIF:
                                /* Add a network-interface */
  #ifdef CONFIG_NETDEVICES
                        case IIOCNETAIF:
                                /* Add a network-interface */
-@@ -1650,22 +1804,12 @@
+@@ -1657,22 +1811,12 @@ isdn_open(struct inode *ino, struct file
        int chidx;
        int retval = -ENODEV;
  
        int chidx;
        int retval = -ENODEV;
  
@@ -14662,7 +14487,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
        }
        if (!dev->channels)
                goto out;
        }
        if (!dev->channels)
                goto out;
-@@ -1688,6 +1832,9 @@
+@@ -1695,6 +1839,9 @@ isdn_open(struct inode *ino, struct file
                if (drvidx < 0)
                        goto out;
                isdn_lock_drivers();
                if (drvidx < 0)
                        goto out;
                isdn_lock_drivers();
@@ -14672,7 +14497,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
                retval = 0;
                goto out;
        }
                retval = 0;
                goto out;
        }
-@@ -1700,6 +1847,10 @@
+@@ -1707,6 +1854,10 @@ isdn_open(struct inode *ino, struct file
        }
  #endif
   out:
        }
  #endif
   out:
@@ -14683,7 +14508,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
        return retval;
  }
  
        return retval;
  }
  
-@@ -1708,25 +1859,11 @@
+@@ -1715,25 +1866,11 @@ isdn_close(struct inode *ino, struct fil
  {
        uint minor = MINOR(ino->i_rdev);
  
  {
        uint minor = MINOR(ino->i_rdev);
  
@@ -14712,7 +14537,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
        }
        isdn_unlock_drivers();
        if (minor <= ISDN_MINOR_BMAX)
        }
        isdn_unlock_drivers();
        if (minor <= ISDN_MINOR_BMAX)
-@@ -1734,6 +1871,12 @@
+@@ -1741,6 +1878,12 @@ isdn_close(struct inode *ino, struct fil
        if (minor <= ISDN_MINOR_CTRLMAX) {
                if (dev->profd == current)
                        dev->profd = NULL;
        if (minor <= ISDN_MINOR_CTRLMAX) {
                if (dev->profd == current)
                        dev->profd = NULL;
@@ -14725,7 +14550,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
                goto out;
        }
  #ifdef CONFIG_ISDN_PPP
                goto out;
        }
  #ifdef CONFIG_ISDN_PPP
-@@ -1742,13 +1885,19 @@
+@@ -1749,13 +1892,19 @@ isdn_close(struct inode *ino, struct fil
  #endif
  
   out:
  #endif
  
   out:
@@ -14745,7 +14570,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
        llseek:         no_llseek,
        read:           isdn_read,
        write:          isdn_write,
        llseek:         no_llseek,
        read:           isdn_read,
        write:          isdn_write,
-@@ -1801,6 +1950,15 @@
+@@ -1808,6 +1957,15 @@ isdn_get_free_channel(int usage, int l2_
                if (USG_NONE(dev->usage[i]) &&
                    (dev->drvmap[i] != -1)) {
                        int d = dev->drvmap[i];
                if (USG_NONE(dev->usage[i]) &&
                    (dev->drvmap[i] != -1)) {
                        int d = dev->drvmap[i];
@@ -14761,7 +14586,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
                        if ((dev->usage[i] & ISDN_USAGE_EXCLUSIVE) &&
                        ((pre_dev != d) || (pre_chan != dev->chanmap[i])))
                                continue;
                        if ((dev->usage[i] & ISDN_USAGE_EXCLUSIVE) &&
                        ((pre_dev != d) || (pre_chan != dev->chanmap[i])))
                                continue;
-@@ -1819,7 +1977,11 @@
+@@ -1826,7 +1984,11 @@ isdn_get_free_channel(int usage, int l2_
                                                restore_flags(flags);
                                                return i;
                                        } else {
                                                restore_flags(flags);
                                                return i;
                                        } else {
@@ -14773,7 +14598,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
                                                        dev->usage[i] &= ISDN_USAGE_EXCLUSIVE;
                                                        dev->usage[i] |= usage;
                                                        isdn_info_update();
                                                        dev->usage[i] &= ISDN_USAGE_EXCLUSIVE;
                                                        dev->usage[i] |= usage;
                                                        isdn_info_update();
-@@ -2006,7 +2168,7 @@
+@@ -2013,7 +2175,7 @@ isdn_add_channels(driver *d, int drvidx,
  
        if ((adding) && (d->rcverr))
                kfree(d->rcverr);
  
        if ((adding) && (d->rcverr))
                kfree(d->rcverr);
@@ -14782,7 +14607,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
                printk(KERN_WARNING "register_isdn: Could not alloc rcverr\n");
                return -1;
        }
                printk(KERN_WARNING "register_isdn: Could not alloc rcverr\n");
                return -1;
        }
-@@ -2014,7 +2176,7 @@
+@@ -2021,7 +2183,7 @@ isdn_add_channels(driver *d, int drvidx,
  
        if ((adding) && (d->rcvcount))
                kfree(d->rcvcount);
  
        if ((adding) && (d->rcvcount))
                kfree(d->rcvcount);
@@ -14791,7 +14616,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
                printk(KERN_WARNING "register_isdn: Could not alloc rcvcount\n");
                if (!adding) kfree(d->rcverr);
                return -1;
                printk(KERN_WARNING "register_isdn: Could not alloc rcvcount\n");
                if (!adding) kfree(d->rcverr);
                return -1;
-@@ -2026,7 +2188,8 @@
+@@ -2033,7 +2195,8 @@ isdn_add_channels(driver *d, int drvidx,
                        skb_queue_purge(&d->rpqueue[j]);
                kfree(d->rpqueue);
        }
                        skb_queue_purge(&d->rpqueue[j]);
                kfree(d->rpqueue);
        }
@@ -14801,7 +14626,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
                printk(KERN_WARNING "register_isdn: Could not alloc rpqueue\n");
                if (!adding) {
                        kfree(d->rcvcount);
                printk(KERN_WARNING "register_isdn: Could not alloc rpqueue\n");
                if (!adding) {
                        kfree(d->rcvcount);
-@@ -2040,7 +2203,8 @@
+@@ -2047,7 +2210,8 @@ isdn_add_channels(driver *d, int drvidx,
  
        if ((adding) && (d->rcv_waitq))
                kfree(d->rcv_waitq);
  
        if ((adding) && (d->rcv_waitq))
                kfree(d->rcv_waitq);
@@ -14811,7 +14636,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
        if (!d->rcv_waitq) {
                printk(KERN_WARNING "register_isdn: Could not alloc rcv_waitq\n");
                if (!adding) {
        if (!d->rcv_waitq) {
                printk(KERN_WARNING "register_isdn: Could not alloc rcv_waitq\n");
                if (!adding) {
-@@ -2064,7 +2228,9 @@
+@@ -2071,7 +2235,9 @@ isdn_add_channels(driver *d, int drvidx,
                        if (dev->chanmap[k] < 0) {
                                dev->chanmap[k] = j;
                                dev->drvmap[k] = drvidx;
                        if (dev->chanmap[k] < 0) {
                                dev->chanmap[k] = j;
                                dev->drvmap[k] = drvidx;
@@ -14821,7 +14646,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
                                break;
                        }
        restore_flags(flags);
                                break;
                        }
        restore_flags(flags);
-@@ -2128,6 +2294,7 @@
+@@ -2135,6 +2301,7 @@ int DIVERT_REG_NAME(isdn_divert_if *i_di
          i_div->ll_cmd = isdn_command; /* set command function */
          i_div->drv_to_name = map_drvname; 
          i_div->name_to_drv = map_namedrv; 
          i_div->ll_cmd = isdn_command; /* set command function */
          i_div->drv_to_name = map_drvname; 
          i_div->name_to_drv = map_namedrv; 
@@ -14829,7 +14654,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
          MOD_INC_USE_COUNT;
          divert_if = i_div; /* remember interface */
          return(DIVERT_NO_ERR);
          MOD_INC_USE_COUNT;
          divert_if = i_div; /* remember interface */
          return(DIVERT_NO_ERR);
-@@ -2165,7 +2332,7 @@
+@@ -2172,7 +2339,7 @@ register_isdn(isdn_if * i)
                printk(KERN_WARNING "register_isdn: No write routine given.\n");
                return 0;
        }
                printk(KERN_WARNING "register_isdn: No write routine given.\n");
                return 0;
        }
@@ -14838,7 +14663,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
                printk(KERN_WARNING "register_isdn: Could not alloc driver-struct\n");
                return 0;
        }
                printk(KERN_WARNING "register_isdn: Could not alloc driver-struct\n");
                return 0;
        }
-@@ -2225,6 +2392,7 @@
+@@ -2232,6 +2399,7 @@ isdn_getrev(const char *revision)
        return rev;
  }
  
        return rev;
  }
  
@@ -14846,7 +14671,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
  #ifdef CONFIG_DEVFS_FS
  
  static devfs_handle_t devfs_handle;
  #ifdef CONFIG_DEVFS_FS
  
  static devfs_handle_t devfs_handle;
-@@ -2314,6 +2482,7 @@
+@@ -2321,6 +2489,7 @@ static void isdn_cleanup_devfs(void)
  }
  
  #endif  /* CONFIG_DEVFS_FS */
  }
  
  #endif  /* CONFIG_DEVFS_FS */
@@ -14854,7 +14679,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
  
  /*
   * Allocate and initialize all data, register modem-devices
  
  /*
   * Allocate and initialize all data, register modem-devices
-@@ -2331,7 +2500,6 @@
+@@ -2338,7 +2507,6 @@ static int __init isdn_init(void)
        init_timer(&dev->timer);
        dev->timer.function = isdn_timer_funct;
        init_MUTEX(&dev->sem);
        init_timer(&dev->timer);
        dev->timer.function = isdn_timer_funct;
        init_MUTEX(&dev->sem);
@@ -14862,7 +14687,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
        for (i = 0; i < ISDN_MAX_CHANNELS; i++) {
                dev->drvmap[i] = -1;
                dev->chanmap[i] = -1;
        for (i = 0; i < ISDN_MAX_CHANNELS; i++) {
                dev->drvmap[i] = -1;
                dev->chanmap[i] = -1;
-@@ -2345,7 +2513,9 @@
+@@ -2352,7 +2520,9 @@ static int __init isdn_init(void)
                vfree(dev);
                return -EIO;
        }
                vfree(dev);
                return -EIO;
        }
@@ -14872,7 +14697,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
        if ((i = isdn_tty_modem_init()) < 0) {
                printk(KERN_WARNING "isdn: Could not register tty devices\n");
                if (i == -3)
        if ((i = isdn_tty_modem_init()) < 0) {
                printk(KERN_WARNING "isdn: Could not register tty devices\n");
                if (i == -3)
-@@ -2353,7 +2523,9 @@
+@@ -2360,7 +2530,9 @@ static int __init isdn_init(void)
                if (i <= -2)
                        tty_unregister_driver(&dev->mdm.tty_modem);
                vfree(dev);
                if (i <= -2)
                        tty_unregister_driver(&dev->mdm.tty_modem);
                vfree(dev);
@@ -14882,7 +14707,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
                devfs_unregister_chrdev(ISDN_MAJOR, "isdn");
                return -EIO;
        }
                devfs_unregister_chrdev(ISDN_MAJOR, "isdn");
                return -EIO;
        }
-@@ -2364,7 +2536,9 @@
+@@ -2371,7 +2543,9 @@ static int __init isdn_init(void)
                tty_unregister_driver(&dev->mdm.cua_modem);
                for (i = 0; i < ISDN_MAX_CHANNELS; i++)
                        kfree(dev->mdm.info[i].xmit_buf - 4);
                tty_unregister_driver(&dev->mdm.cua_modem);
                for (i = 0; i < ISDN_MAX_CHANNELS; i++)
                        kfree(dev->mdm.info[i].xmit_buf - 4);
@@ -14892,7 +14717,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
                devfs_unregister_chrdev(ISDN_MAJOR, "isdn");
                vfree(dev);
                return -EIO;
                devfs_unregister_chrdev(ISDN_MAJOR, "isdn");
                vfree(dev);
                return -EIO;
-@@ -2390,6 +2564,9 @@
+@@ -2397,6 +2571,9 @@ static int __init isdn_init(void)
        printk("\n");
  #endif
        isdn_info_update();
        printk("\n");
  #endif
        isdn_info_update();
@@ -14902,7 +14727,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
        return 0;
  }
  
        return 0;
  }
  
-@@ -2398,7 +2575,7 @@
+@@ -2405,7 +2582,7 @@ static int __init isdn_init(void)
   */
  static void __exit isdn_exit(void)
  {
   */
  static void __exit isdn_exit(void)
  {
@@ -14911,7 +14736,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
        int i;
  
  #ifdef CONFIG_ISDN_PPP
        int i;
  
  #ifdef CONFIG_ISDN_PPP
-@@ -2432,13 +2609,18 @@
+@@ -2439,13 +2616,18 @@ static void __exit isdn_exit(void)
                printk(KERN_WARNING "isdn: controldevice busy, remove cancelled\n");
                restore_flags(flags);
        } else {
                printk(KERN_WARNING "isdn: controldevice busy, remove cancelled\n");
                restore_flags(flags);
        } else {
@@ -14930,9 +14755,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/
  }
  
  module_init(isdn_init);
  }
  
  module_init(isdn_init);
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.h linux-2.4.29/drivers/isdn/isdn_common.h
---- linux-2.4.29.old/drivers/isdn/isdn_common.h        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_common.h    2005-03-22 15:06:44.374346856 +0100
+--- a/drivers/isdn/isdn_common.h
++++ b/drivers/isdn/isdn_common.h
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_common.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_common.h,v 1.22 2001/09/24 13:22:42 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_common.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_common.h,v 1.22 2001/09/24 13:22:42 kai Exp $
@@ -14949,27 +14773,24 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.h linux-2.4.29/drivers/isdn/
  /* Prototypes */
  extern void isdn_MOD_INC_USE_COUNT(void);
  extern void isdn_MOD_DEC_USE_COUNT(void);
  /* Prototypes */
  extern void isdn_MOD_INC_USE_COUNT(void);
  extern void isdn_MOD_DEC_USE_COUNT(void);
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_concap.c linux-2.4.29/drivers/isdn/isdn_concap.c
---- linux-2.4.29.old/drivers/isdn/isdn_concap.c        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_concap.c    2005-03-22 15:06:44.389344576 +0100
+--- a/drivers/isdn/isdn_concap.c
++++ b/drivers/isdn/isdn_concap.c
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_concap.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_concap.c,v 1.9 2001/09/24 13:22:42 kai Exp $
   * 
   * Linux ISDN subsystem, protocol encapsulation
   *
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_concap.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_concap.c,v 1.9 2001/09/24 13:22:42 kai Exp $
   * 
   * Linux ISDN subsystem, protocol encapsulation
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_concap.h linux-2.4.29/drivers/isdn/isdn_concap.h
---- linux-2.4.29.old/drivers/isdn/isdn_concap.h        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_concap.h    2005-03-22 15:06:44.405342144 +0100
+--- a/drivers/isdn/isdn_concap.h
++++ b/drivers/isdn/isdn_concap.h
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_concap.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_concap.h,v 1.4 2001/09/24 13:22:42 kai Exp $
   *
   * Linux ISDN subsystem, protocol encapsulation
   *
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_concap.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_concap.h,v 1.4 2001/09/24 13:22:42 kai Exp $
   *
   * Linux ISDN subsystem, protocol encapsulation
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_dwabc.c linux-2.4.29/drivers/isdn/isdn_dwabc.c
---- linux-2.4.29.old/drivers/isdn/isdn_dwabc.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_dwabc.c     2005-03-22 15:06:44.421339712 +0100
+--- /dev/null
++++ b/drivers/isdn/isdn_dwabc.c
 @@ -0,0 +1,1053 @@
 +
 +/* $Id: isdn_dwabc.c,v 1.27 2001/12/01 23:18:21 detabc Exp $
 @@ -0,0 +1,1053 @@
 +
 +/* $Id: isdn_dwabc.c,v 1.27 2001/12/01 23:18:21 detabc Exp $
@@ -16024,9 +15845,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_dwabc.c linux-2.4.29/drivers/isdn/i
 +{ return(skb); }
 +#endif
 +#endif
 +{ return(skb); }
 +#endif
 +#endif
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isdn_net.c
---- linux-2.4.29.old/drivers/isdn/isdn_net.c   2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_net.c       2005-03-22 15:06:44.447335760 +0100
+--- a/drivers/isdn/isdn_net.c
++++ b/drivers/isdn/isdn_net.c
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_net.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_net.c,v 1.153 2002/08/17 18:35:23 detabc Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_net.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_net.c,v 1.153 2002/08/17 18:35:23 detabc Exp $
@@ -16059,7 +15879,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
  
  /*
   * Outline of new tbusy handling: 
  
  /*
   * Outline of new tbusy handling: 
-@@ -79,7 +75,11 @@
+@@ -79,7 +75,11 @@ static __inline__ int isdn_net_device_st
                dev = lp->master;
        else
                dev = &n->dev;
                dev = lp->master;
        else
                dev = &n->dev;
@@ -16071,7 +15891,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
  }
  
  /*
  }
  
  /*
-@@ -143,6 +143,10 @@
+@@ -143,6 +143,10 @@ static __inline__ void isdn_net_inc_fram
        atomic_inc(&lp->frame_cnt);
        if (isdn_net_device_busy(lp))
                isdn_net_device_stop_queue(lp);
        atomic_inc(&lp->frame_cnt);
        if (isdn_net_device_busy(lp))
                isdn_net_device_stop_queue(lp);
@@ -16082,7 +15902,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
  }
  
  static __inline__ void isdn_net_dec_frame_cnt(isdn_net_local *lp)
  }
  
  static __inline__ void isdn_net_dec_frame_cnt(isdn_net_local *lp)
-@@ -157,11 +161,19 @@
+@@ -157,11 +161,19 @@ static __inline__ void isdn_net_dec_fram
                        isdn_net_device_wake_queue(lp);
                }
         }                                                                      
                        isdn_net_device_wake_queue(lp);
                }
         }                                                                      
@@ -16102,7 +15922,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
  }
  
  /* For 2.2.x we leave the transmitter busy timeout at 2 secs, just 
  }
  
  /* For 2.2.x we leave the transmitter busy timeout at 2 secs, just 
-@@ -173,23 +185,101 @@
+@@ -173,23 +185,101 @@ static __inline__ void isdn_net_zero_fra
   * which might rely on the tx timeout. If so, we'll find out this way...
   */
  
   * which might rely on the tx timeout. If so, we'll find out this way...
   */
  
@@ -16205,7 +16025,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
  isdn_net_unreachable(struct net_device *dev, struct sk_buff *skb, char *reason)
  {
        if(skb) {
  isdn_net_unreachable(struct net_device *dev, struct sk_buff *skb, char *reason)
  {
        if(skb) {
-@@ -297,6 +387,12 @@
+@@ -297,6 +387,12 @@ isdn_net_unbind_channel(isdn_net_local *
  
        save_flags(flags);
        cli();
  
        save_flags(flags);
        cli();
@@ -16218,7 +16038,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
        skb_queue_purge(&lp->super_tx_queue);
  
        if (!lp->master) {      /* reset only master device */
        skb_queue_purge(&lp->super_tx_queue);
  
        if (!lp->master) {      /* reset only master device */
-@@ -351,6 +447,26 @@
+@@ -351,6 +447,26 @@ isdn_net_autohup()
                if ((l->flags & ISDN_NET_CONNECTED) && (!l->dialstate)) {
                        anymore = 1;
                        l->huptimer++;
                if ((l->flags & ISDN_NET_CONNECTED) && (!l->dialstate)) {
                        anymore = 1;
                        l->huptimer++;
@@ -16245,7 +16065,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                        /*
                         * if there is some dialmode where timeout-hangup
                         * should _not_ be done, check for that here
                        /*
                         * if there is some dialmode where timeout-hangup
                         * should _not_ be done, check for that here
-@@ -465,8 +581,32 @@
+@@ -465,8 +581,32 @@ isdn_net_stat_callback(int idx, isdn_ctr
                                        printk(KERN_INFO "%s: Chargesum is %d\n", lp->name,
                                               lp->charge);
                                        isdn_net_unbind_channel(lp);
                                        printk(KERN_INFO "%s: Chargesum is %d\n", lp->name,
                                               lp->charge);
                                        isdn_net_unbind_channel(lp);
@@ -16278,7 +16098,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                                break;
  #ifdef CONFIG_ISDN_X25
                        case ISDN_STAT_BHUP:
                                break;
  #ifdef CONFIG_ISDN_X25
                        case ISDN_STAT_BHUP:
-@@ -507,6 +647,19 @@
+@@ -507,6 +647,19 @@ isdn_net_stat_callback(int idx, isdn_ctr
                                                        }
                                                }
                                                printk(KERN_INFO "isdn_net: %s connected\n", lp->name);
                                                        }
                                                }
                                                printk(KERN_INFO "isdn_net: %s connected\n", lp->name);
@@ -16298,7 +16118,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                                                /* If first Chargeinfo comes before B-Channel connect,
                                                 * we correct the timestamp here.
                                                 */
                                                /* If first Chargeinfo comes before B-Channel connect,
                                                 * we correct the timestamp here.
                                                 */
-@@ -578,7 +731,6 @@
+@@ -578,7 +731,6 @@ isdn_net_dial(void)
        int i;
        unsigned long flags;
        isdn_ctrl cmd;
        int i;
        unsigned long flags;
        isdn_ctrl cmd;
@@ -16306,7 +16126,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
  
        while (p) {
                isdn_net_local *lp = p->local;
  
        while (p) {
                isdn_net_local *lp = p->local;
-@@ -597,6 +749,47 @@
+@@ -597,6 +749,47 @@ isdn_net_dial(void)
                                 */
                                save_flags(flags);
                                cli();
                                 */
                                save_flags(flags);
                                cli();
@@ -16354,7 +16174,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                                lp->dial = lp->phone[1];
                                restore_flags(flags);
                                if (!lp->dial) {
                                lp->dial = lp->phone[1];
                                restore_flags(flags);
                                if (!lp->dial) {
-@@ -621,18 +814,69 @@
+@@ -621,18 +814,69 @@ isdn_net_dial(void)
                                cmd.arg = lp->isdn_channel;
                                cmd.command = ISDN_CMD_CLREAZ;
                                isdn_command(&cmd);
                                cmd.arg = lp->isdn_channel;
                                cmd.command = ISDN_CMD_CLREAZ;
                                isdn_command(&cmd);
@@ -16424,7 +16244,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                                if(dev->global_flags & ISDN_GLOBAL_STOPPED || (ISDN_NET_DIALMODE(*lp) == ISDN_NET_DM_OFF)) {
                                        char *s;
                                        if (dev->global_flags & ISDN_GLOBAL_STOPPED)
                                if(dev->global_flags & ISDN_GLOBAL_STOPPED || (ISDN_NET_DIALMODE(*lp) == ISDN_NET_DM_OFF)) {
                                        char *s;
                                        if (dev->global_flags & ISDN_GLOBAL_STOPPED)
-@@ -677,20 +921,7 @@
+@@ -677,20 +921,7 @@ isdn_net_dial(void)
                                                        break;
                                                }
  
                                                        break;
                                                }
  
@@ -16446,7 +16266,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                                        /*
                                         * Switch to next number or back to start if at end of list.
                                         */
                                        /*
                                         * Switch to next number or back to start if at end of list.
                                         */
-@@ -710,17 +941,70 @@
+@@ -710,17 +941,70 @@ isdn_net_dial(void)
                                                }
                                        }
                                        restore_flags(flags);
                                                }
                                        }
                                        restore_flags(flags);
@@ -16520,7 +16340,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                                        lp->dtimer = 0;
  #ifdef ISDN_DEBUG_NET_DIAL
                                        printk(KERN_DEBUG "dial: d=%d c=%d\n", lp->isdn_device,
                                        lp->dtimer = 0;
  #ifdef ISDN_DEBUG_NET_DIAL
                                        printk(KERN_DEBUG "dial: d=%d c=%d\n", lp->isdn_device,
-@@ -741,6 +1025,10 @@
+@@ -741,6 +1025,10 @@ isdn_net_dial(void)
                                lp->dialstate =
                                    (lp->cbdelay &&
                                     (lp->flags & ISDN_NET_CBOUT)) ? 12 : 4;
                                lp->dialstate =
                                    (lp->cbdelay &&
                                     (lp->flags & ISDN_NET_CBOUT)) ? 12 : 4;
@@ -16531,7 +16351,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                                break;
                        case 4:
                                /* Wait for D-Channel-connect.
                                break;
                        case 4:
                                /* Wait for D-Channel-connect.
-@@ -890,6 +1178,15 @@
+@@ -890,6 +1178,15 @@ isdn_net_hangup(struct net_device *d)
                isdn_command(&cmd);
                printk(KERN_INFO "%s: Chargesum is %d\n", lp->name, lp->charge);
                isdn_all_eaz(lp->isdn_device, lp->isdn_channel);
                isdn_command(&cmd);
                printk(KERN_INFO "%s: Chargesum is %d\n", lp->name, lp->charge);
                isdn_all_eaz(lp->isdn_device, lp->isdn_channel);
@@ -16547,7 +16367,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
        }
        isdn_net_unbind_channel(lp);
  }
        }
        isdn_net_unbind_channel(lp);
  }
-@@ -899,8 +1196,13 @@
+@@ -899,8 +1196,13 @@ typedef struct {
        unsigned short dest;
  } ip_ports;
  
        unsigned short dest;
  } ip_ports;
  
@@ -16561,7 +16381,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
  {
        u_char *p = skb->nh.raw; /* hopefully, this was set correctly */
        unsigned short proto = ntohs(skb->protocol);
  {
        u_char *p = skb->nh.raw; /* hopefully, this was set correctly */
        unsigned short proto = ntohs(skb->protocol);
-@@ -972,7 +1274,13 @@
+@@ -972,7 +1274,13 @@ isdn_net_log_skb(struct sk_buff * skb, i
                                        break;
                        }
                        printk(KERN_INFO
                                        break;
                        }
                        printk(KERN_INFO
@@ -16575,7 +16395,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
  
                               p[12], p[13], p[14], p[15],
                               p[16], p[17], p[18], p[19],
  
                               p[12], p[13], p[14], p[15],
                               p[16], p[17], p[18], p[19],
-@@ -980,7 +1288,13 @@
+@@ -980,7 +1288,13 @@ isdn_net_log_skb(struct sk_buff * skb, i
                        break;
                case ETH_P_ARP:
                        printk(KERN_INFO
                        break;
                case ETH_P_ARP:
                        printk(KERN_INFO
@@ -16589,7 +16409,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                               p[14], p[15], p[16], p[17],
                               p[24], p[25], p[26], p[27]);
                        break;
                               p[14], p[15], p[16], p[17],
                               p[24], p[25], p[26], p[27]);
                        break;
-@@ -1004,11 +1318,22 @@
+@@ -1004,11 +1318,22 @@ void isdn_net_write_super(isdn_net_local
        }
  
        spin_lock_bh(&lp->xmit_lock);
        }
  
        spin_lock_bh(&lp->xmit_lock);
@@ -16615,7 +16435,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
        spin_unlock_bh(&lp->xmit_lock);
  }
  
        spin_unlock_bh(&lp->xmit_lock);
  }
  
-@@ -1056,7 +1381,6 @@
+@@ -1056,7 +1381,6 @@ void isdn_net_writebuf_skb(isdn_net_loca
                printk(KERN_WARNING "%s: HL driver queue full\n", lp->name);
                goto error;
        }
                printk(KERN_WARNING "%s: HL driver queue full\n", lp->name);
                goto error;
        }
@@ -16623,7 +16443,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
        lp->transcount += len;
        isdn_net_inc_frame_cnt(lp);
        return;
        lp->transcount += len;
        isdn_net_inc_frame_cnt(lp);
        return;
-@@ -1064,9 +1388,19 @@
+@@ -1064,9 +1388,19 @@ void isdn_net_writebuf_skb(isdn_net_loca
   error:
        dev_kfree_skb(skb);
        lp->stats.tx_errors++;
   error:
        dev_kfree_skb(skb);
        lp->stats.tx_errors++;
@@ -16644,7 +16464,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
  
  /*
   *  Helper function for isdn_net_start_xmit.
  
  /*
   *  Helper function for isdn_net_start_xmit.
-@@ -1109,7 +1443,54 @@
+@@ -1109,7 +1443,54 @@ isdn_net_xmit(struct net_device *ndev, s
  
        /* Reset hangup-timeout */
        lp->huptimer = 0; // FIXME?
  
        /* Reset hangup-timeout */
        lp->huptimer = 0; // FIXME?
@@ -16699,7 +16519,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
        spin_unlock_bh(&lp->xmit_lock);
  
        /* the following stuff is here for backwards compatibility.
        spin_unlock_bh(&lp->xmit_lock);
  
        /* the following stuff is here for backwards compatibility.
-@@ -1143,6 +1524,69 @@
+@@ -1143,6 +1524,69 @@ isdn_net_xmit(struct net_device *ndev, s
  
        return retv;
  
  
        return retv;
  
@@ -16769,7 +16589,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
  }
  
  static void
  }
  
  static void
-@@ -1161,6 +1605,7 @@
+@@ -1161,6 +1605,7 @@ isdn_net_adjust_hdr(struct sk_buff *skb,
  }
  
  
  }
  
  
@@ -16777,7 +16597,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
  void isdn_net_tx_timeout(struct net_device * ndev)
  {
        isdn_net_local *lp = (isdn_net_local *) ndev->priv;
  void isdn_net_tx_timeout(struct net_device * ndev)
  {
        isdn_net_local *lp = (isdn_net_local *) ndev->priv;
-@@ -1188,19 +1633,206 @@
+@@ -1188,19 +1633,206 @@ void isdn_net_tx_timeout(struct net_devi
        ndev->trans_start = jiffies;
        netif_wake_queue(ndev);
  }
        ndev->trans_start = jiffies;
        netif_wake_queue(ndev);
  }
@@ -16984,7 +16804,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
  #ifdef CONFIG_ISDN_X25
  /* At this point hard_start_xmit() passes control to the encapsulation
     protocol (if present).
  #ifdef CONFIG_ISDN_X25
  /* At this point hard_start_xmit() passes control to the encapsulation
     protocol (if present).
-@@ -1220,6 +1852,40 @@
+@@ -1220,6 +1852,40 @@ isdn_net_start_xmit(struct sk_buff *skb,
        } else
  #endif
        /* auto-dialing xmit function */
        } else
  #endif
        /* auto-dialing xmit function */
@@ -17025,7 +16845,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
        {
  #ifdef ISDN_DEBUG_NET_DUMP
                u_char *buf;
        {
  #ifdef ISDN_DEBUG_NET_DUMP
                u_char *buf;
-@@ -1256,6 +1922,14 @@
+@@ -1256,6 +1922,14 @@ isdn_net_start_xmit(struct sk_buff *skb,
                                        } else
                                                lp->dialwait_timer = 0;
                                }
                                        } else
                                                lp->dialwait_timer = 0;
                                }
@@ -17040,7 +16860,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                                /* Grab a free ISDN-Channel */
                                if (((chi =
                                     isdn_get_free_channel(
                                /* Grab a free ISDN-Channel */
                                if (((chi =
                                     isdn_get_free_channel(
-@@ -1264,6 +1938,9 @@
+@@ -1264,6 +1938,9 @@ isdn_net_start_xmit(struct sk_buff *skb,
                                                        lp->l3_proto,
                                                        lp->pre_device,
                                                        lp->pre_channel,
                                                        lp->l3_proto,
                                                        lp->pre_device,
                                                        lp->pre_channel,
@@ -17050,7 +16870,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                                                        lp->msn)
                                                        ) < 0) &&
                                        ((chi =
                                                        lp->msn)
                                                        ) < 0) &&
                                        ((chi =
-@@ -1273,6 +1950,9 @@
+@@ -1273,6 +1950,9 @@ isdn_net_start_xmit(struct sk_buff *skb,
                                                        lp->l3_proto,
                                                        lp->pre_device,
                                                        lp->pre_channel^1,
                                                        lp->l3_proto,
                                                        lp->pre_device,
                                                        lp->pre_channel^1,
@@ -17060,7 +16880,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                                                        lp->msn)
                                                        ) < 0)) {
                                        restore_flags(flags);
                                                        lp->msn)
                                                        ) < 0)) {
                                        restore_flags(flags);
-@@ -1296,16 +1976,6 @@
+@@ -1296,16 +1976,6 @@ isdn_net_start_xmit(struct sk_buff *skb,
                                                restore_flags(flags);
                                                return 0;       /* STN (skb to nirvana) ;) */
                                        }
                                                restore_flags(flags);
                                                return 0;       /* STN (skb to nirvana) ;) */
                                        }
@@ -17077,7 +16897,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                                        restore_flags(flags);
                                        isdn_net_dial();        /* Initiate dialing */
                                        netif_stop_queue(ndev);
                                        restore_flags(flags);
                                        isdn_net_dial();        /* Initiate dialing */
                                        netif_stop_queue(ndev);
-@@ -1337,6 +2007,7 @@
+@@ -1337,6 +2007,7 @@ isdn_net_start_xmit(struct sk_buff *skb,
                }
        }
        return 1;
                }
        }
        return 1;
@@ -17085,7 +16905,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
  }
  
  /*
  }
  
  /*
-@@ -1356,6 +2027,9 @@
+@@ -1356,6 +2027,9 @@ isdn_net_close(struct net_device *dev)
        if( cprot && cprot -> pops ) cprot -> pops -> close( cprot );
  #endif
        netif_stop_queue(dev);
        if( cprot && cprot -> pops ) cprot -> pops -> close( cprot );
  #endif
        netif_stop_queue(dev);
@@ -17095,7 +16915,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
        if ((p = (((isdn_net_local *) dev->priv)->slave))) {
                /* If this interface has slaves, stop them also */
                while (p) {
        if ((p = (((isdn_net_local *) dev->priv)->slave))) {
                /* If this interface has slaves, stop them also */
                while (p) {
-@@ -1776,6 +2450,10 @@
+@@ -1776,6 +2450,10 @@ isdn_net_ciscohdlck_receive(isdn_net_loc
        }
  
        switch (type) {
        }
  
        switch (type) {
@@ -17106,7 +16926,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
        case CISCO_TYPE_SLARP:
                isdn_net_ciscohdlck_slarp_in(lp, skb);
                goto out_free;
        case CISCO_TYPE_SLARP:
                isdn_net_ciscohdlck_slarp_in(lp, skb);
                goto out_free;
-@@ -1785,11 +2463,11 @@
+@@ -1785,11 +2463,11 @@ isdn_net_ciscohdlck_receive(isdn_net_loc
                                "\"no cdp enable\" on cisco.\n", lp->name);
                goto out_free;
        default:
                                "\"no cdp enable\" on cisco.\n", lp->name);
                goto out_free;
        default:
@@ -17122,7 +16942,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
  
   out_free:
        kfree_skb(skb);
  
   out_free:
        kfree_skb(skb);
-@@ -1803,9 +2481,19 @@
+@@ -1803,9 +2481,19 @@ isdn_net_receive(struct net_device *ndev
  {
        isdn_net_local *lp = (isdn_net_local *) ndev->priv;
        isdn_net_local *olp = lp;       /* original 'lp' */
  {
        isdn_net_local *lp = (isdn_net_local *) ndev->priv;
        isdn_net_local *olp = lp;       /* original 'lp' */
@@ -17142,7 +16962,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
        lp->transcount += skb->len;
  
        lp->stats.rx_packets++;
        lp->transcount += skb->len;
  
        lp->stats.rx_packets++;
-@@ -1819,6 +2507,10 @@
+@@ -1819,6 +2507,10 @@ isdn_net_receive(struct net_device *ndev
                lp->stats.rx_packets++;
                lp->stats.rx_bytes += skb->len;
        }
                lp->stats.rx_packets++;
                lp->stats.rx_bytes += skb->len;
        }
@@ -17153,7 +16973,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
        skb->dev = ndev;
        skb->pkt_type = PACKET_HOST;
        skb->mac.raw = skb->data;
        skb->dev = ndev;
        skb->pkt_type = PACKET_HOST;
        skb->mac.raw = skb->data;
-@@ -1840,9 +2532,40 @@
+@@ -1840,9 +2532,40 @@ isdn_net_receive(struct net_device *ndev
                        /* Fall through */
                case ISDN_NET_ENCAP_RAWIP:
                        /* RAW-IP without MAC-Header */
                        /* Fall through */
                case ISDN_NET_ENCAP_RAWIP:
                        /* RAW-IP without MAC-Header */
@@ -17194,7 +17014,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                        break;
                case ISDN_NET_ENCAP_CISCOHDLCK:
                        isdn_net_ciscohdlck_receive(lp, skb);
                        break;
                case ISDN_NET_ENCAP_CISCOHDLCK:
                        isdn_net_ciscohdlck_receive(lp, skb);
-@@ -1862,8 +2585,22 @@
+@@ -1862,8 +2585,22 @@ isdn_net_receive(struct net_device *ndev
                        break;
  #ifdef CONFIG_ISDN_PPP
                case ISDN_NET_ENCAP_SYNCPPP:
                        break;
  #ifdef CONFIG_ISDN_PPP
                case ISDN_NET_ENCAP_SYNCPPP:
@@ -17218,7 +17038,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                        return;
  #endif
  
                        return;
  #endif
  
-@@ -1873,6 +2610,15 @@
+@@ -1873,6 +2610,15 @@ isdn_net_receive(struct net_device *ndev
                        if(cprot) if(cprot -> pops)
                                if( cprot -> pops -> data_ind){
                                        cprot -> pops -> data_ind(cprot,skb);
                        if(cprot) if(cprot -> pops)
                                if( cprot -> pops -> data_ind){
                                        cprot -> pops -> data_ind(cprot,skb);
@@ -17234,7 +17054,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                                        return;
                                };
  #endif /* CONFIG_ISDN_X25 */
                                        return;
                                };
  #endif /* CONFIG_ISDN_X25 */
-@@ -1882,6 +2628,15 @@
+@@ -1882,6 +2628,15 @@ isdn_net_receive(struct net_device *ndev
                        return;
        }
  
                        return;
        }
  
@@ -17250,20 +17070,19 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
        netif_rx(skb);
        return;
  }
        netif_rx(skb);
        return;
  }
-@@ -2160,8 +2915,10 @@
+@@ -2160,7 +2915,10 @@ isdn_net_find_icall(int di, int ch, int 
        isdn_net_phone *n;
        ulong flags;
        isdn_net_phone *n;
        ulong flags;
-       char nr[32];
+       char nr[ISDN_MSNLEN];
 -      char *my_eaz;
 -      char *my_eaz;
--
 +#ifdef CONFIG_ISDN_WITH_ABC
 +      if(dev->net_verbose > 2)
 +              printk(KERN_DEBUG "n_fi: di=%d ch=%d idx=%d usg=0x%04X\n", di, ch, idx,dev->usage[idx]);
 +#endif
 +#ifdef CONFIG_ISDN_WITH_ABC
 +      if(dev->net_verbose > 2)
 +              printk(KERN_DEBUG "n_fi: di=%d ch=%d idx=%d usg=0x%04X\n", di, ch, idx,dev->usage[idx]);
 +#endif
        /* Search name in netdev-chain */
        save_flags(flags);
        /* Search name in netdev-chain */
        save_flags(flags);
-       cli();
-@@ -2180,17 +2937,15 @@
+@@ -2182,17 +2940,15 @@ isdn_net_find_icall(int di, int ch, int 
                eaz = setup->eazmsn;
        if (dev->net_verbose > 1)
                printk(KERN_INFO "isdn_net: call from %s,%d,%d -> %s\n", nr, si1, si2, eaz);
                eaz = setup->eazmsn;
        if (dev->net_verbose > 1)
                printk(KERN_INFO "isdn_net: call from %s,%d,%d -> %s\n", nr, si1, si2, eaz);
@@ -17290,7 +17109,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
        ematch = wret = swapped = 0;
  #ifdef ISDN_DEBUG_NET_ICALL
        printk(KERN_DEBUG "n_fi: di=%d ch=%d idx=%d usg=%d\n", di, ch, idx,
        ematch = wret = swapped = 0;
  #ifdef ISDN_DEBUG_NET_ICALL
        printk(KERN_DEBUG "n_fi: di=%d ch=%d idx=%d usg=%d\n", di, ch, idx,
-@@ -2210,25 +2965,8 @@
+@@ -2212,25 +2968,8 @@ p = dev->netdev;
                                break;
                }
                swapped = 0;
                                break;
                }
                swapped = 0;
@@ -17318,7 +17137,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                /* Remember if more numbers eventually can match */
                if (matchret > wret)
                        wret = matchret;
                /* Remember if more numbers eventually can match */
                if (matchret > wret)
                        wret = matchret;
-@@ -2236,17 +2974,122 @@
+@@ -2238,17 +2977,122 @@ p = dev->netdev;
                printk(KERN_DEBUG "n_fi: if='%s', l.msn=%s, l.flags=%d, l.dstate=%d\n",
                       lp->name, lp->msn, lp->flags, lp->dialstate);
  #endif
                printk(KERN_DEBUG "n_fi: if='%s', l.msn=%s, l.flags=%d, l.dstate=%d\n",
                       lp->name, lp->msn, lp->flags, lp->dialstate);
  #endif
@@ -17441,7 +17260,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                        if (dev->usage[idx] & ISDN_USAGE_EXCLUSIVE) {
                                if ((lp->pre_channel != ch) ||
                                    (lp->pre_device != di)) {
                        if (dev->usage[idx] & ISDN_USAGE_EXCLUSIVE) {
                                if ((lp->pre_channel != ch) ||
                                    (lp->pre_device != di)) {
-@@ -2375,6 +3218,12 @@
+@@ -2377,6 +3221,12 @@ p = dev->netdev;
                                                continue;
                                        }
                                } 
                                                continue;
                                        }
                                } 
@@ -17454,7 +17273,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                                if (lp->flags & ISDN_NET_CALLBACK) {
                                        int chi;
                                        /*
                                if (lp->flags & ISDN_NET_CALLBACK) {
                                        int chi;
                                        /*
-@@ -2427,6 +3276,47 @@
+@@ -2429,6 +3279,47 @@ p = dev->netdev;
                                        restore_flags(flags);
                                        return 0;
                                } else {
                                        restore_flags(flags);
                                        return 0;
                                } else {
@@ -17502,7 +17321,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                                        printk(KERN_DEBUG "%s: call from %s -> %s accepted\n", lp->name, nr,
                                               eaz);
                                        /* if this interface is dialing, it does it probably on a different
                                        printk(KERN_DEBUG "%s: call from %s -> %s accepted\n", lp->name, nr,
                                               eaz);
                                        /* if this interface is dialing, it does it probably on a different
-@@ -2516,7 +3406,11 @@
+@@ -2518,7 +3409,11 @@ isdn_net_force_dial_lp(isdn_net_local * 
                                                        lp->l3_proto,
                                                        lp->pre_device,
                                                        lp->pre_channel,
                                                        lp->l3_proto,
                                                        lp->pre_device,
                                                        lp->pre_channel,
@@ -17514,7 +17333,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                                                        ) < 0) {
                                printk(KERN_WARNING "isdn_net_force_dial: No channel for %s\n", lp->name);
                                restore_flags(flags);
                                                        ) < 0) {
                                printk(KERN_WARNING "isdn_net_force_dial: No channel for %s\n", lp->name);
                                restore_flags(flags);
-@@ -2599,7 +3493,11 @@
+@@ -2601,7 +3496,11 @@ isdn_net_new(char *name, struct net_devi
                strcpy(netdev->local->name, "         ");
        else
                strcpy(netdev->local->name, name);
                strcpy(netdev->local->name, "         ");
        else
                strcpy(netdev->local->name, name);
@@ -17526,7 +17345,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
        netdev->dev.priv = netdev->local;
        netdev->dev.init = isdn_net_init;
        netdev->local->p_encap = ISDN_NET_ENCAP_RAWIP;
        netdev->dev.priv = netdev->local;
        netdev->dev.init = isdn_net_init;
        netdev->local->p_encap = ISDN_NET_ENCAP_RAWIP;
-@@ -2617,11 +3515,13 @@
+@@ -2619,11 +3518,13 @@ isdn_net_new(char *name, struct net_devi
                ((isdn_net_local *) q->priv)->slave = &(netdev->dev);
        } else {
                /* Device shall be a master */
                ((isdn_net_local *) q->priv)->slave = &(netdev->dev);
        } else {
                /* Device shall be a master */
@@ -17540,7 +17359,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                if (register_netdev(&netdev->dev) != 0) {
                        printk(KERN_WARNING "isdn_net: Could not register net-device\n");
                        kfree(netdev->local);
                if (register_netdev(&netdev->dev) != 0) {
                        printk(KERN_WARNING "isdn_net: Could not register net-device\n");
                        kfree(netdev->local);
-@@ -2658,6 +3558,9 @@
+@@ -2660,6 +3561,9 @@ isdn_net_new(char *name, struct net_devi
        netdev->local->hupflags = ISDN_INHUP;   /* Do hangup even on incoming calls */
        netdev->local->onhtime = 10;    /* Default hangup-time for saving costs
           of those who forget configuring this */
        netdev->local->hupflags = ISDN_INHUP;   /* Do hangup even on incoming calls */
        netdev->local->onhtime = 10;    /* Default hangup-time for saving costs
           of those who forget configuring this */
@@ -17550,7 +17369,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
        netdev->local->dialmax = 1;
        netdev->local->flags = ISDN_NET_CBHUP | ISDN_NET_DM_MANUAL;     /* Hangup before Callback, manual dial */
        netdev->local->cbdelay = 25;    /* Wait 5 secs before Callback */
        netdev->local->dialmax = 1;
        netdev->local->flags = ISDN_NET_CBHUP | ISDN_NET_DM_MANUAL;     /* Hangup before Callback, manual dial */
        netdev->local->cbdelay = 25;    /* Wait 5 secs before Callback */
-@@ -2831,7 +3734,6 @@
+@@ -2833,7 +3737,6 @@ isdn_net_setcfg(isdn_net_ioctl_cfg * cfg
  
                        /* If binding is exclusive, try to grab the channel */
                        save_flags(flags);
  
                        /* If binding is exclusive, try to grab the channel */
                        save_flags(flags);
@@ -17558,7 +17377,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                        if ((i = isdn_get_free_channel(ISDN_USAGE_NET,
                                lp->l2_proto, lp->l3_proto, drvidx,
                                chidx, lp->msn)) < 0) {
                        if ((i = isdn_get_free_channel(ISDN_USAGE_NET,
                                lp->l2_proto, lp->l3_proto, drvidx,
                                chidx, lp->msn)) < 0) {
-@@ -2859,6 +3761,9 @@
+@@ -2862,6 +3765,9 @@ isdn_net_setcfg(isdn_net_ioctl_cfg * cfg
                lp->pre_device = drvidx;
                lp->pre_channel = chidx;
                lp->onhtime = cfg->onhtime;
                lp->pre_device = drvidx;
                lp->pre_channel = chidx;
                lp->onhtime = cfg->onhtime;
@@ -17568,7 +17387,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                lp->charge = cfg->charge;
                lp->l2_proto = cfg->l2_proto;
                lp->l3_proto = cfg->l3_proto;
                lp->charge = cfg->charge;
                lp->l2_proto = cfg->l2_proto;
                lp->l3_proto = cfg->l3_proto;
-@@ -2932,6 +3837,9 @@
+@@ -2935,6 +3841,9 @@ isdn_net_setcfg(isdn_net_ioctl_cfg * cfg
                        }
                }
                lp->p_encap = cfg->p_encap;
                        }
                }
                lp->p_encap = cfg->p_encap;
@@ -17578,8 +17397,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                return 0;
        }
        return -ENODEV;
                return 0;
        }
        return -ENODEV;
-@@ -3007,6 +3915,9 @@
-               strcpy(n->num, phone->phone);
+@@ -3011,6 +3920,9 @@ isdn_net_addphone(isdn_net_ioctl_phone *
+               n->num[sizeof(n->num) - 1] = 0;
                n->next = p->local->phone[phone->outgoing & 1];
                p->local->phone[phone->outgoing & 1] = n;
 +#ifdef CONFIG_ISDN_WITH_ABC
                n->next = p->local->phone[phone->outgoing & 1];
                p->local->phone[phone->outgoing & 1] = n;
 +#ifdef CONFIG_ISDN_WITH_ABC
@@ -17588,7 +17407,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                return 0;
        }
        return -ENODEV;
                return 0;
        }
        return -ENODEV;
-@@ -3100,6 +4011,9 @@
+@@ -3104,6 +4016,9 @@ isdn_net_delphone(isdn_net_ioctl_phone *
                                else
                                        p->local->phone[inout] = n->next;
                                kfree(n);
                                else
                                        p->local->phone[inout] = n->next;
                                kfree(n);
@@ -17598,7 +17417,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
                                restore_flags(flags);
                                return 0;
                        }
                                restore_flags(flags);
                                return 0;
                        }
-@@ -3135,6 +4049,9 @@
+@@ -3139,6 +4054,9 @@ isdn_net_rmallphone(isdn_net_dev * p)
                p->local->phone[i] = NULL;
        }
        p->local->dial = NULL;
                p->local->phone[i] = NULL;
        }
        p->local->dial = NULL;
@@ -17608,7 +17427,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
        restore_flags(flags);
        return 0;
  }
        restore_flags(flags);
        return 0;
  }
-@@ -3218,6 +4135,10 @@
+@@ -3222,6 +4140,10 @@ isdn_net_realrm(isdn_net_dev * p, isdn_n
        /* If no more net-devices remain, disable auto-hangup timer */
        if (dev->netdev == NULL)
                isdn_timer_ctrl(ISDN_TIMER_NETHANGUP, 0);
        /* If no more net-devices remain, disable auto-hangup timer */
        if (dev->netdev == NULL)
                isdn_timer_ctrl(ISDN_TIMER_NETHANGUP, 0);
@@ -17619,9 +17438,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isd
        restore_flags(flags);
        kfree(p->local);
        kfree(p);
        restore_flags(flags);
        kfree(p->local);
        kfree(p);
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.h linux-2.4.29/drivers/isdn/isdn_net.h
---- linux-2.4.29.old/drivers/isdn/isdn_net.h   2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_net.h       2005-03-22 15:06:44.463333328 +0100
+--- a/drivers/isdn/isdn_net.h
++++ b/drivers/isdn/isdn_net.h
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_net.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_net.h,v 1.23 2001/11/07 22:35:48 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_net.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_net.h,v 1.23 2001/11/07 22:35:48 kai Exp $
@@ -17636,7 +17454,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.h linux-2.4.29/drivers/isdn/isd
  #define CISCO_TYPE_SLARP      0x8035
  #define CISCO_SLARP_REQUEST   0
  #define CISCO_SLARP_REPLY     1
  #define CISCO_TYPE_SLARP      0x8035
  #define CISCO_SLARP_REQUEST   0
  #define CISCO_SLARP_REPLY     1
-@@ -106,8 +107,6 @@
+@@ -106,8 +107,6 @@ static __inline__ void isdn_net_add_to_b
        spin_lock_irqsave(&nd->queue_lock, flags);
  
        lp = nd->queue;
        spin_lock_irqsave(&nd->queue_lock, flags);
  
        lp = nd->queue;
@@ -17645,7 +17463,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.h linux-2.4.29/drivers/isdn/isd
        nlp->last = lp->last;
        lp->last->next = nlp;
        lp->last = nlp;
        nlp->last = lp->last;
        lp->last->next = nlp;
        lp->last = nlp;
-@@ -127,20 +126,12 @@
+@@ -127,20 +126,12 @@ static __inline__ void isdn_net_rm_from_
        if (lp->master)
                master_lp = (isdn_net_local *) lp->master->priv;
  
        if (lp->master)
                master_lp = (isdn_net_local *) lp->master->priv;
  
@@ -17667,9 +17485,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.h linux-2.4.29/drivers/isdn/isd
        spin_unlock_irqrestore(&master_lp->netdev->queue_lock, flags);
  }
  
        spin_unlock_irqrestore(&master_lp->netdev->queue_lock, flags);
  }
  
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isdn_ppp.c
---- linux-2.4.29.old/drivers/isdn/isdn_ppp.c   2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_ppp.c       2005-03-22 15:06:44.481330592 +0100
+--- a/drivers/isdn/isdn_ppp.c
++++ b/drivers/isdn/isdn_ppp.c
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_ppp.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_ppp.c,v 1.94 2001/11/07 22:35:48 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_ppp.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_ppp.c,v 1.94 2001/11/07 22:35:48 kai Exp $
@@ -17686,7 +17503,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
  
  #include "isdn_common.h"
  #include "isdn_ppp.h"
  
  #include "isdn_common.h"
  #include "isdn_ppp.h"
-@@ -72,11 +69,19 @@
+@@ -72,11 +69,19 @@ static void isdn_ppp_mp_cleanup( isdn_ne
  static int isdn_ppp_bundle(struct ippp_struct *, int unit);
  #endif        /* CONFIG_ISDN_MPP */
    
  static int isdn_ppp_bundle(struct ippp_struct *, int unit);
  #endif        /* CONFIG_ISDN_MPP */
    
@@ -17707,7 +17524,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
  
  /*
   * frame log (debug)
  
  /*
   * frame log (debug)
-@@ -110,11 +115,8 @@
+@@ -110,11 +115,8 @@ isdn_ppp_free(isdn_net_local * lp)
        unsigned long flags;
        struct ippp_struct *is;
  
        unsigned long flags;
        struct ippp_struct *is;
  
@@ -17720,7 +17537,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
  
        save_flags(flags);
        cli();
  
        save_flags(flags);
        cli();
-@@ -130,12 +132,7 @@
+@@ -130,12 +132,7 @@ isdn_ppp_free(isdn_net_local * lp)
        lp->netdev->pb->ref_ct--;
        spin_unlock(&lp->netdev->pb->lock);
  #endif /* CONFIG_ISDN_MPP */
        lp->netdev->pb->ref_ct--;
        spin_unlock(&lp->netdev->pb->lock);
  #endif /* CONFIG_ISDN_MPP */
@@ -17734,7 +17551,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
        is = ippp_table[lp->ppp_slot];
        if ((is->state & IPPP_CONNECT))
                isdn_ppp_closewait(lp->ppp_slot);       /* force wakeup on ippp device */
        is = ippp_table[lp->ppp_slot];
        if ((is->state & IPPP_CONNECT))
                isdn_ppp_closewait(lp->ppp_slot);       /* force wakeup on ippp device */
-@@ -231,13 +228,12 @@
+@@ -231,13 +228,12 @@ isdn_ppp_bind(isdn_net_local * lp)
  void
  isdn_ppp_wakeup_daemon(isdn_net_local * lp)
  {
  void
  isdn_ppp_wakeup_daemon(isdn_net_local * lp)
  {
@@ -17752,7 +17569,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
  }
  
  /*
  }
  
  /*
-@@ -250,14 +246,13 @@
+@@ -250,14 +246,13 @@ isdn_ppp_closewait(int slot)
  {
        struct ippp_struct *is;
  
  {
        struct ippp_struct *is;
  
@@ -17770,7 +17587,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
        is->state = IPPP_CLOSEWAIT;
        return 1;
  }
        is->state = IPPP_CLOSEWAIT;
        return 1;
  }
-@@ -295,9 +290,11 @@
+@@ -295,9 +290,11 @@ isdn_ppp_open(int min, struct file *file
                return -EBUSY;
        }
        is = file->private_data = ippp_table[slot];
                return -EBUSY;
        }
        is = file->private_data = ippp_table[slot];
@@ -17785,7 +17602,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
  
        /* compression stuff */
        is->link_compressor   = is->compressor = NULL;
  
        /* compression stuff */
        is->link_compressor   = is->compressor = NULL;
-@@ -327,10 +324,7 @@
+@@ -327,10 +324,7 @@ isdn_ppp_open(int min, struct file *file
         */
        is->slcomp = slhc_init(16, 16); /* not necessary for 2. link in bundle */
  #endif
         */
        is->slcomp = slhc_init(16, 16); /* not necessary for 2. link in bundle */
  #endif
@@ -17797,7 +17614,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
        is->state = IPPP_OPEN;
  
        return 0;
        is->state = IPPP_OPEN;
  
        return 0;
-@@ -349,20 +343,12 @@
+@@ -349,20 +343,12 @@ isdn_ppp_release(int min, struct file *f
                return;
        is = file->private_data;
  
                return;
        is = file->private_data;
  
@@ -17818,7 +17635,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
                is->state &= ~IPPP_CONNECT;     /* -> effect: no call of wakeup */
                /*
                 * isdn_net_hangup() calls isdn_ppp_free()
                is->state &= ~IPPP_CONNECT;     /* -> effect: no call of wakeup */
                /*
                 * isdn_net_hangup() calls isdn_ppp_free()
-@@ -385,18 +371,8 @@
+@@ -385,18 +371,8 @@ isdn_ppp_release(int min, struct file *f
        slhc_free(is->slcomp);
        is->slcomp = NULL;
  #endif
        slhc_free(is->slcomp);
        is->slcomp = NULL;
  #endif
@@ -17838,7 +17655,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
        if(is->comp_stat)
                is->compressor->free(is->comp_stat);
        if(is->link_comp_stat)
        if(is->comp_stat)
                is->compressor->free(is->comp_stat);
        if(is->link_comp_stat)
-@@ -509,13 +485,15 @@
+@@ -509,13 +485,15 @@ isdn_ppp_ioctl(int min, struct file *fil
                        if (val & SC_ENABLE_IP && !(is->pppcfg & SC_ENABLE_IP) && (is->state & IPPP_CONNECT)) {
                                if (lp) {
                                        /* OK .. we are ready to send buffers */
                        if (val & SC_ENABLE_IP && !(is->pppcfg & SC_ENABLE_IP) && (is->state & IPPP_CONNECT)) {
                                if (lp) {
                                        /* OK .. we are ready to send buffers */
@@ -17856,7 +17673,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
                case PPPIOCGIDLE:       /* get idle time information */
                        if (lp) {
                                struct ppp_idle pidle;
                case PPPIOCGIDLE:       /* get idle time information */
                        if (lp) {
                                struct ppp_idle pidle;
-@@ -604,39 +582,6 @@
+@@ -604,39 +582,6 @@ isdn_ppp_ioctl(int min, struct file *fil
                                }
                                return set_arg((void *)arg,&pci,sizeof(struct pppcallinfo));
                        }
                                }
                                return set_arg((void *)arg,&pci,sizeof(struct pppcallinfo));
                        }
@@ -17896,7 +17713,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
                default:
                        break;
        }
                default:
                        break;
        }
-@@ -699,7 +644,7 @@
+@@ -699,7 +644,7 @@ isdn_ppp_fill_rq(unsigned char *buf, int
        struct ippp_struct *is;
  
        if (slot < 0 || slot >= ISDN_MAX_CHANNELS) {
        struct ippp_struct *is;
  
        if (slot < 0 || slot >= ISDN_MAX_CHANNELS) {
@@ -17905,7 +17722,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
                return 0;
        }
        is = ippp_table[slot];
                return 0;
        }
        is = ippp_table[slot];
-@@ -976,8 +921,7 @@
+@@ -976,8 +921,7 @@ void isdn_ppp_receive(isdn_net_dev * net
  
        slot = lp->ppp_slot;
        if (slot < 0 || slot > ISDN_MAX_CHANNELS) {
  
        slot = lp->ppp_slot;
        if (slot < 0 || slot > ISDN_MAX_CHANNELS) {
@@ -17915,7 +17732,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
                kfree_skb(skb);
                return;
        }
                kfree_skb(skb);
                return;
        }
-@@ -1026,23 +970,19 @@
+@@ -1026,23 +970,19 @@ isdn_ppp_push_higher(isdn_net_dev * net_
  {
        struct net_device *dev = &net_dev->dev;
        struct ippp_struct *is, *mis;
  {
        struct net_device *dev = &net_dev->dev;
        struct ippp_struct *is, *mis;
@@ -17942,7 +17759,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
                        goto drop_packet;
                }
        }
                        goto drop_packet;
                }
        }
-@@ -1076,11 +1016,6 @@
+@@ -1076,11 +1016,6 @@ isdn_ppp_push_higher(isdn_net_dev * net_
                case PPP_VJC_UNCOMP:
                        if (is->debug & 0x20)
                                printk(KERN_DEBUG "isdn_ppp: VJC_UNCOMP\n");
                case PPP_VJC_UNCOMP:
                        if (is->debug & 0x20)
                                printk(KERN_DEBUG "isdn_ppp: VJC_UNCOMP\n");
@@ -17954,7 +17771,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
                        if (slhc_remember(ippp_table[net_dev->local->ppp_slot]->slcomp, skb->data, skb->len) <= 0) {
                                printk(KERN_WARNING "isdn_ppp: received illegal VJC_UNCOMP frame!\n");
                                goto drop_packet;
                        if (slhc_remember(ippp_table[net_dev->local->ppp_slot]->slcomp, skb->data, skb->len) <= 0) {
                                printk(KERN_WARNING "isdn_ppp: received illegal VJC_UNCOMP frame!\n");
                                goto drop_packet;
-@@ -1102,11 +1037,6 @@
+@@ -1102,11 +1037,6 @@ isdn_ppp_push_higher(isdn_net_dev * net_
                                }
                                skb_put(skb, skb_old->len + 128);
                                memcpy(skb->data, skb_old->data, skb_old->len);
                                }
                                skb_put(skb, skb_old->len + 128);
                                memcpy(skb->data, skb_old->data, skb_old->len);
@@ -17966,7 +17783,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
                                pkt_len = slhc_uncompress(ippp_table[net_dev->local->ppp_slot]->slcomp,
                                                skb->data, skb_old->len);
                                kfree_skb(skb_old);
                                pkt_len = slhc_uncompress(ippp_table[net_dev->local->ppp_slot]->slcomp,
                                                skb->data, skb_old->len);
                                kfree_skb(skb_old);
-@@ -1133,36 +1063,12 @@
+@@ -1133,36 +1063,12 @@ isdn_ppp_push_higher(isdn_net_dev * net_
                        return;
        }
  
                        return;
        }
  
@@ -18009,7 +17826,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
        skb->dev = dev;
        skb->mac.raw = skb->data;
        netif_rx(skb);
        skb->dev = dev;
        skb->mac.raw = skb->data;
        netif_rx(skb);
-@@ -1199,6 +1105,7 @@
+@@ -1199,6 +1105,7 @@ static unsigned char *isdn_ppp_skb_push(
        return skb_push(skb,len);
  }
  
        return skb_push(skb,len);
  }
  
@@ -18017,7 +17834,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
  /*
   * send ppp frame .. we expect a PIDCOMPressable proto --
   *  (here: currently always PPP_IP,PPP_VJC_COMP,PPP_VJC_UNCOMP)
  /*
   * send ppp frame .. we expect a PIDCOMPressable proto --
   *  (here: currently always PPP_IP,PPP_VJC_COMP,PPP_VJC_UNCOMP)
-@@ -1214,25 +1121,23 @@
+@@ -1214,25 +1121,23 @@ isdn_ppp_xmit(struct sk_buff *skb, struc
        isdn_net_dev *nd;
        unsigned int proto = PPP_IP;     /* 0x21 */
        struct ippp_struct *ipt,*ipts;
        isdn_net_dev *nd;
        unsigned int proto = PPP_IP;     /* 0x21 */
        struct ippp_struct *ipt,*ipts;
@@ -18047,7 +17864,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
        }
  
        switch (ntohs(skb->protocol)) {
        }
  
        switch (ntohs(skb->protocol)) {
-@@ -1246,25 +1151,24 @@
+@@ -1246,25 +1151,24 @@ isdn_ppp_xmit(struct sk_buff *skb, struc
                        printk(KERN_ERR "isdn_ppp: skipped unsupported protocol: %#x.\n", 
                               skb->protocol);
                        dev_kfree_skb(skb);
                        printk(KERN_ERR "isdn_ppp: skipped unsupported protocol: %#x.\n", 
                               skb->protocol);
                        dev_kfree_skb(skb);
@@ -18078,7 +17895,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
  
        /*
         * after this line .. requeueing in the device queue is no longer allowed!!!
  
        /*
         * after this line .. requeueing in the device queue is no longer allowed!!!
-@@ -1275,34 +1179,6 @@
+@@ -1275,34 +1179,6 @@ isdn_ppp_xmit(struct sk_buff *skb, struc
         */
        skb_pull(skb,IPPP_MAX_HEADER);
  
         */
        skb_pull(skb,IPPP_MAX_HEADER);
  
@@ -18113,7 +17930,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
        if (ipt->debug & 0x4)
                printk(KERN_DEBUG "xmit skb, len %d\n", (int) skb->len);
          if (ipts->debug & 0x40)
        if (ipt->debug & 0x4)
                printk(KERN_DEBUG "xmit skb, len %d\n", (int) skb->len);
          if (ipts->debug & 0x40)
-@@ -1440,54 +1316,9 @@
+@@ -1440,54 +1316,9 @@ isdn_ppp_xmit(struct sk_buff *skb, struc
  
   unlock:
        spin_unlock_bh(&lp->xmit_lock);
  
   unlock:
        spin_unlock_bh(&lp->xmit_lock);
@@ -18169,7 +17986,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
  #ifdef CONFIG_ISDN_MPP
  
  /* this is _not_ rfc1990 header, but something we convert both short and long
  #ifdef CONFIG_ISDN_MPP
  
  /* this is _not_ rfc1990 header, but something we convert both short and long
-@@ -1537,15 +1368,8 @@
+@@ -1537,15 +1368,8 @@ static ippp_bundle * isdn_ppp_mp_bundle_
  
  static int isdn_ppp_mp_init( isdn_net_local * lp, ippp_bundle * add_to )
  {
  
  static int isdn_ppp_mp_init( isdn_net_local * lp, ippp_bundle * add_to )
  {
@@ -18187,7 +18004,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
        if (add_to) {
                if( lp->netdev->pb )
                        lp->netdev->pb->ref_ct--;
        if (add_to) {
                if( lp->netdev->pb )
                        lp->netdev->pb->ref_ct--;
-@@ -1591,8 +1415,7 @@
+@@ -1591,8 +1415,7 @@ static void isdn_ppp_mp_receive(isdn_net
          stats = &mp->stats;
        slot = lp->ppp_slot;
        if (slot < 0 || slot > ISDN_MAX_CHANNELS) {
          stats = &mp->stats;
        slot = lp->ppp_slot;
        if (slot < 0 || slot > ISDN_MAX_CHANNELS) {
@@ -18197,7 +18014,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
                stats->frame_drops++;
                dev_kfree_skb(skb);
                spin_unlock_irqrestore(&mp->lock, flags);
                stats->frame_drops++;
                dev_kfree_skb(skb);
                spin_unlock_irqrestore(&mp->lock, flags);
-@@ -1628,8 +1451,7 @@
+@@ -1628,8 +1451,7 @@ static void isdn_ppp_mp_receive(isdn_net
        for (lpq = net_dev->queue;;) {
                slot = lpq->ppp_slot;
                if (slot < 0 || slot > ISDN_MAX_CHANNELS) {
        for (lpq = net_dev->queue;;) {
                slot = lpq->ppp_slot;
                if (slot < 0 || slot > ISDN_MAX_CHANNELS) {
@@ -18207,7 +18024,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
                } else {
                        u32 lls = ippp_table[slot]->last_link_seqno;
                        if (MP_LT(lls, minseq))
                } else {
                        u32 lls = ippp_table[slot]->last_link_seqno;
                        if (MP_LT(lls, minseq))
-@@ -1861,14 +1683,9 @@
+@@ -1861,14 +1683,9 @@ void isdn_ppp_mp_reassembly( isdn_net_de
        struct sk_buff * skb;
        unsigned int tot_len;
  
        struct sk_buff * skb;
        unsigned int tot_len;
  
@@ -18223,7 +18040,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
                                        "len %d\n", MP_SEQ(from), from->len );
                skb = from;
                skb_pull(skb, MP_HEADER_LEN);
                                        "len %d\n", MP_SEQ(from), from->len );
                skb = from;
                skb_pull(skb, MP_HEADER_LEN);
-@@ -1987,10 +1804,8 @@
+@@ -1987,10 +1804,8 @@ isdn_ppp_dev_ioctl_stats(int slot, struc
        memset(&t, 0, sizeof(struct ppp_stats));
        if (dev->flags & IFF_UP) {
                t.p.ppp_ipackets = lp->stats.rx_packets;
        memset(&t, 0, sizeof(struct ppp_stats));
        if (dev->flags & IFF_UP) {
                t.p.ppp_ipackets = lp->stats.rx_packets;
@@ -18234,7 +18051,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
                t.p.ppp_oerrors = lp->stats.tx_errors;
  #ifdef CONFIG_ISDN_PPP_VJ
                if (slot >= 0 && ippp_table[slot]->slcomp) {
                t.p.ppp_oerrors = lp->stats.tx_errors;
  #ifdef CONFIG_ISDN_PPP_VJ
                if (slot >= 0 && ippp_table[slot]->slcomp) {
-@@ -2018,6 +1833,9 @@
+@@ -2018,6 +1833,9 @@ isdn_ppp_dev_ioctl(struct net_device *de
        int len;
        isdn_net_local *lp = (isdn_net_local *) dev->priv;
  
        int len;
        isdn_net_local *lp = (isdn_net_local *) dev->priv;
  
@@ -18244,7 +18061,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
  
        if (lp->p_encap != ISDN_NET_ENCAP_SYNCPPP)
                return -EINVAL;
  
        if (lp->p_encap != ISDN_NET_ENCAP_SYNCPPP)
                return -EINVAL;
-@@ -2431,7 +2249,7 @@
+@@ -2432,7 +2250,7 @@ static void isdn_ppp_ccp_reset_trans(str
                                return;
                        }
                        rs->state = CCPResetSentReq;
                                return;
                        }
                        rs->state = CCPResetSentReq;
@@ -18253,7 +18070,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
                           know better */
                        rs->expra = 1;
                        rs->dlen = 0;
                           know better */
                        rs->expra = 1;
                        rs->dlen = 0;
-@@ -2582,7 +2400,13 @@
+@@ -2583,7 +2401,13 @@ static struct sk_buff *isdn_ppp_compress
      }
  
        if(type) { /* type=1 => Link compression */
      }
  
        if(type) { /* type=1 => Link compression */
@@ -18267,7 +18084,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
        }
        else {
                if(!master) {
        }
        else {
                if(!master) {
-@@ -2630,31 +2454,18 @@
+@@ -2631,31 +2455,18 @@ static struct sk_buff *isdn_ppp_compress
  static void isdn_ppp_receive_ccp(isdn_net_dev *net_dev, isdn_net_local *lp,
         struct sk_buff *skb,int proto)
  {
  static void isdn_ppp_receive_ccp(isdn_net_dev *net_dev, isdn_net_local *lp,
         struct sk_buff *skb,int proto)
  {
@@ -18304,7 +18121,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
                mis = is;
  
        switch(skb->data[0]) {
                mis = is;
  
        switch(skb->data[0]) {
-@@ -2806,18 +2617,13 @@
+@@ -2807,18 +2618,13 @@ static void isdn_ppp_receive_ccp(isdn_ne
  
  static void isdn_ppp_send_ccp(isdn_net_dev *net_dev, isdn_net_local *lp, struct sk_buff *skb)
  {
  
  static void isdn_ppp_send_ccp(isdn_net_dev *net_dev, isdn_net_local *lp, struct sk_buff *skb)
  {
@@ -18326,7 +18143,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
        /* Daemon may send with or without address and control field comp */
        data = skb->data;
        if(!(is->pppcfg & SC_COMP_AC) && data[0] == 0xff && data[1] == 0x03) {
        /* Daemon may send with or without address and control field comp */
        data = skb->data;
        if(!(is->pppcfg & SC_COMP_AC) && data[0] == 0xff && data[1] == 0x03) {
-@@ -2833,17 +2639,12 @@
+@@ -2834,17 +2640,12 @@ static void isdn_ppp_send_ccp(isdn_net_d
        printk(KERN_DEBUG "Received CCP frame from daemon:\n");
        isdn_ppp_frame_log("ccp-xmit", skb->data, skb->len, 32, is->unit,lp->ppp_slot);
  
        printk(KERN_DEBUG "Received CCP frame from daemon:\n");
        isdn_ppp_frame_log("ccp-xmit", skb->data, skb->len, 32, is->unit,lp->ppp_slot);
  
@@ -18350,16 +18167,15 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isd
                printk(KERN_DEBUG "isdn_ppp: Ouch! Master CCP sends on slave slot!\n");
        
          switch(data[2]) {
                printk(KERN_DEBUG "isdn_ppp: Ouch! Master CCP sends on slave slot!\n");
        
          switch(data[2]) {
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.h linux-2.4.29/drivers/isdn/isdn_ppp.h
---- linux-2.4.29.old/drivers/isdn/isdn_ppp.h   2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_ppp.h       2005-03-22 15:06:44.497328160 +0100
+--- a/drivers/isdn/isdn_ppp.h
++++ b/drivers/isdn/isdn_ppp.h
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_ppp.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_ppp.h,v 1.18 2001/09/24 13:22:42 kai Exp $
   *
   * header for Linux ISDN subsystem, functions for synchronous PPP (linklevel).
   *
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_ppp.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_ppp.h,v 1.18 2001/09/24 13:22:42 kai Exp $
   *
   * header for Linux ISDN subsystem, functions for synchronous PPP (linklevel).
   *
-@@ -19,7 +19,6 @@
+@@ -19,7 +19,6 @@ extern int isdn_ppp_init(void);
  extern void isdn_ppp_cleanup(void);
  extern int isdn_ppp_free(isdn_net_local *);
  extern int isdn_ppp_bind(isdn_net_local *);
  extern void isdn_ppp_cleanup(void);
  extern int isdn_ppp_free(isdn_net_local *);
  extern int isdn_ppp_bind(isdn_net_local *);
@@ -18367,16 +18183,15 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.h linux-2.4.29/drivers/isdn/isd
  extern int isdn_ppp_xmit(struct sk_buff *, struct net_device *);
  extern void isdn_ppp_receive(isdn_net_dev *, isdn_net_local *, struct sk_buff *);
  extern int isdn_ppp_dev_ioctl(struct net_device *, struct ifreq *, int);
  extern int isdn_ppp_xmit(struct sk_buff *, struct net_device *);
  extern void isdn_ppp_receive(isdn_net_dev *, isdn_net_local *, struct sk_buff *);
  extern int isdn_ppp_dev_ioctl(struct net_device *, struct ifreq *, int);
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_tty.c linux-2.4.29/drivers/isdn/isdn_tty.c
---- linux-2.4.29.old/drivers/isdn/isdn_tty.c   2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_tty.c       2005-03-22 15:06:44.524324056 +0100
+--- a/drivers/isdn/isdn_tty.c
++++ b/drivers/isdn/isdn_tty.c
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_tty.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_tty.c,v 1.104 2002/02/09 21:19:11 keil Exp $
   *
   * Linux ISDN subsystem, tty functions and AT-command emulator (linklevel).
   *
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_tty.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_tty.c,v 1.104 2002/02/09 21:19:11 keil Exp $
   *
   * Linux ISDN subsystem, tty functions and AT-command emulator (linklevel).
   *
-@@ -53,7 +53,7 @@
+@@ -53,7 +53,7 @@ static int bit2si[8] =
  static int si2bit[8] =
  {4, 1, 4, 4, 4, 4, 4, 4};
  
  static int si2bit[8] =
  {4, 1, 4, 4, 4, 4, 4, 4};
  
@@ -18385,7 +18200,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_tty.c linux-2.4.29/drivers/isdn/isd
  
  
  /* isdn_tty_try_read() is called from within isdn_tty_rcv_skb()
  
  
  /* isdn_tty_try_read() is called from within isdn_tty_rcv_skb()
-@@ -321,7 +321,10 @@
+@@ -321,7 +321,10 @@ isdn_tty_tint(modem_info * info)
                info->send_outstanding++;
                info->msr &= ~UART_MSR_CTS;
                info->lsr &= ~UART_LSR_TEMT;
                info->send_outstanding++;
                info->msr &= ~UART_MSR_CTS;
                info->lsr &= ~UART_LSR_TEMT;
@@ -18397,7 +18212,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_tty.c linux-2.4.29/drivers/isdn/isd
                return;
        }
        if (slen < 0) {
                return;
        }
        if (slen < 0) {
-@@ -1211,7 +1214,10 @@
+@@ -1211,7 +1214,10 @@ isdn_tty_write(struct tty_struct *tty, i
                                                /* If DLE decoding results in zero-transmit, but
                                                 * c originally was non-zero, do a wakeup.
                                                 */
                                                /* If DLE decoding results in zero-transmit, but
                                                 * c originally was non-zero, do a wakeup.
                                                 */
@@ -18409,7 +18224,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_tty.c linux-2.4.29/drivers/isdn/isd
                                                info->msr |= UART_MSR_CTS;
                                                info->lsr |= UART_LSR_TEMT;
                                        }
                                                info->msr |= UART_MSR_CTS;
                                                info->lsr |= UART_LSR_TEMT;
                                        }
-@@ -1232,6 +1238,7 @@
+@@ -1232,6 +1238,7 @@ isdn_tty_write(struct tty_struct *tty, i
                                        }
                                }
                        } else
                                        }
                                }
                        } else
@@ -18417,7 +18232,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_tty.c linux-2.4.29/drivers/isdn/isd
                        if (TTY_IS_FCLASS1(info)) {
                                int cc = isdn_tty_handleDLEdown(info, m, c);
                                
                        if (TTY_IS_FCLASS1(info)) {
                                int cc = isdn_tty_handleDLEdown(info, m, c);
                                
-@@ -1252,6 +1259,7 @@
+@@ -1252,6 +1259,7 @@ isdn_tty_write(struct tty_struct *tty, i
                                info->xmit_count += cc;
                        } else
  #endif
                                info->xmit_count += cc;
                        } else
  #endif
@@ -18425,7 +18240,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_tty.c linux-2.4.29/drivers/isdn/isd
                                info->xmit_count += c;
                } else {
                        info->msr |= UART_MSR_CTS;
                                info->xmit_count += c;
                } else {
                        info->msr |= UART_MSR_CTS;
-@@ -1329,7 +1337,10 @@
+@@ -1329,7 +1337,10 @@ isdn_tty_flush_buffer(struct tty_struct 
        isdn_tty_cleanup_xmit(info);
        info->xmit_count = 0;
        restore_flags(flags);
        isdn_tty_cleanup_xmit(info);
        info->xmit_count = 0;
        restore_flags(flags);
@@ -18437,7 +18252,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_tty.c linux-2.4.29/drivers/isdn/isd
  }
  
  static void
  }
  
  static void
-@@ -1858,7 +1869,8 @@
+@@ -1858,7 +1869,8 @@ isdn_tty_close(struct tty_struct *tty, s
        isdn_tty_shutdown(info);
        if (tty->driver.flush_buffer)
                tty->driver.flush_buffer(tty);
        isdn_tty_shutdown(info);
        if (tty->driver.flush_buffer)
                tty->driver.flush_buffer(tty);
@@ -18447,7 +18262,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_tty.c linux-2.4.29/drivers/isdn/isd
        info->tty = 0;
        info->ncarrier = 0;
        tty->closing = 0;
        info->tty = 0;
        info->ncarrier = 0;
        tty->closing = 0;
-@@ -2306,6 +2318,22 @@
+@@ -2306,6 +2318,22 @@ isdn_tty_stat_callback(int i, isdn_ctrl 
                                  isdn_tty_at_cout("\r\n", info);
                                }
                                return 1;
                                  isdn_tty_at_cout("\r\n", info);
                                }
                                return 1;
@@ -18470,7 +18285,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_tty.c linux-2.4.29/drivers/isdn/isd
                        case ISDN_STAT_DCONN:
  #ifdef ISDN_TTY_STAT_DEBUG
                                printk(KERN_DEBUG "tty_STAT_DCONN ttyI%d\n", info->line);
                        case ISDN_STAT_DCONN:
  #ifdef ISDN_TTY_STAT_DEBUG
                                printk(KERN_DEBUG "tty_STAT_DCONN ttyI%d\n", info->line);
-@@ -2618,7 +2646,7 @@
+@@ -2618,7 +2646,7 @@ isdn_tty_modem_result(int code, modem_in
        static char *msg[] =
        {"OK", "CONNECT", "RING", "NO CARRIER", "ERROR",
         "CONNECT 64000", "NO DIALTONE", "BUSY", "NO ANSWER",
        static char *msg[] =
        {"OK", "CONNECT", "RING", "NO CARRIER", "ERROR",
         "CONNECT 64000", "NO DIALTONE", "BUSY", "NO ANSWER",
@@ -18479,7 +18294,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_tty.c linux-2.4.29/drivers/isdn/isd
        ulong flags;
        char s[ISDN_MSNLEN+10];
  
        ulong flags;
        char s[ISDN_MSNLEN+10];
  
-@@ -2781,7 +2809,8 @@
+@@ -2781,7 +2809,8 @@ isdn_tty_modem_result(int code, modem_in
                        restore_flags(flags);
                        return;
                }
                        restore_flags(flags);
                        return;
                }
@@ -18489,7 +18304,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_tty.c linux-2.4.29/drivers/isdn/isd
                if ((info->flags & ISDN_ASYNC_CHECK_CD) &&
                    (!((info->flags & ISDN_ASYNC_CALLOUT_ACTIVE) &&
                       (info->flags & ISDN_ASYNC_CALLOUT_NOHUP)))) {
                if ((info->flags & ISDN_ASYNC_CHECK_CD) &&
                    (!((info->flags & ISDN_ASYNC_CALLOUT_ACTIVE) &&
                       (info->flags & ISDN_ASYNC_CALLOUT_NOHUP)))) {
-@@ -3296,9 +3325,11 @@
+@@ -3296,9 +3325,11 @@ isdn_tty_cmd_PLUSF(char **p, modem_info 
  #ifdef CONFIG_ISDN_TTY_FAX
                                if (TTY_IS_FCLASS2(info))
                                                sprintf(rs, "\r\n2");
  #ifdef CONFIG_ISDN_TTY_FAX
                                if (TTY_IS_FCLASS2(info))
                                                sprintf(rs, "\r\n2");
@@ -18501,7 +18316,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_tty.c linux-2.4.29/drivers/isdn/isd
                                isdn_tty_at_cout(rs, info);
                                break;
                        case '=':
                                isdn_tty_at_cout(rs, info);
                                break;
                        case '=':
-@@ -3313,6 +3344,7 @@
+@@ -3313,6 +3344,7 @@ isdn_tty_cmd_PLUSF(char **p, modem_info 
                                                    m->mdmreg[REG_PSIZE] * 16;
                                                break;
  #ifdef CONFIG_ISDN_TTY_FAX
                                                    m->mdmreg[REG_PSIZE] * 16;
                                                break;
  #ifdef CONFIG_ISDN_TTY_FAX
@@ -18509,7 +18324,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_tty.c linux-2.4.29/drivers/isdn/isd
                                        case '1':
                                                p[0]++;
                                                if (!(dev->global_features &
                                        case '1':
                                                p[0]++;
                                                if (!(dev->global_features &
-@@ -3324,6 +3356,7 @@
+@@ -3324,6 +3356,7 @@ isdn_tty_cmd_PLUSF(char **p, modem_info 
                                                info->xmit_size =
                                                    m->mdmreg[REG_PSIZE] * 16;
                                                break;
                                                info->xmit_size =
                                                    m->mdmreg[REG_PSIZE] * 16;
                                                break;
@@ -18517,7 +18332,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_tty.c linux-2.4.29/drivers/isdn/isd
                                        case '2':
                                                p[0]++;
                                                if (!(dev->global_features &
                                        case '2':
                                                p[0]++;
                                                if (!(dev->global_features &
-@@ -3348,9 +3381,11 @@
+@@ -3348,9 +3381,11 @@ isdn_tty_cmd_PLUSF(char **p, modem_info 
                                                p[0]++;
                                                strcpy(rs, "\r\n0,");
  #ifdef CONFIG_ISDN_TTY_FAX
                                                p[0]++;
                                                strcpy(rs, "\r\n0,");
  #ifdef CONFIG_ISDN_TTY_FAX
@@ -18529,9 +18344,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_tty.c linux-2.4.29/drivers/isdn/isd
                                                if (dev->global_features &
                                                        ISDN_FEATURE_L3_FCLASS2)
                                                        strcat(rs, "2,");
                                                if (dev->global_features &
                                                        ISDN_FEATURE_L3_FCLASS2)
                                                        strcat(rs, "2,");
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_tty.h linux-2.4.29/drivers/isdn/isdn_tty.h
---- linux-2.4.29.old/drivers/isdn/isdn_tty.h   2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_tty.h       2005-03-22 15:06:44.545320864 +0100
+--- a/drivers/isdn/isdn_tty.h
++++ b/drivers/isdn/isdn_tty.h
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_tty.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_tty.h,v 1.25 2002/02/09 21:19:11 keil Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_tty.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_tty.h,v 1.25 2002/02/09 21:19:11 keil Exp $
@@ -18563,9 +18377,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_tty.h linux-2.4.29/drivers/isdn/isd
  #define TTY_IS_FCLASS2(info) \
        ((info->emu.mdmreg[REG_L2PROT] == ISDN_PROTO_L2_FAX) && \
         (info->emu.mdmreg[REG_L3PROT] == ISDN_PROTO_L3_FCLASS2))
  #define TTY_IS_FCLASS2(info) \
        ((info->emu.mdmreg[REG_L2PROT] == ISDN_PROTO_L2_FAX) && \
         (info->emu.mdmreg[REG_L3PROT] == ISDN_PROTO_L3_FCLASS2))
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ttyfax.c linux-2.4.29/drivers/isdn/isdn_ttyfax.c
---- linux-2.4.29.old/drivers/isdn/isdn_ttyfax.c        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_ttyfax.c    2005-03-22 15:06:44.561318432 +0100
+--- a/drivers/isdn/isdn_ttyfax.c
++++ b/drivers/isdn/isdn_ttyfax.c
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_ttyfax.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_ttyfax.c,v 1.9 2001/09/24 13:22:43 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_ttyfax.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_ttyfax.c,v 1.9 2001/09/24 13:22:43 kai Exp $
@@ -18581,7 +18394,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ttyfax.c linux-2.4.29/drivers/isdn/
  
  #define PARSE_ERROR1 { isdn_tty_fax_modem_result(1, info); return 1; }
  
  
  #define PARSE_ERROR1 { isdn_tty_fax_modem_result(1, info); return 1; }
  
-@@ -148,6 +148,7 @@
+@@ -148,6 +148,7 @@ isdn_tty_fax_modem_result(int code, mode
        }
  }
  
        }
  }
  
@@ -18589,7 +18402,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ttyfax.c linux-2.4.29/drivers/isdn/
  int
  isdn_tty_fax_command1(modem_info * info, isdn_ctrl * c)
  {
  int
  isdn_tty_fax_command1(modem_info * info, isdn_ctrl * c)
  {
-@@ -186,6 +187,7 @@
+@@ -186,6 +187,7 @@ isdn_tty_fax_command1(modem_info * info,
        }
        return (0);
  }
        }
        return (0);
  }
@@ -18597,7 +18410,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ttyfax.c linux-2.4.29/drivers/isdn/
  
  int
  isdn_tty_fax_command(modem_info * info, isdn_ctrl * c)
  
  int
  isdn_tty_fax_command(modem_info * info, isdn_ctrl * c)
-@@ -193,8 +195,10 @@
+@@ -193,8 +195,10 @@ isdn_tty_fax_command(modem_info * info, 
        T30_s *f = info->fax;
        char rs[10];
  
        T30_s *f = info->fax;
        char rs[10];
  
@@ -18608,7 +18421,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ttyfax.c linux-2.4.29/drivers/isdn/
  
  #ifdef ISDN_TTY_FAX_CMD_DEBUG
        printk(KERN_DEBUG "isdn_tty: Fax cmd %d on ttyI%d\n",
  
  #ifdef ISDN_TTY_FAX_CMD_DEBUG
        printk(KERN_DEBUG "isdn_tty: Fax cmd %d on ttyI%d\n",
-@@ -312,6 +316,7 @@
+@@ -312,6 +316,7 @@ isdn_tty_fax_bitorder(modem_info * info,
        }
  }
  
        }
  }
  
@@ -18616,7 +18429,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ttyfax.c linux-2.4.29/drivers/isdn/
  /*
   * Parse AT+F.. FAX class 1 commands
   */
  /*
   * Parse AT+F.. FAX class 1 commands
   */
-@@ -403,6 +408,7 @@
+@@ -403,6 +408,7 @@ isdn_tty_cmd_FCLASS1(char **p, modem_inf
        }
        return 1;
  }
        }
        return 1;
  }
@@ -18624,7 +18437,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ttyfax.c linux-2.4.29/drivers/isdn/
  
  /*
   * Parse AT+F.. FAX class 2 commands
  
  /*
   * Parse AT+F.. FAX class 2 commands
-@@ -970,6 +976,70 @@
+@@ -970,6 +976,70 @@ isdn_tty_cmd_FCLASS2(char **p, modem_inf
                }
                return 0;
        }
                }
                return 0;
        }
@@ -18695,7 +18508,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ttyfax.c linux-2.4.29/drivers/isdn/
  
        /* MDL? - DCE Model       */
        if (!strncmp(p[0], "MDL?", 4)) {
  
        /* MDL? - DCE Model       */
        if (!strncmp(p[0], "MDL?", 4)) {
-@@ -1049,6 +1119,38 @@
+@@ -1049,6 +1119,38 @@ isdn_tty_cmd_FCLASS2(char **p, modem_inf
                }
                return 0;
        }
                }
                return 0;
        }
@@ -18734,7 +18547,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ttyfax.c linux-2.4.29/drivers/isdn/
  
        /* REL=n - Phase C received EOL alignment */
        if (!strncmp(p[0], "REL", 3)) {
  
        /* REL=n - Phase C received EOL alignment */
        if (!strncmp(p[0], "REL", 3)) {
-@@ -1091,6 +1193,38 @@
+@@ -1091,6 +1193,38 @@ isdn_tty_cmd_FCLASS2(char **p, modem_inf
                isdn_tty_at_cout(rs, info);
                return 0;
        }
                isdn_tty_at_cout(rs, info);
                return 0;
        }
@@ -18773,7 +18586,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ttyfax.c linux-2.4.29/drivers/isdn/
  
        /* Phase C Transmit Data Block Size */
        if (!strncmp(p[0], "TBC=", 4)) {        /* dummy, not used */
  
        /* Phase C Transmit Data Block Size */
        if (!strncmp(p[0], "TBC=", 4)) {        /* dummy, not used */
-@@ -1116,7 +1250,9 @@
+@@ -1116,7 +1250,9 @@ isdn_tty_cmd_PLUSF_FAX(char **p, modem_i
  {
        if (TTY_IS_FCLASS2(info))
                return (isdn_tty_cmd_FCLASS2(p, info));
  {
        if (TTY_IS_FCLASS2(info))
                return (isdn_tty_cmd_FCLASS2(p, info));
@@ -18783,18 +18596,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ttyfax.c linux-2.4.29/drivers/isdn/
 +#endif
        PARSE_ERROR1;
  }
 +#endif
        PARSE_ERROR1;
  }
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ttyfax.h linux-2.4.29/drivers/isdn/isdn_ttyfax.h
---- linux-2.4.29.old/drivers/isdn/isdn_ttyfax.h        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_ttyfax.h    2005-03-22 15:06:44.576316152 +0100
+--- a/drivers/isdn/isdn_ttyfax.h
++++ b/drivers/isdn/isdn_ttyfax.h
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_ttyfax.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_ttyfax.h,v 1.3 2001/09/24 13:22:43 kai Exp $
   *
   * header for Linux ISDN subsystem, tty_fax related functions (linklevel).
   *
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_ttyfax.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_ttyfax.h,v 1.3 2001/09/24 13:22:43 kai Exp $
   *
   * header for Linux ISDN subsystem, tty_fax related functions (linklevel).
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_v110.c linux-2.4.29/drivers/isdn/isdn_v110.c
---- linux-2.4.29.old/drivers/isdn/isdn_v110.c  2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_v110.c      2005-03-22 15:06:44.593313568 +0100
+--- a/drivers/isdn/isdn_v110.c
++++ b/drivers/isdn/isdn_v110.c
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_v110.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_v110.c,v 1.8 2001/09/24 13:22:43 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_v110.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_v110.c,v 1.8 2001/09/24 13:22:43 kai Exp $
@@ -18810,7 +18621,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_v110.c linux-2.4.29/drivers/isdn/is
  
  #define V110_38400 255
  #define V110_19200  15
  
  #define V110_38400 255
  #define V110_19200  15
-@@ -138,6 +138,14 @@
+@@ -138,6 +138,14 @@ isdn_v110_close(isdn_v110_stream * v)
                return;
  #ifdef ISDN_V110_DEBUG
        printk(KERN_DEBUG "v110 close\n");
                return;
  #ifdef ISDN_V110_DEBUG
        printk(KERN_DEBUG "v110 close\n");
@@ -18825,36 +18636,32 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdn_v110.c linux-2.4.29/drivers/isdn/is
  #endif
        kfree(v->encodebuf);
        kfree(v);
  #endif
        kfree(v->encodebuf);
        kfree(v);
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_v110.h linux-2.4.29/drivers/isdn/isdn_v110.h
---- linux-2.4.29.old/drivers/isdn/isdn_v110.h  2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_v110.h      2005-03-22 15:06:44.608311288 +0100
+--- a/drivers/isdn/isdn_v110.h
++++ b/drivers/isdn/isdn_v110.h
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_v110.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_v110.h,v 1.5 2001/09/24 13:22:43 kai Exp $
   *
   * Linux ISDN subsystem, V.110 related functions (linklevel).
   *
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_v110.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_v110.h,v 1.5 2001/09/24 13:22:43 kai Exp $
   *
   * Linux ISDN subsystem, V.110 related functions (linklevel).
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_x25iface.c linux-2.4.29/drivers/isdn/isdn_x25iface.c
---- linux-2.4.29.old/drivers/isdn/isdn_x25iface.c      2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_x25iface.c  2005-03-22 15:06:44.626308552 +0100
+--- a/drivers/isdn/isdn_x25iface.c
++++ b/drivers/isdn/isdn_x25iface.c
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_x25iface.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_x25iface.c,v 1.10 2001/09/24 13:22:43 kai Exp $
   *
   * Linux ISDN subsystem, X.25 related functions
   *
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_x25iface.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_x25iface.c,v 1.10 2001/09/24 13:22:43 kai Exp $
   *
   * Linux ISDN subsystem, X.25 related functions
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_x25iface.h linux-2.4.29/drivers/isdn/isdn_x25iface.h
---- linux-2.4.29.old/drivers/isdn/isdn_x25iface.h      2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_x25iface.h  2005-03-22 15:06:44.645305664 +0100
+--- a/drivers/isdn/isdn_x25iface.h
++++ b/drivers/isdn/isdn_x25iface.h
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_x25iface.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_x25iface.h,v 1.4 2001/09/24 13:22:43 kai Exp $
   *
   * header for Linux ISDN subsystem, x.25 related functions
   *
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_x25iface.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
 +/* $Id: isdn_x25iface.h,v 1.4 2001/09/24 13:22:43 kai Exp $
   *
   * header for Linux ISDN subsystem, x.25 related functions
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/isdnloop/isdnloop.c linux-2.4.29/drivers/isdn/isdnloop/isdnloop.c
---- linux-2.4.29.old/drivers/isdn/isdnloop/isdnloop.c  2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdnloop/isdnloop.c      2005-03-22 15:06:48.813671976 +0100
+--- a/drivers/isdn/isdnloop/isdnloop.c
++++ b/drivers/isdn/isdnloop/isdnloop.c
 @@ -1,4 +1,4 @@
 -/* $Id: isdnloop.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id: isdnloop.c,v 1.17 2001/08/30 10:45:42 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: isdnloop.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id: isdnloop.c,v 1.17 2001/08/30 10:45:42 kai Exp $
@@ -18870,7 +18677,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdnloop/isdnloop.c linux-2.4.29/drivers
  static char *isdnloop_id;
  
  MODULE_DESCRIPTION("ISDN4Linux: Pseudo Driver that simulates an ISDN card");
  static char *isdnloop_id;
  
  MODULE_DESCRIPTION("ISDN4Linux: Pseudo Driver that simulates an ISDN card");
-@@ -22,8 +22,8 @@
+@@ -22,8 +22,8 @@ MODULE_AUTHOR("Fritz Elfert");
  MODULE_LICENSE("GPL");
  MODULE_PARM(isdnloop_id, "s");
  MODULE_PARM_DESC(isdnloop_id, "ID-String of first card");
  MODULE_LICENSE("GPL");
  MODULE_PARM(isdnloop_id, "s");
  MODULE_PARM_DESC(isdnloop_id, "ID-String of first card");
@@ -18881,7 +18688,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdnloop/isdnloop.c linux-2.4.29/drivers
  
  /*
   * Free queue completely.
  
  /*
   * Free queue completely.
-@@ -1542,11 +1542,7 @@
+@@ -1542,11 +1542,7 @@ isdnloop_init(void)
        } else
                strcpy(rev, " ??? ");
        printk(KERN_NOTICE "isdnloop-ISDN-driver Rev%s\n", rev);
        } else
                strcpy(rev, " ??? ");
        printk(KERN_NOTICE "isdnloop-ISDN-driver Rev%s\n", rev);
@@ -18894,18 +18701,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdnloop/isdnloop.c linux-2.4.29/drivers
  }
  
  static void __exit
  }
  
  static void __exit
-diff -rNu linux-2.4.29.old/drivers/isdn/isdnloop/isdnloop.h linux-2.4.29/drivers/isdn/isdnloop/isdnloop.h
---- linux-2.4.29.old/drivers/isdn/isdnloop/isdnloop.h  2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdnloop/isdnloop.h      2005-03-22 15:06:48.834668784 +0100
+--- a/drivers/isdn/isdnloop/isdnloop.h
++++ b/drivers/isdn/isdnloop/isdnloop.h
 @@ -1,4 +1,4 @@
 -/* $Id: isdnloop.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Loopback lowlevel module for testing of linklevel.
   *
 @@ -1,4 +1,4 @@
 -/* $Id: isdnloop.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Loopback lowlevel module for testing of linklevel.
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/callbacks.c linux-2.4.29/drivers/isdn/pcbit/callbacks.c
---- linux-2.4.29.old/drivers/isdn/pcbit/callbacks.c    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/callbacks.c        2005-03-22 15:06:48.909657384 +0100
+--- a/drivers/isdn/pcbit/callbacks.c
++++ b/drivers/isdn/pcbit/callbacks.c
 @@ -3,7 +3,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
 @@ -3,7 +3,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
@@ -18915,9 +18720,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/callbacks.c linux-2.4.29/drivers/i
   *
   * This software may be used and distributed according to the terms of 
   * the GNU General Public License, incorporated herein by reference.
   *
   * This software may be used and distributed according to the terms of 
   * the GNU General Public License, incorporated herein by reference.
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/callbacks.h linux-2.4.29/drivers/isdn/pcbit/callbacks.h
---- linux-2.4.29.old/drivers/isdn/pcbit/callbacks.h    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/callbacks.h        2005-03-22 15:06:48.953650696 +0100
+--- a/drivers/isdn/pcbit/callbacks.h
++++ b/drivers/isdn/pcbit/callbacks.h
 @@ -3,7 +3,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
 @@ -3,7 +3,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
@@ -18927,9 +18731,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/callbacks.h linux-2.4.29/drivers/i
   *
   * This software may be used and distributed according to the terms of 
   * the GNU General Public License, incorporated herein by reference.
   *
   * This software may be used and distributed according to the terms of 
   * the GNU General Public License, incorporated herein by reference.
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/capi.c linux-2.4.29/drivers/isdn/pcbit/capi.c
---- linux-2.4.29.old/drivers/isdn/pcbit/capi.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/capi.c     2005-03-22 15:06:49.042637168 +0100
+--- a/drivers/isdn/pcbit/capi.c
++++ b/drivers/isdn/pcbit/capi.c
 @@ -4,7 +4,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
 @@ -4,7 +4,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
@@ -18939,9 +18742,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/capi.c linux-2.4.29/drivers/isdn/p
   *
   * This software may be used and distributed according to the terms of 
   * the GNU General Public License, incorporated herein by reference.
   *
   * This software may be used and distributed according to the terms of 
   * the GNU General Public License, incorporated herein by reference.
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/capi.h linux-2.4.29/drivers/isdn/pcbit/capi.h
---- linux-2.4.29.old/drivers/isdn/pcbit/capi.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/capi.h     2005-03-22 15:06:49.071632760 +0100
+--- a/drivers/isdn/pcbit/capi.h
++++ b/drivers/isdn/pcbit/capi.h
 @@ -3,7 +3,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
 @@ -3,7 +3,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
@@ -18951,7 +18753,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/capi.h linux-2.4.29/drivers/isdn/p
   *
   * This software may be used and distributed according to the terms of 
   * the GNU General Public License, incorporated herein by reference.
   *
   * This software may be used and distributed according to the terms of 
   * the GNU General Public License, incorporated herein by reference.
-@@ -63,7 +63,8 @@
+@@ -63,7 +63,8 @@ extern int capi_disc_resp(struct pcbit_c
  extern int capi_decode_debug_188(u_char *hdr, ushort hdrlen);
  #endif
  
  extern int capi_decode_debug_188(u_char *hdr, ushort hdrlen);
  #endif
  
@@ -18961,9 +18763,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/capi.h linux-2.4.29/drivers/isdn/p
  capi_channel(struct pcbit_dev *dev, struct sk_buff *skb)
  {
        ushort callref;
  capi_channel(struct pcbit_dev *dev, struct sk_buff *skb)
  {
        ushort callref;
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/drv.c linux-2.4.29/drivers/isdn/pcbit/drv.c
---- linux-2.4.29.old/drivers/isdn/pcbit/drv.c  2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/drv.c      2005-03-22 15:06:49.091629720 +0100
+--- a/drivers/isdn/pcbit/drv.c
++++ b/drivers/isdn/pcbit/drv.c
 @@ -3,7 +3,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
 @@ -3,7 +3,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
@@ -18983,7 +18784,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/drv.c linux-2.4.29/drivers/isdn/pc
  
  #include "pcbit.h"
  #include "edss1.h"
  
  #include "pcbit.h"
  #include "edss1.h"
-@@ -89,6 +91,7 @@
+@@ -89,6 +91,7 @@ int pcbit_init_dev(int board, int mem_ba
  
        if (mem_base >= 0xA0000 && mem_base <= 0xFFFFF ) {
                dev->ph_mem = mem_base;
  
        if (mem_base >= 0xA0000 && mem_base <= 0xFFFFF ) {
                dev->ph_mem = mem_base;
@@ -18991,7 +18792,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/drv.c linux-2.4.29/drivers/isdn/pc
                if (check_mem_region(dev->ph_mem, 4096)) {
                        printk(KERN_WARNING
                                "PCBIT: memory region %lx-%lx already in use\n",
                if (check_mem_region(dev->ph_mem, 4096)) {
                        printk(KERN_WARNING
                                "PCBIT: memory region %lx-%lx already in use\n",
-@@ -100,6 +103,9 @@
+@@ -100,6 +103,9 @@ int pcbit_init_dev(int board, int mem_ba
                        request_mem_region(dev->ph_mem, 4096, "PCBIT mem");
                }
                dev->sh_mem = (unsigned char*)ioremap(dev->ph_mem, 4096);
                        request_mem_region(dev->ph_mem, 4096, "PCBIT mem");
                }
                dev->sh_mem = (unsigned char*)ioremap(dev->ph_mem, 4096);
@@ -19001,7 +18802,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/drv.c linux-2.4.29/drivers/isdn/pc
        }
        else 
        {
        }
        else 
        {
-@@ -112,8 +118,10 @@
+@@ -112,8 +118,10 @@ int pcbit_init_dev(int board, int mem_ba
        dev->b1 = kmalloc(sizeof(struct pcbit_chan), GFP_KERNEL);
        if (!dev->b1) {
                printk("pcbit_init: couldn't malloc pcbit_chan struct\n");
        dev->b1 = kmalloc(sizeof(struct pcbit_chan), GFP_KERNEL);
        if (!dev->b1) {
                printk("pcbit_init: couldn't malloc pcbit_chan struct\n");
@@ -19012,7 +18813,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/drv.c linux-2.4.29/drivers/isdn/pc
                kfree(dev);
                return -ENOMEM;
        }
                kfree(dev);
                return -ENOMEM;
        }
-@@ -122,8 +130,10 @@
+@@ -122,8 +130,10 @@ int pcbit_init_dev(int board, int mem_ba
        if (!dev->b2) {
                printk("pcbit_init: couldn't malloc pcbit_chan struct\n");
                kfree(dev->b1);
        if (!dev->b2) {
                printk("pcbit_init: couldn't malloc pcbit_chan struct\n");
                kfree(dev->b1);
@@ -19023,7 +18824,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/drv.c linux-2.4.29/drivers/isdn/pc
                kfree(dev);
                return -ENOMEM;
        }
                kfree(dev);
                return -ENOMEM;
        }
-@@ -144,8 +154,10 @@
+@@ -144,8 +154,10 @@ int pcbit_init_dev(int board, int mem_ba
        {
                kfree(dev->b1);
                kfree(dev->b2);
        {
                kfree(dev->b1);
                kfree(dev->b2);
@@ -19034,7 +18835,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/drv.c linux-2.4.29/drivers/isdn/pc
                kfree(dev);
                dev_pcbit[board] = NULL;
                return -EIO;
                kfree(dev);
                dev_pcbit[board] = NULL;
                return -EIO;
-@@ -166,8 +178,10 @@
+@@ -166,8 +178,10 @@ int pcbit_init_dev(int board, int mem_ba
                free_irq(irq, dev);
                kfree(dev->b1);
                kfree(dev->b2);
                free_irq(irq, dev);
                kfree(dev->b1);
                kfree(dev->b2);
@@ -19045,7 +18846,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/drv.c linux-2.4.29/drivers/isdn/pc
                kfree(dev);
                dev_pcbit[board] = NULL;
                return -EIO;
                kfree(dev);
                dev_pcbit[board] = NULL;
                return -EIO;
-@@ -197,8 +211,10 @@
+@@ -197,8 +211,10 @@ int pcbit_init_dev(int board, int mem_ba
                free_irq(irq, dev);
                kfree(dev->b1);
                kfree(dev->b2);
                free_irq(irq, dev);
                kfree(dev->b1);
                kfree(dev->b2);
@@ -19056,7 +18857,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/drv.c linux-2.4.29/drivers/isdn/pc
                kfree(dev);
                dev_pcbit[board] = NULL;
                return -EIO;
                kfree(dev);
                dev_pcbit[board] = NULL;
                return -EIO;
-@@ -235,8 +251,10 @@
+@@ -235,8 +251,10 @@ void pcbit_terminate(int board)
                        del_timer(&dev->b2->fsm_timer);
                kfree(dev->b1);
                kfree(dev->b2);
                        del_timer(&dev->b2->fsm_timer);
                kfree(dev->b1);
                kfree(dev->b2);
@@ -19067,7 +18868,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/drv.c linux-2.4.29/drivers/isdn/pc
                kfree(dev);
        }
  }
                kfree(dev);
        }
  }
-@@ -430,7 +448,7 @@
+@@ -430,7 +448,7 @@ int pcbit_writecmd(const u_char* buf, in
        switch(dev->l2_state) {
        case L2_LWMODE:
                /* check (size <= rdp_size); write buf into board */
        switch(dev->l2_state) {
        case L2_LWMODE:
                /* check (size <= rdp_size); write buf into board */
@@ -19076,7 +18877,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/drv.c linux-2.4.29/drivers/isdn/pc
                {
                        printk("pcbit_writecmd: invalid length %d\n", len);
                        return -EINVAL;
                {
                        printk("pcbit_writecmd: invalid length %d\n", len);
                        return -EINVAL;
-@@ -609,6 +627,20 @@
+@@ -609,6 +627,20 @@ void pcbit_l3_receive(struct pcbit_dev *
                       dev->b1->s_refnum, 
                       dev->b2->s_refnum);
  #endif
                       dev->b1->s_refnum, 
                       dev->b2->s_refnum);
  #endif
@@ -19097,7 +18898,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/drv.c linux-2.4.29/drivers/isdn/pc
                /* We just try to find a channel in the right state */
  
                if (dev->b1->fsm_state == ST_CALL_INIT)
                /* We just try to find a channel in the right state */
  
                if (dev->b1->fsm_state == ST_CALL_INIT)
-@@ -622,6 +654,7 @@
+@@ -622,6 +654,7 @@ void pcbit_l3_receive(struct pcbit_dev *
                                break;
                        }
                }
                                break;
                        }
                }
@@ -19105,9 +18906,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/drv.c linux-2.4.29/drivers/isdn/pc
                if (capi_decode_conn_conf(chan, skb, &complete)) {
                        printk(KERN_DEBUG "conn_conf indicates error\n");
                        pcbit_fsm_event(dev, chan, EV_ERROR, NULL);
                if (capi_decode_conn_conf(chan, skb, &complete)) {
                        printk(KERN_DEBUG "conn_conf indicates error\n");
                        pcbit_fsm_event(dev, chan, EV_ERROR, NULL);
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/edss1.c linux-2.4.29/drivers/isdn/pcbit/edss1.c
---- linux-2.4.29.old/drivers/isdn/pcbit/edss1.c        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/edss1.c    2005-03-22 15:06:49.119625464 +0100
+--- a/drivers/isdn/pcbit/edss1.c
++++ b/drivers/isdn/pcbit/edss1.c
 @@ -4,7 +4,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
 @@ -4,7 +4,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
@@ -19117,9 +18917,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/edss1.c linux-2.4.29/drivers/isdn/
   *
   * This software may be used and distributed according to the terms of 
   * the GNU General Public License, incorporated herein by reference.
   *
   * This software may be used and distributed according to the terms of 
   * the GNU General Public License, incorporated herein by reference.
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/edss1.h linux-2.4.29/drivers/isdn/pcbit/edss1.h
---- linux-2.4.29.old/drivers/isdn/pcbit/edss1.h        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/edss1.h    2005-03-22 15:06:49.161619080 +0100
+--- a/drivers/isdn/pcbit/edss1.h
++++ b/drivers/isdn/pcbit/edss1.h
 @@ -3,7 +3,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
 @@ -3,7 +3,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
@@ -19129,9 +18928,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/edss1.h linux-2.4.29/drivers/isdn/
   *
   * This software may be used and distributed according to the terms of 
   * the GNU General Public License, incorporated herein by reference.
   *
   * This software may be used and distributed according to the terms of 
   * the GNU General Public License, incorporated herein by reference.
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/layer2.c linux-2.4.29/drivers/isdn/pcbit/layer2.c
---- linux-2.4.29.old/drivers/isdn/pcbit/layer2.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/layer2.c   2005-03-22 15:06:49.195613912 +0100
+--- a/drivers/isdn/pcbit/layer2.c
++++ b/drivers/isdn/pcbit/layer2.c
 @@ -3,7 +3,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
 @@ -3,7 +3,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
@@ -19141,7 +18939,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/layer2.c linux-2.4.29/drivers/isdn
   *
   * This software may be used and distributed according to the terms of
   * the GNU General Public License, incorporated herein by reference.
   *
   * This software may be used and distributed according to the terms of
   * the GNU General Public License, incorporated herein by reference.
-@@ -369,11 +369,16 @@
+@@ -369,11 +369,16 @@ pcbit_receive(struct pcbit_dev *dev)
  
                if (dev->read_frame) {
                        printk(KERN_DEBUG "pcbit_receive: Type 0 frame and read_frame != NULL\n");
  
                if (dev->read_frame) {
                        printk(KERN_DEBUG "pcbit_receive: Type 0 frame and read_frame != NULL\n");
@@ -19158,7 +18956,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/layer2.c linux-2.4.29/drivers/isdn
                }
                frame = kmalloc(sizeof(struct frame_buf), GFP_ATOMIC);
  
                }
                frame = kmalloc(sizeof(struct frame_buf), GFP_ATOMIC);
  
-@@ -449,10 +454,14 @@
+@@ -449,10 +454,14 @@ pcbit_receive(struct pcbit_dev *dev)
  
                if (!(frame = dev->read_frame)) {
                        printk("Type 1 frame and no frame queued\n");
  
                if (!(frame = dev->read_frame)) {
                        printk("Type 1 frame and no frame queued\n");
@@ -19173,9 +18971,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/layer2.c linux-2.4.29/drivers/isdn
                        return;
  
                }
                        return;
  
                }
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/layer2.h linux-2.4.29/drivers/isdn/pcbit/layer2.h
---- linux-2.4.29.old/drivers/isdn/pcbit/layer2.h       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/layer2.h   2005-03-22 15:06:49.228608896 +0100
+--- a/drivers/isdn/pcbit/layer2.h
++++ b/drivers/isdn/pcbit/layer2.h
 @@ -3,7 +3,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
 @@ -3,7 +3,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
@@ -19185,9 +18982,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/layer2.h linux-2.4.29/drivers/isdn
   *
   * This software may be used and distributed according to the terms of 
   * the GNU General Public License, incorporated herein by reference.
   *
   * This software may be used and distributed according to the terms of 
   * the GNU General Public License, incorporated herein by reference.
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/module.c linux-2.4.29/drivers/isdn/pcbit/module.c
---- linux-2.4.29.old/drivers/isdn/pcbit/module.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/module.c   2005-03-22 15:06:49.251605400 +0100
+--- a/drivers/isdn/pcbit/module.c
++++ b/drivers/isdn/pcbit/module.c
 @@ -3,7 +3,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
 @@ -3,7 +3,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
@@ -19197,7 +18993,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/module.c linux-2.4.29/drivers/isdn
   *
   * This software may be used and distributed according to the terms of 
   * the GNU General Public License, incorporated herein by reference.
   *
   * This software may be used and distributed according to the terms of 
   * the GNU General Public License, incorporated herein by reference.
-@@ -92,6 +92,7 @@
+@@ -92,6 +92,7 @@ static void __exit pcbit_exit(void)
  }
  
  #ifndef MODULE
  }
  
  #ifndef MODULE
@@ -19205,7 +19001,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/module.c linux-2.4.29/drivers/isdn
  #define MAX_PARA      (MAX_PCBIT_CARDS * 2)
  static int __init pcbit_setup(char *line)
  {
  #define MAX_PARA      (MAX_PCBIT_CARDS * 2)
  static int __init pcbit_setup(char *line)
  {
-@@ -100,6 +101,11 @@
+@@ -100,6 +101,11 @@ static int __init pcbit_setup(char *line
        int ints[MAX_PARA+1];
  
        str = get_options(line, MAX_PARA, ints);
        int ints[MAX_PARA+1];
  
        str = get_options(line, MAX_PARA, ints);
@@ -19217,7 +19013,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/module.c linux-2.4.29/drivers/isdn
        argc = ints[0];
        i = 0;
        j = 1;
        argc = ints[0];
        i = 0;
        j = 1;
-@@ -118,9 +124,13 @@
+@@ -118,9 +124,13 @@ static int __init pcbit_setup(char *line
  
                i++;
        }
  
                i++;
        }
@@ -19231,9 +19027,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/module.c linux-2.4.29/drivers/isdn
  #endif
  
  module_init(pcbit_init);
  #endif
  
  module_init(pcbit_init);
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/pcbit.h linux-2.4.29/drivers/isdn/pcbit/pcbit.h
---- linux-2.4.29.old/drivers/isdn/pcbit/pcbit.h        2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/pcbit.h    2005-03-22 15:06:49.284600384 +0100
+--- a/drivers/isdn/pcbit/pcbit.h
++++ b/drivers/isdn/pcbit/pcbit.h
 @@ -3,7 +3,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
 @@ -3,7 +3,7 @@
   *
   * Copyright (C) 1996 Universidade de Lisboa
@@ -19243,25 +19038,23 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/pcbit.h linux-2.4.29/drivers/isdn/
   *
   * This software may be used and distributed according to the terms of 
   * the GNU General Public License, incorporated herein by reference.
   *
   * This software may be used and distributed according to the terms of 
   * the GNU General Public License, incorporated herein by reference.
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/card.h linux-2.4.29/drivers/isdn/sc/card.h
---- linux-2.4.29.old/drivers/isdn/sc/card.h    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/card.h        2005-03-22 15:06:49.333592936 +0100
+--- a/drivers/isdn/sc/card.h
++++ b/drivers/isdn/sc/card.h
 @@ -1,4 +1,4 @@
 -/* $Id: card.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Driver parameters for SpellCaster ISA ISDN adapters
   *
 @@ -1,4 +1,4 @@
 -/* $Id: card.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Driver parameters for SpellCaster ISA ISDN adapters
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/command.c linux-2.4.29/drivers/isdn/sc/command.c
---- linux-2.4.29.old/drivers/isdn/sc/command.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/command.c     2005-03-22 15:06:49.348590656 +0100
+--- a/drivers/isdn/sc/command.c
++++ b/drivers/isdn/sc/command.c
 @@ -1,4 +1,4 @@
 -/* $Id: command.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Copyright (C) 1996  SpellCaster Telecommunications Inc.
   *
 @@ -1,4 +1,4 @@
 -/* $Id: command.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Copyright (C) 1996  SpellCaster Telecommunications Inc.
   *
-@@ -95,7 +95,7 @@
+@@ -95,7 +95,7 @@ int get_card_from_id(int driver)
                if(adapter[i]->driverId == driver)
                        return i;
        }
                if(adapter[i]->driverId == driver)
                        return i;
        }
@@ -19270,37 +19063,33 @@ diff -rNu linux-2.4.29.old/drivers/isdn/sc/command.c linux-2.4.29/drivers/isdn/s
  }
  
  /* 
  }
  
  /* 
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/debug.c linux-2.4.29/drivers/isdn/sc/debug.c
---- linux-2.4.29.old/drivers/isdn/sc/debug.c   2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/debug.c       2005-03-22 15:06:49.363588376 +0100
+--- a/drivers/isdn/sc/debug.c
++++ b/drivers/isdn/sc/debug.c
 @@ -1,4 +1,4 @@
 -/* $Id: debug.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Copyright (C) 1996  SpellCaster Telecommunications Inc.
   *
 @@ -1,4 +1,4 @@
 -/* $Id: debug.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Copyright (C) 1996  SpellCaster Telecommunications Inc.
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/debug.h linux-2.4.29/drivers/isdn/sc/debug.h
---- linux-2.4.29.old/drivers/isdn/sc/debug.h   2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/debug.h       2005-03-22 15:06:49.378586096 +0100
+--- a/drivers/isdn/sc/debug.h
++++ b/drivers/isdn/sc/debug.h
 @@ -1,4 +1,4 @@
 -/* $Id: debug.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Copyright (C) 1996  SpellCaster Telecommunications Inc.
   *
 @@ -1,4 +1,4 @@
 -/* $Id: debug.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Copyright (C) 1996  SpellCaster Telecommunications Inc.
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/event.c linux-2.4.29/drivers/isdn/sc/event.c
---- linux-2.4.29.old/drivers/isdn/sc/event.c   2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/event.c       2005-03-22 15:06:49.394583664 +0100
+--- a/drivers/isdn/sc/event.c
++++ b/drivers/isdn/sc/event.c
 @@ -1,4 +1,4 @@
 -/* $Id: event.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Copyright (C) 1996  SpellCaster Telecommunications Inc.
   *
 @@ -1,4 +1,4 @@
 -/* $Id: event.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Copyright (C) 1996  SpellCaster Telecommunications Inc.
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/init.c linux-2.4.29/drivers/isdn/sc/init.c
---- linux-2.4.29.old/drivers/isdn/sc/init.c    2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/init.c        2005-03-22 15:06:49.432577888 +0100
-@@ -514,6 +514,15 @@
+--- a/drivers/isdn/sc/init.c
++++ b/drivers/isdn/sc/init.c
+@@ -514,6 +514,15 @@ int identify_board(unsigned long rambase
        schedule_timeout(HZ);
        sig = readl(rambase + SIG_OFFSET);
        pr_debug("Looking for a signature, got 0x%x\n", sig);
        schedule_timeout(HZ);
        sig = readl(rambase + SIG_OFFSET);
        pr_debug("Looking for a signature, got 0x%x\n", sig);
@@ -19316,7 +19105,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/sc/init.c linux-2.4.29/drivers/isdn/sc/i
        if(sig == SIGNATURE)
                return PRI_BOARD;
  
        if(sig == SIGNATURE)
                return PRI_BOARD;
  
-@@ -525,6 +534,9 @@
+@@ -525,6 +534,9 @@ int identify_board(unsigned long rambase
        schedule_timeout(HZ);
        sig = readl(rambase + SIG_OFFSET);
        pr_debug("Looking for a signature, got 0x%x\n", sig);
        schedule_timeout(HZ);
        sig = readl(rambase + SIG_OFFSET);
        pr_debug("Looking for a signature, got 0x%x\n", sig);
@@ -19326,19 +19115,17 @@ diff -rNu linux-2.4.29.old/drivers/isdn/sc/init.c linux-2.4.29/drivers/isdn/sc/i
        if(sig == SIGNATURE)
                return BRI_BOARD;
  
        if(sig == SIGNATURE)
                return BRI_BOARD;
  
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/interrupt.c linux-2.4.29/drivers/isdn/sc/interrupt.c
---- linux-2.4.29.old/drivers/isdn/sc/interrupt.c       2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/interrupt.c   2005-03-22 15:06:49.447575608 +0100
+--- a/drivers/isdn/sc/interrupt.c
++++ b/drivers/isdn/sc/interrupt.c
 @@ -1,4 +1,4 @@
 -/* $Id: interrupt.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Copyright (C) 1996  SpellCaster Telecommunications Inc.
   *
 @@ -1,4 +1,4 @@
 -/* $Id: interrupt.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Copyright (C) 1996  SpellCaster Telecommunications Inc.
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/ioctl.c linux-2.4.29/drivers/isdn/sc/ioctl.c
---- linux-2.4.29.old/drivers/isdn/sc/ioctl.c   2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/ioctl.c       2005-03-22 15:06:49.463573176 +0100
-@@ -23,6 +23,9 @@
+--- a/drivers/isdn/sc/ioctl.c
++++ b/drivers/isdn/sc/ioctl.c
+@@ -23,6 +23,9 @@ extern int send_and_receive(int, unsigne
  
  extern board *adapter[];
  
  
  extern board *adapter[];
  
@@ -19348,97 +19135,87 @@ diff -rNu linux-2.4.29.old/drivers/isdn/sc/ioctl.c linux-2.4.29/drivers/isdn/sc/
  
  int GetStatus(int card, boardInfo *);
  
  
  int GetStatus(int card, boardInfo *);
  
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/message.c linux-2.4.29/drivers/isdn/sc/message.c
---- linux-2.4.29.old/drivers/isdn/sc/message.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/message.c     2005-03-22 15:06:49.478570896 +0100
+--- a/drivers/isdn/sc/message.c
++++ b/drivers/isdn/sc/message.c
 @@ -1,4 +1,4 @@
 -/* $Id: message.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * functions for sending and receiving control messages
   *
 @@ -1,4 +1,4 @@
 -/* $Id: message.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * functions for sending and receiving control messages
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/message.h linux-2.4.29/drivers/isdn/sc/message.h
---- linux-2.4.29.old/drivers/isdn/sc/message.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/message.h     2005-03-22 15:06:49.495568312 +0100
+--- a/drivers/isdn/sc/message.h
++++ b/drivers/isdn/sc/message.h
 @@ -1,4 +1,4 @@
 -/* $Id: message.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Copyright (C) 1996  SpellCaster Telecommunications Inc.
   *
 @@ -1,4 +1,4 @@
 -/* $Id: message.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Copyright (C) 1996  SpellCaster Telecommunications Inc.
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/packet.c linux-2.4.29/drivers/isdn/sc/packet.c
---- linux-2.4.29.old/drivers/isdn/sc/packet.c  2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/packet.c      2005-03-22 15:06:49.514565424 +0100
+--- a/drivers/isdn/sc/packet.c
++++ b/drivers/isdn/sc/packet.c
 @@ -1,4 +1,4 @@
 -/* $Id: packet.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Copyright (C) 1996  SpellCaster Telecommunications Inc.
   *
 @@ -1,4 +1,4 @@
 -/* $Id: packet.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Copyright (C) 1996  SpellCaster Telecommunications Inc.
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/shmem.c linux-2.4.29/drivers/isdn/sc/shmem.c
---- linux-2.4.29.old/drivers/isdn/sc/shmem.c   2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/shmem.c       2005-03-22 15:06:49.560558432 +0100
+--- a/drivers/isdn/sc/shmem.c
++++ b/drivers/isdn/sc/shmem.c
 @@ -1,4 +1,4 @@
 -/* $Id: shmem.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Copyright (C) 1996  SpellCaster Telecommunications Inc.
   *
 @@ -1,4 +1,4 @@
 -/* $Id: shmem.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Copyright (C) 1996  SpellCaster Telecommunications Inc.
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/timer.c linux-2.4.29/drivers/isdn/sc/timer.c
---- linux-2.4.29.old/drivers/isdn/sc/timer.c   2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/timer.c       2005-03-22 15:06:49.575556152 +0100
+--- a/drivers/isdn/sc/timer.c
++++ b/drivers/isdn/sc/timer.c
 @@ -1,4 +1,4 @@
 -/* $Id: timer.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Copyright (C) 1996  SpellCaster Telecommunications Inc.
   *
 @@ -1,4 +1,4 @@
 -/* $Id: timer.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Copyright (C) 1996  SpellCaster Telecommunications Inc.
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/tpam/tpam.h linux-2.4.29/drivers/isdn/tpam/tpam.h
---- linux-2.4.29.old/drivers/isdn/tpam/tpam.h  2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/tpam/tpam.h      2005-03-22 15:06:49.648545056 +0100
+--- a/drivers/isdn/tpam/tpam.h
++++ b/drivers/isdn/tpam/tpam.h
 @@ -1,4 +1,4 @@
 -/* $Id: tpam.h,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id: tpam.h,v 1.3 2001/09/24 13:23:12 kai Exp $
   *
   * Turbo PAM ISDN driver for Linux. (Kernel Driver)
   *
 @@ -1,4 +1,4 @@
 -/* $Id: tpam.h,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id: tpam.h,v 1.3 2001/09/24 13:23:12 kai Exp $
   *
   * Turbo PAM ISDN driver for Linux. (Kernel Driver)
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/tpam/tpam_commands.c linux-2.4.29/drivers/isdn/tpam/tpam_commands.c
---- linux-2.4.29.old/drivers/isdn/tpam/tpam_commands.c 2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/tpam/tpam_commands.c     2005-03-22 15:06:49.664542624 +0100
+--- a/drivers/isdn/tpam/tpam_commands.c
++++ b/drivers/isdn/tpam/tpam_commands.c
 @@ -1,4 +1,4 @@
 -/* $Id: tpam_commands.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id: tpam_commands.c,v 1.3 2001/09/24 13:23:12 kai Exp $
   *
   * Turbo PAM ISDN driver for Linux. (Kernel Driver - ISDN commands)
   *
 @@ -1,4 +1,4 @@
 -/* $Id: tpam_commands.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id: tpam_commands.c,v 1.3 2001/09/24 13:23:12 kai Exp $
   *
   * Turbo PAM ISDN driver for Linux. (Kernel Driver - ISDN commands)
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/tpam/tpam_crcpc.c linux-2.4.29/drivers/isdn/tpam/tpam_crcpc.c
---- linux-2.4.29.old/drivers/isdn/tpam/tpam_crcpc.c    2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/tpam/tpam_crcpc.c        2005-03-22 15:06:49.681540040 +0100
+--- a/drivers/isdn/tpam/tpam_crcpc.c
++++ b/drivers/isdn/tpam/tpam_crcpc.c
 @@ -1,4 +1,4 @@
 -/* $Id: tpam_crcpc.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Turbo PAM ISDN driver for Linux. (Kernel Driver - CRC encoding)
   *
 @@ -1,4 +1,4 @@
 -/* $Id: tpam_crcpc.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Turbo PAM ISDN driver for Linux. (Kernel Driver - CRC encoding)
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/tpam/tpam_hdlc.c linux-2.4.29/drivers/isdn/tpam/tpam_hdlc.c
---- linux-2.4.29.old/drivers/isdn/tpam/tpam_hdlc.c     2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/tpam/tpam_hdlc.c 2005-03-22 15:06:49.702536848 +0100
+--- a/drivers/isdn/tpam/tpam_hdlc.c
++++ b/drivers/isdn/tpam/tpam_hdlc.c
 @@ -1,4 +1,4 @@
 -/* $Id: tpam_hdlc.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id: tpam_hdlc.c,v 1.3 2001/09/24 13:23:12 kai Exp $
   *
   * Turbo PAM ISDN driver for Linux. (Kernel Driver - HDLC encoding)
   *
 @@ -1,4 +1,4 @@
 -/* $Id: tpam_hdlc.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id: tpam_hdlc.c,v 1.3 2001/09/24 13:23:12 kai Exp $
   *
   * Turbo PAM ISDN driver for Linux. (Kernel Driver - HDLC encoding)
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/tpam/tpam_main.c linux-2.4.29/drivers/isdn/tpam/tpam_main.c
---- linux-2.4.29.old/drivers/isdn/tpam/tpam_main.c     2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/tpam/tpam_main.c 2005-03-22 15:06:49.717534568 +0100
+--- a/drivers/isdn/tpam/tpam_main.c
++++ b/drivers/isdn/tpam/tpam_main.c
 @@ -1,4 +1,4 @@
 -/* $Id: tpam_main.c,v 1.1.2.2 2001/12/09 18:45:14 kai Exp $
 +/* $Id$
   *
   * Turbo PAM ISDN driver for Linux. (Kernel Driver - main routines)
   *
 @@ -1,4 +1,4 @@
 -/* $Id: tpam_main.c,v 1.1.2.2 2001/12/09 18:45:14 kai Exp $
 +/* $Id$
   *
   * Turbo PAM ISDN driver for Linux. (Kernel Driver - main routines)
   *
-@@ -254,7 +254,7 @@
+@@ -254,7 +254,7 @@ static struct pci_driver tpam_driver = {
        name:           "tpam",
        id_table:       tpam_pci_tbl,
        probe:          tpam_probe,
        name:           "tpam",
        id_table:       tpam_pci_tbl,
        probe:          tpam_probe,
@@ -19447,34 +19224,31 @@ diff -rNu linux-2.4.29.old/drivers/isdn/tpam/tpam_main.c linux-2.4.29/drivers/is
  };
  
  static int __init tpam_init(void) {
  };
  
  static int __init tpam_init(void) {
-diff -rNu linux-2.4.29.old/drivers/isdn/tpam/tpam_memory.c linux-2.4.29/drivers/isdn/tpam/tpam_memory.c
---- linux-2.4.29.old/drivers/isdn/tpam/tpam_memory.c   2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/tpam/tpam_memory.c       2005-03-22 15:06:49.734531984 +0100
+--- a/drivers/isdn/tpam/tpam_memory.c
++++ b/drivers/isdn/tpam/tpam_memory.c
 @@ -1,4 +1,4 @@
 -/* $Id: tpam_memory.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Turbo PAM ISDN driver for Linux. (Kernel Driver - Board Memory Access)
   *
 @@ -1,4 +1,4 @@
 -/* $Id: tpam_memory.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Turbo PAM ISDN driver for Linux. (Kernel Driver - Board Memory Access)
   *
-diff -rNu linux-2.4.29.old/drivers/isdn/tpam/tpam_nco.c linux-2.4.29/drivers/isdn/tpam/tpam_nco.c
---- linux-2.4.29.old/drivers/isdn/tpam/tpam_nco.c      2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/tpam/tpam_nco.c  2005-03-22 15:06:49.749529704 +0100
+--- a/drivers/isdn/tpam/tpam_nco.c
++++ b/drivers/isdn/tpam/tpam_nco.c
 @@ -1,4 +1,4 @@
 -/* $Id: tpam_nco.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Turbo PAM ISDN driver for Linux. 
   * (Kernel Driver - Low Level NCO Manipulation)
 @@ -1,4 +1,4 @@
 -/* $Id: tpam_nco.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Turbo PAM ISDN driver for Linux. 
   * (Kernel Driver - Low Level NCO Manipulation)
-diff -rNu linux-2.4.29.old/drivers/isdn/tpam/tpam_queues.c linux-2.4.29/drivers/isdn/tpam/tpam_queues.c
---- linux-2.4.29.old/drivers/isdn/tpam/tpam_queues.c   2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/tpam/tpam_queues.c       2005-03-22 15:06:49.764527424 +0100
+--- a/drivers/isdn/tpam/tpam_queues.c
++++ b/drivers/isdn/tpam/tpam_queues.c
 @@ -1,4 +1,4 @@
 -/* $Id: tpam_queues.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Turbo PAM ISDN driver for Linux. (Kernel Driver)
   *
 @@ -1,4 +1,4 @@
 -/* $Id: tpam_queues.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
 +/* $Id$
   *
   * Turbo PAM ISDN driver for Linux. (Kernel Driver)
   *
-@@ -146,7 +146,6 @@
+@@ -146,7 +146,6 @@ void tpam_irq(int irq, void *dev_id, str
                do {
                        hpic = readl(card->bar0 + TPAM_HPIC_REGISTER);
                        if (waiting_too_long++ > 0xfffffff) {
                do {
                        hpic = readl(card->bar0 + TPAM_HPIC_REGISTER);
                        if (waiting_too_long++ > 0xfffffff) {
@@ -19482,36 +19256,32 @@ diff -rNu linux-2.4.29.old/drivers/isdn/tpam/tpam_queues.c linux-2.4.29/drivers/
                                spin_unlock(&card->lock);
                                printk(KERN_ERR "TurboPAM(tpam_irq): "
                                                "waiting too long...\n");
                                spin_unlock(&card->lock);
                                printk(KERN_ERR "TurboPAM(tpam_irq): "
                                                "waiting too long...\n");
-diff -rNu linux-2.4.29.old/include/linux/b1lli.h linux-2.4.29/include/linux/b1lli.h
---- linux-2.4.29.old/include/linux/b1lli.h     2005-03-22 14:47:32.000000000 +0100
-+++ linux-2.4.29/include/linux/b1lli.h 2005-03-22 15:06:49.881509640 +0100
+--- a/include/linux/b1lli.h
++++ b/include/linux/b1lli.h
 @@ -1,4 +1,4 @@
 -/* $Id: b1lli.h,v 1.8.8.3 2001/09/23 22:25:05 kai Exp $
 +/* $Id$
   *
   * ISDN lowlevel-module for AVM B1-card.
   *
 @@ -1,4 +1,4 @@
 -/* $Id: b1lli.h,v 1.8.8.3 2001/09/23 22:25:05 kai Exp $
 +/* $Id$
   *
   * ISDN lowlevel-module for AVM B1-card.
   *
-diff -rNu linux-2.4.29.old/include/linux/b1pcmcia.h linux-2.4.29/include/linux/b1pcmcia.h
---- linux-2.4.29.old/include/linux/b1pcmcia.h  2005-03-22 14:47:32.000000000 +0100
-+++ linux-2.4.29/include/linux/b1pcmcia.h      2005-03-22 15:06:49.862512528 +0100
+--- a/include/linux/b1pcmcia.h
++++ b/include/linux/b1pcmcia.h
 @@ -1,4 +1,4 @@
 -/* $Id: b1pcmcia.h,v 1.1.8.2 2001/09/23 22:25:05 kai Exp $
 +/* $Id$
   *
   * Exported functions of module b1pcmcia to be called by
   * avm_cs card services module.
 @@ -1,4 +1,4 @@
 -/* $Id: b1pcmcia.h,v 1.1.8.2 2001/09/23 22:25:05 kai Exp $
 +/* $Id$
   *
   * Exported functions of module b1pcmcia to be called by
   * avm_cs card services module.
-diff -rNu linux-2.4.29.old/include/linux/capi.h linux-2.4.29/include/linux/capi.h
---- linux-2.4.29.old/include/linux/capi.h      2005-03-22 14:47:32.000000000 +0100
-+++ linux-2.4.29/include/linux/capi.h  2005-03-22 15:06:49.922503408 +0100
+--- a/include/linux/capi.h
++++ b/include/linux/capi.h
 @@ -1,4 +1,4 @@
 -/* $Id: capi.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
 +/* $Id$
   * 
   * CAPI 2.0 Interface for Linux
   * 
 @@ -1,4 +1,4 @@
 -/* $Id: capi.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
 +/* $Id$
   * 
   * CAPI 2.0 Interface for Linux
   * 
-diff -rNu linux-2.4.29.old/include/linux/concap.h linux-2.4.29/include/linux/concap.h
---- linux-2.4.29.old/include/linux/concap.h    2005-03-22 14:47:32.000000000 +0100
-+++ linux-2.4.29/include/linux/concap.h        2005-03-22 15:06:49.906505840 +0100
+--- a/include/linux/concap.h
++++ b/include/linux/concap.h
 @@ -1,4 +1,4 @@
 -/* $Id: concap.h,v 1.2.8.1 2001/09/23 22:25:05 kai Exp $
 +/* $Id: concap.h,v 1.3 2001/09/24 13:23:13 kai Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: concap.h,v 1.2.8.1 2001/09/23 22:25:05 kai Exp $
 +/* $Id: concap.h,v 1.3 2001/09/24 13:23:13 kai Exp $
@@ -19526,27 +19296,24 @@ diff -rNu linux-2.4.29.old/include/linux/concap.h linux-2.4.29/include/linux/con
  
  /* Stuff to support encapsulation protocols genericly. The encapsulation
     protocol is processed at the uppermost layer of the network interface.
  
  /* Stuff to support encapsulation protocols genericly. The encapsulation
     protocol is processed at the uppermost layer of the network interface.
-diff -rNu linux-2.4.29.old/include/linux/hysdn_if.h linux-2.4.29/include/linux/hysdn_if.h
---- linux-2.4.29.old/include/linux/hysdn_if.h  2005-03-22 14:47:32.000000000 +0100
-+++ linux-2.4.29/include/linux/hysdn_if.h      2005-03-22 15:06:49.974495504 +0100
+--- a/include/linux/hysdn_if.h
++++ b/include/linux/hysdn_if.h
 @@ -1,4 +1,4 @@
 -/* $Id: hysdn_if.h,v 1.1.8.3 2001/09/23 22:25:05 kai Exp $
 +/* $Id$
   *
   * Linux driver for HYSDN cards
   * ioctl definitions shared by hynetmgr and driver.
 @@ -1,4 +1,4 @@
 -/* $Id: hysdn_if.h,v 1.1.8.3 2001/09/23 22:25:05 kai Exp $
 +/* $Id$
   *
   * Linux driver for HYSDN cards
   * ioctl definitions shared by hynetmgr and driver.
-diff -rNu linux-2.4.29.old/include/linux/isdn/tpam.h linux-2.4.29/include/linux/isdn/tpam.h
---- linux-2.4.29.old/include/linux/isdn/tpam.h 2005-03-22 14:47:32.000000000 +0100
-+++ linux-2.4.29/include/linux/isdn/tpam.h     2005-03-22 15:06:49.947499608 +0100
+--- a/include/linux/isdn/tpam.h
++++ b/include/linux/isdn/tpam.h
 @@ -1,4 +1,4 @@
 -/* $Id: tpam.h,v 1.1.2.1 2001/11/20 14:19:38 kai Exp $
 +/* $Id$
   *
   * Turbo PAM ISDN driver for Linux. (Kernel Driver)
   *
 @@ -1,4 +1,4 @@
 -/* $Id: tpam.h,v 1.1.2.1 2001/11/20 14:19:38 kai Exp $
 +/* $Id$
   *
   * Turbo PAM ISDN driver for Linux. (Kernel Driver)
   *
-diff -rNu linux-2.4.29.old/include/linux/isdn.h linux-2.4.29/include/linux/isdn.h
---- linux-2.4.29.old/include/linux/isdn.h      2005-03-22 14:47:31.000000000 +0100
-+++ linux-2.4.29/include/linux/isdn.h  2005-03-22 15:06:50.001491400 +0100
+--- a/include/linux/isdn.h
++++ b/include/linux/isdn.h
 @@ -1,4 +1,4 @@
 -/* $Id: isdn.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
 +/* $Id: isdn.h,v 1.125 2001/12/01 23:18:21 detabc Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: isdn.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
 +/* $Id: isdn.h,v 1.125 2001/12/01 23:18:21 detabc Exp $
@@ -19577,7 +19344,7 @@ diff -rNu linux-2.4.29.old/include/linux/isdn.h linux-2.4.29/include/linux/isdn.
  
  #define INF_DV 0x01  /* Data version for /dev/isdninfo        */
  
  
  #define INF_DV 0x01  /* Data version for /dev/isdninfo        */
  
-@@ -187,6 +194,61 @@
+@@ -187,6 +194,61 @@ typedef struct {
  #define ISDN_MINOR_PPPMAX   (128 + (ISDN_MAX_CHANNELS-1))
  #define ISDN_MINOR_STATUS   255
  
  #define ISDN_MINOR_PPPMAX   (128 + (ISDN_MAX_CHANNELS-1))
  #define ISDN_MINOR_STATUS   255
  
@@ -19639,7 +19406,7 @@ diff -rNu linux-2.4.29.old/include/linux/isdn.h linux-2.4.29/include/linux/isdn.
  #ifdef CONFIG_ISDN_PPP
  
  #ifdef CONFIG_ISDN_PPP_VJ
  #ifdef CONFIG_ISDN_PPP
  
  #ifdef CONFIG_ISDN_PPP_VJ
-@@ -204,9 +266,11 @@
+@@ -204,9 +266,11 @@ typedef struct {
  #  include <linux/concap.h>
  #endif
  
  #  include <linux/concap.h>
  #endif
  
@@ -19651,7 +19418,7 @@ diff -rNu linux-2.4.29.old/include/linux/isdn.h linux-2.4.29/include/linux/isdn.
  
  #include <linux/isdnif.h>
  
  
  #include <linux/isdnif.h>
  
-@@ -272,6 +336,12 @@
+@@ -272,6 +336,12 @@ typedef struct {
  #define ISDN_NET_CALLBACK   0x04       /* activate callback                 */
  #define ISDN_NET_CBHUP      0x08       /* hangup before callback            */
  #define ISDN_NET_CBOUT      0x10       /* remote machine does callback      */
  #define ISDN_NET_CALLBACK   0x04       /* activate callback                 */
  #define ISDN_NET_CBHUP      0x08       /* hangup before callback            */
  #define ISDN_NET_CBOUT      0x10       /* remote machine does callback      */
@@ -19664,7 +19431,7 @@ diff -rNu linux-2.4.29.old/include/linux/isdn.h linux-2.4.29/include/linux/isdn.
  
  #define ISDN_NET_MAGIC      0x49344C02 /* for paranoia-checking             */
  
  
  #define ISDN_NET_MAGIC      0x49344C02 /* for paranoia-checking             */
  
-@@ -386,6 +456,38 @@
+@@ -386,6 +456,38 @@ typedef struct isdn_net_local_s {
    char cisco_debserint;                       /* debugging flag of cisco hdlc with slarp */
    struct timer_list cisco_timer;
    struct tq_struct tqueue;
    char cisco_debserint;                       /* debugging flag of cisco hdlc with slarp */
    struct timer_list cisco_timer;
    struct tq_struct tqueue;
@@ -19703,7 +19470,7 @@ diff -rNu linux-2.4.29.old/include/linux/isdn.h linux-2.4.29/include/linux/isdn.
  } isdn_net_local;
  
  /* the interface itself */
  } isdn_net_local;
  
  /* the interface itself */
-@@ -608,12 +710,13 @@
+@@ -608,12 +710,13 @@ typedef struct isdn_devt {
        int               tflags;                    /* Timer-Flags:               */
        /*  see ISDN_TIMER_..defines  */
        int               global_flags;
        int               tflags;                    /* Timer-Flags:               */
        /*  see ISDN_TIMER_..defines  */
        int               global_flags;
@@ -19719,7 +19486,7 @@ diff -rNu linux-2.4.29.old/include/linux/isdn.h linux-2.4.29/include/linux/isdn.
        char              num[ISDN_MAX_CHANNELS][ISDN_MSNLEN];
        /* Remote number of active ch.*/
        int               m_idx[ISDN_MAX_CHANNELS];  /* Index for mdm....          */
        char              num[ISDN_MAX_CHANNELS][ISDN_MSNLEN];
        /* Remote number of active ch.*/
        int               m_idx[ISDN_MAX_CHANNELS];  /* Index for mdm....          */
-@@ -631,6 +734,7 @@
+@@ -631,6 +734,7 @@ typedef struct isdn_devt {
        isdn_v110_stream  *v110[ISDN_MAX_CHANNELS];  /* V.110 private data         */
        struct semaphore  sem;                       /* serialize list access*/
        unsigned long     global_features;
        isdn_v110_stream  *v110[ISDN_MAX_CHANNELS];  /* V.110 private data         */
        struct semaphore  sem;                       /* serialize list access*/
        unsigned long     global_features;
@@ -19727,7 +19494,7 @@ diff -rNu linux-2.4.29.old/include/linux/isdn.h linux-2.4.29/include/linux/isdn.
  #ifdef CONFIG_DEVFS_FS
        devfs_handle_t devfs_handle_isdninfo;
        devfs_handle_t devfs_handle_isdnctrl;
  #ifdef CONFIG_DEVFS_FS
        devfs_handle_t devfs_handle_isdninfo;
        devfs_handle_t devfs_handle_isdnctrl;
-@@ -640,10 +744,41 @@
+@@ -640,10 +744,41 @@ typedef struct isdn_devt {
        devfs_handle_t devfs_handle_ipppX[ISDN_MAX_CHANNELS];
  #endif
  #endif /* CONFIG_DEVFS_FS */
        devfs_handle_t devfs_handle_ipppX[ISDN_MAX_CHANNELS];
  #endif
  #endif /* CONFIG_DEVFS_FS */
@@ -19769,9 +19536,8 @@ diff -rNu linux-2.4.29.old/include/linux/isdn.h linux-2.4.29/include/linux/isdn.
  
  #endif /* __KERNEL__ */
  
  
  #endif /* __KERNEL__ */
  
-diff -rNu linux-2.4.29.old/include/linux/isdn_compat.h linux-2.4.29/include/linux/isdn_compat.h
---- linux-2.4.29.old/include/linux/isdn_compat.h       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/include/linux/isdn_compat.h   2005-03-22 15:06:50.017488968 +0100
+--- /dev/null
++++ b/include/linux/isdn_compat.h
 @@ -0,0 +1,261 @@
 +/* $Id: isdn_compat.h,v 1.53 2001/09/24 13:23:13 kai Exp $
 + *
 @@ -0,0 +1,261 @@
 +/* $Id: isdn_compat.h,v 1.53 2001/09/24 13:23:13 kai Exp $
 + *
@@ -20034,9 +19800,8 @@ diff -rNu linux-2.4.29.old/include/linux/isdn_compat.h linux-2.4.29/include/linu
 +
 +#endif /* __KERNEL__ */
 +#endif /* _LINUX_ISDN_COMPAT_H */
 +
 +#endif /* __KERNEL__ */
 +#endif /* _LINUX_ISDN_COMPAT_H */
-diff -rNu linux-2.4.29.old/include/linux/isdn_divertif.h linux-2.4.29/include/linux/isdn_divertif.h
---- linux-2.4.29.old/include/linux/isdn_divertif.h     2005-03-22 14:47:32.000000000 +0100
-+++ linux-2.4.29/include/linux/isdn_divertif.h 2005-03-22 15:06:50.032486688 +0100
+--- a/include/linux/isdn_divertif.h
++++ b/include/linux/isdn_divertif.h
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_divertif.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
 +/* $Id$
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_divertif.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
 +/* $Id$
@@ -20052,7 +19817,7 @@ diff -rNu linux-2.4.29.old/include/linux/isdn_divertif.h linux-2.4.29/include/li
  #define DIVERT_CMD_REG  0x00  /* register command */
  #define DIVERT_CMD_REL  0x01  /* release command */
  #define DIVERT_NO_ERR   0x00  /* return value no error */
  #define DIVERT_CMD_REG  0x00  /* register command */
  #define DIVERT_CMD_REL  0x01  /* release command */
  #define DIVERT_NO_ERR   0x00  /* return value no error */
-@@ -34,6 +34,7 @@
+@@ -34,6 +34,7 @@ typedef struct
      int (*ll_cmd)(isdn_ctrl *); /* supplied by hl on return */
      char * (*drv_to_name)(int); /* map a driver id to name, supplied by hl */
      int (*name_to_drv)(char *); /* map a driver id to name, supplied by hl */
      int (*ll_cmd)(isdn_ctrl *); /* supplied by hl on return */
      char * (*drv_to_name)(int); /* map a driver id to name, supplied by hl */
      int (*name_to_drv)(char *); /* map a driver id to name, supplied by hl */
@@ -20060,9 +19825,8 @@ diff -rNu linux-2.4.29.old/include/linux/isdn_divertif.h linux-2.4.29/include/li
    } isdn_divert_if;
  
  /*********************/
    } isdn_divert_if;
  
  /*********************/
-diff -rNu linux-2.4.29.old/include/linux/isdn_dwabc.h linux-2.4.29/include/linux/isdn_dwabc.h
---- linux-2.4.29.old/include/linux/isdn_dwabc.h        1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/include/linux/isdn_dwabc.h    2005-03-22 15:06:50.048484256 +0100
+--- /dev/null
++++ b/include/linux/isdn_dwabc.h
 @@ -0,0 +1,84 @@
 +/* $Id: isdn_dwabc.h,v 1.9 2001/09/26 20:32:08 detabc Exp $
 + *
 @@ -0,0 +1,84 @@
 +/* $Id: isdn_dwabc.h,v 1.9 2001/09/26 20:32:08 detabc Exp $
 + *
@@ -20148,18 +19912,16 @@ diff -rNu linux-2.4.29.old/include/linux/isdn_dwabc.h linux-2.4.29/include/linux
 +};
 +
 +#endif
 +};
 +
 +#endif
-diff -rNu linux-2.4.29.old/include/linux/isdn_lzscomp.h linux-2.4.29/include/linux/isdn_lzscomp.h
---- linux-2.4.29.old/include/linux/isdn_lzscomp.h      2005-03-22 14:47:32.000000000 +0100
-+++ linux-2.4.29/include/linux/isdn_lzscomp.h  2005-03-22 15:06:50.089478024 +0100
+--- a/include/linux/isdn_lzscomp.h
++++ b/include/linux/isdn_lzscomp.h
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_lzscomp.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
 +/* $Id$
   *
   * Header for isdn_lzscomp.c
   * Concentrated here to not mess up half a dozen kernel headers with code
 @@ -1,4 +1,4 @@
 -/* $Id: isdn_lzscomp.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
 +/* $Id$
   *
   * Header for isdn_lzscomp.c
   * Concentrated here to not mess up half a dozen kernel headers with code
-diff -rNu linux-2.4.29.old/include/linux/isdn_ppp.h linux-2.4.29/include/linux/isdn_ppp.h
---- linux-2.4.29.old/include/linux/isdn_ppp.h  2005-03-22 14:47:31.000000000 +0100
-+++ linux-2.4.29/include/linux/isdn_ppp.h      2005-03-22 15:06:50.116473920 +0100
+--- a/include/linux/isdn_ppp.h
++++ b/include/linux/isdn_ppp.h
 @@ -8,6 +8,7 @@
  #ifndef _LINUX_ISDN_PPP_H
  #define _LINUX_ISDN_PPP_H
 @@ -8,6 +8,7 @@
  #ifndef _LINUX_ISDN_PPP_H
  #define _LINUX_ISDN_PPP_H
@@ -20168,7 +19930,7 @@ diff -rNu linux-2.4.29.old/include/linux/isdn_ppp.h linux-2.4.29/include/linux/i
  
  #define CALLTYPE_INCOMING 0x1
  #define CALLTYPE_OUTGOING 0x2
  
  #define CALLTYPE_INCOMING 0x1
  #define CALLTYPE_OUTGOING 0x2
-@@ -33,6 +34,11 @@
+@@ -33,6 +34,11 @@ struct pppcallinfo
  #define PPPIOCSCOMPRESSOR _IOW('t',135,int)
  #define PPPIOCGIFNAME      _IOR('t',136, char [IFNAMSIZ] )
  
  #define PPPIOCSCOMPRESSOR _IOW('t',135,int)
  #define PPPIOCGIFNAME      _IOR('t',136, char [IFNAMSIZ] )
  
@@ -20180,7 +19942,7 @@ diff -rNu linux-2.4.29.old/include/linux/isdn_ppp.h linux-2.4.29/include/linux/i
  
  #define SC_MP_PROT       0x00000200
  #define SC_REJ_MP_PROT   0x00000400
  
  #define SC_MP_PROT       0x00000200
  #define SC_REJ_MP_PROT   0x00000400
-@@ -65,9 +71,6 @@
+@@ -65,9 +71,6 @@ struct isdn_ppp_comp_data {
  
  #include <linux/config.h>
  
  
  #include <linux/config.h>
  
@@ -20190,7 +19952,7 @@ diff -rNu linux-2.4.29.old/include/linux/isdn_ppp.h linux-2.4.29/include/linux/i
  
  #define DECOMP_ERR_NOMEM      (-10)
  
  
  #define DECOMP_ERR_NOMEM      (-10)
  
-@@ -226,10 +229,6 @@
+@@ -226,10 +229,6 @@ struct ippp_struct {
    unsigned char *cbuf;
    struct slcompress *slcomp;
  #endif
    unsigned char *cbuf;
    struct slcompress *slcomp;
  #endif
@@ -20201,9 +19963,8 @@ diff -rNu linux-2.4.29.old/include/linux/isdn_ppp.h linux-2.4.29/include/linux/i
    unsigned long debug;
    struct isdn_ppp_compressor *compressor,*decompressor;
    struct isdn_ppp_compressor *link_compressor,*link_decompressor;
    unsigned long debug;
    struct isdn_ppp_compressor *compressor,*decompressor;
    struct isdn_ppp_compressor *link_compressor,*link_decompressor;
-diff -rNu linux-2.4.29.old/include/linux/isdnif.h linux-2.4.29/include/linux/isdnif.h
---- linux-2.4.29.old/include/linux/isdnif.h    2005-03-22 14:47:31.000000000 +0100
-+++ linux-2.4.29/include/linux/isdnif.h        2005-03-22 15:06:50.132471488 +0100
+--- a/include/linux/isdnif.h
++++ b/include/linux/isdnif.h
 @@ -1,4 +1,4 @@
 -/* $Id: isdnif.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
 +/* $Id: isdnif.h,v 1.43 2002/02/09 21:19:11 keil Exp $
 @@ -1,4 +1,4 @@
 -/* $Id: isdnif.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
 +/* $Id: isdnif.h,v 1.43 2002/02/09 21:19:11 keil Exp $
@@ -20218,7 +19979,7 @@ diff -rNu linux-2.4.29.old/include/linux/isdnif.h linux-2.4.29/include/linux/isd
  
  /*
   * Values for general protocol-selection
  
  /*
   * Values for general protocol-selection
-@@ -213,6 +214,8 @@
+@@ -213,6 +214,8 @@ typedef struct
  #define ISDN_STAT_FAXIND  276    /* FAX indications from HL-driver        */
  #define ISDN_STAT_AUDIO   277    /* DTMF, DSP indications                 */
  #define ISDN_STAT_DISCH   278    /* Disable/Enable channel usage          */
  #define ISDN_STAT_FAXIND  276    /* FAX indications from HL-driver        */
  #define ISDN_STAT_AUDIO   277    /* DTMF, DSP indications                 */
  #define ISDN_STAT_DISCH   278    /* Disable/Enable channel usage          */
@@ -20227,9 +19988,8 @@ diff -rNu linux-2.4.29.old/include/linux/isdnif.h linux-2.4.29/include/linux/isd
  
  /*
   * Audio commands
  
  /*
   * Audio commands
-diff -rNu linux-2.4.29.old/include/linux/kernelcapi.h linux-2.4.29/include/linux/kernelcapi.h
---- linux-2.4.29.old/include/linux/kernelcapi.h        2005-03-22 14:47:32.000000000 +0100
-+++ linux-2.4.29/include/linux/kernelcapi.h    2005-03-22 15:06:50.147469208 +0100
+--- a/include/linux/kernelcapi.h
++++ b/include/linux/kernelcapi.h
 @@ -1,12 +1,10 @@
 -/* $Id: kernelcapi.h,v 1.1.4.2 2002/01/28 18:25:10 kai Exp $
 +/*
 @@ -1,12 +1,10 @@
 -/* $Id: kernelcapi.h,v 1.1.4.2 2002/01/28 18:25:10 kai Exp $
 +/*
This page took 0.326804 seconds and 4 git commands to generate.