Commit 7f5b5da7 authored by Alan Mayer's avatar Alan Mayer Committed by David Mosberger

[PATCH] ia64: fix bug in SN2 sn_pci_map_sg that causes MCA

If sg->dma_address is set, we try to do a __pa() on a dma_address,
then, later, create a dma_addresss from a munged dma_address.  When
this bogus dma_address is used by the card, it results in MCAs.
parent 0a7290a8
...@@ -279,8 +279,7 @@ sn_pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sg, int nents, int dire ...@@ -279,8 +279,7 @@ sn_pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sg, int nents, int dire
* scatterlist. * scatterlist.
*/ */
for (i = 0; i < nents; i++, sg++) { for (i = 0; i < nents; i++, sg++) {
phys_addr = __pa(sg->dma_address ? sg->dma_address : phys_addr = __pa((unsigned long)page_address(sg->page) + sg->offset);
(unsigned long)page_address(sg->page) + sg->offset);
/* /*
* Handle the most common case: 64 bit cards. This * Handle the most common case: 64 bit cards. This
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment