From 275e85d9e1916d8a507429760d6f25fd6ea63015 Mon Sep 17 00:00:00 2001 From: Hamad Kadmany Date: Mon, 20 Feb 2017 10:33:41 +0200 Subject: wil6210: Move dma mask setting after platform initialization Platform specific initialization may initialize SMMU (if available) which updates dma operations, therefore setting of DMA mask needs to be done after platform specific initialization. Change-Id: I7b0e90e5e3d03816146f2f73a55dc858e03646dd Signed-off-by: Hamad Kadmany --- drivers/net/wireless/ath/wil6210/pcie_bus.c | 30 ++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'drivers') diff --git a/drivers/net/wireless/ath/wil6210/pcie_bus.c b/drivers/net/wireless/ath/wil6210/pcie_bus.c index 31b45912265f..b38515fc7ce7 100644 --- a/drivers/net/wireless/ath/wil6210/pcie_bus.c +++ b/drivers/net/wireless/ath/wil6210/pcie_bus.c @@ -212,21 +212,6 @@ static int wil_pcie_probe(struct pci_dev *pdev, const struct pci_device_id *id) return rc; } - /* device supports 48 bit addresses */ - rc = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(48)); - if (rc) { - dev_err(dev, "dma_set_mask_and_coherent(48) failed: %d\n", rc); - rc = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(32)); - if (rc) { - dev_err(dev, - "dma_set_mask_and_coherent(32) failed: %d\n", - rc); - goto if_free; - } - } else { - wil->use_extended_dma_addr = 1; - } - wil->pdev = pdev; pci_set_drvdata(pdev, wil); /* rollback to if_free */ @@ -240,6 +225,21 @@ static int wil_pcie_probe(struct pci_dev *pdev, const struct pci_device_id *id) } /* rollback to err_plat */ + /* device supports 48bit addresses */ + rc = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(48)); + if (rc) { + dev_err(dev, "dma_set_mask_and_coherent(48) failed: %d\n", rc); + rc = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(32)); + if (rc) { + dev_err(dev, + "dma_set_mask_and_coherent(32) failed: %d\n", + rc); + goto err_plat; + } + } else { + wil->use_extended_dma_addr = 1; + } + rc = pci_enable_device(pdev); if (rc) { wil_err(wil, -- cgit v1.2.3