Commit 0e6053dc authored by Geliang Tang's avatar Geliang Tang Committed by Bjorn Helgaas

PCI/AER: Use list_first_entry_or_null() to simplify code

Use list_first_entry_or_null() instead of list_empty() + list_entry() to
simplify the code.
Signed-off-by: default avatarGeliang Tang <geliangtang@163.com>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent 7e8fbdc6
...@@ -124,16 +124,13 @@ static struct pci_ops *__find_pci_bus_ops(struct pci_bus *bus) ...@@ -124,16 +124,13 @@ static struct pci_ops *__find_pci_bus_ops(struct pci_bus *bus)
static struct pci_bus_ops *pci_bus_ops_pop(void) static struct pci_bus_ops *pci_bus_ops_pop(void)
{ {
unsigned long flags; unsigned long flags;
struct pci_bus_ops *bus_ops = NULL; struct pci_bus_ops *bus_ops;
spin_lock_irqsave(&inject_lock, flags); spin_lock_irqsave(&inject_lock, flags);
if (list_empty(&pci_bus_ops_list)) bus_ops = list_first_entry_or_null(&pci_bus_ops_list,
bus_ops = NULL; struct pci_bus_ops, list);
else { if (bus_ops)
struct list_head *lh = pci_bus_ops_list.next; list_del(&bus_ops->list);
list_del(lh);
bus_ops = list_entry(lh, struct pci_bus_ops, list);
}
spin_unlock_irqrestore(&inject_lock, flags); spin_unlock_irqrestore(&inject_lock, flags);
return bus_ops; return bus_ops;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment