diff --git a/drivers/acpi/glue.c b/drivers/acpi/glue.cWell, so is this going to work for PCI too after all?
>index 39c485b..b9657af 100644
>--- a/drivers/acpi/glue.c
>+++ b/drivers/acpi/glue.c
>@@ -13,6 +13,7 @@
> #include <linux/slab.h>
> #include <linux/rwsem.h>
> #include <linux/acpi.h>
>+#include <linux/dma-mapping.h>
>
> #include "internal.h"
>
>@@ -167,6 +168,7 @@ int acpi_bind_one(struct device *dev, struct acpi_device *acpi_dev)
> struct list_head *physnode_list;
> unsigned int node_id;
> int retval = -EINVAL;
>+ bool coherent;
>
> if (has_acpi_companion(dev)) {
> if (acpi_dev) {
>@@ -223,6 +225,9 @@ int acpi_bind_one(struct device *dev, struct acpi_device *acpi_dev)
> if (!has_acpi_companion(dev))
> ACPI_COMPANION_SET(dev, acpi_dev);
>
>+ if (acpi_check_dma(acpi_dev, &coherent))
>+ arch_setup_dma_ops(dev, 0, 0, NULL, coherent);
>+