cardbus trouble
M. Warner Losh
imp at bsdimp.com
Sun May 9 08:35:22 PDT 2004
In message: <409E0D5A.19164.559D04D at localhost>
"Dylan Wylie" <d.wylie at hccnet.nl> writes:
: Yes, it used to work perfectly.
I was afraid that you were going to say that :-(.
: The dmesg with both cardbus and cbb debuging enabled is included below.
: Again, it shows insertion of the cardbus card which fails, followed by the pccard
: card, which succeedes.
: I also don't remember any 'lazy allocation' with the working builds.
The lazy allocation is fine, I'm pretty sure. Let's look at things in
more detail, and I think the debug shows where we go off the rails:
: pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
host bridge.
: pci0: <ACPI PCI bus> on pcib0
pci bus 0.
: agp0: <VIA Generic host to PCI bridge> mem 0xf8000000-0xfbffffff at device 0.0 on pci0
: agp0: Reserved 0x4000000 bytes for rid 0x10 type 3 at 0xf8000000
agp0 at pci0.0.0.
: pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
: pcib1: could not get PCI interrupt routing table for \\_SB_.PCI0.AGP_ -
: AE_NOT_FOUND
: pci1: <ACPI PCI bus> on pcib1
: pci1: <display, VGA> at device 0.0 (no driver attached)
VGA at pci1.0.0.
: cbb0: <TI1211 PCI-CardBus Bridge> at device 10.0 on pci0
cbb is at pci0.10.0.
: cbb0: Secondary bus is 0
: cbb0: Secondary bus set to 1 subbus 2
DANGER WILL ROBINSON. Secondary bus is now being set to 1. Before I
think we kludged it to 2 always, but I might be mistaken. However,
this is clearly the problem reguardless of what we used to do.
: cardbus0: <display, VGA> at device 0.0 (no driver attached)
Hmmm, odd that it is now being probed just like the device at
pci1.0.0, don't you think?
So, give the following patch a spin. Try 3 and 4 if this fails.
Clearly this is a bogus patch from a generic point of view, but it is
good for testing.
Warner
-------------- next part --------------
Index: pccbb.c
===================================================================
RCS file: /cache/ncvs/src/sys/dev/pccbb/pccbb.c,v
retrieving revision 1.110
diff -u -r1.110 pccbb.c
--- pccbb.c 4 May 2004 02:25:00 -0000 1.110
+++ pccbb.c 9 May 2004 14:01:37 -0000
@@ -683,7 +683,7 @@
static int
cbb_attach(device_t brdev)
{
- static int curr_bus_number = 1; /* XXX EVILE BAD (see below) */
+ static int curr_bus_number = 2; /* XXX EVILE BAD (see below) */
struct cbb_softc *sc = (struct cbb_softc *)device_get_softc(brdev);
int rid, bus, pribus;
device_t parent;
More information about the freebsd-current
mailing list