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

can: c_can: 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>
Link: https://lore.kernel.org/all/20230323113318.9473-1-cai.huoqing@linux.dev
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>

authored by

Cai Huoqing and committed by
Marc Kleine-Budde
59450334 f6b53d1b

-2
-2
drivers/net/can/c_can/c_can_pci.c
··· 227 227 pci_iounmap(pdev, addr); 228 228 out_release_regions: 229 229 pci_disable_msi(pdev); 230 - pci_clear_master(pdev); 231 230 pci_release_regions(pdev); 232 231 out_disable_device: 233 232 pci_disable_device(pdev); ··· 246 247 247 248 pci_iounmap(pdev, addr); 248 249 pci_disable_msi(pdev); 249 - pci_clear_master(pdev); 250 250 pci_release_regions(pdev); 251 251 pci_disable_device(pdev); 252 252 }