• Leon Romanovsky's avatar
    devlink: Remove extra device_lock assert checks · cb3dc890
    Leon Romanovsky authored
    PCI core code in the pci_call_probe() has a path that doesn't hold
    device_lock. It happens because the ->probe() is called through the
    workqueue mechanism.
    
       349 static int pci_call_probe(struct pci_driver *drv, struct pci_dev *dev,
       350                           const struct pci_device_id *id)
       351 {
       352
    ....
       377         if (cpu < nr_cpu_ids)
       378                 error = work_on_cpu(cpu, local_pci_probe, &ddi);
    
    Luckily enough, the core still ensures that only single flow is executed,
    so it safe to remove the assert checks that anyway were added for annotations
    purposes.
    
    Fixes: b88f7b12
    
     ("devlink: Annotate devlink API calls")
    Reported-by: default avatarAmit Cohen <amcohen@nvidia.com>
    Signed-off-by: default avatarLeon Romanovsky <leonro@nvidia.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    cb3dc890
devlink.c 298 KB