[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
  
@@ -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)
-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
@@ -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.
-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:
-@@ -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)
  
@@ -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.
-@@ -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.
  
@@ -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)
 +
-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 
-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
@@ -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.
-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
@@ -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)
-@@ -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)
@@ -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)
-@@ -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
@@ -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).
  
-@@ -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.
  
@@ -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
  -------------------------
-@@ -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)
@@ -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.
-@@ -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
  
@@ -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
-@@ -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
@@ -182,63 +176,56 @@ diff -rNu linux-2.4.29.old/Documentation/isdn/README.HiSax linux-2.4.29/Document
  
  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.
-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.
-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)
-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
-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:
  
-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>
-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
@@ -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
 +
-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
@@ -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
-@@ -23,6 +21,30 @@
+@@ -23,6 +21,30 @@ if [ "$CONFIG_X25" != "n" ]; then
  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
-@@ -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
@@ -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
-@@ -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
@@ -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
-@@ -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
@@ -538,9 +524,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/Config.in linux-2.4.29/drivers/isdn/Conf
  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.
@@ -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.
  
-@@ -32,9 +32,9 @@
+@@ -32,9 +32,9 @@ obj-$(CONFIG_ISDN_PPP_BSDCOMP)               += isdn_
  
  # 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
-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.
   *
-@@ -178,19 +178,19 @@
+@@ -178,19 +178,19 @@ typedef struct 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);
-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).
   *
-@@ -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)) {
@@ -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;
-@@ -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 */
@@ -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);
-@@ -363,6 +365,9 @@
+@@ -363,6 +365,9 @@ act2000_isa_send(act2000_card * card)
                } 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).
   *
-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
-@@ -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"},
@@ -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},
  };
-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.
   *
-@@ -294,6 +294,19 @@
+@@ -294,6 +294,19 @@ typedef struct actcapi_msg {
                        __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));  
-@@ -304,6 +317,7 @@
+@@ -304,6 +317,7 @@ typedef struct actcapi_msg {
                        __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;
-@@ -330,7 +344,7 @@
+@@ -330,7 +344,7 @@ typedef struct 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;
-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.
   *
-@@ -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 |
@@ -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;
-@@ -843,6 +847,39 @@
+@@ -843,6 +847,39 @@ static void __exit act2000_exit(void)
          }
          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);
-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
   *
-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>
   *
-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 $
@@ -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 $
@@ -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;
@@ -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);
-@@ -907,12 +912,12 @@
+@@ -907,12 +912,12 @@ int b1dmactl_read_proc(char *page, char 
        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);
-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 $
@@ -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 $
@@ -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");
-@@ -416,14 +419,14 @@
+@@ -416,14 +419,14 @@ static int add_card(struct pci_dev *dev)
        }
        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",
-@@ -440,7 +443,7 @@
+@@ -440,7 +443,7 @@ static int add_card(struct pci_dev *dev)
                }
        } 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",
-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 $
@@ -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 $
@@ -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>
-@@ -29,7 +30,7 @@
+@@ -30,7 +31,7 @@
  #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
-@@ -38,6 +39,7 @@
+@@ -39,6 +40,7 @@ static char *revision = "$Revision: 1.1.
  
  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 },
-@@ -45,6 +47,7 @@
+@@ -46,6 +48,7 @@ static struct pci_device_id 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");
-@@ -1328,9 +1331,9 @@
+@@ -1332,9 +1335,9 @@ static int __init search_cards(struct ca
                }
                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",
-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 $
@@ -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");
-@@ -87,10 +93,10 @@
+@@ -87,10 +93,10 @@ struct capiminor {
        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;
-@@ -112,16 +118,22 @@
+@@ -112,16 +118,22 @@ struct capiminor {
        /* 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;
-@@ -131,8 +143,8 @@
+@@ -131,8 +143,8 @@ struct capincci {
  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;
  
-@@ -156,22 +168,28 @@
+@@ -156,22 +168,28 @@ static struct capidev *capidev_openlist 
  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;
-@@ -184,7 +202,7 @@
+@@ -184,7 +202,7 @@ static int capincci_add_ack(struct capim
        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;
  
-@@ -192,7 +210,11 @@
+@@ -192,7 +210,11 @@ static int capiminor_del_ack(struct capi
                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;
                }
-@@ -200,7 +222,7 @@
+@@ -200,7 +222,7 @@ static int capiminor_del_ack(struct capi
        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;
  
-@@ -208,7 +230,11 @@
+@@ -208,7 +230,11 @@ static void capiminor_del_all_ack(struct
        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--;
        }
  }
-@@ -216,13 +242,17 @@
+@@ -216,13 +242,17 @@ static void capiminor_del_all_ack(struct
  
  /* -------- 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");
-@@ -257,7 +287,7 @@
+@@ -257,7 +287,7 @@ static struct capiminor *capiminor_alloc
        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;
  
-@@ -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);
@@ -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));
-@@ -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)
-@@ -294,7 +328,7 @@
+@@ -294,7 +328,7 @@ static struct capiminor *capiminor_find(
  
  /* -------- 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
-@@ -302,7 +336,11 @@
+@@ -302,7 +336,11 @@ static struct capincci *capincci_alloc(s
        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));
-@@ -331,7 +369,7 @@
+@@ -331,7 +369,7 @@ static struct capincci *capincci_alloc(s
          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
-@@ -367,7 +405,11 @@
+@@ -367,7 +405,11 @@ static void capincci_free(struct capidev
                                }
                        }
  #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;
-@@ -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;
  
-@@ -393,7 +435,11 @@
+@@ -393,7 +435,11 @@ static struct capidev *capidev_alloc(str
        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));
-@@ -423,10 +469,14 @@
+@@ -423,10 +469,14 @@ static void capidev_free(struct capidev 
        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) {
-@@ -439,13 +489,13 @@
+@@ -439,13 +489,13 @@ static struct capidev *capidev_find(u16 
  #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);
-@@ -458,11 +508,11 @@
+@@ -458,11 +508,11 @@ gen_data_b3_resp_for(struct capiminor *m
        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) {
-@@ -504,6 +554,28 @@
+@@ -504,6 +554,28 @@ static int handle_recv_skb(struct capimi
                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)
-@@ -538,7 +610,7 @@
+@@ -538,7 +610,7 @@ static int handle_recv_skb(struct capimi
        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) {
-@@ -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)
-@@ -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;
@@ -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);
-@@ -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 */
@@ -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 */
-@@ -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 -------------------------- */
  
@@ -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) {
-@@ -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);
@@ -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);
-@@ -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;
@@ -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;
-@@ -998,7 +1076,7 @@
+@@ -998,7 +1076,7 @@ capi_ioctl(struct inode *inode, struct f
                                                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
-@@ -1023,7 +1101,7 @@
+@@ -1023,7 +1101,7 @@ capi_ioctl(struct inode *inode, struct f
                                                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;
-@@ -1070,7 +1148,9 @@
+@@ -1070,7 +1148,9 @@ capi_release(struct inode *inode, struct
  
  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,
-@@ -1233,6 +1313,45 @@
+@@ -1233,6 +1313,45 @@ capinc_raw_ioctl(struct inode *inode, st
                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;
  }
-@@ -1260,7 +1379,9 @@
+@@ -1260,7 +1379,9 @@ capinc_raw_release(struct inode *inode, 
  
  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,
-@@ -1272,7 +1393,7 @@
+@@ -1272,7 +1393,7 @@ static struct file_operations capinc_raw
  
  /* -------- 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;
  
-@@ -1300,7 +1421,7 @@
+@@ -1300,7 +1421,7 @@ static int capinc_tty_open(struct tty_st
        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;
  
-@@ -1325,8 +1446,8 @@
+@@ -1325,8 +1446,8 @@ static void capinc_tty_close(struct tty_
  #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;
-@@ -1377,7 +1498,7 @@
+@@ -1377,7 +1498,7 @@ static int capinc_tty_write(struct tty_s
        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;
-@@ -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;
-@@ -1440,7 +1561,7 @@
+@@ -1440,7 +1561,7 @@ static void capinc_tty_flush_chars(struc
        (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;
-@@ -1458,7 +1579,7 @@
+@@ -1458,7 +1579,7 @@ static int capinc_tty_write_room(struct 
        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) {
-@@ -1476,7 +1597,7 @@
+@@ -1476,7 +1597,7 @@ static int capinc_tty_chars_in_buffer(st
        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;
-@@ -1488,14 +1609,14 @@
+@@ -1488,14 +1609,14 @@ static int capinc_tty_ioctl(struct tty_s
        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
-@@ -1505,7 +1626,7 @@
+@@ -1505,7 +1626,7 @@ static void capinc_tty_throttle(struct t
                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
-@@ -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
-@@ -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
-@@ -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;
  }
-@@ -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];
  
@@ -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;
  
-@@ -1646,7 +1773,7 @@
+@@ -1646,7 +1773,7 @@ static int capinc_tty_init(void)
        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;
-@@ -1771,8 +1898,9 @@
+@@ -1771,8 +1898,9 @@ static void __exit proc_exit(void)
  
  /* -------- 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);
-@@ -1837,8 +1965,9 @@
+@@ -1837,8 +1965,9 @@ static int __init alloc_init(void)
  #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;
-@@ -1900,15 +2029,19 @@
+@@ -1900,15 +2029,19 @@ static int __init capi_init(void)
                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) {
-@@ -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 */
@@ -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;
        }
  
-@@ -1934,8 +2069,10 @@
+@@ -1934,8 +2069,10 @@ static int __init capi_init(void)
        }
  #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++) {
-@@ -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));
                }
