Bug#1110812: PCI passthrough device visible in guest, but not functional
Package: linux-image-amd64
Version: 6.12.38-1
Host system: Debian 13
Guest system: tested various operating systems, all with the same result.
The following device can be passed through to a guest, but isn't functional:
03:00.0 Serial Attached SCSI controller: Broadcom / LSI SAS3008 PCI-Express Fusion-MPT SAS-3 (rev 02) DeviceName: Integrated RAID
Subsystem: Dell HBA330 Mini
Flags: bus master, fast devsel, latency 0, IRQ 53, NUMA node 0, IOMMU group 28
I/O ports at 2000 [size=256]
Memory at 93700000 (64-bit, non-prefetchable) [size=64K]
Memory at 92600000 (64-bit, non-prefetchable) [size=1M]
Expansion ROM at <ignored> [disabled]
Capabilities: [50] Power Management version 3
Capabilities: [68] Express Endpoint, IntMsgNum 0
Capabilities: [a8] MSI: Enable- Count=1/1 Maskable+ 64bit+
Capabilities: [c0] MSI-X: Enable+ Count=96 Masked-
Capabilities: [100] Advanced Error Reporting
Capabilities: [1e0] Secondary PCI Express
Capabilities: [1c0] Power Budgeting <?>
Capabilities: [190] Dynamic Power Allocation <?>
Capabilities: [150] Single Root I/O Virtualization (SR-IOV)
Capabilities: [148] Alternative Routing-ID Interpretation (ARI)
Kernel driver in use: vfio-pci
Kernel modules: mpt3sas
None of the drives show up in the guest system. The device seems to hang on:
[ +0.006783] mpt3sas_cm0: sending port enable !!
Expected behavior:
All drives show up in the guest system and I should see the following output:
[ +0.006783] mpt3sas_cm0: sending port enable !!
[ +0.003790] mpt3sas_cm0: hba_port entry: 00000000b1fe5e82, port: 255 is added to hba_port list
[ +0.001898] mpt3sas_cm0: host_add: handle(0x0001), sas_addr(0x54cd98f081d36a00), phys(8)
[ +0.002040] mpt3sas_cm0: expander_add: handle(0x0009), parent(0x0001), sas_addr(0x500056b3dd56c6ff), phys(29)
[ +0.003458] mpt3sas_cm0: port enable: SUCCESS
[ +0.003190] mpt3sas_cm0: handle(0xa) sas_address(0x500056b3dd56c6c0) port_type(0x1)
[ +0.000211] mpt3sas_cm0: handle(0xb) sas_address(0x500056b3dd56c6c1) port_type(0x1)
[ +0.000212] mpt3sas_cm0: handle(0xc) sas_address(0x500056b3dd56c6c2) port_type(0x1)
[ +0.000168] mpt3sas_cm0: handle(0xd) sas_address(0x500056b3dd56c6c3) port_type(0x1)
[ +0.000149] mpt3sas_cm0: handle(0xe) sas_address(0x500056b3dd56c6c4) port_type(0x1)
[ +0.000229] mpt3sas_cm0: handle(0xf) sas_address(0x500056b3dd56c6c5) port_type(0x1)
[ +0.000953] mpt3sas_cm0: handle(0x10) sas_address(0x500056b3dd56c6fd) port_type(0x1)
I haven't yet tried to reproduce the issue with another device.
The issue was never present on Debian 12. Using a Debian 12 kernel on the Debian 13 system also resolves the issue, which is what led me to think it's a Linux kernel issue.
Thanks in advance,
Karel Van Hecke
Reply to: