net: hisilicon: Remove redundant pci_clear_master
authorCai Huoqing <cai.huoqing@linux.dev>
Thu, 23 Mar 2023 09:03:01 +0000 (17:03 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 24 Mar 2023 09:09:27 +0000 (09:09 +0000)
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: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c

index 07ad5f3..c3851a6 100644 (file)
@@ -11365,7 +11365,7 @@ static int hclge_pci_init(struct hclge_dev *hdev)
        if (!hw->hw.io_base) {
                dev_err(&pdev->dev, "Can't map configuration register space\n");
                ret = -ENOMEM;
-               goto err_clr_master;
+               goto err_release_regions;
        }
 
        ret = hclge_dev_mem_map(hdev);
@@ -11378,8 +11378,7 @@ static int hclge_pci_init(struct hclge_dev *hdev)
 
 err_unmap_io_base:
        pcim_iounmap(pdev, hdev->hw.hw.io_base);
-err_clr_master:
-       pci_clear_master(pdev);
+err_release_regions:
        pci_release_regions(pdev);
 err_disable_device:
        pci_disable_device(pdev);
@@ -11396,7 +11395,6 @@ static void hclge_pci_uninit(struct hclge_dev *hdev)
 
        pcim_iounmap(pdev, hdev->hw.hw.io_base);
        pci_free_irq_vectors(pdev);
-       pci_clear_master(pdev);
        pci_release_mem_regions(pdev);
        pci_disable_device(pdev);
 }
@@ -11743,7 +11741,6 @@ err_devlink_uninit:
        hclge_devlink_uninit(hdev);
 err_pci_uninit:
        pcim_iounmap(pdev, hdev->hw.hw.io_base);
-       pci_clear_master(pdev);
        pci_release_regions(pdev);
        pci_disable_device(pdev);
 out:
index e84e5be..f240462 100644 (file)
@@ -2598,7 +2598,7 @@ static int hclgevf_pci_init(struct hclgevf_dev *hdev)
        if (!hw->hw.io_base) {
                dev_err(&pdev->dev, "can't map configuration register space\n");
                ret = -ENOMEM;
-               goto err_clr_master;
+               goto err_release_regions;
        }
 
        ret = hclgevf_dev_mem_map(hdev);
@@ -2609,8 +2609,7 @@ static int hclgevf_pci_init(struct hclgevf_dev *hdev)
 
 err_unmap_io_base:
        pci_iounmap(pdev, hdev->hw.hw.io_base);
-err_clr_master:
-       pci_clear_master(pdev);
+err_release_regions:
        pci_release_regions(pdev);
 err_disable_device:
        pci_disable_device(pdev);
@@ -2626,7 +2625,6 @@ static void hclgevf_pci_uninit(struct hclgevf_dev *hdev)
                devm_iounmap(&pdev->dev, hdev->hw.hw.mem_base);
 
        pci_iounmap(pdev, hdev->hw.hw.io_base);
-       pci_clear_master(pdev);
        pci_release_regions(pdev);
        pci_disable_device(pdev);
 }