On Sat, Nov 13, 2010 at 21:02 +0000, Olivier ANTOINE wrote:
> Hi,
>
> Here is the last message hi have :
>
> softraid0 at root
> cardbus_attach_card: failed to read CIS
> dc0 at cardbus0 dev 0 function 0 "Xircom X3201-3 (2143)" rev 0x03: irq 11,
> address 00:10:a4:d2:60:bc
> tqphy0 at dc0 phy 0: 78Q2120 10/100 PHY, rev. 10
> cardbus_attach_card: failed to read CIS
> com3 at cardbus0 dev 0 function 1 "Xircom 56k Modem" rev
> 0x03uvm_fault(0xd0a1a040, 0x0, 0, 1) -> e
> kernel: page fault trap, code=0
> Stopped at com_cardbus_attach+0x1d: movl 0x14(%edx),%eax
> ddb> trace
> com_cardbus_attach(d1107880,d1245000,d7b97d94,d03e632b,d0776df0) at
> comm_cardbus_attach+0x1d
> config_attach(d1107880,d54dd000,d7b97f6c,d03ec2b7,d0a11eda0) at
> cardbus_attach_card+0x2f5
> cardslot_event(d1107900,0,d02008f8,d09af2c0,d03e4870) at
> cardslot_event+event+0x11a
> workq_thread(d09af2c0) at workq_thread+0x36
> Bad frame pointer: 0xd0b8ce38
> ddb>
>
> I use the kernel :
> OpenBSD 4.8-current (GENERIC) #477: Fri Nov 12 01:27:20 MST 2010
>
> The last release I can properly boot is 4.7.
>
> The 4.8-current bsd.rd boot correctly and I can install the snapshot set
> with it.
> The message "cardbus_attach_card: failed to read CIS" appear twice during
> the boot of bsd.rd but the network is up and running during the install of
> the snapshot.
>
> Since the system is not operational after the problem, I apologize for the
> glitch or typo I may have introduce to the ddb report.
>
> Thanks
>
re,
looks like a pointer bug was introduced in the revision 1.39 of the
com_cardbus.c. here's a fix. untested, but jsg grumbled something
in approval :)
could you please disable device in ukc and try this patch?
Index: dev/cardbus/com_cardbus.c
===================================================================
RCS file: /cvs/src/sys/dev/cardbus/com_cardbus.c,v
retrieving revision 1.39
diff -u -p -r1.39 com_cardbus.c
--- dev/cardbus/com_cardbus.c 27 Mar 2010 21:40:13 -0000 1.39
+++ dev/cardbus/com_cardbus.c 13 Nov 2010 21:59:47 -0000
@@ -237,9 +237,9 @@ com_cardbus_attach(struct device *parent
struct com_softc *sc = (struct com_softc*)self;
struct com_cardbus_softc *csc = (struct com_cardbus_softc*)self;
struct cardbus_attach_args *ca = aux;
- cardbus_devfunc_t ct = csc->cc_ct;
+ cardbus_devfunc_t ct;
- csc->cc_ct = ca->ca_ct;
+ csc->cc_ct = ct = ca->ca_ct;
csc->cc_tag = pci_make_tag(ca->ca_pc, ct->ct_bus, ct->ct_dev,
ct->ct_func);
csc->cc_pc = ca->ca_pc;