Below find a quick fix that makes PCCARD work again.
Beware that if you have it compiled in the kernel you should
remove the kldload in /etc/rc.pccard, as it will happily
load the module, and screw up the whole situation...

Index: i386/isa/intr_machdep.c
===================================================================
RCS file: /home/ncvs/src/sys/i386/isa/intr_machdep.c,v
retrieving revision 1.19
diff -u -r1.19 intr_machdep.c
--- intr_machdep.c      1999/04/21 07:26:27     1.19
+++ intr_machdep.c      1999/04/23 11:16:30
@@ -877,6 +877,7 @@
                free(irec, M_DEVBUF);
                return -1;
        }
+       isareclist[intr] = irec;
        return 0;
 }
 
Index: pccard/pccard.c
===================================================================
RCS file: /home/ncvs/src/sys/pccard/pccard.c,v
retrieving revision 1.73
diff -u -r1.73 pccard.c
--- pccard.c    1999/03/10 15:00:54     1.73
+++ pccard.c    1999/04/23 11:18:23
@@ -527,7 +527,7 @@
                if (!(mask & imask))
                        continue;
                INTRMASK(*maskp, mask);
-               if (register_pcic_intr(irq, 0, 0, hand, maskp, unit) == 0) {
+               if (register_pcic_intr(irq, unit, 0, hand, maskp, unit) == 0) {
                        /* add this to the PCIC controller's mask */
                        if (pcic_imask)
                                INTRMASK(*pcic_imask, (1 << irq));
Index: pci/pcisupport.c
===================================================================
RCS file: /home/ncvs/src/sys/pci/pcisupport.c,v
retrieving revision 1.100
diff -u -r1.100 pcisupport.c
--- pcisupport.c        1999/04/20 11:36:36     1.100
+++ pcisupport.c        1999/04/23 11:20:40
@@ -1166,7 +1166,9 @@
        if (pci_get_class(dev) == PCIC_BRIDGE
            && pci_get_subclass(dev) != PCIS_BRIDGE_PCI
            && pci_get_subclass(dev) != PCIS_BRIDGE_ISA
-           && pci_get_subclass(dev) != PCIS_BRIDGE_EISA)
+           && pci_get_subclass(dev) != PCIS_BRIDGE_EISA
+           && pci_get_subclass(dev) != PCIS_BRIDGE_PCMCIA
+           && pci_get_subclass(dev) != PCIS_BRIDGE_CARDBUS)
                return pci_bridge_type(dev);
 
        return NULL;
-Søren


To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message

Reply via email to