@@ -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();
  
-@@ -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
@@ -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);
  }
-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
   * 
-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
   *
-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 $
@@ -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");
-@@ -105,7 +105,6 @@
+@@ -105,7 +105,6 @@ struct capidrv_contr {
                                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;
-@@ -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;
@@ -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;
-@@ -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;
@@ -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);
-@@ -491,31 +488,25 @@
+@@ -491,31 +488,25 @@ static int capidrv_add_ack(struct capidr
        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;
  }
  
-@@ -523,25 +514,13 @@
+@@ -523,25 +514,13 @@ static int capidrv_del_ack(struct capidr
  
  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++;
  }
  
-@@ -1932,8 +1911,10 @@
+@@ -1932,8 +1911,10 @@ static int if_sendbuf(int id, int channe
                        (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) {
-@@ -2035,6 +2016,52 @@
+@@ -2035,6 +2016,52 @@ static void enable_dchannel_trace(capidr
        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)
  {
-@@ -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);
@@ -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;
  
-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)
   *
-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 $
@@ -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>
  
-@@ -32,7 +33,7 @@
+@@ -32,7 +33,7 @@ MODULE_DESCRIPTION("CAPI4Linux: /dev/cap
  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;
-@@ -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);
@@ -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,
  };
  
-@@ -101,12 +109,20 @@
+@@ -101,12 +109,20 @@ static int capifs_root_readdir(struct fi
        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 */
-@@ -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);
@@ -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;
-@@ -180,7 +200,7 @@
+@@ -180,7 +200,7 @@ static struct dentry *capifs_root_lookup
  
        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);
  
-@@ -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) ) {
@@ -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);
                }
-@@ -213,11 +233,24 @@
+@@ -213,11 +233,24 @@ static void capifs_put_super(struct supe
  
        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,
  };
-@@ -288,6 +321,10 @@
+@@ -288,6 +321,10 @@ struct super_block *capifs_read_super(st
        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;
-@@ -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.
         */
@@ -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;
-@@ -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);
@@ -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.
-@@ -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. */ 
@@ -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;
-@@ -387,7 +452,9 @@
+@@ -387,7 +452,9 @@ static int capifs_statfs(struct super_bl
        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);
-@@ -399,8 +466,51 @@
+@@ -399,8 +466,51 @@ static struct inode *capifs_new_inode(st
        }
        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)
  {
-@@ -421,16 +531,26 @@
+@@ -421,16 +531,26 @@ void capifs_new_ncci(char type, unsigned
                                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>
   *
-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
   * 
-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 $
@@ -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");
-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
   *
-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 $
@@ -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;
@@ -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;
-@@ -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)
@@ -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];
-@@ -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.
         */
@@ -2461,7 +2421,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/kcapi.c linux-2.4.29/drivers/isdn/
        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;
@@ -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) {
-@@ -639,7 +637,9 @@
+@@ -639,7 +637,9 @@ static void notify_handler(void *dummy)
                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 ------------------------------------- */
-@@ -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;
@@ -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;
-@@ -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;
@@ -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;
-@@ -676,14 +672,12 @@
+@@ -676,14 +672,12 @@ static inline int mq_enqueue(struct capi
        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;
-@@ -693,11 +687,9 @@
+@@ -693,11 +687,9 @@ static inline int mq_dequeue(struct capi
                        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;
  }
  
-@@ -720,16 +712,12 @@
+@@ -720,16 +712,12 @@ static void controllercb_appl_released(s
                        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
-@@ -882,7 +870,16 @@
+@@ -882,7 +870,16 @@ error:
  
  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);
  
-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 $
@@ -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 $
@@ -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");
-@@ -264,9 +267,9 @@
+@@ -264,9 +267,9 @@ static int __init t1pci_init(void)
                }
                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",
-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$
@@ -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"
  
  /*********************************/
-@@ -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;
@@ -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)) {
-@@ -92,11 +94,11 @@
+@@ -92,11 +94,11 @@ isdn_divert_read(struct file *file, char
                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);
-@@ -136,17 +138,23 @@
+@@ -136,17 +138,23 @@ isdn_divert_open(struct inode *ino, stru
  {
        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 */
  
-@@ -159,7 +167,9 @@
+@@ -159,7 +167,9 @@ isdn_divert_close(struct inode *ino, str
        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--;
-@@ -175,7 +185,11 @@
+@@ -175,7 +185,11 @@ isdn_divert_close(struct inode *ino, str
                        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 */
  
-@@ -276,6 +290,9 @@
+@@ -276,6 +290,9 @@ static struct file_operations isdn_fops 
        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 */
-@@ -302,8 +319,16 @@
+@@ -302,8 +319,16 @@ divert_dev_init(void)
                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);
-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.
   *
-@@ -84,6 +84,9 @@
+@@ -84,6 +84,9 @@ static void deflect_timer_expire(ulong a
         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);
-@@ -452,6 +455,7 @@
+@@ -452,6 +455,7 @@ int isdn_divert_icall(isdn_ctrl *ic)
           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 */  
-@@ -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 */
@@ -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,
-@@ -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:
-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$
@@ -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 */
-@@ -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  
@@ -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 */ 
-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"
@@ -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");
-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--)
        {
@@ -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.
   *
-@@ -348,19 +348,19 @@
+@@ -347,19 +347,19 @@ typedef struct eicon_card {
  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);
-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
-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 $
@@ -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;
  
-@@ -1583,6 +1583,37 @@
+@@ -1583,6 +1583,37 @@ idi_faxdata_rcv(eicon_card *ccard, eicon
                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) {
-@@ -2054,8 +2085,7 @@
+@@ -2054,8 +2085,7 @@ idi_faxdata_send(eicon_card *ccard, eico
                                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);
-@@ -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);
@@ -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) {
-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
-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.
-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 $
@@ -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
  
-@@ -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) {
@@ -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;
  }
-@@ -94,12 +98,20 @@
+@@ -94,12 +98,20 @@ eicon_isa_find_card(int Mem, int Irq, ch
                         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);
-@@ -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);
@@ -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;
-@@ -151,6 +167,7 @@
+@@ -151,6 +167,7 @@ eicon_isa_bootload(eicon_isa_card *card,
        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);
-@@ -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);
@@ -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
-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.
   *
-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 $
@@ -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;
-@@ -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)
  {
@@ -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);
  }
  
-@@ -665,11 +677,8 @@
+@@ -665,11 +677,8 @@ if_readstatus(u_char * buf, int len, int
                        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);
  
-@@ -1459,6 +1468,7 @@
+@@ -1459,6 +1468,7 @@ eicon_exit(void)
  
  #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)
  {
-@@ -1467,6 +1477,12 @@
+@@ -1467,6 +1477,12 @@ eicon_setup(char *line)
        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;
-@@ -1494,9 +1510,13 @@
+@@ -1494,9 +1510,13 @@ eicon_setup(char *line)
  #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 */
  
-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 $
@@ -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
-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).
   *
-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;
@@ -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"));
-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"
@@ -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, ...)
  
  {
-@@ -40,7 +502,7 @@
+@@ -40,7 +502,7 @@ void    DivasPrintf(char  *fmt, ...)
  
      /* 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);
  
-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"
  
@@ -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>
  
-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))
@@ -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);
        }
-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>
@@ -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"
-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
@@ -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
-@@ -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
@@ -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
-@@ -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
@@ -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
-@@ -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
@@ -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))
-@@ -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
@@ -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)
-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 $
 + *
@@ -4609,27 +4545,24 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/amd7930.c linux-2.4.29/drivers/isd
 +
 +      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
   *
-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
   *
-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 $
@@ -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)
-@@ -310,27 +309,6 @@
+@@ -310,27 +309,6 @@ Asus_card_msg(struct IsdnCardState *cs, 
        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)
  {
-@@ -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);
@@ -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];
-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 $
@@ -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
-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 $
@@ -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)
-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 $
@@ -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
-@@ -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;
        }
@@ -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);
-@@ -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);
@@ -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;
-@@ -766,10 +764,6 @@
+@@ -766,10 +764,6 @@ AVM_card_msg(struct IsdnCardState *cs, i
  }
  
  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)
-@@ -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]) {
@@ -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");
-@@ -838,7 +795,7 @@
+@@ -838,7 +795,7 @@ setup_avm_pcipnp(struct IsdnCard *card)
                        }
                        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);
-@@ -854,7 +811,6 @@
+@@ -854,7 +811,6 @@ setup_avm_pcipnp(struct IsdnCard *card)
                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
-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 $
@@ -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
-@@ -293,13 +294,13 @@
+@@ -293,13 +294,13 @@ setup_bkm_a4t(struct IsdnCard *card)
                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;
                }
-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 $
@@ -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[] =
  {
-@@ -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))) {
                        
@@ -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;
-@@ -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);
@@ -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 */
        }
