Thread (4 messages) 4 messages, 3 authors, 2021-07-26
STALE1788d LANDED

[PATCH 2/2] PCI: Add Max Payload Size quirk for ASMedia ASM1062 SATA controller

From: Marek Behún <kabel@kernel.org>
Date: 2021-06-24 17:14:26
Also in: linux-pci
Subsystem: pci subsystem, the rest · Maintainers: Bjorn Helgaas, Linus Torvalds

The ASMedia ASM1062 SATA controller advertises
Max_Payload_Size_Supported of 512, but in fact it cannot handle TLPs
with payload size of 512.

We discovered this issue on PCIe controllers capable of MPS = 512
(Aardvark and DesignWare), where the issue presents itself as an
External Abort. Bjorn Helgaas says:
  Probably ASM1062 reports a Malformed TLP error when it receives a data
  payload of 512 bytes, and Aardvark, DesignWare, etc convert this to an
  arm64 External Abort.

Limiting Max Payload Size to 256 bytes solves this problem.

Signed-off-by: Marek Behún <kabel@kernel.org>
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=212695
Reported-by: Rötti <redacted>
Cc: Pali Rohár <pali@kernel.org>
Cc: stable@vger.kernel.org
---
 drivers/pci/quirks.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 4d9b9d8fbc43..a4ba3e3b3c5e 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -3239,6 +3239,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SOLARFLARE,
 			PCI_DEVICE_ID_SOLARFLARE_SFC4000A_1, fixup_mpss_256);
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SOLARFLARE,
 			PCI_DEVICE_ID_SOLARFLARE_SFC4000B, fixup_mpss_256);
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_ASMEDIA, 0x0612, fixup_mpss_256);
 
 /*
  * Intel 5000 and 5100 Memory controllers have an erratum with read completion
-- 
2.31.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help