Bug 231051 - [IXL] driver assert when locks checks are enabled
Summary: [IXL] driver assert when locks checks are enabled
Status: Closed Not Accepted
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: CURRENT
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-net (Nobody)
Keywords: IntelNetworking
Depends on:
Reported: 2018-08-31 07:43 UTC by Alexandre martins
Modified: 2018-09-03 07:27 UTC (History)
3 users (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Alexandre martins 2018-08-31 07:43:47 UTC
The IXL driver fails to load due to an assertion on an unlocked mutex.

The attach routine doesn't take the mutex before calling some initialisations functions.

There is the backtrace:

KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2e/frame 0xfffffe0f7af339f0
kdb_backtrace() at kdb_backtrace+0x52/frame 0xfffffe0f7af33a10
vpanic() at vpanic+0x1df/frame 0xfffffe0f7af33a80
kproc_shutdown() at kproc_shutdown/frame 0xfffffe0f7af33ae0
__mtx_assert() at __mtx_assert+0x102/frame 0xfffffe0f7af33b50
ixl_add_hw_filters() at ixl_add_hw_filters+0x63/frame 0xfffffe0f7af33bb0
ixl_add_filter() at ixl_add_filter+0x1a2/frame 0xfffffe0f7af33c00
ixl_init_filters() at ixl_init_filters+0x44/frame 0xfffffe0f7af33c20
ixl_attach() at ixl_attach+0xb48/frame 0xfffffe0f7af33d60
DEVICE_ATTACH() at DEVICE_ATTACH+0x87/frame 0xfffffe0f7af33da0
device_attach() at device_attach+0xbc/frame 0xfffffe0f7af33df0
device_probe_and_attach() at device_probe_and_attach+0x74/frame 0xfffffe0f7af33e20
pci_driver_added() at pci_driver_added+0x105/frame 0xfffffe0f7af33e70
BUS_DRIVER_ADDED() at BUS_DRIVER_ADDED+0x8f/frame 0xfffffe0f7af33eb0
devclass_driver_added() at devclass_driver_added+0x7a/frame 0xfffffe0f7af33ee0
devclass_add_driver() at devclass_add_driver+0x172/frame 0xfffffe0f7af33f30
driver_module_handler() at driver_module_handler+0xc9/frame 0xfffffe0f7af33f90
module_register_init() at module_register_init+0xc0/frame 0xfffffe0f7af33ff0
linker_file_sysinit() at linker_file_sysinit+0x1b4/frame 0xfffffe0f7af34050
linker_load_file() at linker_load_file+0x14d/frame 0xfffffe0f7af340c0
linker_load_module() at linker_load_module+0x191/frame 0xfffffe0f7af34130
kern_kldload() at kern_kldload+0xf9/frame 0xfffffe0f7af34190
sys_kldload() at sys_kldload+0x7b/frame 0xfffffe0f7af341c0
syscallenter() at syscallenter+0x4af/frame 0xfffffe0f7af34230
amd64_syscall() at amd64_syscall+0x1f/frame 0xfffffe0f7af34330
Xfast_syscall() at Xfast_syscall+0xfb/frame 0xfffffe0f7af34330
--- syscall (304, FreeBSD ELF64, sys_kldload), rip = 0x80086673a, rsp = 0x7fffffffe798, rbp = 0x7fffffffecb0 
KDB: enter: panic
Comment 1 Sean Bruno freebsd_committer 2018-09-01 00:38:43 UTC
How are you making this happen? (kldload?  Just using GENERIC?)

What version of FreeBSD are you using?  (12-CURRENT, 12-ALPHA?  What svn revision?)
Comment 2 Alexandre martins 2018-09-03 07:27:00 UTC
I'm sorry, I forget that we manually upgrade our kernel module to the Intel version 1.9.12 on a FreeBSD 11.2.

So, I close this ticket.