-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)
   *
-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 $
@@ -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;
-@@ -145,9 +145,11 @@
+@@ -145,9 +145,11 @@ enum {
        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[] =
  {
-@@ -174,6 +176,8 @@
+@@ -174,6 +176,8 @@ static char *strEvent[] =
        "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
@@ -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;
-@@ -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},
@@ -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},
-@@ -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; 
@@ -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 */
  
-@@ -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):
@@ -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;
-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>
-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 $
@@ -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
   *
-@@ -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",
@@ -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}
-@@ -339,19 +349,27 @@
+@@ -339,19 +349,27 @@ EXPORT_SYMBOL(HiSax_closecard);
        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
-@@ -361,27 +379,23 @@
+@@ -361,27 +379,23 @@ static int io[HISAX_MAX_CARDS] __devinit
  #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 */
  
-@@ -432,6 +446,7 @@
+@@ -432,6 +446,7 @@ void __init HiSaxVersion(void)
  }
  
  #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)
  {
-@@ -440,12 +455,16 @@
+@@ -440,12 +455,16 @@ static int __init HiSax_setup(char *line
        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++;
-@@ -473,19 +492,21 @@
+@@ -473,19 +492,21 @@ static int __init HiSax_setup(char *line
                }
                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
-@@ -560,6 +581,10 @@
+@@ -560,6 +581,10 @@ extern int setup_hfcs(struct IsdnCard *c
  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
-@@ -604,10 +629,6 @@
+@@ -604,10 +629,6 @@ extern int setup_w6692(struct IsdnCard *
  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
   */
-@@ -899,7 +920,8 @@
+@@ -899,7 +920,8 @@ static int __devinit init_card(struct Is
        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;
-@@ -1093,6 +1115,12 @@
+@@ -1093,6 +1115,12 @@ static int __devinit checkcard(int cardn
                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);
-@@ -1143,11 +1171,6 @@
+@@ -1143,11 +1171,6 @@ static int __devinit checkcard(int cardn
                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;
-@@ -1186,6 +1209,9 @@
+@@ -1186,6 +1209,9 @@ static int __devinit checkcard(int cardn
        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;
-@@ -1257,16 +1283,13 @@
+@@ -1257,16 +1283,13 @@ int __devinit HiSax_inithardware(int *bu
                        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--;
                }
-@@ -1342,6 +1365,49 @@
+@@ -1342,6 +1365,49 @@ void HiSax_reportcard(int cardnr, int se
  #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;
-@@ -1408,8 +1474,6 @@
+@@ -1408,8 +1474,6 @@ static int __init HiSax_init(void)
                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:
-@@ -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;
@@ -5446,7 +5370,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn
                        }
                        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 */
@@ -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:
-@@ -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];
@@ -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;
-@@ -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" : "");
  
@@ -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;
-@@ -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];
@@ -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;
-@@ -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" : "");
  
@@ -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;
-@@ -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];
@@ -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;
-@@ -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" : "");
  
@@ -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;
-@@ -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];
@@ -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;
-@@ -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" : "");
  
@@ -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;
-@@ -1743,7 +1793,7 @@
+@@ -1743,7 +1793,7 @@ int __devinit hisax_init_pcmcia(void *pc
                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;
-@@ -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++;
@@ -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--;
-@@ -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},
@@ -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},
-@@ -2178,11 +2225,3 @@
+@@ -2178,11 +2225,3 @@ MODULE_DEVICE_TABLE(pci, hisax_pci_tbl);
  
  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);
-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 $
@@ -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)
-@@ -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
@@ -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
-@@ -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
@@ -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
-@@ -244,47 +240,6 @@
+@@ -244,47 +240,6 @@ MemWriteHSCX(struct IsdnCardState *cs, i
        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
   */
-@@ -595,7 +550,7 @@
+@@ -595,7 +550,7 @@ Memhscx_int_main(struct IsdnCardState *c
        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) {
-@@ -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);
        }
@@ -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) {
-@@ -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);
        }
@@ -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);
-@@ -705,31 +660,12 @@
+@@ -705,31 +660,12 @@ Start_IPACPCI:
        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 */ 
-@@ -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);
@@ -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);
-@@ -814,9 +740,7 @@
+@@ -814,9 +740,7 @@ diva_led_handler(struct IsdnCardState *c
  {
        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)
-@@ -859,12 +783,6 @@
+@@ -859,12 +783,6 @@ Diva_card_msg(struct IsdnCardState *cs, 
                        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;
-@@ -901,9 +819,7 @@
+@@ -901,9 +819,7 @@ Diva_card_msg(struct IsdnCardState *cs, 
                        }
                        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);
  }
-@@ -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;
@@ -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];
-@@ -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];
@@ -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");
-@@ -1059,14 +879,14 @@
+@@ -1059,14 +879,14 @@ setup_diva(struct IsdnCard *card)
                                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))
-@@ -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 =
@@ -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);
-@@ -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 */
@@ -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;
-@@ -1125,23 +934,18 @@
+@@ -1125,23 +934,18 @@ setup_diva(struct IsdnCard *card)
                        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",
-@@ -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);
@@ -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;
-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 $
@@ -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", 
-@@ -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;
  
@@ -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)
  {
-@@ -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;
@@ -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");
-@@ -955,60 +939,9 @@
+@@ -955,60 +939,9 @@ setup_elsa(struct IsdnCard *card)
                        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;
-@@ -1058,16 +991,16 @@
+@@ -1058,16 +991,16 @@ setup_elsa(struct IsdnCard *card)
                                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);
-@@ -1123,7 +1056,6 @@
+@@ -1123,7 +1056,6 @@ setup_elsa(struct IsdnCard *card)
                        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;
-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 =
@@ -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
-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
   *
-@@ -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)
  {
-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$
@@ -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)
  {
-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
   *
-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 $
@@ -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
-@@ -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;
@@ -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)
-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
   *
-@@ -616,6 +616,17 @@
+@@ -616,6 +616,17 @@ hfcd_bh(struct IsdnCardState *cs)
  */
        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):
-@@ -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;
@@ -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);
-@@ -1106,6 +1143,20 @@
+@@ -1106,6 +1143,20 @@ setstack_hfcd(struct PStack *st, struct 
  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
-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
   *
-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
   *
-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
   *
-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 $
@@ -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 {
-@@ -76,8 +77,6 @@
+@@ -76,8 +77,6 @@ release_io_hfcpci(struct IsdnCardState *
  {
        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 ! */
-@@ -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 */
@@ -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);
  
@@ -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 */
-@@ -1146,6 +1143,20 @@
+@@ -1146,6 +1143,20 @@ hfcpci_interrupt(int intno, void *dev_id
  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;
@@ -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) {
-@@ -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);
@@ -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;
-@@ -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);
                        }
@@ -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");
-@@ -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;
                }
@@ -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,
-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
   *
-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 $
@@ -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       */
-@@ -940,6 +939,20 @@
+@@ -940,6 +939,20 @@ hfcsx_interrupt(int intno, void *dev_id,
  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;
@@ -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) {
-@@ -1461,17 +1485,7 @@
+@@ -1461,17 +1485,7 @@ hfcsx_card_msg(struct IsdnCardState *cs,
        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)
-@@ -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));
@@ -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;
-@@ -1603,3 +1578,7 @@
+@@ -1603,3 +1578,7 @@ setup_hfcsx(struct IsdnCard *card)
        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
   *
-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 $
 + *
@@ -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);
-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 $
 +
@@ -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 */
 +}
