On Thu, 8 Feb 2007, Scot Hetzel wrote: > On 2/7/07, Kip Macy <kmacy_at_fsmware.com> wrote: >> >> I can't comment on the mini-pci version, but NDIS works just fine with >> the cardbus version. It would be interesting to figure out where ndis is >> falling short. >> >> -Kip > > I'm also seeing a kernel panic when trying to load a newer version of > the Broadcom driver on my HP dv8135nr system. > > This driver (for the HP dv8135nr) works: > > Broadcom BCM43xx 802.11 Network Adapter Driver (4.40.19.0) > ftp://ftp.hp.com/pub/softpaq/sp33001-33500/sp33008.exe > > This driver (for the HP dv6110us) causes a kernel page fault with > non-sleepable locks held: Thanks for the pointer, the "fpudna in kernel mode" may be the real issue - it means that floating point is being used which is very strange. If I can't reproduce, it would be helpful if you would apply the kgdb patch I'm about to send along and give me an updated backtrace. -Kip > > Broadcom BCM43xx 802.11 Network Adapter Driver (4.100.15.5) > ftp://ftp.hp.com/pub/softpaq/sp34001-34500/sp34152.exe > > Note: This driver has my adapter listed in the bcmwl5.inf file. > > FreeBSD hp010 7.0-CURRENT FreeBSD 7.0-CURRENT #5: Thu Feb 8 17:14:40 CST > 2007 > swhetzel_at_hp010:/usr/src/7x/sys-p4/amd64/compile/GENERIC.debug amd64 > > Scot > -- > Unread portion of the kernel message buffer: > ichsmb0: <SMBus controller> port 0x8400-0x840f mem > 0xc0003000-0xc00033ff at device 20.0 on pci0 > ichsmb0: can't map I/O > device_attach: ichsmb0 attach returned 6 > ichsmb0: <SMBus controller> port 0x8400-0x840f mem > 0xc0003000-0xc00033ff at device 20.0 on pci0 > ichsmb0: can't map I/O > device_attach: ichsmb0 attach returned 6 > ndis0: <Broadcom 802.11b/g WLAN> mem 0xc0204000-0xc0205fff irq 21 at > device 2.0 on pci6 > ndis0: NDIS API version: 5.1 > fpudna in kernel mode! > Kernel page fault with the following non-sleepable locks held: > exclusive sleep mutex HAL preemption lock (HAL lock) r = 0 > (0xffffffffa3c69fc0) locked _at_ > /usr/src/7x/sys-p4/modules/ndis/../../compat/ndis/subr_hal.c:423 > KDB: stack backtrace: > db_trace_self_wrapper() at db_trace_self_wrapper+0x3a > witness_warn() at witness_warn+0x262 > trap() at trap+0x1af > calltrap() at calltrap+0x8 > --- trap 0xc, rip = 0xffffffffa3c61efd, rsp = 0xffffffffa1599b40, rbp > = 0xffffffffa1599b80 --- > KeInsertQueueDpc() at KeInsertQueueDpc+0x5d > ntoskrnl_timercall() at ntoskrnl_timercall+0xb1 > softclock() at softclock+0x1c8 > ithread_loop() at ithread_loop+0xfe > fork_exit() at fork_exit+0xaa > fork_trampoline() at fork_trampoline+0xe > --- trap 0, rip = 0, rsp = 0xffffffffa1599d30, rbp = 0 --- > > > Fatal trap 12: page fault while in kernel mode > cpuid = 0; apic id = 00 > fault virtual address = 0x0 > fault code = supervisor read data, page not present > instruction pointer = 0x8:0xffffffffa3c61efd > stack pointer = 0x10:0xffffffffa1599b40 > frame pointer = 0x10:0xffffffffa1599b80 > code segment = base 0x0, limit 0xfffff, type 0x1b > = DPL 0, pres 1, long 1, def32 0, gran 1 > processor eflags = interrupt enabled, resume, IOPL = 0 > current process = 11 (swi4: clock sio) > panic: from debugger > cpuid = 0 > Uptime: 4m49s > Physical memory: 1010 MB > Dumping 82 MB: 67 51 35 19 3 > > #0 doadump () at pcpu.h:141 > 141 __asm __volatile("movq %%gs:0,%0" : "=r" (td)); > (kgdb) kldsyms > : > (kgdb) bt > #0 doadump () at pcpu.h:141 > During symbol reading, Incomplete CFI data; unspecified registers at > 0xffffffff8044a19c. > #1 0xffffffff8044aa99 in boot (howto=0x104) at > ../../../kern/kern_shutdown.c:411 > #2 0xffffffff8044a527 in panic (fmt=0xffffffff806adda7 "from > debugger") at ../../../kern/kern_shutdown.c:567 > #3 0xffffffff801ada47 in db_panic (addr=0x0, have_addr=0x0, > count=0x0, modif=0x0) at ../../../ddb/db_command.c:433 > #4 0xffffffff801adee9 in db_command_loop () at ../../../ddb/db_command.c:401 > #5 0xffffffff801afdf3 in db_trap (type=0xa15998a0, code=0x0) at > ../../../ddb/db_main.c:222 > #6 0xffffffff80470a38 in kdb_trap (type=0xc, code=0x0, > tf=0xffffffffa1599a90) at ../../../kern/subr_kdb.c:502 > #7 0xffffffff8065a9f1 in trap_fatal (frame=0xffffffffa1599a90, > eva=0xffffff003da56a40) > at ../../../amd64/amd64/trap.c:691 > #8 0xffffffff8065afa7 in trap (frame=0xffffffffa1599a90) at > ../../../amd64/amd64/trap.c:247 > #9 0xffffffff80642cfe in calltrap () at ../../../amd64/amd64/exception.S:169 > #10 0xffffffffa3c61efd in ?? () > #11 0x0000000000000000 in ?? () > #12 0xffffffff813cc828 in ?? () > #13 0x0000000000000000 in ?? () > #14 0xffffffff95623ee0 in ?? () > #15 0x0000000000000009 in centaur_id () > #16 0xffffffff813cc7e8 in ?? () > #17 0xffffffffa1599bb0 in ?? () > #18 0xffffffffa3c62061 in ?? () > #19 0xffffffffa1599bb0 in ?? () > #20 0x0000000000000246 in ?? () > #21 0x0000000000000008 in centaur_id () > #22 0x0000000000000016 in intel_id () > Cannot access memory at address 0xd > > /usr/src/7x/sys-p4/modules/ndis/../../compat/ndis/subr_hal.c:423 > 409 uint8_t > 410 KfRaiseIrql(irql) > 411 uint8_t irql; > 412 { > 413 uint8_t oldirql; > 414 > 415 oldirql = KeGetCurrentIrql(); > 416 > 417 /* I am so going to hell for this. */ > 418 if (oldirql > irql) > 419 panic("IRQL_NOT_LESS_THAN"); > 420 > 421 if (oldirql != DISPATCH_LEVEL) { > 422 sched_pin(); > 423 mtx_lock(&disp_lock[curthread->td_oncpu]); > 424 } > 425 /*printf("RAISE IRQL: %d %d\n", irql, oldirql);*/ > 426 > 427 return(oldirql); > 428 } > > -- > DISCLAIMER: > No electrons were mamed while sending this message. Only slightly bruised. >Received on Fri Feb 09 2007 - 06:25:34 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:05 UTC