Re: Re: [PATCH] sata_nv: fix ADMA ATAPI issues with memory over 4GB (v3)

From: shyam_iyer
Date: Mon Dec 17 2007 - 11:17:23 EST


I found that the patch Robert has provided hasn't gone into 2.6.24-rc5 so maybe it is not working.

At the same time I did apply a small patch to 2.6.24-rc5 that seems to fix the issue.

I feel this could just be added to 2.6.24-rc5 without Robert's patch because of Jeff Garzik's" sata_nv: don't use legacy DMA in ADMA mode (v3)" patch.

It doesn't work without this patch because there is an allocation of memory from hpriv before the mask can be set.

Please review.

Signed-off-by: Shyam Iyer

--- sata_nv.c.orig 2007-12-17 21:08:12.000000000 +0530
+++ sata_nv.c 2007-12-17 21:08:25.000000000 +0530
@@ -2407,6 +2407,12 @@
type = GENERIC;
}

+ /* set 64bit dma masks, may fail */
+ if (type == ADMA) {
+ if (pci_set_dma_mask(pdev, DMA_64BIT_MASK) == 0)
+ pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK);
+ }
+
ppi[0] = &nv_port_info[type];
rc = ata_pci_prepare_sff_host(pdev, ppi, &host);
if (rc)
@@ -2418,12 +2424,6 @@
hpriv->type = type;
host->private_data = hpriv;

- /* set 64bit dma masks, may fail */
- if (type == ADMA) {
- if (pci_set_dma_mask(pdev, DMA_64BIT_MASK) == 0)
- pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK);
- }
-
/* request and iomap NV_MMIO_BAR */
rc = pcim_iomap_regions(pdev, 1 << NV_MMIO_BAR, DRV_NAME);
if (rc)


--
This message was sent on behalf of shyam_iyer@xxxxxxxx at openSubscriber.com
http://www.opensubscriber.com/message/linux-kernel@xxxxxxxxxxxxxxx/8211470.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/