-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 $
@@ -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)
-@@ -140,36 +139,6 @@
+@@ -140,36 +139,6 @@ hfcs_card_msg(struct IsdnCardState *cs, 
        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)
  {
-@@ -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));
@@ -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;
-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 $
@@ -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
-@@ -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
@@ -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
-@@ -695,6 +692,13 @@
+@@ -695,6 +692,13 @@ struct hfcPCI_hw {
        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;
-@@ -838,17 +842,6 @@
+@@ -838,17 +842,6 @@ struct w6692_chip {
        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;
-@@ -902,6 +895,9 @@
+@@ -902,6 +895,9 @@ struct IsdnCardState {
                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;
-@@ -945,7 +941,6 @@
+@@ -945,7 +941,6 @@ struct IsdnCardState {
                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;
-@@ -967,6 +962,8 @@
+@@ -967,6 +962,8 @@ struct IsdnCardState {
  #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
-@@ -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
@@ -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
  
  
-@@ -1267,10 +1264,6 @@
+@@ -1267,10 +1264,6 @@ struct IsdnCardState {
  #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 */
-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 { \
@@ -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) \
-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
@@ -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
-@@ -46,10 +43,14 @@
+@@ -46,10 +43,14 @@ static int debug = 0;
  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,
-@@ -58,7 +59,7 @@
+@@ -58,7 +59,7 @@ static struct pci_device_id 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" },
-@@ -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");
@@ -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);
@@ -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;
  }
-@@ -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;
  
@@ -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);
-@@ -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);
@@ -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;
-@@ -252,7 +254,7 @@
+@@ -252,7 +254,7 @@ static void fcpci2_write_isac(struct isa
        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);
-@@ -375,6 +377,9 @@
+@@ -375,6 +377,9 @@ static void hdlc_fill_fifo(struct fritz_
  
        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();
  
-@@ -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;
@@ -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)
-@@ -536,7 +540,7 @@
+@@ -536,7 +540,7 @@ static inline void hdlc_xpr_irq(struct f
        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) {
-@@ -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;
-@@ -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)
@@ -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:
@@ -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);
-@@ -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)
@@ -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)
-@@ -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))
@@ -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);
@@ -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;
@@ -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,"");
-@@ -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;
@@ -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)
-@@ -808,11 +808,23 @@
+@@ -808,11 +808,23 @@ static int __devinit fcpcipnp_setup(stru
  
  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));
  
@@ -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;
-@@ -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;
        }
@@ -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);
  
-@@ -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);
@@ -8895,7 +8798,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/driv
        kfree(adapter);
  }
  
-@@ -863,12 +879,15 @@
+@@ -863,12 +879,15 @@ static int __devinit fcpci_probe(struct 
        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;
-@@ -876,12 +895,7 @@
+@@ -876,12 +895,7 @@ static int __devinit fcpci_probe(struct 
        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)
-@@ -901,6 +915,9 @@
+@@ -901,6 +915,9 @@ static int __devinit fcpnp_probe(struct 
        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)
-@@ -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;
@@ -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;
-@@ -929,43 +943,35 @@
+@@ -929,43 +943,35 @@ static int __devinit fcpnp_probe(struct 
        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)
-@@ -976,15 +982,14 @@
+@@ -976,15 +982,14 @@ static int __init hisax_fcpcipnp_init(vo
        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
-@@ -994,11 +999,15 @@
+@@ -994,11 +999,15 @@ static int __init hisax_fcpcipnp_init(vo
        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
-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 {
@@ -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];
-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");
@@ -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",
-@@ -42,10 +42,6 @@
+@@ -42,10 +42,6 @@ static char *ISACVer[] = {
  };
  #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
-@@ -438,7 +434,7 @@
+@@ -438,7 +434,7 @@ static void l1m_debug(struct FsmInst *fi
        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;
  
-@@ -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;
  
-@@ -635,8 +631,6 @@
+@@ -635,8 +631,6 @@ void isac_irq(struct isac *isac)
        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;
  
-@@ -755,7 +749,7 @@
+@@ -755,7 +749,7 @@ void isacsx_irq(struct isac *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;
-@@ -770,7 +764,7 @@
+@@ -770,7 +764,7 @@ void isac_init(struct isac *isac)
        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;
  
-@@ -781,7 +775,7 @@
+@@ -781,7 +775,7 @@ void isac_setup(struct isac *isac)
  
        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);
-@@ -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);
@@ -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);
  }
  
-@@ -888,10 +882,10 @@
+@@ -888,10 +882,10 @@ EXPORT_SYMBOL(isac_init);
  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);
-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
@@ -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;
-@@ -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);
@@ -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
-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 *
@@ -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__
@@ -9336,9 +9234,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isapnp.h linux-2.4.29/driver
 +#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 $
 + *
@@ -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);
-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
   *
-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
   *
-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
   *
-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
   *
-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
   *
-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
   *
-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
   *
-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
   *
-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 $
@@ -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);
-@@ -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)
@@ -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
  }
-@@ -414,7 +412,6 @@
+@@ -414,7 +412,6 @@ isar_load_firmware(struct IsdnCardState 
        }
        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);
-@@ -428,21 +425,6 @@
+@@ -428,21 +425,6 @@ reterror:
        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
-@@ -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");
@@ -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) |
-@@ -609,6 +592,7 @@
+@@ -609,6 +592,7 @@ isar_rcv_frame(struct IsdnCardState *cs,
                                }
                        } 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;
                }
-@@ -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 {
@@ -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);
-@@ -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);
@@ -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 {
-@@ -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);
@@ -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;
                        }
-@@ -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");
@@ -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:
-@@ -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;
-@@ -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) {
@@ -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;
-@@ -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);
@@ -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",
-@@ -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);
        }
@@ -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
-@@ -1303,7 +1288,7 @@
+@@ -1303,7 +1288,7 @@ setup_pump(struct BCState *bcs) {
                        } 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;
-@@ -1319,7 +1304,7 @@
+@@ -1319,7 +1304,7 @@ setup_pump(struct BCState *bcs) {
                        } 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;
-@@ -1348,6 +1333,7 @@
+@@ -1348,6 +1333,7 @@ setup_sart(struct BCState *bcs) {
                                "\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);
-@@ -1359,9 +1345,6 @@
+@@ -1359,9 +1345,6 @@ setup_sart(struct BCState *bcs) {
                        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);
-@@ -1465,7 +1448,6 @@
+@@ -1465,7 +1448,6 @@ isar_pump_cmd(struct BCState *bcs, u_cha
  
        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;
-@@ -1489,7 +1471,6 @@
+@@ -1489,7 +1471,6 @@ isar_pump_cmd(struct BCState *bcs, u_cha
                        }
                        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;
-@@ -1513,7 +1494,6 @@
+@@ -1513,7 +1494,6 @@ isar_pump_cmd(struct BCState *bcs, u_cha
                        }
                        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;
-@@ -1537,7 +1517,6 @@
+@@ -1537,7 +1517,6 @@ isar_pump_cmd(struct BCState *bcs, u_cha
                        }
                        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;
-@@ -1560,11 +1539,6 @@
+@@ -1560,11 +1539,6 @@ isar_pump_cmd(struct BCState *bcs, u_cha
                                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);
-@@ -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):
@@ -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)
-@@ -1758,51 +1723,6 @@
+@@ -1758,51 +1723,6 @@ isar_auxcmd(struct IsdnCardState *cs, is
                                                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:
-@@ -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) {
@@ -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,
-@@ -1850,7 +1762,7 @@
+@@ -1850,7 +1762,7 @@ isar_auxcmd(struct IsdnCardState *cs, is
                        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;
-@@ -1860,26 +1772,6 @@
+@@ -1860,26 +1772,6 @@ isar_auxcmd(struct IsdnCardState *cs, is
                                        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);
-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 $
@@ -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);
-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 $
@@ -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>
-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
   *
-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 $
@@ -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, ...);
  
-@@ -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);
@@ -9985,18 +9869,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isdnl2.c linux-2.4.29/drivers/isdn
  }
  
  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
   *
-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 $
@@ -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;
  
-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.
-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 $
@@ -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)
-@@ -128,8 +127,10 @@
+@@ -128,8 +127,10 @@ void
  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
-@@ -194,10 +195,6 @@
+@@ -194,10 +195,6 @@ isurf_auxcmd(struct IsdnCardState *cs, i
        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)
  {
-@@ -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 {
@@ -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
-@@ -277,6 +225,7 @@
+@@ -277,6 +225,7 @@ setup_isurf(struct IsdnCard *card)
        } 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",
-@@ -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;
@@ -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,
-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 $
@@ -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)
-@@ -219,21 +218,6 @@
+@@ -219,21 +218,6 @@ ix1_card_msg(struct IsdnCardState *cs, i
        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)
-@@ -246,45 +230,6 @@
+@@ -246,45 +230,6 @@ setup_ix1micro(struct IsdnCard *card)
        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;
-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)
   *
-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
   *
-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)
   *
-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 $
@@ -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; \
-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
   *
-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 $
@@ -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
  
-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
   *
-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 $
@@ -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
  
