Fix Samsung pci-e SSD handling on some macbooks (rhbz 1161805)
This commit is contained in:
parent
9a2db57bfd
commit
09115662e1
67
ahci-disable-MSI-instead-of-NCQ-on-Samsung-pci-e-SSD.patch
Normal file
67
ahci-disable-MSI-instead-of-NCQ-on-Samsung-pci-e-SSD.patch
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
From: Tejun Heo <tj@kernel.org>
|
||||||
|
Date: Mon, 27 Oct 2014 10:30:52 -0400
|
||||||
|
Subject: [PATCH] ahci: disable MSI instead of NCQ on Samsung pci-e SSDs on
|
||||||
|
macbooks
|
||||||
|
|
||||||
|
From 44aecdabc85087e7c299d7a28e095e2b91894a51 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tejun Heo <tj@kernel.org>
|
||||||
|
Date: Mon, 27 Oct 2014 10:22:56 -0400
|
||||||
|
|
||||||
|
Samsung pci-e SSDs on macbooks failed miserably on NCQ commands, so
|
||||||
|
67809f85d31e ("ahci: disable NCQ on Samsung pci-e SSDs on macbooks")
|
||||||
|
disabled NCQ on them. It turns out that NCQ is fine as long as MSI is
|
||||||
|
not used, so let's turn off MSI and leave NCQ on.
|
||||||
|
|
||||||
|
Signed-off-by: Tejun Heo <tj@kernel.org>
|
||||||
|
Link: https://bugzilla.kernel.org/show_bug.cgi?id=60731
|
||||||
|
Tested-by: <dorin@i51.org>
|
||||||
|
Tested-by: Imre Kaloz <kaloz@openwrt.org>
|
||||||
|
Cc: stable@vger.kernel.org
|
||||||
|
Fixes: 67809f85d31e ("ahci: disable NCQ on Samsung pci-e SSDs on macbooks")
|
||||||
|
---
|
||||||
|
drivers/ata/ahci.c | 14 +++++++++++---
|
||||||
|
1 file changed, 11 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
|
||||||
|
index 5f039f191067..ef4b647b3ed2 100644
|
||||||
|
--- a/drivers/ata/ahci.c
|
||||||
|
+++ b/drivers/ata/ahci.c
|
||||||
|
@@ -60,6 +60,7 @@ enum board_ids {
|
||||||
|
/* board IDs by feature in alphabetical order */
|
||||||
|
board_ahci,
|
||||||
|
board_ahci_ign_iferr,
|
||||||
|
+ board_ahci_nomsi,
|
||||||
|
board_ahci_noncq,
|
||||||
|
board_ahci_nosntf,
|
||||||
|
board_ahci_yes_fbs,
|
||||||
|
@@ -121,6 +122,13 @@ static const struct ata_port_info ahci_port_info[] = {
|
||||||
|
.udma_mask = ATA_UDMA6,
|
||||||
|
.port_ops = &ahci_ops,
|
||||||
|
},
|
||||||
|
+ [board_ahci_nomsi] = {
|
||||||
|
+ AHCI_HFLAGS (AHCI_HFLAG_NO_MSI),
|
||||||
|
+ .flags = AHCI_FLAG_COMMON,
|
||||||
|
+ .pio_mask = ATA_PIO4,
|
||||||
|
+ .udma_mask = ATA_UDMA6,
|
||||||
|
+ .port_ops = &ahci_ops,
|
||||||
|
+ },
|
||||||
|
[board_ahci_noncq] = {
|
||||||
|
AHCI_HFLAGS (AHCI_HFLAG_NO_NCQ),
|
||||||
|
.flags = AHCI_FLAG_COMMON,
|
||||||
|
@@ -475,10 +483,10 @@ static const struct pci_device_id ahci_pci_tbl[] = {
|
||||||
|
{ PCI_VDEVICE(ASMEDIA, 0x0612), board_ahci }, /* ASM1062 */
|
||||||
|
|
||||||
|
/*
|
||||||
|
- * Samsung SSDs found on some macbooks. NCQ times out.
|
||||||
|
- * https://bugzilla.kernel.org/show_bug.cgi?id=60731
|
||||||
|
+ * Samsung SSDs found on some macbooks. NCQ times out if MSI is
|
||||||
|
+ * enabled. https://bugzilla.kernel.org/show_bug.cgi?id=60731
|
||||||
|
*/
|
||||||
|
- { PCI_VDEVICE(SAMSUNG, 0x1600), board_ahci_noncq },
|
||||||
|
+ { PCI_VDEVICE(SAMSUNG, 0x1600), board_ahci_nomsi },
|
||||||
|
|
||||||
|
/* Enmotus */
|
||||||
|
{ PCI_DEVICE(0x1c44, 0x8000), board_ahci },
|
||||||
|
--
|
||||||
|
1.9.3
|
||||||
|
|
@ -616,6 +616,9 @@ Patch26064: Input-add-driver-for-the-Goodix-touchpanel.patch
|
|||||||
|
|
||||||
Patch26065: sched-Remove-lockdep-check-in-sched_move_task.patch
|
Patch26065: sched-Remove-lockdep-check-in-sched_move_task.patch
|
||||||
|
|
||||||
|
#rhbz 1161805
|
||||||
|
Patch26066: ahci-disable-MSI-instead-of-NCQ-on-Samsung-pci-e-SSD.patch
|
||||||
|
|
||||||
# git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel
|
# git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel
|
||||||
Patch30000: kernel-arm64.patch
|
Patch30000: kernel-arm64.patch
|
||||||
|
|
||||||
@ -1341,6 +1344,9 @@ ApplyPatch Input-add-driver-for-the-Goodix-touchpanel.patch
|
|||||||
|
|
||||||
ApplyPatch sched-Remove-lockdep-check-in-sched_move_task.patch
|
ApplyPatch sched-Remove-lockdep-check-in-sched_move_task.patch
|
||||||
|
|
||||||
|
#rhbz 1161805
|
||||||
|
ApplyPatch ahci-disable-MSI-instead-of-NCQ-on-Samsung-pci-e-SSD.patch
|
||||||
|
|
||||||
%if 0%{?aarch64patches}
|
%if 0%{?aarch64patches}
|
||||||
ApplyPatch kernel-arm64.patch
|
ApplyPatch kernel-arm64.patch
|
||||||
%ifnarch aarch64 # this is stupid, but i want to notice before secondary koji does.
|
%ifnarch aarch64 # this is stupid, but i want to notice before secondary koji does.
|
||||||
@ -2209,6 +2215,9 @@ fi
|
|||||||
# ||----w |
|
# ||----w |
|
||||||
# || ||
|
# || ||
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Nov 10 2014 Josh Boyer <jwboyer@fedoraproject.org>
|
||||||
|
- Fix Samsung pci-e SSD handling on some macbooks (rhbz 1161805)
|
||||||
|
|
||||||
* Mon Nov 10 2014 Josh Boyer <jwboyer@fedoraproject.org> - 3.18.0-0.rc4.git0.1
|
* Mon Nov 10 2014 Josh Boyer <jwboyer@fedoraproject.org> - 3.18.0-0.rc4.git0.1
|
||||||
- Linux v3.18-rc4
|
- Linux v3.18-rc4
|
||||||
- Temporarily disable aarch64patches
|
- Temporarily disable aarch64patches
|
||||||
|
Loading…
Reference in New Issue
Block a user