Holger Magnussen
2005-01-25 20:43:56 UTC
Dear all,
in December last year I posted an issue that I had with capisuite and
the FRITZ!Card PCMCIA on kernel 2.6.8.
My issue was that I could use the answering machine functionality of
capisuite, but could not receive faxes.
After intensive debugging, I found out that the AVM driver
"fcpcmcia-suse91-3.11-02.tar.gz" has a bug.
The problem is that the driver-specific heap mechanism is not
initialized for PCMCIA cards. This problem will only occur if larger
heap chunks are allocated. Therefore, the problem occurs not for the
answering machine functionality, but only for FAXes (when capisuite
tries to allocate a 192kB chunk).
Here is the very simple patch of "fritz/src/main.c" that solves the problem:
=================================================
--- main.c 2005-01-25 21:31:04.000000000 +0100
+++ main.c.orig 2004-07-02 00:00:00.000000000 +0200
@@ -387,8 +387,8 @@
}
register_capi_driver (&fritz_capi_driver);
LOG("CAPI driver registered.\n");
- libheap_init (MAX_LIB_HEAP_SIZE);
#if defined (__fcclassic__)
+ libheap_init (MAX_LIB_HEAP_SIZE);
if ((io != 0) && (irq != 0)) {
return isa_start (io, irq);
} else if ((io + irq) != 0) {
=================================================
Have fun
I will post this to the AVM mailing list as well.
-holger
in December last year I posted an issue that I had with capisuite and
the FRITZ!Card PCMCIA on kernel 2.6.8.
My issue was that I could use the answering machine functionality of
capisuite, but could not receive faxes.
After intensive debugging, I found out that the AVM driver
"fcpcmcia-suse91-3.11-02.tar.gz" has a bug.
The problem is that the driver-specific heap mechanism is not
initialized for PCMCIA cards. This problem will only occur if larger
heap chunks are allocated. Therefore, the problem occurs not for the
answering machine functionality, but only for FAXes (when capisuite
tries to allocate a 192kB chunk).
Here is the very simple patch of "fritz/src/main.c" that solves the problem:
=================================================
--- main.c 2005-01-25 21:31:04.000000000 +0100
+++ main.c.orig 2004-07-02 00:00:00.000000000 +0200
@@ -387,8 +387,8 @@
}
register_capi_driver (&fritz_capi_driver);
LOG("CAPI driver registered.\n");
- libheap_init (MAX_LIB_HEAP_SIZE);
#if defined (__fcclassic__)
+ libheap_init (MAX_LIB_HEAP_SIZE);
if ((io != 0) && (irq != 0)) {
return isa_start (io, irq);
} else if ((io + irq) != 0) {
=================================================
Have fun
I will post this to the AVM mailing list as well.
-holger