[Bug 290793] iovctl on mlx5en won't work

[email protected]
Newsgroups gmane.os.freebsd.devel.net
Message-ID <[email protected]/bugzilla/>
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290793

--- Comment #20 from Bjoern A. Zeeb <[email protected]> ---
With new firmware the LinuxKPI error shows up as well (in addition to my
instrumentation).
Also the "undo" from mlx5_core in LinuxKPI pci_release_resource() results in a
panic (assertion) inside pci(4).

I do understand the problem and the workaround from the patch seems fine for
now.
It is the cause but the reasoning is wrong.
pci_resource_len() calls lkpi_pci_get_bar() with true, which will create the
resource and then in the follow-up bus_alloc_resource_any() fails (hence
printing the error).
If we make pci_resource_len() call lkpi_pci_get_bar() with false the bar won't
be there and the == 0 check will fail.
So in the end the check becomes pointless in this order.

However I need to fix the callers to deal with the problem and see how to do
error handling there.

I'll likely not have time before mid-week to look again but I have to stop now.
It's Mon 4:15AM.

Thanks for all the help for getting me setup for this so I could debug it!!!


Just so I do not lose it -- the panic.  That's likely for someone else to look.

mlx5_core2: WARN: wait_fw_init:779:(pid 5986): Waiting for FW initialization,
timeout abort in 3 s
mlx5_core2: WARN: wait_fw_init:779:(pid 5986): Waiting for FW initialization,
timeout abort in 0 s
mlx5_core2: Firmware over 5000 MS in pre-initializing state, aborting
mlx5_core2: ERR: init_one:1710:(pid 5986): mlx5_load_one failed -16
panic: pci_vf_release_mem_resource: rman 0xfffff80049fb9e30 doesn't match for
resource 0xfffff80001a71d80
cpuid = 7
time = 1763946040
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe00ff27f760
vpanic() at vpanic+0x136/frame 0xfffffe00ff27f890
panic() at panic+0x43/frame 0xfffffe00ff27f8f0
pci_vf_release_mem_resource() at pci_vf_release_mem_resource+0xf6/frame
0xfffffe00ff27f920
linuxkpi_pci_release_regions() at linuxkpi_pci_release_regions+0x10/frame
0xfffffe00ff27f940
mlx5_pci_close() at mlx5_pci_close+0x73/frame 0xfffffe00ff27f970
init_one() at init_one+0x138f/frame 0xfffffe00ff27f9e0
linux_pci_attach_device() at linux_pci_attach_device+0x56b/frame
0xfffffe00ff27fa40
device_attach() at device_attach+0x45b/frame 0xfffffe00ff27fa90
bus_attach_children() at bus_attach_children+0x4a/frame 0xfffffe00ff27fab0
pci_iov_enumerate_vfs() at pci_iov_enumerate_vfs+0x3b6/frame 0xfffffe00ff27fb30
pci_iov_ioctl() at pci_iov_ioctl+0x844/frame 0xfffffe00ff27fbc0
devfs_ioctl() at devfs_ioctl+0xd1/frame 0xfffffe00ff27fc10
VOP_IOCTL_APV() at VOP_IOCTL_APV+0x51/frame 0xfffffe00ff27fc40
vn_ioctl() at vn_ioctl+0x160/frame 0xfffffe00ff27fcb0
devfs_ioctl_f() at devfs_ioctl_f+0x1e/frame 0xfffffe00ff27fcd0
kern_ioctl() at kern_ioctl+0x2a1/frame 0xfffffe00ff27fd40
sys_ioctl() at sys_ioctl+0x12f/frame 0xfffffe00ff27fe00
amd64_syscall() at amd64_syscall+0x169/frame 0xfffffe00ff27ff30
fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe00ff27ff30
--- syscall (54, FreeBSD ELF64, ioctl), rip = 0x378cf1afa03a, rsp =
0x378ced110678, rbp = 0x378ced1106d0 ---
KDB: enter: panic
[ thread pid 5986 tid 100225 ]
Stopped at      kdb_enter+0x33: movq    $0,0x1217452(%rip)

-- 
You are receiving this mail because:
You are the assignee for the bug.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.