Patchwork [#upstream] ahci: add HFLAG_YES_FBS and apply it to 88SE9128

login
register
mail settings
Submitter Anssi Hannula
Date Jan. 7, 2011, 7:22 p.m.
Message ID <4D2767FB.5060706@iki.fi>
Download mbox | patch
Permalink /patch/77901/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Anssi Hannula - Jan. 7, 2011, 7:22 p.m.
On 08.12.2010 20:13, Tejun Heo wrote:
> Hello,

Hello!

> On 12/08/2010 07:09 PM, Jeff Garzik wrote:
>>> I'm not completely comfortable with going ahead with the patch tho.
>>> It probably is okay but it's still a shot in the dark.  Is there
>>> anyone with marvell contact?
>>
>> I have docs for most Marvell models, but not this one; and no
>> contacts...  Presumably it is some variant of their existing Marvell
>> AHCI line of chips, but beyond that, you and I are both just
>> guessing.
> 
> Eh, well, in that case as it's a fix one way or the other,
> 
> Acked-by: Tejun Heo <tj@kernel.org>
> 
> Thanks.

Ping? This regression fix doesn't seem to be applied in any tree yet.

Attached again, just in case.

Patch

From 5e4e904eb78d69528bc3b3ddd39a55579642bfbd Mon Sep 17 00:00:00 2001
From: Anssi Hannula <anssi.hannula@iki.fi>
Date: Tue, 30 Nov 2010 03:43:15 +0200
Subject: [PATCH] ahci: do not match the IDE interface of 88SE9128

Commit 5f173107ecad83a50 added HFLAG_YES_FBS workaround for 88SE9128
(1b4b:9123).

However, that change inadvertently caused the legacy IDE interface of
the controller (with the same pci id) to become associated with the AHCI
driver as well, causing the driver to try to bring the interface up in
vain.

Fix that by matching against class as well.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
---
 drivers/ata/ahci.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 3288263..791cf9b 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -379,6 +379,8 @@  static const struct pci_device_id ahci_pci_tbl[] = {
 	{ PCI_VDEVICE(MARVELL, 0x6145), board_ahci_mv },	/* 6145 */
 	{ PCI_VDEVICE(MARVELL, 0x6121), board_ahci_mv },	/* 6121 */
 	{ PCI_DEVICE(0x1b4b, 0x9123),
+	  .class = PCI_CLASS_STORAGE_SATA_AHCI,
+	  .class_mask = 0xffffff,
 	  .driver_data = board_ahci_yes_fbs },			/* 88se9128 */
 
 	/* Promise */
-- 
1.7.3