Re: [PATCH 08/22] gpiolib: cdev: complete the irq/thread timestamp handshake

From: Bartosz Golaszewski
Date: Wed Jun 24 2020 - 10:00:59 EST


wt., 23 cze 2020 o 06:02 Kent Gibson <warthog618@xxxxxxxxx> napisaÅ(a):
>
> Reset the timestamp field to 0 after using it in lineevent_irq_thread.
>
> The timestamp is set by lineevent_irq_handler and is tested by
> lineevent_irq_thread to determine if it is called from a nested theaded
> interrupt.
> lineevent_irq_thread is assuming that the nested, or otherwise, status
> of the IRQ is static, i.e. it is either always nested or never nested.
> This change removes that assumption, resetting the timestamp so it can
> be re-used to determine the nested state of subsequent interrupts.
>
> Signed-off-by: Kent Gibson <warthog618@xxxxxxxxx>
>

This change makes sense to me but I'm having a hard time processing
the explanation. If we're requesting the interrupt and allocating the
lineevent state in the same function - how can we run into a situation
here the status of the irq would change like what you describe?

Bart