From: Tomas Winkler Date: Tue, 17 Dec 2013 13:56:57 +0000 (+0200) Subject: mei: me: set dma mask using DMA mapping API X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=3ecfb168a51ddf0226abe245065516bc2ebfdef5;p=linux-beck.git mei: me: set dma mask using DMA mapping API ME device is 64bit DMA capable We assume both coherent and consistent memory to match Signed-off-by: Tomas Winkler Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/misc/mei/pci-me.c b/drivers/misc/mei/pci-me.c index 7dfaa328e519..8b1deea2abf6 100644 --- a/drivers/misc/mei/pci-me.c +++ b/drivers/misc/mei/pci-me.c @@ -144,6 +144,21 @@ static int mei_me_probe(struct pci_dev *pdev, const struct pci_device_id *ent) dev_err(&pdev->dev, "failed to get pci regions.\n"); goto disable_device; } + + if (dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)) || + dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64))) { + + err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)); + if (err) + err = dma_set_coherent_mask(&pdev->dev, + DMA_BIT_MASK(32)); + } + if (err) { + dev_err(&pdev->dev, "No usable DMA configuration, aborting\n"); + goto release_regions; + } + + /* allocates and initializes the mei dev structure */ dev = mei_me_dev_init(pdev); if (!dev) {