-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
   *
-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
   *
-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
@@ -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-----
-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 $
@@ -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)
-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 $
@@ -10453,7 +10319,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/netjet.c linux-2.4.29/drivers/isdn
  
  /* 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;
@@ -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",
-@@ -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);
                        }
@@ -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;
-@@ -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);
@@ -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)
-@@ -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);
@@ -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):
-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
   *
-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 $
@@ -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)
-@@ -239,9 +239,6 @@
+@@ -239,9 +239,6 @@ niccy_card_msg(struct IsdnCardState *cs,
  }
  
  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)
-@@ -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);
@@ -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;
-@@ -331,12 +296,12 @@
+@@ -331,12 +296,12 @@ setup_niccy(struct IsdnCard *card)
                                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);
-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 $
@@ -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)
  {
-@@ -130,7 +131,6 @@
+@@ -130,7 +131,6 @@ NETjet_S_card_msg(struct IsdnCardState *
                        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);
-@@ -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);
                        }
@@ -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);
-@@ -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");
        }
@@ -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;
-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 $ 
@@ -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)
  {
-@@ -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);
                        }
@@ -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);
-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
   *
-@@ -197,6 +197,31 @@
+@@ -197,6 +197,31 @@ struct MessageType mt_n1[] =
  
  #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)
-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 $
 + *
@@ -11283,9 +11143,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/rawhdlc.c linux-2.4.29/drivers/isd
 +}
 +
 +#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 $
 + *
@@ -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
-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 $
@@ -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) {
-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 $
@@ -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)
-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 $
@@ -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
-@@ -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
@@ -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
-@@ -531,21 +533,6 @@
+@@ -531,21 +533,6 @@ Sedl_card_msg(struct IsdnCardState *cs, 
  
  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)
  {
-@@ -581,57 +568,6 @@
+@@ -581,57 +568,6 @@ setup_sedlbauer(struct IsdnCard *card)
                        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()) {
-@@ -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);
                        }
@@ -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",
-@@ -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;
@@ -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;
-@@ -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);
@@ -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();
-@@ -697,7 +636,7 @@
+@@ -697,7 +636,7 @@ setup_sedlbauer(struct IsdnCard *card)
                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.
-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 $
@@ -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)
-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
 +
@@ -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...) \
@@ -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>
-@@ -236,7 +236,7 @@
+@@ -236,7 +236,7 @@ printk(KERN_INFO "%s:%s: " format "\n" ,
   * 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;
-@@ -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
@@ -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);
-@@ -289,13 +289,13 @@
+@@ -289,13 +289,13 @@ static inline int fifo_remove(struct fif
                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);
-@@ -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 {
@@ -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; 
-@@ -336,7 +336,7 @@
+@@ -336,7 +336,7 @@ struct st5481_intr {
  };
  
  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;
-@@ -344,7 +344,7 @@
+@@ -344,7 +344,7 @@ struct st5481_d_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;
-@@ -352,7 +352,7 @@
+@@ -352,7 +352,7 @@ struct st5481_b_out {
  };
  
  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;
-@@ -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))
@@ -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;
-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;
@@ -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); */
  /*                            } */
-@@ -99,9 +95,9 @@
+@@ -99,9 +95,9 @@ static void usb_b_out(struct st5481_bcs 
                                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) {
@@ -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);
        
-@@ -279,7 +275,7 @@
+@@ -279,7 +275,7 @@ static int __devinit st5481_setup_b_out(
                                      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;
  
-@@ -320,7 +316,7 @@
+@@ -320,7 +316,7 @@ int __devinit st5481_setup_b(struct st54
  /*
   * 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,"");
  
-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},
@@ -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},
  };
  
-@@ -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;
@@ -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;
-@@ -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) {
@@ -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) {
-@@ -413,7 +413,7 @@
+@@ -413,7 +413,7 @@ static void dout_start_xmit(struct FsmIn
  
        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);
-@@ -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);
@@ -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)
-@@ -673,7 +673,7 @@
+@@ -673,7 +673,7 @@ static int __devinit st5481_setup_d_out(
                                      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;
  
-@@ -723,7 +723,7 @@
+@@ -723,7 +723,7 @@ int __devinit st5481_setup_d(struct st54
        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,"");
  
-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:
   *
@@ -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
-@@ -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,
@@ -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,
  };
  
-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",
@@ -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;
-@@ -69,11 +69,11 @@
+@@ -69,11 +69,11 @@ void usb_ctrl_msg(struct st5481_adapter 
        }
        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;
  
-@@ -140,17 +140,17 @@
+@@ -140,17 +140,17 @@ static void usb_ctrl_complete(struct urb
  
        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);
  
  
-@@ -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;
@@ -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,"");
-@@ -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.
   */
@@ -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;
-@@ -443,7 +443,7 @@
+@@ -443,7 +443,7 @@ st5481_setup_isocpipes(struct urb* urb[2
        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;
  
-@@ -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) {
@@ -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);
-@@ -549,7 +547,7 @@
+@@ -549,7 +547,7 @@ int __devinit st5481_setup_in(struct st5
        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,"");
  
-@@ -562,8 +560,7 @@
+@@ -562,8 +560,7 @@ void st5481_release_in(struct st5481_in 
   */
  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;
        
-@@ -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)
@@ -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);
-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 $
@@ -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
-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 $
@@ -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)
-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 $
@@ -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)
-@@ -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);
@@ -12142,7 +11988,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hisax/teles0.c linux-2.4.29/drivers/isdn
  }
  
  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];
@@ -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",
-@@ -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);
@@ -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,
-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 $
@@ -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)
-@@ -255,24 +254,6 @@
+@@ -255,24 +254,6 @@ Teles_card_msg(struct IsdnCardState *cs,
        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)
  {
-@@ -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);
  
@@ -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) {
-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 $
@@ -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
-@@ -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);
                }
@@ -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);
-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 $
@@ -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 {
-@@ -29,20 +30,14 @@
+@@ -29,20 +30,14 @@ typedef struct {
  
  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
  
-@@ -675,6 +670,16 @@
+@@ -675,6 +670,16 @@ setstack_W6692(struct PStack *st, struct
  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
-@@ -865,38 +870,31 @@
+@@ -865,38 +870,31 @@ setstack_w6692(struct PStack *st, struct
        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);
-@@ -963,14 +961,9 @@
+@@ -963,14 +961,9 @@ w6692_card_msg(struct IsdnCardState *cs,
  {
        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);
-@@ -1013,7 +1006,6 @@
+@@ -1013,7 +1006,6 @@ setup_w6692(struct IsdnCard *card)
                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++;
-@@ -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 */
@@ -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");
-@@ -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",
@@ -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");
-@@ -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",
@@ -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;
-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
   *
-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 $
 - *
@@ -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"
-@@ -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 */
  
@@ -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 */
-@@ -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);
        }
@@ -12563,7 +12404,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/boardergo.c linux-2.4.29/drivers/i
  }                             /* 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 */
@@ -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) {
-@@ -113,15 +124,13 @@
+@@ -113,15 +124,13 @@ ergo_irq_bh(hysdn_card * card)
                                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 */
  
  
-@@ -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 */
@@ -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);
-@@ -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 */
@@ -12620,7 +12461,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/boardergo.c linux-2.4.29/drivers/i
  }                             /* 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;
        }
@@ -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 */
-@@ -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 */
@@ -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 */
  
-@@ -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 */
@@ -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 */
-@@ -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");
@@ -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,
-@@ -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 */
@@ -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))) 
                        {
-@@ -387,7 +384,6 @@
+@@ -387,7 +384,6 @@ ergo_waitpofready(struct HYSDN_CARD *car
  #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 */
-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$
@@ -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 */
-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$
@@ -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");
-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
-@@ -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);
  
@@ -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)
-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 $
@@ -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 */
-@@ -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 */
@@ -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 */
-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$
@@ -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},
-@@ -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);
@@ -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 */
  
-@@ -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 */
@@ -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 */
-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.
   *
-@@ -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 */
@@ -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 */
  
-@@ -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 */
  
@@ -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
-@@ -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 */
@@ -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 */
  
  
-@@ -83,11 +88,19 @@
+@@ -83,11 +88,19 @@ net_open(struct net_device *dev)
        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]) {
-@@ -104,6 +117,7 @@
+@@ -104,6 +117,7 @@ net_open(struct net_device *dev)
        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  */
-@@ -119,6 +133,7 @@
+@@ -119,6 +133,7 @@ flush_tx_buffers(struct net_local *nl)
                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)
  {
  
@@ -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)
-@@ -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);
  
@@ -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   */
-@@ -176,6 +243,7 @@
+@@ -176,6 +243,7 @@ net_send_packet(struct sk_buff *skb, str
        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 */
  
@@ -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 */
-@@ -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);
@@ -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 */
  
  /*****************************************************/
