summaryrefslogtreecommitdiff
path: root/drivers/ssb
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-06-23 10:52:59 +0200
committerIngo Molnar <mingo@elte.hu>2008-06-23 10:52:59 +0200
commita60b33cf59d1c9e0e363287fce799cb23d45660c (patch)
tree85eb8feea5717cf472a2549e53f59183a95617c5 /drivers/ssb
parent0f476b6d91a1395bda6464e653ce66ea9bea7167 (diff)
parent481c5346d0981940ee63037eb53e4e37b0735c10 (diff)
Merge branch 'linus' into core/softirqtip-core-softirq-2008-06-23_08.53_Mon
Diffstat (limited to 'drivers/ssb')
-rw-r--r--drivers/ssb/main.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/ssb/main.c b/drivers/ssb/main.c
index 7cf8851286b5..d184f2aea78d 100644
--- a/drivers/ssb/main.c
+++ b/drivers/ssb/main.c
@@ -1168,15 +1168,21 @@ EXPORT_SYMBOL(ssb_dma_translation);
int ssb_dma_set_mask(struct ssb_device *ssb_dev, u64 mask)
{
struct device *dma_dev = ssb_dev->dma_dev;
+ int err = 0;
#ifdef CONFIG_SSB_PCIHOST
- if (ssb_dev->bus->bustype == SSB_BUSTYPE_PCI)
- return dma_set_mask(dma_dev, mask);
+ if (ssb_dev->bus->bustype == SSB_BUSTYPE_PCI) {
+ err = pci_set_dma_mask(ssb_dev->bus->host_pci, mask);
+ if (err)
+ return err;
+ err = pci_set_consistent_dma_mask(ssb_dev->bus->host_pci, mask);
+ return err;
+ }
#endif
dma_dev->coherent_dma_mask = mask;
dma_dev->dma_mask = &dma_dev->coherent_dma_mask;
- return 0;
+ return err;
}
EXPORT_SYMBOL(ssb_dma_set_mask);