ntb: epf: Remove redundant pci_clear_master
authorCai Huoqing <cai.huoqing@linux.dev>
Fri, 24 Mar 2023 01:32:19 +0000 (09:32 +0800)
committerJon Mason <jdmason@kudzu.us>
Sat, 8 Jul 2023 15:02:37 +0000 (11:02 -0400)
Remove pci_clear_master to simplify the code,
the bus-mastering is also cleared in do_pci_disable_device,
like this:
./drivers/pci/pci.c:2197
static void do_pci_disable_device(struct pci_dev *dev)
{
u16 pci_command;

pci_read_config_word(dev, PCI_COMMAND, &pci_command);
if (pci_command & PCI_COMMAND_MASTER) {
pci_command &= ~PCI_COMMAND_MASTER;
pci_write_config_word(dev, PCI_COMMAND, pci_command);
}

pcibios_disable_device(dev);
}.
And dev->is_busmaster is set to 0 in pci_disable_device.

Signed-off-by: Cai Huoqing <cai.huoqing@linux.dev>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
drivers/ntb/hw/epf/ntb_hw_epf.c

index 3ece49c..b640aa0 100644 (file)
@@ -591,7 +591,7 @@ static int ntb_epf_init_pci(struct ntb_epf_dev *ndev,
                ret = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(32));
                if (ret) {
                        dev_err(dev, "Cannot set DMA mask\n");
-                       goto err_dma_mask;
+                       goto err_pci_regions;
                }
                dev_warn(&pdev->dev, "Cannot DMA highmem\n");
        }
@@ -599,14 +599,14 @@ static int ntb_epf_init_pci(struct ntb_epf_dev *ndev,
        ndev->ctrl_reg = pci_iomap(pdev, ndev->ctrl_reg_bar, 0);
        if (!ndev->ctrl_reg) {
                ret = -EIO;
-               goto err_dma_mask;
+               goto err_pci_regions;
        }
 
        if (ndev->peer_spad_reg_bar) {
                ndev->peer_spad_reg = pci_iomap(pdev, ndev->peer_spad_reg_bar, 0);
                if (!ndev->peer_spad_reg) {
                        ret = -EIO;
-                       goto err_dma_mask;
+                       goto err_pci_regions;
                }
        } else {
                spad_sz = 4 * readl(ndev->ctrl_reg + NTB_EPF_SPAD_COUNT);
@@ -617,14 +617,11 @@ static int ntb_epf_init_pci(struct ntb_epf_dev *ndev,
        ndev->db_reg = pci_iomap(pdev, ndev->db_reg_bar, 0);
        if (!ndev->db_reg) {
                ret = -EIO;
-               goto err_dma_mask;
+               goto err_pci_regions;
        }
 
        return 0;
 
-err_dma_mask:
-       pci_clear_master(pdev);
-
 err_pci_regions:
        pci_disable_device(pdev);
 
@@ -642,7 +639,6 @@ static void ntb_epf_deinit_pci(struct ntb_epf_dev *ndev)
        pci_iounmap(pdev, ndev->peer_spad_reg);
        pci_iounmap(pdev, ndev->db_reg);
 
-       pci_clear_master(pdev);
        pci_release_regions(pdev);
        pci_disable_device(pdev);
        pci_set_drvdata(pdev, NULL);