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
|
||||
|
||||
#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
|
||||
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
|
||||
|
||||
#rhbz 1161805
|
||||
ApplyPatch ahci-disable-MSI-instead-of-NCQ-on-Samsung-pci-e-SSD.patch
|
||||
|
||||
%if 0%{?aarch64patches}
|
||||
ApplyPatch kernel-arm64.patch
|
||||
%ifnarch aarch64 # this is stupid, but i want to notice before secondary koji does.
|
||||
@ -2209,6 +2215,9 @@ fi
|
||||
# ||----w |
|
||||
# || ||
|
||||
%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
|
||||
- Linux v3.18-rc4
|
||||
- Temporarily disable aarch64patches
|
||||
|
Loading…
Reference in New Issue
Block a user