• Lukas Wunner's avatar
    PCI: Simplify disconnected marking · a50ac6bf
    Lukas Wunner authored
    Commit 89ee9f76 ("PCI: Add device disconnected state") iterates over
    the devices on a parent bus, marks each as disconnected, then marks
    each device's children as disconnected using pci_walk_bus().
    
    The same can be achieved more succinctly by calling pci_walk_bus() on
    the parent bus.  Moreover, this does not need to wait until acquiring
    pci_lock_rescan_remove(), so move it out of that critical section.
    
    The critical section in err.c contains a pci_dev_get() / pci_dev_put()
    pair which was apparently copy-pasted from pciehp_pci.c.  In the latter
    it serves the purpose of holding the struct pci_dev in place until the
    Command register is updated.  err.c doesn't do anything like that, hence
    the pair is unnecessary.  Remove it.
    Signed-off-by: default avatarLukas Wunner <lukas@wunner.de>
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    Cc: Keith Busch <keith.busch@intel.com>
    Cc: Oza Pawandeep <poza@codeaurora.org>
    Cc: Sinan Kaya <okaya@kernel.org>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    a50ac6bf
err.c 10.3 KB