Re: Some SA11x0 diffs
[email protected] Sun, 24 May 2009 14:43:33 -0400
| Newsgroups | gmane.os.netbsd.ports.arm,gmane.os.netbsd.ports.hpcarm |
|---|---|
| Message-ID | <[email protected]> |
Here is the trace from the original GENERIC you provided. panic: config_detach: forced detach of wdc1 failed (45) Stopped in pid 0.30 (system) at netbsd:cpu_Debugger+0x4 bx r14 db> tr netbsd:panic+0x10 scp=0xc03a5200 rlv=0xc039648c (netbsd:config_detach+0x494) rsp=0xc5a76f40 rfp=0xc5a76f6c netbsd:config_detach+0xc scp=0xc0396004 rlv=0xc03548a4 (netbsd:pcmcia_card_detach+0x64) rsp=0xc5a76f70 rfp=0xc5a76f94 r10=0x00000000 r9=0xc04fa2b4 r8=0x00000001 r7=0xc5201e00 r6=0x00000000 r5=0xc41b3100 r4=0xc5167e54 netbsd:pcmcia_card_detach+0xc scp=0xc035484c rlv=0xc036e2cc (netbsd:pxapcic_event_thread+0xd8) rsp=0xc5a76f98 rfp=0xc5a76fb0 r8=0x00000000 rs=0x00000000 r6=0x00000000 r5=0xc5167e58 r4=0xc5167e54 netbsd:pxapcic_event_thread=0xc scp=0xc036e200 rlv=0xc022d72c (netbsd:lwp_trampoline+0x14) rsp=0xc5a76fb4 rfp-0xc01ccf3c r5=0xc5167e58 r4=0xc036e1f4 Bad frame pointer: 0xc01ccf3c Will test your new patch. > > [email protected] wrote: > >Zaurus boots this up fine. > >However on removing an unmount CF card it panics with: > > > >panic: config_detach: forced detach of wdc1 failed(45) > >Stopped in pid 0.30 (system) at netbsd:cpu_Debugger+0x4 bx r14 > >config_Detach+0xc > >pcmcia_card_detach+0xc > >pcapcic_event_thread+0xc > >Bad frame pointer 0xc01ccf3c > > > >If you need a full trace let me know > >and I can hook up the console cable. > > I'm fairly sure that my patch doesn't touch the code path that would be > executed here. A full trace would be helpful. > > I did spot one place in pxa2x0_pcic.c that still used struct device though. > > Index: pxa2x0_pcic.c > =================================================================== > RCS file: /cvsroot/src/sys/arch/arm/xscale/pxa2x0_pcic.c,v > retrieving revision 1.8 > diff -u -r1.8 pxa2x0_pcic.c > --- pxa2x0_pcic.c 2 Mar 2009 10:17:58 -0000 1.8 > +++ pxa2x0_pcic.c 24 May 2009 11:31:04 -0000 > @@ -44,7 +44,7 @@ > > static int pxapcic_print(void *, const char *); > > -static void pxapcic_doattach(struct device *); > +static void pxapcic_doattach(device_t); > > static void pxapcic_event_thread(void *); > static void pxapcic_event_process(struct pxapcic_socket *); > @@ -398,7 +398,7 @@ > } > > void > -pxapcic_doattach(struct device *self) > +pxapcic_doattach(device_t self) > { > struct pxapcic_softc *sc = device_private(self); > struct pxapcic_socket *sock;