diff options
author | Adam Williamson <awilliam@redhat.com> | 2014-11-10 19:31:40 -0800 |
---|---|---|
committer | Adam Williamson <awilliam@redhat.com> | 2014-11-10 19:31:40 -0800 |
commit | cd2051e50eb862afffdce13da1b05ef6d7c774e1 (patch) | |
tree | 4415af7b40d8d89d20a2eb6ca8158ffaba0f9b44 /ahci-disable-MSI-instead-of-NCQ-on-Samsung-pci-e-SSD.patch | |
parent | a2d7a54b90ef3d379c3bbb12b4b0e959dab27b14 (diff) | |
parent | 09115662e15ee83248e62465fead50be5ed85f79 (diff) | |
download | kernel-cd2051e50eb862afffdce13da1b05ef6d7c774e1.tar.gz kernel-cd2051e50eb862afffdce13da1b05ef6d7c774e1.tar.xz kernel-cd2051e50eb862afffdce13da1b05ef6d7c774e1.zip |
Merge branch 'master' of ssh://pkgs.fedoraproject.org/kernel into baytrail
Diffstat (limited to 'ahci-disable-MSI-instead-of-NCQ-on-Samsung-pci-e-SSD.patch')
-rw-r--r-- | ahci-disable-MSI-instead-of-NCQ-on-Samsung-pci-e-SSD.patch | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/ahci-disable-MSI-instead-of-NCQ-on-Samsung-pci-e-SSD.patch b/ahci-disable-MSI-instead-of-NCQ-on-Samsung-pci-e-SSD.patch new file mode 100644 index 000000000..64d0e44f7 --- /dev/null +++ b/ahci-disable-MSI-instead-of-NCQ-on-Samsung-pci-e-SSD.patch @@ -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 + |