On 30/01/18 02:56, fangxiang wrote:
> Both IRQCHIP_SKIP_SET_WAKE and .irq_set_wake() is
> not set in gic_chip V3. This causes
> set_irq_wake_real() return -ENXIO and a
> WARN(Unbalanced IRQ ... wake disable ...) in
> irq_set_irq_wake().
> 
> Signed-off-by: fangxiang <fangxia...@huawei.com>
> ---
>  drivers/irqchip/irq-gic-v3.c |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
> index b56c3e2..e8104b8 100644
> --- a/drivers/irqchip/irq-gic-v3.c
> +++ b/drivers/irqchip/irq-gic-v3.c
> @@ -800,7 +800,8 @@ static inline void gic_cpu_pm_init(void) { }
>       .irq_set_affinity       = gic_set_affinity,
>       .irq_get_irqchip_state  = gic_irq_get_irqchip_state,
>       .irq_set_irqchip_state  = gic_irq_set_irqchip_state,
> -     .flags                  = IRQCHIP_SET_TYPE_MASKED,
> +     .flags                  = IRQCHIP_SET_TYPE_MASKED |
> +                               IRQCHIP_SKIP_SET_WAKE,
>  };
>  
>  static struct irq_chip gic_eoimode1_chip = {
> 

That's sort of expected (the GIC itself doesn't implement any wake-up
mechanism), *unless* you have have a separate, stacked irqchip
implementing irq_set_wake. From your commit message, I cannot deduce
whether that's the case or not.

Please describe what you are fixing, and to what context this applies to.

Thanks,

        M.
-- 
Jazz is not dead. It just smells funny...

Reply via email to