Fix off-by-one in the MSI-X interrupt establish loop that always tried to
authorpatrick <patrick@openbsd.org>
Wed, 5 Jul 2023 18:11:08 +0000 (18:11 +0000)
committerpatrick <patrick@openbsd.org>
Wed, 5 Jul 2023 18:11:08 +0000 (18:11 +0000)
commitde3309eee246ab22f714794c6ed0d90cabe5acc6
treebcfa689a22b2aff54729a4a23440802e6e9d66bb
parent6ddee6b2f030ff630644d554ad4ace301b323344
Fix off-by-one in the MSI-X interrupt establish loop that always tried to
establish one more interrupt than would be needed for per-VQ IRQs. This
meant even though there were enough MSI-X vectors available this path could
fail, roll back previously established interrupts and switch to shared IRQs
as a fallback.

ok dv@
sys/dev/pci/virtio_pci.c