]> www.infradead.org Git - users/dwmw2/linux.git/commit
s390/pci: Fix zpci_bus_is_isolated_vf() for non-VFs
authorNiklas Schnelle <schnelle@linux.ibm.com>
Thu, 20 Mar 2025 16:26:12 +0000 (17:26 +0100)
committerVasily Gorbik <gor@linux.ibm.com>
Mon, 31 Mar 2025 10:20:39 +0000 (12:20 +0200)
commit8691abd3afaadd816a298503ec1a759df1305d2e
tree42fe8b63dc0987261ad9da5a589bb9f9fc2810a7
parent1f266fd704ef3be8a4b2a066edf25b75fd90a9c6
s390/pci: Fix zpci_bus_is_isolated_vf() for non-VFs

For non-VFs, zpci_bus_is_isolated_vf() should return false because they
aren't VFs. While zpci_iov_find_parent_pf() specifically checks if
a function is a VF, it then simply returns that there is no parent. The
simplistic check for a parent then leads to these functions being
confused with isolated VFs and isolating them on their own domain even
if sibling PFs should share the domain.

Fix this by explicitly checking if a function is not a VF. Note also
that at this point the case where RIDs are ignored is already handled
and in this case all PCI functions get isolated by being detected in
zpci_bus_is_multifunction_root().

Cc: stable@vger.kernel.org
Fixes: 2844ddbd540f ("s390/pci: Fix handling of isolated VFs")
Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/pci/pci_bus.c