-@@ -250,10 +328,15 @@
+@@ -250,10 +328,15 @@ hysdn_tx_netget(hysdn_card * card)
        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 */
  
  
-@@ -296,15 +379,21 @@
+@@ -296,15 +379,21 @@ hysdn_net_create(hysdn_card * card)
        }
        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);
-@@ -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 */
  
@@ -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 */
-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.
   *
-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$
@@ -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 */
  
-@@ -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)
  {
@@ -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 */
-@@ -254,7 +253,11 @@
+@@ -254,7 +253,11 @@ hysdn_conf_open(struct inode *ino, struc
        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;
-@@ -263,7 +266,11 @@
+@@ -263,7 +266,11 @@ hysdn_conf_open(struct inode *ino, struc
                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))
-@@ -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))) {
@@ -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;
-@@ -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))) {
@@ -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 */
-@@ -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 ! */
@@ -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 */
  
-@@ -338,7 +359,9 @@
+@@ -338,7 +359,9 @@ hysdn_conf_close(struct inode *ino, stru
        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) {
-@@ -348,7 +371,9 @@
+@@ -348,7 +371,9 @@ hysdn_conf_close(struct inode *ino, stru
                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))
-@@ -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 */
        }
@@ -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 */
  
-@@ -387,6 +416,9 @@
+@@ -387,6 +416,9 @@ static struct file_operations conf_fops 
        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 */
  /*****************************/
-@@ -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) {
@@ -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 */
-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$
@@ -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"
  
-@@ -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 */
@@ -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 */
-@@ -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 */
@@ -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)
-@@ -210,7 +211,6 @@
+@@ -210,7 +211,6 @@ hysdn_log_read(struct file *file, char *
        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)
-@@ -235,11 +235,11 @@
+@@ -235,11 +235,11 @@ hysdn_log_read(struct file *file, char *
                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);
-@@ -255,7 +255,11 @@
+@@ -255,7 +255,11 @@ hysdn_log_open(struct inode *ino, struct
        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;
-@@ -264,7 +268,11 @@
+@@ -264,7 +268,11 @@ hysdn_log_open(struct inode *ino, struct
                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 */
-@@ -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 */
@@ -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 */
  
-@@ -306,7 +319,9 @@
+@@ -306,7 +319,9 @@ hysdn_log_close(struct inode *ino, struc
        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 */
-@@ -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;
@@ -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 */
-@@ -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;
                }
@@ -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 */
-@@ -348,7 +362,11 @@
+@@ -348,7 +362,11 @@ hysdn_log_close(struct inode *ino, struc
                                        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 */
-@@ -400,6 +418,9 @@
+@@ -400,6 +418,9 @@ static struct file_operations log_fops =
        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 */
-@@ -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));
@@ -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));
-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 $
@@ -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"
-@@ -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);
@@ -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);
-@@ -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);
@@ -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");
  
-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.
   *
-@@ -41,7 +41,7 @@
+@@ -41,7 +41,7 @@ MODULE_PARM_DESC(icn_id2, "ID-String of 
  #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 *);
  
-@@ -1634,6 +1634,7 @@
+@@ -1634,6 +1634,7 @@ icn_addcard(int port, char *id1, char *i
  }
  
  #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)
  {
-@@ -1643,6 +1644,14 @@
+@@ -1643,6 +1644,14 @@ icn_setup(char *line)
        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)
-@@ -1656,9 +1665,13 @@
+@@ -1656,9 +1665,13 @@ icn_setup(char *line)
                        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)
-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.
   *
-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 $
@@ -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.
-@@ -169,19 +169,39 @@
+@@ -169,19 +169,39 @@ static char isdn_audio_ulaw_to_alaw[] =
        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] =
-@@ -208,7 +228,7 @@
+@@ -208,7 +228,7 @@ isdn_audio_tlookup(const u_char *table, 
        :       "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
  }
  
-@@ -479,18 +499,6 @@
+@@ -479,18 +499,6 @@ isdn_audio_goertzel(int *sample, modem_i
                        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) +
-@@ -514,58 +522,28 @@
+@@ -514,58 +522,28 @@ isdn_audio_eval_dtmf(modem_info * info)
        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 != '.')) {
-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).
   *
-@@ -20,7 +20,6 @@
+@@ -20,7 +20,6 @@ typedef struct adpcm_state {
  
  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;
-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
  
@@ -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.
   */
-@@ -285,7 +293,7 @@
+@@ -285,7 +293,7 @@ static void bsd_free (void *state)
                 * 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;
                }
  
-@@ -293,7 +301,7 @@
+@@ -293,7 +301,7 @@ static void bsd_free (void *state)
                 * 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;
                }
  
-@@ -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.
         */
@@ -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.
-@@ -365,7 +378,7 @@
+@@ -365,7 +378,7 @@ static void *bsd_alloc (struct isdn_ppp_
        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; */
-@@ -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;
@@ -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;                  \
-@@ -490,17 +507,45 @@
+@@ -490,17 +507,45 @@ static int bsd_compress (void *state, st
        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;
-@@ -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;
@@ -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;
-@@ -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;
@@ -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;
-@@ -669,6 +725,9 @@
+@@ -669,6 +725,9 @@ static int bsd_decompress (void *state, 
        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;
-@@ -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 */
  
@@ -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");
-@@ -795,7 +856,11 @@
+@@ -795,7 +856,11 @@ static int bsd_decompress (void *state, 
  
                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);
-@@ -822,6 +887,12 @@
+@@ -822,6 +887,12 @@ static int bsd_decompress (void *state, 
                        }
                }
                *--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)
-@@ -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;
@@ -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;
  
@@ -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;
  }
  
-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 $
@@ -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
-@@ -44,7 +47,7 @@
+@@ -44,7 +47,7 @@ MODULE_LICENSE("GPL");
  
  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;
-@@ -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);
@@ -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;
-@@ -101,10 +104,7 @@
+@@ -101,10 +104,7 @@ isdn_unlock_drivers(void)
  {
        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;
  
-@@ -114,7 +114,6 @@
+@@ -114,7 +114,6 @@ isdn_unlock_drivers(void)
                        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
-@@ -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:
@@ -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
-@@ -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;
@@ -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;
-@@ -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 */
@@ -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;
        }
-@@ -900,72 +906,239 @@
+@@ -900,72 +906,239 @@ isdn_minor2chan(int 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)
  {
-@@ -976,37 +1149,16 @@
+@@ -976,37 +1149,16 @@ isdn_read(struct file *file, char *buf, 
        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;
-@@ -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]);
@@ -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;
-@@ -1052,6 +1204,9 @@
+@@ -1052,6 +1204,9 @@ isdn_read(struct file *file, char *buf, 
                        }
                        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;
-@@ -1061,6 +1216,9 @@
+@@ -1065,6 +1220,9 @@ isdn_read(struct file *file, char *buf, 
                } 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)
-@@ -1068,7 +1226,7 @@
+@@ -1072,7 +1230,7 @@ isdn_read(struct file *file, char *buf, 
                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;
        }
-@@ -1080,7 +1238,9 @@
+@@ -1084,7 +1242,9 @@ isdn_read(struct file *file, char *buf, 
  #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;
  }
  
-@@ -1092,15 +1252,18 @@
+@@ -1096,15 +1256,18 @@ isdn_write(struct file *file, const char
        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);
-@@ -1145,7 +1308,9 @@
+@@ -1149,7 +1312,9 @@ isdn_write(struct file *file, const char
  #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;
  }
  
-@@ -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);
  
@@ -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 */
-@@ -1186,7 +1348,9 @@
+@@ -1190,7 +1352,9 @@ isdn_poll(struct file *file, poll_table 
  #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;
  }
  
