Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ntb: epf: Remove redundant pci_clear_master

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>

authored by

Cai Huoqing and committed by
Jon Mason
f2748c6d da6b4dc4

+4 -8
+4 -8
drivers/ntb/hw/epf/ntb_hw_epf.c
··· 591 591 ret = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(32)); 592 592 if (ret) { 593 593 dev_err(dev, "Cannot set DMA mask\n"); 594 - goto err_dma_mask; 594 + goto err_pci_regions; 595 595 } 596 596 dev_warn(&pdev->dev, "Cannot DMA highmem\n"); 597 597 } ··· 599 599 ndev->ctrl_reg = pci_iomap(pdev, ndev->ctrl_reg_bar, 0); 600 600 if (!ndev->ctrl_reg) { 601 601 ret = -EIO; 602 - goto err_dma_mask; 602 + goto err_pci_regions; 603 603 } 604 604 605 605 if (ndev->peer_spad_reg_bar) { 606 606 ndev->peer_spad_reg = pci_iomap(pdev, ndev->peer_spad_reg_bar, 0); 607 607 if (!ndev->peer_spad_reg) { 608 608 ret = -EIO; 609 - goto err_dma_mask; 609 + goto err_pci_regions; 610 610 } 611 611 } else { 612 612 spad_sz = 4 * readl(ndev->ctrl_reg + NTB_EPF_SPAD_COUNT); ··· 617 617 ndev->db_reg = pci_iomap(pdev, ndev->db_reg_bar, 0); 618 618 if (!ndev->db_reg) { 619 619 ret = -EIO; 620 - goto err_dma_mask; 620 + goto err_pci_regions; 621 621 } 622 622 623 623 return 0; 624 - 625 - err_dma_mask: 626 - pci_clear_master(pdev); 627 624 628 625 err_pci_regions: 629 626 pci_disable_device(pdev); ··· 639 642 pci_iounmap(pdev, ndev->peer_spad_reg); 640 643 pci_iounmap(pdev, ndev->db_reg); 641 644 642 - pci_clear_master(pdev); 643 645 pci_release_regions(pdev); 644 646 pci_disable_device(pdev); 645 647 pci_set_drvdata(pdev, NULL);