On Tue, Oct 14, 2025 at 03:41:00PM +0800, Huacai Chen wrote:
We found some discrete AMD graphics devices hide funtion 0 and the whole is not supposed to be probed.
Since our original purpose is to allow integrated devices (on bus 0) to be probed without function 0, we can limit the islolated function probing only on bus 0.
s/islolated/isolated/ (multiple) s/funtion/function/
I suppose this fixes some problem where:
- An AMD GPU is on some bus other than 00 - The GPU has no function 0 - Without function 0, we normally don't probe other functions - a02fd05661d7 means we *do* probe other functions on LoongArch - Therefore we find some non-0 function we're not supposed to find
If that's the case, what bad thing happens? Is there some dmesg hint we can include in the commit log?
I suppose this means such devices are potentially broken for s390 and jailhouse as well?
Cc: stable@vger.kernel.org Fixes: a02fd05661d73a8 ("PCI: Extend isolated function probing to LoongArch")
a02fd05661d7 (12-char SHA1 is conventional)
-static inline bool hypervisor_isolated_pci_functions(void) +static inline bool hypervisor_isolated_pci_functions(int bus) { if (IS_ENABLED(CONFIG_S390)) return true;
- if (IS_ENABLED(CONFIG_LOONGARCH))
return true;
- if (IS_ENABLED(CONFIG_LOONGARCH)) {
if (bus == 0)
I don't really like this embedded assumption that the root bus is bus 00. That's not necessarily the case; we have many host bridges that lead to a bus other than 00.
return true;
- }
return jailhouse_paravirt(); } -- 2.47.3