mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-05-05 14:53:45 +00:00
PCI/AER: Use kfifo_in_spinlocked() to insert locked elements
Use the recommended kernel API for writing to a concurrently-accessed kfifo. No functional change here. Signed-off-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
parent
27c1ce8bbe
commit
ecae65e133
1 changed files with 2 additions and 4 deletions
|
@ -1063,7 +1063,6 @@ static DECLARE_WORK(aer_recover_work, aer_recover_work_func);
|
||||||
void aer_recover_queue(int domain, unsigned int bus, unsigned int devfn,
|
void aer_recover_queue(int domain, unsigned int bus, unsigned int devfn,
|
||||||
int severity, struct aer_capability_regs *aer_regs)
|
int severity, struct aer_capability_regs *aer_regs)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
|
||||||
struct aer_recover_entry entry = {
|
struct aer_recover_entry entry = {
|
||||||
.bus = bus,
|
.bus = bus,
|
||||||
.devfn = devfn,
|
.devfn = devfn,
|
||||||
|
@ -1072,13 +1071,12 @@ void aer_recover_queue(int domain, unsigned int bus, unsigned int devfn,
|
||||||
.regs = aer_regs,
|
.regs = aer_regs,
|
||||||
};
|
};
|
||||||
|
|
||||||
spin_lock_irqsave(&aer_recover_ring_lock, flags);
|
if (kfifo_in_spinlocked(&aer_recover_ring, &entry, sizeof(entry),
|
||||||
if (kfifo_put(&aer_recover_ring, entry))
|
&aer_recover_ring_lock))
|
||||||
schedule_work(&aer_recover_work);
|
schedule_work(&aer_recover_work);
|
||||||
else
|
else
|
||||||
pr_err("AER recover: Buffer overflow when recovering AER for %04x:%02x:%02x:%x\n",
|
pr_err("AER recover: Buffer overflow when recovering AER for %04x:%02x:%02x:%x\n",
|
||||||
domain, bus, PCI_SLOT(devfn), PCI_FUNC(devfn));
|
domain, bus, PCI_SLOT(devfn), PCI_FUNC(devfn));
|
||||||
spin_unlock_irqrestore(&aer_recover_ring_lock, flags);
|
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(aer_recover_queue);
|
EXPORT_SYMBOL_GPL(aer_recover_queue);
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Reference in a new issue