Re: [PATCH 4/8] net/fungible: Remove redundant pci_clear_master

Dimitris Michailidis
2023-03-23T17:25:25Z

On Thu, Mar 23, 2023 at 2:04 AM Cai Huoqing <cai.huoqing@linux.dev> wrote:
>
> 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>

Acked-by: Dimitris Michailidis <dmichail@fungible.com>

> ---
> drivers/net/ethernet/fungible/funcore/fun_dev.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/fungible/funcore/fun_dev.c b/drivers/net/ethernet/fungible/funcore/fun_dev.c
> index 3680f83feba2..a7fbd4cd560a 100644
> --- a/drivers/net/ethernet/fungible/funcore/fun_dev.c
> +++ b/drivers/net/ethernet/fungible/funcore/fun_dev.c
> @@ -746,7 +746,6 @@ void fun_dev_disable(struct fun_dev *fdev)
> bitmap_free(fdev->irq_map);
> pci_free_irq_vectors(pdev);
>
> - pci_clear_master(pdev);
> pci_disable_device(pdev);
>
> fun_unmap_bars(fdev);
> @@ -821,7 +820,6 @@ int fun_dev_enable(struct fun_dev *fdev, struct pci_dev *pdev,
> disable_admin:
> fun_disable_admin_queue(fdev);
> free_irq_mgr:
> - pci_clear_master(pdev);
> bitmap_free(fdev->irq_map);
> free_irqs:
> pci_free_irq_vectors(pdev);
> --
> 2.34.1
>