[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250313142333.5792-4-ilpo.jarvinen@linux.intel.com>
Date: Thu, 13 Mar 2025 16:23:32 +0200
From: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
To: Bjorn Helgaas <bhelgaas@...gle.com>,
linux-pci@...r.kernel.org,
Guenter Roeck <groeck@...iper.net>,
Lukas Wunner <lukas@...ner.de>,
Mika Westerberg <mika.westerberg@...ux.intel.com>,
"Rafael J. Wysocki" <rafael.j.wysocki@...el.com>,
Rajat Jain <rajatxjain@...il.com>,
Joel Mathew Thomas <proxy0@...amail.com>,
linux-kernel@...r.kernel.org
Cc: Jonathan Cameron <Jonathan.Cameron@...wei.com>,
Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
Subject: [PATCH 3/4] PCI/hotplug: reset_lock is not required synchronizing with irq thread
Disabling HPIE (Hot-Plug Interrupt Enable) and synchronizing with irq
handling in pciehp_reset_slot() is enough to ensure no pending events
are processed during the slot reset. Thus, there is no need to take
reset_lock in the IRQ thread.
Suggested-by: Lukas Wunner <lukas@...ner.de>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
---
drivers/pci/hotplug/pciehp_hpc.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c
index 634cf5004f76..26150a6b48f4 100644
--- a/drivers/pci/hotplug/pciehp_hpc.c
+++ b/drivers/pci/hotplug/pciehp_hpc.c
@@ -748,12 +748,10 @@ static irqreturn_t pciehp_ist(int irq, void *dev_id)
* Disable requests have higher priority than Presence Detect Changed
* or Data Link Layer State Changed events.
*/
- down_read_nested(&ctrl->reset_lock, ctrl->depth);
if (events & DISABLE_SLOT)
pciehp_handle_disable_request(ctrl);
else if (events & (PCI_EXP_SLTSTA_PDC | PCI_EXP_SLTSTA_DLLSC))
pciehp_handle_presence_or_link_change(ctrl, events);
- up_read(&ctrl->reset_lock);
ret = IRQ_HANDLED;
out:
--
2.39.5
Powered by blists - more mailing lists