-@@ -1216,42 +1380,9 @@
+@@ -1220,42 +1384,9 @@ isdn_ioctl(struct inode *inode, struct f
  #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) {
-@@ -1273,11 +1404,34 @@
+@@ -1277,11 +1408,34 @@ isdn_ioctl(struct inode *inode, struct f
   */
                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 */
-@@ -1650,22 +1804,12 @@
+@@ -1657,22 +1811,12 @@ isdn_open(struct inode *ino, struct file
        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;
-@@ -1688,6 +1832,9 @@
+@@ -1695,6 +1839,9 @@ isdn_open(struct inode *ino, struct file
                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;
        }
-@@ -1700,6 +1847,10 @@
+@@ -1707,6 +1854,10 @@ isdn_open(struct inode *ino, struct file
        }
  #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;
  }
  
-@@ -1708,25 +1859,11 @@
+@@ -1715,25 +1866,11 @@ isdn_close(struct inode *ino, struct fil
  {
        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)
-@@ -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;
@@ -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
-@@ -1742,13 +1885,19 @@
+@@ -1749,13 +1892,19 @@ isdn_close(struct inode *ino, struct fil
  #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,
-@@ -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];
@@ -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;
-@@ -1819,7 +1977,11 @@
+@@ -1826,7 +1984,11 @@ isdn_get_free_channel(int usage, int l2_
                                                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();
-@@ -2006,7 +2168,7 @@
+@@ -2013,7 +2175,7 @@ isdn_add_channels(driver *d, int drvidx,
  
        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;
        }
-@@ -2014,7 +2176,7 @@
+@@ -2021,7 +2183,7 @@ isdn_add_channels(driver *d, int drvidx,
  
        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;
-@@ -2026,7 +2188,8 @@
+@@ -2033,7 +2195,8 @@ isdn_add_channels(driver *d, int drvidx,
                        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);
-@@ -2040,7 +2203,8 @@
+@@ -2047,7 +2210,8 @@ isdn_add_channels(driver *d, int drvidx,
  
        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) {
-@@ -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;
@@ -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);
-@@ -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; 
@@ -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);
-@@ -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;
        }
@@ -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;
        }
-@@ -2225,6 +2392,7 @@
+@@ -2232,6 +2399,7 @@ isdn_getrev(const char *revision)
        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;
-@@ -2314,6 +2482,7 @@
+@@ -2321,6 +2489,7 @@ static void isdn_cleanup_devfs(void)
  }
  
  #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
-@@ -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);
@@ -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;
-@@ -2345,7 +2513,9 @@
+@@ -2352,7 +2520,9 @@ static int __init isdn_init(void)
                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)
-@@ -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);
@@ -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;
        }
-@@ -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);
@@ -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;
-@@ -2390,6 +2564,9 @@
+@@ -2397,6 +2571,9 @@ static int __init isdn_init(void)
        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;
  }
  
-@@ -2398,7 +2575,7 @@
+@@ -2405,7 +2582,7 @@ static int __init isdn_init(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
-@@ -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 {
@@ -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);
-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 $
@@ -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);
-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
   *
-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
   *
-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 $
@@ -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
-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 $
@@ -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: 
-@@ -79,7 +75,11 @@
+@@ -79,7 +75,11 @@ static __inline__ int isdn_net_device_st
                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);
@@ -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)
-@@ -157,11 +161,19 @@
+@@ -157,11 +161,19 @@ static __inline__ void isdn_net_dec_fram
                        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 
-@@ -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...
   */
  
@@ -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) {
-@@ -297,6 +387,12 @@
+@@ -297,6 +387,12 @@ isdn_net_unbind_channel(isdn_net_local *
  
        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 */
-@@ -351,6 +447,26 @@
+@@ -351,6 +447,26 @@ isdn_net_autohup()
                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
-@@ -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);
@@ -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:
-@@ -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);
@@ -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.
                                                 */
-@@ -578,7 +731,6 @@
+@@ -578,7 +731,6 @@ isdn_net_dial(void)
        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;
-@@ -597,6 +749,47 @@
+@@ -597,6 +749,47 @@ isdn_net_dial(void)
                                 */
                                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) {
-@@ -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);
@@ -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)
-@@ -677,20 +921,7 @@
+@@ -677,20 +921,7 @@ isdn_net_dial(void)
                                                        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.
                                         */
-@@ -710,17 +941,70 @@
+@@ -710,17 +941,70 @@ isdn_net_dial(void)
                                                }
                                        }
                                        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,
-@@ -741,6 +1025,10 @@
+@@ -741,6 +1025,10 @@ isdn_net_dial(void)
                                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.
-@@ -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);
@@ -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);
  }
-@@ -899,8 +1196,13 @@
+@@ -899,8 +1196,13 @@ typedef struct {
        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);
-@@ -972,7 +1274,13 @@
+@@ -972,7 +1274,13 @@ isdn_net_log_skb(struct sk_buff * skb, i
                                        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],
-@@ -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
@@ -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;
-@@ -1004,11 +1318,22 @@
+@@ -1004,11 +1318,22 @@ void isdn_net_write_super(isdn_net_local
        }
  
        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);
  }
  
-@@ -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;
        }
@@ -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;
-@@ -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++;
@@ -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.
-@@ -1109,7 +1443,54 @@
+@@ -1109,7 +1443,54 @@ isdn_net_xmit(struct net_device *ndev, s
  
        /* 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.
-@@ -1143,6 +1524,69 @@
+@@ -1143,6 +1524,69 @@ isdn_net_xmit(struct net_device *ndev, s
  
        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
-@@ -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;
-@@ -1188,19 +1633,206 @@
+@@ -1188,19 +1633,206 @@ void isdn_net_tx_timeout(struct net_devi
        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).
-@@ -1220,6 +1852,40 @@
+@@ -1220,6 +1852,40 @@ isdn_net_start_xmit(struct sk_buff *skb,
        } 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;
-@@ -1256,6 +1922,14 @@
+@@ -1256,6 +1922,14 @@ isdn_net_start_xmit(struct sk_buff *skb,
                                        } 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(
-@@ -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,
@@ -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 =
-@@ -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,
@@ -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);
-@@ -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) ;) */
                                        }
@@ -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);
-@@ -1337,6 +2007,7 @@
+@@ -1337,6 +2007,7 @@ isdn_net_start_xmit(struct sk_buff *skb,
                }
        }
        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);
@@ -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) {
-@@ -1776,6 +2450,10 @@
+@@ -1776,6 +2450,10 @@ isdn_net_ciscohdlck_receive(isdn_net_loc
        }
  
        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;
-@@ -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:
@@ -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);
-@@ -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' */
@@ -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++;
-@@ -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;
        }
@@ -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;
-@@ -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 */
@@ -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);
-@@ -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:
@@ -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
  
-@@ -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);
@@ -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 */
-@@ -1882,6 +2628,15 @@
+@@ -1882,6 +2628,15 @@ isdn_net_receive(struct net_device *ndev
                        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;
  }
-@@ -2160,8 +2915,10 @@
+@@ -2160,7 +2915,10 @@ isdn_net_find_icall(int di, int ch, int 
        isdn_net_phone *n;
        ulong flags;
-       char nr[32];
+       char nr[ISDN_MSNLEN];
 -      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
        /* 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);
@@ -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,
-@@ -2210,25 +2965,8 @@
+@@ -2212,25 +2968,8 @@ p = dev->netdev;
                                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;
-@@ -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
@@ -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)) {
-@@ -2375,6 +3218,12 @@
+@@ -2377,6 +3221,12 @@ p = dev->netdev;
                                                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;
                                        /*
-@@ -2427,6 +3276,47 @@
+@@ -2429,6 +3279,47 @@ p = dev->netdev;
                                        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
-@@ -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,
@@ -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);
-@@ -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);
@@ -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;
-@@ -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 */
@@ -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);
-@@ -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 */
@@ -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 */
-@@ -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);
@@ -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) {
-@@ -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;
@@ -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;
-@@ -2932,6 +3837,9 @@
+@@ -2935,6 +3841,9 @@ isdn_net_setcfg(isdn_net_ioctl_cfg * cfg
                        }
                }
                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;
-@@ -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
@@ -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;
-@@ -3100,6 +4011,9 @@
+@@ -3104,6 +4016,9 @@ isdn_net_delphone(isdn_net_ioctl_phone *
                                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;
                        }
-@@ -3135,6 +4049,9 @@
+@@ -3139,6 +4054,9 @@ isdn_net_rmallphone(isdn_net_dev * p)
                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;
  }
-@@ -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);
@@ -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);
-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 $
@@ -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
-@@ -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;
@@ -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;
-@@ -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;
  
@@ -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);
  }
  
-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 $
@@ -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"
-@@ -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 */
    
@@ -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)
-@@ -110,11 +115,8 @@
+@@ -110,11 +115,8 @@ isdn_ppp_free(isdn_net_local * lp)
        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();
-@@ -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 */
@@ -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 */
-@@ -231,13 +228,12 @@
+@@ -231,13 +228,12 @@ isdn_ppp_bind(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;
  
@@ -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;
  }
-@@ -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];
@@ -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;
-@@ -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
@@ -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;
-@@ -349,20 +343,12 @@
+@@ -349,20 +343,12 @@ isdn_ppp_release(int min, struct file *f
                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()
-@@ -385,18 +371,8 @@
+@@ -385,18 +371,8 @@ isdn_ppp_release(int min, struct file *f
        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)
-@@ -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 */
@@ -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;
-@@ -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));
                        }
@@ -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;
        }
-@@ -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) {
@@ -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];
-@@ -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) {
@@ -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;
        }
-@@ -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;
@@ -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;
                }
        }
