drivers/isdn/hisax/bkm_a8.c, kernel 2.4.2 (Scitel Quadro)
PATCH 1/1 drivers/isdn/hisax/bkm_a8.c, kernel 2.4.2 (Scitel Quadro)
Hi,
Please find attached a patch to fix the following problems with the Scitel Quadro ISDN card in 2.4 kernels which suddenly arised when I bought
a K7T Pro motherboard.
kernel: HiSax: Scitel port 0xcc00-0xcd00 already in use
kernel: HiSax: Card Scitel Quadro not installed !
Credits go to Roland Klabunde who told me early december:
<quote>
The Scitel [...] resource requirements are as follows:
- 1 shared interrupt for all controllers
- 1 shared port address for all controllers with a range of 128 bytes
- 1 port address for each controller with a range of 64 bytes
[...]
I've currently downloaded the ISDN stuff [...] As mentioned above, the span is *128* for pci_ioaddr1 and *64* for pci_ioaddr2 to pci_ioaddr5 [...]. What I see from the source is, that one attempts to claim a range of 256 bytes for pci_ioaddr1 to _5. That may cause the problems if the range overlaps with other boards. You may try to change the following calls in bkm_a8.c:
sct_alloc_io(pci_ioaddr1, 256) to sct_alloc_io(pci_ioaddr1, 128) sct_alloc_io(pci_ioaddr2, 256) to sct_alloc_io(pci_ioaddr1, 64) sct_alloc_io(pci_ioaddr3, 256) to sct_alloc_io(pci_ioaddr1, 64) sct_alloc_io(pci_ioaddr4, 256) to sct_alloc_io(pci_ioaddr1, 64) sct_alloc_io(pci_ioaddr5, 256) to sct_alloc_io(pci_ioaddr1, 64)
Please note the necessary changes in release_io_sct_quadro. </quote>
Too bad I went on a holiday that time and forgot all about it, untill today (shame shame shame). Anyway, this patch to 2.4.2 drivers/isdn/hisax/bkm_a8.c fixes the problem and everything runs fine again.
Ime Smits
drivers/isdn/hisax/bkm_a8.c +7 -7
@@ -205,9 +205,9 @@void release_io_sct_quadro (struct IsdnCardState *cs) { -release_region (cs->hw.ax.base &0xffffffc0 ,256 ); +release_region (cs->hw.ax.base &0xffffffc0 ,128 );if (cs->subtyp ==SCT_1 ) -release_region (cs->hw.ax.plx_adr,256 ); +release_region (cs->hw.ax.plx_adr,64 ); } static void
@@ -403,9 +403,9 @@switch (cs->subtyp) {case 1 : cs->hw.ax.base = pci_ioaddr5 +0x00 ; -if (sct_alloc_io (pci_ioaddr1,256 )) +if (sct_alloc_io (pci_ioaddr1,128 ))return (0 ); -if (sct_alloc_io (pci_ioaddr5,256 )) +if (sct_alloc_io (pci_ioaddr5,64 ))return (0 );/* disable all IPAC */ writereg(pci_ioaddr5, pci_ioaddr5 + 4,
@@ -419,17 +419,17 @@break ;case 2 : cs->hw.ax.base = pci_ioaddr4 +0x08 ; -if (sct_alloc_io (pci_ioaddr4,256 )) +if (sct_alloc_io (pci_ioaddr4,64 ))return (0 );break ;case 3 : cs->hw.ax.base = pci_ioaddr3 +0x10 ; -if (sct_alloc_io (pci_ioaddr3,256 )) +if (sct_alloc_io (pci_ioaddr3,64 ))return (0 );break ;case 4 : cs->hw.ax.base = pci_ioaddr2 +0x20 ; -if (sct_alloc_io (pci_ioaddr2,256 )) +if (sct_alloc_io (pci_ioaddr2,64 ))return (0 );break ; }
Hi all,
great to hear, that the fix solves the problem. Is there any information about, whether and when the fix will migrate into the isdn4l source pool?
Roland
----- Original Message -----
From: <[email protected]>
To: <[email protected]>
Cc: <[email protected]>; <[email protected]>; <[email protected]>
Sent: Friday, March 30, 2001 5:05 PM
Subject: [PATCH] drivers/isdn/hisax/bkm_a8.c, kernel 2.4.2 (Scitel Quadro)
Quoted 45 lines
Hi,
Please find attached a patch to fix the following problems with the Scitel Quadro ISDN card in 2.4 kernels which suddenly arised when I bought
a K7T Pro motherboard.kernel: HiSax: Scitel port 0xcc00-0xcd00 already in use
kernel: HiSax: Card Scitel Quadro not installed !Credits go to Roland Klabunde who told me early december:
<quote>
The Scitel [...] resource requirements are as follows:- 1 shared interrupt for all controllers
- 1 shared port address for all controllers with a range of 128 bytes
- 1 port address for each controller with a range of 64 bytes[...]
I've currently downloaded the ISDN stuff [...] As mentioned above, the span is *128* for
pci_ioaddr1and *64* forpci_ioaddr2topci_ioaddr5[...]. What I see from the source is, that one attempts to claim a range of 256 bytes forpci_ioaddr1to _5. That may cause the problems if the range overlaps with other boards. You may try to change the following calls inbkm_a8.c:
sct_alloc_io(pci_ioaddr1, 256)tosct_alloc_io(pci_ioaddr1, 128)sct_alloc_io(pci_ioaddr2, 256)tosct_alloc_io(pci_ioaddr1, 64)sct_alloc_io(pci_ioaddr3, 256)tosct_alloc_io(pci_ioaddr1, 64)sct_alloc_io(pci_ioaddr4, 256)tosct_alloc_io(pci_ioaddr1, 64)sct_alloc_io(pci_ioaddr5, 256)tosct_alloc_io(pci_ioaddr1, 64)Please note the necessary changes in
release_io_sct_quadro. </quote>Too bad I went on a holiday that time and forgot all about it, untill today (shame shame shame). Anyway, this patch to 2.4.2
drivers/isdn/hisax/bkm_a8.cfixes the problem and everything runs fine again.Ime Smits