git: f5f6479d5c71 - stable/15 - hyperv: Stop bus relations handling from falling through to eject
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 29 Oct 2026 05:01:12 UTC
The branch stable/15 has been updated by kbowling:
URL: https://cgit.FreeBSD.org/src/commit/?id=f5f6479d5c719834524e94e13dac947ef339c5b4
commit f5f6479d5c719834524e94e13dac947ef339c5b4
Author: Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2026-09-14 22:31:58 +0000
Commit: Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2026-10-29 05:01:04 +0000
hyperv: Stop bus relations handling from falling through to eject
The PCI_BUS_RELATIONS2 case lacks a break after queuing the reported
devices. It consequently processes the same packet as PCI_EJECT,
interpreting device_count as the slot number. If that value matches an
existing child, the callback schedules an unintended device eject.
End the relations case after processing the device list, matching the
original PCI_BUS_RELATIONS handling.
Fixes: ea11861e434a ("arm64: Hyper-V: vPCI: Enabling v-PCI in FreeBSD in ARM64 Hyper-V")
Sponsored by: BBOX.io
(cherry picked from commit ddcf8be82b0f17c767d2edab026a4f5cfa3d217e)
---
sys/dev/hyperv/pcib/vmbus_pcib.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys/dev/hyperv/pcib/vmbus_pcib.c b/sys/dev/hyperv/pcib/vmbus_pcib.c
index 7b755e5f9c63..c5ea1cd1e386 100644
--- a/sys/dev/hyperv/pcib/vmbus_pcib.c
+++ b/sys/dev/hyperv/pcib/vmbus_pcib.c
@@ -1013,6 +1013,7 @@ vmbus_pcib_on_channel_callback(struct vmbus_channel *chan, void *arg)
break;
hv_pci_devices_present2(hbus, bus_rel2);
+ break;
case PCI_EJECT:
dev_msg = (struct pci_dev_incoming *)buffer;