diff --git a/drivers/pnp/core.c b/drivers/pnp/core.c index aec83ec5ea23f2471c55fbbe3dafd073b296c42e..d8d75541552c255c7b711d5f8b37c16c16614a6a 100644 --- a/drivers/pnp/core.c +++ b/drivers/pnp/core.c @@ -14,6 +14,7 @@ #include #include #include +#include #include "base.h" @@ -114,6 +115,8 @@ int __pnp_add_device(struct pnp_dev *dev) int ret; pnp_fixup_device(dev); dev->dev.bus = &pnp_bus_type; + dev->dev.dma_mask = &dev->dma_mask; + dev->dma_mask = dev->dev.coherent_dma_mask = DMA_24BIT_MASK; dev->dev.release = &pnp_release_device; dev->status = PNP_READY; spin_lock(&pnp_lock); diff --git a/include/linux/pnp.h b/include/linux/pnp.h index 9a5226f0f169789c5040d68b5a888de8484829ff..00dae5ba128a12f2771397afeae6bb5ecba8d313 100644 --- a/include/linux/pnp.h +++ b/include/linux/pnp.h @@ -177,6 +177,7 @@ static inline void pnp_set_card_drvdata (struct pnp_card_link *pcard, void *data struct pnp_dev { struct device dev; /* Driver Model device interface */ + u64 dma_mask; unsigned char number; /* used as an index, must be unique */ int status;