[PATCH -next] pga: dfl: pci: Make sure DMA related error check is not done twice

From: Yusuf Khan
Date: Mon Feb 21 2022 - 23:27:22 EST


In the case that the DMA 64 bit bit mask error check does not fail,
the error check will be done twice, this patch fixed that.

NOTE: This patch is only for use in the linux-next branch as the
commit that caused this bug happened there.

Signed-off-by: Yusuf Khan <yusisamerican@xxxxxxxxx>
---
drivers/fpga/dfl-pci.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/fpga/dfl-pci.c b/drivers/fpga/dfl-pci.c
index 717ac9715970..6222f18aed4b 100644
--- a/drivers/fpga/dfl-pci.c
+++ b/drivers/fpga/dfl-pci.c
@@ -356,11 +356,12 @@ int cci_pci_probe(struct pci_dev *pcidev, const struct pci_device_id *pcidevid)
pci_set_master(pcidev);

ret = dma_set_mask_and_coherent(&pcidev->dev, DMA_BIT_MASK(64));
- if (ret)
- ret = dma_set_mask_and_coherent(&pcidev->dev, DMA_BIT_MASK(32));
if (ret) {
- dev_err(&pcidev->dev, "No suitable DMA support available.\n");
- goto disable_error_report_exit;
+ ret = dma_set_mask_and_coherent(&pcidev->dev, DMA_BIT_MASK(32));
+ if (ret) {
+ dev_err(&pcidev->dev, "No suitable DMA support available.\n");
+ goto disable_error_report_exit;
+ }
}

ret = cci_init_drvdata(pcidev);
--
2.25.1