pci-v6.12-fixes-2
-----BEGIN PGP SIGNATURE----- iQJIBAABCgAyFiEEgMe7l+5h9hnxdsnuWYigwDrT+vwFAmclPW8UHGJoZWxnYWFz QGdvb2dsZS5jb20ACgkQWYigwDrT+vw5PA//fEcidfzf0FSJ7jiEndeCgEQrxJFc vucdeJRMzI3PTvee6Ly5H9jX8Imh99Zf3k8LZz88mYODJdLdzLPBV9Q4cgRrbhcS yRuvQOm0JrzJ6TRF9hMjxY20LdqsztsKsnxDAcJjbkUqTKYmrfXBM7b/gLhMLX6g Q6WLoJwyM7cUAFYLAWzZDQLlR3u3Muk0t98lw7fTk/4qQETFOkBW7OAliNSWCLEJ Lr1gXtYJlCfIxaOPtNnLmzEzwaljtIxwYfZPj9F0Kuyl2NcFcFp2dTxNWzmiierd YBGXqo8UJ88tGeGTk5EFuCpQOkr/yaUbCkgKKONOAQASBTgyT4YgO7iZiRZYCIIL tbQ1FhJFKTSj3yG+mVH5WeKyOZzAAf69yZZUBQ+NS+K/hUXIJfOOArIPZ+g41EyL JLdxA66CqNY3S3Fn1KMsspz+eWsmCqcK8ySQhqMow4qUhWahwt7nzLLfHTywRCbK h7WzHr9/Cs0f24CKXMbT2VzZObvVCBmJm3BGEMiATXYXKtZb8bzIukAl2kFk9aym vmPxq1wA9M/5MYrlOX/Y3ieqhV546ZYzGquEefd42Z9Wv0+jtGTHw9Zw2AK41BBl ttm9gZHUIn9OSOts5TMlFgqLVKbRBXK0TYmWPbKPV4ObajvYcP6hzfiEVYRrpMJv pbMN0T8YnJv3YBQ= =9o9y -----END PGP SIGNATURE----- Merge tag 'pci-v6.12-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci Pull pci fix from Bjorn Helgaas: - Enable device-specific ACS-like functionality even if the device doesn't advertise an ACS capability, which got broken when adding fancy ACS kernel parameter (Jason Gunthorpe) * tag 'pci-v6.12-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci: PCI: Fix pci_enable_acs() support for the ACS quirks
This commit is contained in:
commit
05b92660cd
@ -1067,8 +1067,15 @@ static void pci_std_enable_acs(struct pci_dev *dev, struct pci_acs *caps)
|
||||
static void pci_enable_acs(struct pci_dev *dev)
|
||||
{
|
||||
struct pci_acs caps;
|
||||
bool enable_acs = false;
|
||||
int pos;
|
||||
|
||||
/* If an iommu is present we start with kernel default caps */
|
||||
if (pci_acs_enable) {
|
||||
if (pci_dev_specific_enable_acs(dev))
|
||||
enable_acs = true;
|
||||
}
|
||||
|
||||
pos = dev->acs_cap;
|
||||
if (!pos)
|
||||
return;
|
||||
@ -1077,11 +1084,8 @@ static void pci_enable_acs(struct pci_dev *dev)
|
||||
pci_read_config_word(dev, pos + PCI_ACS_CTRL, &caps.ctrl);
|
||||
caps.fw_ctrl = caps.ctrl;
|
||||
|
||||
/* If an iommu is present we start with kernel default caps */
|
||||
if (pci_acs_enable) {
|
||||
if (pci_dev_specific_enable_acs(dev))
|
||||
pci_std_enable_acs(dev, &caps);
|
||||
}
|
||||
if (enable_acs)
|
||||
pci_std_enable_acs(dev, &caps);
|
||||
|
||||
/*
|
||||
* Always apply caps from the command line, even if there is no iommu.
|
||||
|
Loading…
Reference in New Issue
Block a user