Fix ebin SATA (#3057)
* Create 0001-pci-Add-Max-Payload-Size-quirk-for-ASMedia-ASM1062-SATA-controller.patch * Removing email headers from patch Co-authored-by: Igor Pečovnik <igorpecovnik@users.noreply.github.com>
This commit is contained in:
parent
885a99fe66
commit
eaea7142be
@ -0,0 +1,46 @@
|
||||
The ASMedia ASM1062 SATA controller causes an External Abort on
|
||||
controllers which support Max Payload Size >= 512. It happens with
|
||||
Aardvark PCIe controller (tested on Turris MOX) and also with DesignWare
|
||||
controller (armada8k, tested on CN9130-CRB):
|
||||
|
||||
ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
|
||||
ata1.00: ATA-9: WDC WD40EFRX-68WT0N0, 80.00A80, max UDMA/133
|
||||
ata1.00: 7814037168 sectors, multi 0: LBA48 NCQ (depth 32), AA
|
||||
ERROR: Unhandled External Abort received on 0x80000000 at EL3!
|
||||
ERROR: exception reason=1 syndrome=0x92000210
|
||||
PANIC at PC : 0x00000000040273bc
|
||||
|
||||
Limiting Max Payload Size to 256 bytes solves this problem.
|
||||
|
||||
On Turris MOX this problem first appeared when the pci-aardvark
|
||||
controller started using the pci-emul-bridge API, in commit 8a3ebd8de328
|
||||
("PCI: aardvark: Implement emulated root PCI bridge config space").
|
||||
|
||||
On armada8k this was always a problem because it has HW root bridge.
|
||||
|
||||
Signed-off-by: Marek Behún <kabel@kernel.org>
|
||||
Reported-by: Rötti <espressobinboardarmbiantempmailaddress@posteo.de>
|
||||
Cc: Pali Rohár <pali@kernel.org>
|
||||
Cc: stable@vger.kernel.org
|
||||
Reviewed-by: Pali Rohár <pali@kernel.org>
|
||||
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
|
||||
---
|
||||
drivers/pci/quirks.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
|
||||
index 653660e3ba9e..a561136efb08 100644
|
||||
--- a/drivers/pci/quirks.c
|
||||
+++ b/drivers/pci/quirks.c
|
||||
@@ -3251,6 +3251,11 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SOLARFLARE,
|
||||
PCI_DEVICE_ID_SOLARFLARE_SFC4000A_1, fixup_mpss_256);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SOLARFLARE,
|
||||
PCI_DEVICE_ID_SOLARFLARE_SFC4000B, fixup_mpss_256);
|
||||
+/*
|
||||
+ * For some reason DECLARE_PCI_FIXUP_HEADER does not work with pci-aardvark
|
||||
+ * controller. We have to use DECLARE_PCI_FIXUP_EARLY.
|
||||
+ */
|
||||
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_ASMEDIA, 0x0612, fixup_mpss_256);
|
||||
|
||||
/*
|
||||
* Intel 5000 and 5100 Memory controllers have an erratum with read completion
|
||||
Loading…
Reference in New Issue
Block a user