summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/dahdi/wctc4xxp/base.c2
-rw-r--r--include/dahdi/kernel.h4
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/dahdi/wctc4xxp/base.c b/drivers/dahdi/wctc4xxp/base.c
index b3e3f07..037eed5 100644
--- a/drivers/dahdi/wctc4xxp/base.c
+++ b/drivers/dahdi/wctc4xxp/base.c
@@ -3475,7 +3475,7 @@ wctc4xxp_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
init_waitqueue_head(&wc->waitq);
- if (pci_set_dma_mask(wc->pdev, DMA_32BIT_MASK)) {
+ if (pci_set_dma_mask(wc->pdev, DMA_BIT_MASK(32))) {
release_region(wc->iobase, 0xff);
DTE_PRINTK(WARNING, "No suitable DMA available.\n");
return -EIO;
diff --git a/include/dahdi/kernel.h b/include/dahdi/kernel.h
index 029a9d5..cee9229 100644
--- a/include/dahdi/kernel.h
+++ b/include/dahdi/kernel.h
@@ -1167,4 +1167,8 @@ static inline short dahdi_txtone_nextsample(struct dahdi_chan *ss)
#define kzalloc(a, b) kcalloc(1, a, b)
#endif
+#ifndef DMA_BIT_MASK
+#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
+#endif
+
#endif /* _DAHDI_KERNEL_H */