# Re: \[PATCH\] powerpc/smp: Do not disable IPI interrupts during suspend

- From: Kumar Gala \<hidden\>
- Date: 2012-07-28 14:03:20 
- List: linuxppc-dev
- Page: https://ratatoskr.run/linuxppc-dev/2012/07/3900105
- Thread: https://ratatoskr.run/linuxppc-dev/2012/07/3896451/t.md

```text

On Jul 27, 2012, at 5:20 PM, Benjamin Herrenschmidt wrote:

> On Fri, 2012-07-27 at 16:58 -0500, Kumar Gala wrote:
>> On Jul 20, 2012, at 7:47 AM, Zhao Chenhui wrote:
>>=20
>>> During suspend, all interrupts including IPI will be disabled. In =
this case,
>>> the suspend process will hang in SMP. To prevent this, pass the flag
>>> IRQF_NO_SUSPEND when requesting IPI irq.
>>>=20
>>> Signed-off-by: Zhao Chenhui <redacted>
>>> Signed-off-by: Li Yang <redacted>
>>> ---
>>> arch/powerpc/kernel/smp.c |    2 +-
>>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>=20
>> BenH,
>>=20
>> Can you ack?
>=20
> No I'll merge it but not until it's been in next for a bit unless you
> have some strong emergency there, it's on my mental list of things to
> shovel into next after rc1.

I wasn't clear, I was meaning for my 'next' tree, not 3.6.  Trying to =
get these FSL PM patches into my 'next' for 3.7.

- k

> Curiosity: didn't we use to disable all non-boot CPUs on suspend ?
>=20
> Cheers,
> Ben.
>=20
>> - k
>>=20
>>>=20
>>> diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
>>> index fecb038..d26bbf8 100644
>>> --- a/arch/powerpc/kernel/smp.c
>>> +++ b/arch/powerpc/kernel/smp.c
>>> @@ -171,7 +171,7 @@ int smp_request_message_ipi(int virq, int msg)
>>> 	}
>>> #endif
>>> 	err =3D request_irq(virq, smp_ipi_action[msg],
>>> -			  IRQF_PERCPU | IRQF_NO_THREAD,
>>> +			  IRQF_PERCPU | IRQF_NO_THREAD | =
IRQF_NO_SUSPEND,
>>> 			  smp_ipi_name[msg], 0);
>>> 	WARN(err < 0, "unable to request_irq %d for %s (rc %d)\n",
>>> 		virq, smp_ipi_name[msg], err);
>>> --=20
>>> 1.6.4.1
>>>=20
>=20
```
