RE: [PATCH][RFC] ACPI / PM: Fix incorrect wakeup irq setting before suspend-to-idle

From: Chen, Yu C
Date: Sat Sep 26 2015 - 10:37:31 EST


Hi, Rafael,

> -----Original Message-----
> From: linux-pm-owner@xxxxxxxxxxxxxxx [mailto:linux-pm-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Rafael J. Wysocki
> Sent: Friday, September 25, 2015 9:57 PM
> To: Chen, Yu C
> Cc: Wysocki, Rafael J; jiang.liu@xxxxxxxxxxxxxxx; Zhang, Rui; Brown, Len; linux-
> kernel@xxxxxxxxxxxxxxx; linux-pm@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH][RFC] ACPI / PM: Fix incorrect wakeup irq setting before
> suspend-to-idle
>
> On Friday, September 25, 2015 06:42:41 AM Chen, Yu C wrote:
> > Hi,Rafael, thanks a lot for your review, will resend v2 version.
> >
> > > -----Original Message-----
> > > From: Rafael J. Wysocki [mailto:rjw@xxxxxxxxxxxxx]
> > > Sent: Friday, September 25, 2015 9:24 AM
> > > To: Chen, Yu C
> > > Cc: Wysocki, Rafael J; jiang.liu@xxxxxxxxxxxxxxx; Zhang, Rui; Brown,
> > > Len; linux- kernel@xxxxxxxxxxxxxxx; linux-pm@xxxxxxxxxxxxxxx
> > > Subject: Re: [PATCH][RFC] ACPI / PM: Fix incorrect wakeup irq
> > > setting before suspend-to-idle
> > >
> > > On Monday, August 10, 2015 10:11:26 AM Chen Yu wrote:
> > > > +#ifdef CONFIG_SUSPEND
> > > > + set_wake_irq_freeze(irq);
> > > > +#endif
>
> Alternatively, you can define an empty static inline stub of
> set_wake_irq_freeze() for CONFIG_SUSPEND and avoid using IS_ENABLED()
> even.
>
> But I'd rather define a global acpi_irq variable, store irq in it and access it
> directly from acpi_freeze_prepare(). And it doesn't have to depend on
> CONFIG_SUSPEND as it is just the IRQ number actually used by ACPI.
>
OK, I've convert it to a global variable acpi_inuse_irq.

> BTW, I wonder if there are other places using acpi_gbl_FADT.sci_interrupt
> directly which they shouldn't do?
>
I searched the code and found there are two other potential misuse of
acpi_gbl_FADT.sci_interrupt, they are in acpi_os_remove_interrupt_handler
and acpi_os_wait_events_complete, so I sent out a version 2 patch
for them.

> > Oh, do you mean the naming for this variable is un-suitable? OK, I'll
> > change it to acpi_freeze_wake_irq
>
> No. What I mean is that in theory there may be multiple ACPI interrupts.
>
> But you need not care about this case because of the
>
> if (gsi != acpi_gbl_FADT.sci_interrupt)
> return AE_BAD_PARAMETER;
> check in acpi_os_install_interrupt_handler().
>
OK, thanks!

Best Regards,
Yu
N‹§²æ¸›yú²X¬¶ÇvØ–)Þ{.nlj·¥Š{±‘êX§¶›¡Ü}©ž²ÆzÚj:+v‰¨¾«‘êZ+€Êzf£¢·hšˆ§~†­†Ûÿû®w¥¢¸?™¨è&¢)ßf”ùy§m…á«a¶Úÿ 0¶ìå