PCI: Disable ATS for specific Intel IPU E2000 devices
authorBartosz Pawlowski <bartosz.pawlowski@intel.com>
Fri, 8 Sep 2023 14:36:06 +0000 (14:36 +0000)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 18 Oct 2023 21:12:46 +0000 (16:12 -0500)
commita18615b1cfc04f00548c60eb9a77e0ce56e848fd
tree0e55b8416b88e512e01e9a3367a861033d290c58
parentf18b1137d38c091cc8c16365219f0a1d4a30b3d1
PCI: Disable ATS for specific Intel IPU E2000 devices

Due to a hardware issue in A and B steppings of Intel IPU E2000, it expects
wrong endianness in ATS invalidation message body. This problem can lead to
outdated translations being returned as valid and finally cause system
instability.

To prevent such issues, add quirk_intel_e2000_no_ats() to disable ATS for
vulnerable IPU E2000 devices.

Link: https://lore.kernel.org/r/20230908143606.685930-3-bartosz.pawlowski@intel.com
Signed-off-by: Bartosz Pawlowski <bartosz.pawlowski@intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com>
drivers/pci/quirks.c