Linux ATA/IDE development
 help / color / mirror / Atom feed
* [PATCH libata/for-3.14-fixes] ahci: disable NCQ on Samsung pci-e SSDs on macbooks
@ 2014-02-18 15:28 Tejun Heo
  2014-02-18 16:30 ` Levente Kurusa
  0 siblings, 1 reply; 2+ messages in thread
From: Tejun Heo @ 2014-02-18 15:28 UTC (permalink / raw)
  To: linux-ide; +Cc: Levente Kurusa

>From 67809f85d31eac600f6b28defa5386c9d2a13b1d Mon Sep 17 00:00:00 2001
From: Levente Kurusa <levex@linux.com>
Date: Tue, 18 Feb 2014 10:22:17 -0500

Samsung's pci-e SSDs with device ID 0x1600 which are found on some
macbooks time out on NCQ commands.  Blacklist NCQ on the device so
that the affected machines can at least boot.

Original-patch-by: Levente Kurusa <levex@linux.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=60731
Cc: stable@vger.kernel.org
---
 drivers/ata/ahci.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index dc2756f..7df81576 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -61,6 +61,7 @@ enum board_ids {
 	/* board IDs by feature in alphabetical order */
 	board_ahci,
 	board_ahci_ign_iferr,
+	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_noncq] = {
+		AHCI_HFLAGS	(AHCI_HFLAG_NO_NCQ),
+		.flags		= AHCI_FLAG_COMMON,
+		.pio_mask	= ATA_PIO4,
+		.udma_mask	= ATA_UDMA6,
+		.port_ops	= &ahci_ops,
+	},
 	[board_ahci_nosntf] = {
 		AHCI_HFLAGS	(AHCI_HFLAG_NO_SNTF),
 		.flags		= AHCI_FLAG_COMMON,
@@ -452,6 +460,12 @@ static const struct pci_device_id ahci_pci_tbl[] = {
 	{ PCI_VDEVICE(ASMEDIA, 0x0611), board_ahci },	/* ASM1061 */
 	{ 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
+	 */
+	{ PCI_VDEVICE(SAMSUNG, 0x1600), board_ahci_noncq },
+
 	/* Enmotus */
 	{ PCI_DEVICE(0x1c44, 0x8000), board_ahci },
 
-- 
1.8.5.3


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH libata/for-3.14-fixes] ahci: disable NCQ on Samsung pci-e SSDs on macbooks
  2014-02-18 15:28 [PATCH libata/for-3.14-fixes] ahci: disable NCQ on Samsung pci-e SSDs on macbooks Tejun Heo
@ 2014-02-18 16:30 ` Levente Kurusa
  0 siblings, 0 replies; 2+ messages in thread
From: Levente Kurusa @ 2014-02-18 16:30 UTC (permalink / raw)
  To: Tejun Heo; +Cc: linux-ide@vger.kernel.org

2014-02-18 16:28 GMT+01:00 Tejun Heo <tj@kernel.org>:
> From 67809f85d31eac600f6b28defa5386c9d2a13b1d Mon Sep 17 00:00:00 2001
> From: Levente Kurusa <levex@linux.com>
> Date: Tue, 18 Feb 2014 10:22:17 -0500
>
> Samsung's pci-e SSDs with device ID 0x1600 which are found on some
> macbooks time out on NCQ commands.  Blacklist NCQ on the device so
> that the affected machines can at least boot.
>
> Original-patch-by: Levente Kurusa <levex@linux.com>
> Signed-off-by: Tejun Heo <tj@kernel.org>
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=60731
> Cc: stable@vger.kernel.org
> ---
>  drivers/ata/ahci.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
>
> [...]

Thank you for posting this! In case you need my Signed-off-by, here it is:

Signed-off-by: Levente Kurusa <levex@linux.com>

--
Regards,
Levente Kurusa

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-02-18 16:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-18 15:28 [PATCH libata/for-3.14-fixes] ahci: disable NCQ on Samsung pci-e SSDs on macbooks Tejun Heo
2014-02-18 16:30 ` Levente Kurusa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox