From: Stephen Hemminger <step...@networkplumber.org>
Date: Wed, 29 Aug 2018 09:24:51 -0700

> +     spin_lock_irqsave(&hbus->device_list_lock, flags);
> +     list_for_each_entry(hpdev, &hbus->children, list_entry) {
> +             if (hpdev->pci_slot)
> +                     continue;
> +
> +             slot_nr = PCI_SLOT(wslot_to_devfn(hpdev->desc.win_slot.slot));
> +             snprintf(name, SLOT_NAME_SIZE, "%u", hpdev->desc.ser);
> +             hpdev->pci_slot = pci_create_slot(hbus->pci_bus, slot_nr,
> +                                       name, NULL);

pci_create_slot() takes a mutex, therefore you can't hold a spinlock or
disable interrupts here.
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to