]> git.hungrycats.org Git - linux/commitdiff
[SPARC64]: Implement pci_dma_error().
authorDavid S. Miller <davem@nuts.davemloft.net>
Fri, 19 Mar 2004 05:40:56 +0000 (21:40 -0800)
committerDavid S. Miller <davem@nuts.davemloft.net>
Fri, 19 Mar 2004 05:40:56 +0000 (21:40 -0800)
arch/sparc64/kernel/pci_iommu.c
include/asm-sparc64/pci.h

index b2c12a5b94ecb4b3cd4ab7654fbb6910b6a017c6..cca82a12ed22340bf1c5938621c074149d5cf970 100644 (file)
@@ -352,8 +352,7 @@ dma_addr_t pci_map_single(struct pci_dev *pdev, void *ptr, size_t sz, int direct
 
 bad:
        spin_unlock_irqrestore(&iommu->lock, flags);
-       BUG();
-       return 0;
+       return PCI_DMA_ERROR_CODE;
 }
 
 /* Unmap a single streaming mode DMA translation. */
@@ -580,8 +579,7 @@ int pci_map_sg(struct pci_dev *pdev, struct scatterlist *sglist, int nelems, int
 
 bad:
        spin_unlock_irqrestore(&iommu->lock, flags);
-       BUG();
-       return 0;
+       return PCI_DMA_ERROR_CODE;
 }
 
 /* Unmap a set of streaming mode DMA translations. */
index e53279ec1ab69e364273dfafb9bf2af09023cecf..cfcfd74497ec08d1bd9e9a7f9bf2be0f39f99fda 100644 (file)
@@ -213,6 +213,13 @@ pci_dac_dma_sync_single_for_device(struct pci_dev *pdev, dma64_addr_t dma_addr,
         */
 }
 
+#define PCI_DMA_ERROR_CODE     (~(dma_addr_t)0x0)
+
+static inline int pci_dma_error(dma_addr_t dma_addr)
+{
+       return (dma_addr == PCI_DMA_ERROR_CODE);
+}
+
 /* Return the index of the PCI controller for device PDEV. */
 
 extern int pci_domain_nr(struct pci_bus *bus);