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

From: Tejun Heo
Date: Thu Nov 22 2007 - 01:36:21 EST


Hello, Robert.

Robert Hancock wrote:
> This fixes some problems with ATAPI devices on nForce4 controllers in ADMA
> mode on systems with memory located above 4GB. We need to delay setting the
> 64-bit DMA mask until the PRD table and padding buffer are allocated so that
> they don't get allocated above 4GB and break legacy mode (which is needed for
> ATAPI devices). Also, explicitly set a 32-bit DMA mask before allocating the
> legacy buffers since setting the DMA mask affects both ports and we need to
> ensure the second port's buffers are allocated properly (fixes a problem
> with the previous version of this patch).
>
> Signed-off-by: Robert Hancock <hancockr@xxxxxxx>
>
> + /* Ensure DMA mask is set to 32-bit before allocating legacy PRD and
> + pad buffers */
> + pci_set_dma_mask(pdev, DMA_BIT_MASK(32));
> + pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32));
[--snip--]
> + pci_set_dma_mask(pdev, DMA_BIT_MASK(64));
> + pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64));

I'm probably being paranoid here but please add error checks. Just
checking return value and returning error suffices.

Thanks.

--
tejun
-
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/