-@@ -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");
@@ -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;
-@@ -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);
@@ -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);
-@@ -1133,36 +1063,12 @@
+@@ -1133,36 +1063,12 @@ isdn_ppp_push_higher(isdn_net_dev * net_
                        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);
-@@ -1199,6 +1105,7 @@
+@@ -1199,6 +1105,7 @@ static unsigned char *isdn_ppp_skb_push(
        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)
-@@ -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;
@@ -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)) {
-@@ -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);
@@ -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!!!
-@@ -1275,34 +1179,6 @@
+@@ -1275,34 +1179,6 @@ isdn_ppp_xmit(struct sk_buff *skb, struc
         */
        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)
-@@ -1440,54 +1316,9 @@
+@@ -1440,54 +1316,9 @@ isdn_ppp_xmit(struct sk_buff *skb, struc
  
   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
-@@ -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 )
  {
@@ -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--;
-@@ -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) {
@@ -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);
-@@ -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) {
@@ -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))
-@@ -1861,14 +1683,9 @@
+@@ -1861,14 +1683,9 @@ void isdn_ppp_mp_reassembly( isdn_net_de
        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);
-@@ -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;
@@ -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) {
-@@ -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;
  
@@ -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;
-@@ -2431,7 +2249,7 @@
+@@ -2432,7 +2250,7 @@ static void isdn_ppp_ccp_reset_trans(str
                                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;
-@@ -2582,7 +2400,13 @@
+@@ -2583,7 +2401,13 @@ static struct sk_buff *isdn_ppp_compress
      }
  
        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) {
-@@ -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)
  {
@@ -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]) {
-@@ -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)
  {
@@ -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) {
-@@ -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);
  
@@ -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]) {
-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).
   *
-@@ -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 *);
@@ -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);
-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).
   *
-@@ -53,7 +53,7 @@
+@@ -53,7 +53,7 @@ static int bit2si[8] =
  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()
-@@ -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;
@@ -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) {
-@@ -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.
                                                 */
@@ -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;
                                        }
-@@ -1232,6 +1238,7 @@
+@@ -1232,6 +1238,7 @@ isdn_tty_write(struct tty_struct *tty, i
                                        }
                                }
                        } 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);
                                
-@@ -1252,6 +1259,7 @@
+@@ -1252,6 +1259,7 @@ isdn_tty_write(struct tty_struct *tty, i
                                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;
-@@ -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);
@@ -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
-@@ -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);
@@ -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;
-@@ -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;
@@ -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);
-@@ -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",
@@ -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];
  
-@@ -2781,7 +2809,8 @@
+@@ -2781,7 +2809,8 @@ isdn_tty_modem_result(int code, modem_in
                        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)))) {
-@@ -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");
@@ -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 '=':
-@@ -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
@@ -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 &
-@@ -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;
@@ -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 &
-@@ -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
@@ -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,");
-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 $
@@ -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))
-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 $
@@ -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; }
  
-@@ -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)
  {
-@@ -186,6 +187,7 @@
+@@ -186,6 +187,7 @@ isdn_tty_fax_command1(modem_info * info,
        }
        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)
-@@ -193,8 +195,10 @@
+@@ -193,8 +195,10 @@ isdn_tty_fax_command(modem_info * info, 
        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",
-@@ -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
   */
-@@ -403,6 +408,7 @@
+@@ -403,6 +408,7 @@ isdn_tty_cmd_FCLASS1(char **p, modem_inf
        }
        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
-@@ -970,6 +976,70 @@
+@@ -970,6 +976,70 @@ isdn_tty_cmd_FCLASS2(char **p, modem_inf
                }
                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)) {
-@@ -1049,6 +1119,38 @@
+@@ -1049,6 +1119,38 @@ isdn_tty_cmd_FCLASS2(char **p, modem_inf
                }
                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)) {
-@@ -1091,6 +1193,38 @@
+@@ -1091,6 +1193,38 @@ isdn_tty_cmd_FCLASS2(char **p, modem_inf
                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 */
-@@ -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));
@@ -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;
  }
-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).
   *
-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 $
@@ -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
-@@ -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");
@@ -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);
-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).
   *
-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
   *
-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
   *
-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 $
@@ -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");
-@@ -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");
@@ -18881,7 +18688,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdnloop/isdnloop.c linux-2.4.29/drivers
  
  /*
   * 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);
@@ -18894,18 +18701,16 @@ diff -rNu linux-2.4.29.old/drivers/isdn/isdnloop/isdnloop.c linux-2.4.29/drivers
  }
  
  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.
   *
-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
@@ -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.
-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
@@ -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.
-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
@@ -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.
-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
@@ -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.
-@@ -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
  
@@ -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;
-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
@@ -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"
-@@ -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;
@@ -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",
-@@ -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);
@@ -19001,7 +18802,7 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/drv.c linux-2.4.29/drivers/isdn/pc
        }
        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");
@@ -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;
        }
-@@ -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);
@@ -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;
        }
-@@ -144,8 +154,10 @@
+@@ -144,8 +154,10 @@ int pcbit_init_dev(int board, int mem_ba
        {
                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;
-@@ -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);
@@ -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;
-@@ -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);
@@ -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;
-@@ -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);
@@ -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);
        }
  }
-@@ -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 */
@@ -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;
-@@ -609,6 +627,20 @@
+@@ -609,6 +627,20 @@ void pcbit_l3_receive(struct pcbit_dev *
                       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)
-@@ -622,6 +654,7 @@
+@@ -622,6 +654,7 @@ void pcbit_l3_receive(struct pcbit_dev *
                                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);
-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
@@ -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.
-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
@@ -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.
-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
@@ -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.
-@@ -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");
@@ -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);
  
-@@ -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");
@@ -19173,9 +18971,8 @@ diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/layer2.c linux-2.4.29/drivers/isdn
                        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
@@ -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.
-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
@@ -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.
-@@ -92,6 +92,7 @@
+@@ -92,6 +92,7 @@ static void __exit pcbit_exit(void)
  }
  
  #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)
  {
-@@ -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);
@@ -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;
-@@ -118,9 +124,13 @@
+@@ -118,9 +124,13 @@ static int __init pcbit_setup(char *line
  
                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);
-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
@@ -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.
-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
   *
-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.
   *
-@@ -95,7 +95,7 @@
+@@ -95,7 +95,7 @@ int get_card_from_id(int driver)
                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.
   *
-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.
   *
-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.
   *
-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);
@@ -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;
  
-@@ -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);
@@ -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;
  
-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.
   *
-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[];
  
@@ -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 *);
  
-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
   *
-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.
   *
-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.
   *
-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.
   *
-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.
   *
-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)
   *
-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)
   *
-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)
   *
-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)
   *
-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)
   *
-@@ -254,7 +254,7 @@
+@@ -254,7 +254,7 @@ static struct pci_driver tpam_driver = {
        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) {
-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)
   *
-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)
-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)
   *
-@@ -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) {
@@ -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");
-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.
   *
-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.
-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
   * 
-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 $
@@ -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.
-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.
-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)
   *
-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 $
@@ -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        */
  
-@@ -187,6 +194,61 @@
+@@ -187,6 +194,61 @@ typedef struct {
  #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
-@@ -204,9 +266,11 @@
+@@ -204,9 +266,11 @@ typedef struct {
  #  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>
  
-@@ -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      */
@@ -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             */
  
-@@ -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;
@@ -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 */
-@@ -608,12 +710,13 @@
+@@ -608,12 +710,13 @@ typedef struct isdn_devt {
        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....          */
-@@ -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;
@@ -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;
-@@ -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 */
@@ -19769,9 +19536,8 @@ diff -rNu linux-2.4.29.old/include/linux/isdn.h linux-2.4.29/include/linux/isdn.
  
  #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 $
 + *
@@ -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 */
-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$
@@ -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 */
-@@ -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 */
@@ -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;
  
  /*********************/
-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 $
 + *
@@ -20148,18 +19912,16 @@ diff -rNu linux-2.4.29.old/include/linux/isdn_dwabc.h linux-2.4.29/include/linux
 +};
 +
 +#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
-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
@@ -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
-@@ -33,6 +34,11 @@
+@@ -33,6 +34,11 @@ struct pppcallinfo
  #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
-@@ -65,9 +71,6 @@
+@@ -65,9 +71,6 @@ struct isdn_ppp_comp_data {
  
  #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)
  
-@@ -226,10 +229,6 @@
+@@ -226,10 +229,6 @@ struct ippp_struct {
    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;
-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 $
@@ -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
-@@ -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          */
@@ -20227,9 +19988,8 @@ diff -rNu linux-2.4.29.old/include/linux/isdnif.h linux-2.4.29/include/linux/isd
  
  /*
   * 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 $
 +/*
This page took 0.268821 seconds and 4 git commands to generate.