kernel panic with pccard insert on recent 7.0 CURRENT

Hidetoshi Shimokawa simokawa at FreeBSD.ORG
Sat Jun 16 12:25:42 UTC 2007


I think the following patch fix the problem.

RCS file: /home/ncvs/src/sys/dev/pccard/pccard.c,v
retrieving revision 1.118
diff -u -r1.118 pccard.c
--- pccard.c    31 May 2007 19:29:20 -0000      1.118
+++ pccard.c    16 Jun 2007 12:23:35 -0000
@@ -1238,7 +1238,7 @@
        if (pf->intr_filter != NULL || pf->intr_handler != NULL)
                panic("Only one interrupt handler per function allowed");
        err = bus_generic_setup_intr(dev, child, irq, flags, pccard_filter,
-           pccard_intr, pf, cookiep);
+           intr ? pccard_intr : NULL, pf, cookiep);
        if (err != 0)
                return (err);
        pf->intr_filter = filt;


On 6/16/07, 吴叔坤 <wsk at gddsn.org.cn> wrote:
> hi, lists
> i always get Fatal trap while insert a pccard with recent 7.0 current.
> It seems that Can't recognize the pccard address?
> thanks with any reply.
>
> pccard0:Allocation failed for cfe 13
> pccard0:Allocation failed for cfe 21
> uart0: <Bora Telecom Inc Bora 3600 Rev 1.1> at port 0x3e8-0x3ef irq 11
> function 0 config 29 on pccard0
> uart0:[FILTER]
>
> Fatal trap 12: page fault while in kernel mode
> cpuid = 0; apic id = 00
> fault virtual address = 0x0
> fault code = supervisor read, page not present
> instruction pointer = 0x20:0x0
> stack pointer = 0x28:0xe2996cb0
> frame pointer = 0x28:0xe2996cb8
> code segment = base 0x0, limit 0xfffff, type 0x1b
> = DPL 0, pres 1, def32 1, gran 1
> processor eflags = interrupt enable, resume, IOPL = 0
> current process = 21 (irq11: cbb0 cbb1+*)
> [thread pid 21 tid 100013 ]
> Stopped at 0: *** error reading from address 0 ***
> db>bt
> Tracing pid 21 tid 100013 td 0xc3f05c00
> pccard_intr(c4285e00) at pccard_intr+0x12
> cbb_func_intr(c4103140,0,c0a493ae,40b,c3f00064,...) at cbb_func_intr|0x51
> ithread_loop(c404fab0,e2996d38,83fb5be8,ff06fc46,c3f4b804,...) at
> ithread_loop+0
> x1b5
> fork_exit(c074ccd0,c404fab0,e2996d38) at fork_exit+0x57
> fork_trampoline() at fork_trampoline+0x8
> --- trap 0, eip = 0, esp = 0xe2996d70, ebp = 0 ---
>
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
>


-- 
/\ Hidetoshi Shimokawa
\/  simokawa at FreeBSD.ORG


More information about the freebsd-current mailing list