genirq/manage: Use the correct lock guard in irq_set_irq_wake()
Commitpull/1250/head8589e325ba("genirq/manage: Rework irq_set_irq_wake()") updated the irq_set_irq_wake() to use the new guards for locking the interrupt descriptor. However, in doing so it inadvertently changed irq_set_irq_wake() such that the 'chip_bus_lock' is no longer acquired. This has caused system suspend tests to fail on some Tegra platforms. Fix this by correcting the guard used in irq_set_irq_wake() to ensure the 'chip_bus_lock' is held. Fixes:8589e325ba("genirq/manage: Rework irq_set_irq_wake()") Signed-off-by: Jon Hunter <jonathanh@nvidia.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/all/20250514095041.1109783-1-jonathanh@nvidia.com
parent
47af06c9d3
commit
58eb5721a4
|
|
@ -846,7 +846,7 @@ static int set_irq_wake_real(unsigned int irq, unsigned int on)
|
|||
*/
|
||||
int irq_set_irq_wake(unsigned int irq, unsigned int on)
|
||||
{
|
||||
scoped_irqdesc_get_and_lock(irq, IRQ_GET_DESC_CHECK_GLOBAL) {
|
||||
scoped_irqdesc_get_and_buslock(irq, IRQ_GET_DESC_CHECK_GLOBAL) {
|
||||
struct irq_desc *desc = scoped_irqdesc;
|
||||
int ret = 0;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue