diff options
author | Keith Busch <keith.busch@intel.com> | 2018-09-18 19:58:44 -0400 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2018-10-08 13:18:13 -0400 |
commit | ecae65e133f2e0647e6364d691130ff551382d91 (patch) | |
tree | fec941999d4eae75b2a66cc4cd8a10aff5d080ac | |
parent | 27c1ce8bbed7e7f0e4a87cf4a93f09be26d62ada (diff) |
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>
-rw-r--r-- | drivers/pci/pcie/aer.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c index 122a78197172..f70ee6dfb79e 100644 --- a/drivers/pci/pcie/aer.c +++ b/drivers/pci/pcie/aer.c | |||
@@ -1063,7 +1063,6 @@ static DECLARE_WORK(aer_recover_work, aer_recover_work_func); | |||
1063 | void aer_recover_queue(int domain, unsigned int bus, unsigned int devfn, | 1063 | void aer_recover_queue(int domain, unsigned int bus, unsigned int devfn, |
1064 | int severity, struct aer_capability_regs *aer_regs) | 1064 | int severity, struct aer_capability_regs *aer_regs) |
1065 | { | 1065 | { |
1066 | unsigned long flags; | ||
1067 | struct aer_recover_entry entry = { | 1066 | struct aer_recover_entry entry = { |
1068 | .bus = bus, | 1067 | .bus = bus, |
1069 | .devfn = devfn, | 1068 | .devfn = devfn, |
@@ -1072,13 +1071,12 @@ void aer_recover_queue(int domain, unsigned int bus, unsigned int devfn, | |||
1072 | .regs = aer_regs, | 1071 | .regs = aer_regs, |
1073 | }; | 1072 | }; |
1074 | 1073 | ||
1075 | spin_lock_irqsave(&aer_recover_ring_lock, flags); | 1074 | if (kfifo_in_spinlocked(&aer_recover_ring, &entry, sizeof(entry), |
1076 | if (kfifo_put(&aer_recover_ring, entry)) | 1075 | &aer_recover_ring_lock)) |
1077 | schedule_work(&aer_recover_work); | 1076 | schedule_work(&aer_recover_work); |
1078 | else | 1077 | else |
1079 | pr_err("AER recover: Buffer overflow when recovering AER for %04x:%02x:%02x:%x\n", | 1078 | pr_err("AER recover: Buffer overflow when recovering AER for %04x:%02x:%02x:%x\n", |
1080 | domain, bus, PCI_SLOT(devfn), PCI_FUNC(devfn)); | 1079 | domain, bus, PCI_SLOT(devfn), PCI_FUNC(devfn)); |
1081 | spin_unlock_irqrestore(&aer_recover_ring_lock, flags); | ||
1082 | } | 1080 | } |
1083 | EXPORT_SYMBOL_GPL(aer_recover_queue); | 1081 | EXPORT_SYMBOL_GPL(aer_recover_queue); |
1084 | #endif | 1082 | #endif |