Patchwork [v4,0/13] SATA ZPODD support

login
register
mail settings
Submitter Fuzhou Chen
Date May 30, 2012, 9:06 a.m.
Message ID <6689D53B948ACF469C8E9C8CCD48EBE1166CD91A@SINEX14MBXC403.southpacific.corp.microsoft.com>
Download mbox | patch
Permalink /patch/161897/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Fuzhou Chen - May 30, 2012, 9:06 a.m.
Sorry Aaron, but I have left Microsoft Open Source team for a while. Due to policy limitations, I can't touch Linux kernel source now. 

Hi Hashir, could you help find current owner of our HDD driver to verify this fix? This is a ata-acpi module bug I reported last year. Our daily BVT in linux-next tree should be able to handle this verification

Thanks,
Fuzhou

-----Original Message-----
From: Aaron Lu [mailto:aaron.lu@amd.com] 
Sent: Wednesday, May 30, 2012 1:43 PM
To: Lin Ming; Fuzhou Chen
Cc: Alan Cox; Jeff Garzik; David Woodhouse; Holger Macht; Matthew Garrett; linux-kernel@vger.kernel.org; linux-pm@vger.kernel.org; linux-scsi@vger.kernel.org; linux-ide@vger.kernel.org; linux-acpi@vger.kernel.org
Subject: Re: [PATCH v4 0/13] SATA ZPODD support

On Tue, May 29, 2012 at 08:32:49PM +0800, Lin Ming wrote:
> On Mon, May 28, 2012 at 5:54 PM, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> >> Have you fixed the fact that Matthews patches broke things like 
> >> pata_acpi last time ? Until that is fixed properly I don't see that 
> >> these patches can make any progress.
> >
> > https://lkml.org/lkml/2012/2/24/2
> 
> Aaron has a fix.
> We'll do more test.

Here is the patch, apply on top of the ZPODD patch set.

Hi Fuzhou,
Can you please give it a test? Thanks.
I tested on my system with a ATI IDE controller and it could work with pata_acpi module.

> 
> Thanks for the info.
> Lin Ming
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" 
> in the body of a message to majordomo@vger.kernel.org More majordomo 
> info at  http://vger.kernel.org/majordomo-info.html
> 


--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/ata/libata-acpi.c b/drivers/ata/libata-acpi.c index 6de8f32..c53266a 100644
--- a/drivers/ata/libata-acpi.c
+++ b/drivers/ata/libata-acpi.c
@@ -59,7 +59,18 @@  acpi_handle ata_ap_acpi_handle(struct ata_port *ap)  {
 	if (ap->flags & ATA_FLAG_ACPI_SATA)
 		return NULL;
-	return DEVICE_ACPI_HANDLE(&ap->scsi_host->shost_gendev);
+
+	/*
+	 * If acpi bind operation has already happened, we can get the handle
+	 * for the port by checking the corresponding scsi_host device's
+	 * firmware node, otherwise we will need to find out the handle from
+	 * its parent's acpi node.
+	 */
+	if (ap->scsi_host)
+		return DEVICE_ACPI_HANDLE(&ap->scsi_host->shost_gendev);
+	else
+		return acpi_get_child(DEVICE_ACPI_HANDLE(ap->host->dev),
+				ap->port_no);
 }
 EXPORT_SYMBOL(ata_ap_acpi_handle);

-Aaron