Intel(em) driver witness error

Sean Bruno sbruno at miralink.com
Tue Nov 27 11:39:07 PST 2007


While debugging a completely unrelated issue, I'm getting a witness lock 
from the most recent RELENG_6 em(intel) driver in CVS:

em0: Link is Down
em0: link state changed to DOWN
acquiring duplicate lock of same type: "network driver"
 1st em0 @ dev/em/if_em.c:1464
 2nd em0 @ dev/em/if_em.c:1492
KDB: stack backtrace:
kdb_backtrace(38,c08db960,c08e41b8,c08e41b8,c08aa504,...) at 
kdb_backtrace+0x29
witness_checkorder(c4c79adc,9,c0837749,5d4) at witness_checkorder+0x578
_mtx_lock_flags(c4c79adc,0,c0837740,5d4,c4c79800,...) at 
_mtx_lock_flags+0x78
em_intr(c4c79800) at em_intr+0xdb
ithread_execute_handlers(c4c89860,c4bb2300) at ithread_execute_handlers+0xe6
ithread_loop(c4c88c50,e35ead38,c4c88c50,c05c086c,0,...) at ithread_loop+0x66
fork_exit(c05c086c,c4c88c50,e35ead38) at fork_exit+0xa0
fork_trampoline() at fork_trampoline+0x8
--- trap 0x1, eip = 0, esp = 0xe35ead6c, ebp = 0 ---


The Locks are "EM_CORE_LOCK" and "EM_TX_LOCK" from if_em.h ... It 
doesn't appear that the locks are around the same mutex.

Sean



More information about the freebsd-drivers mailing list