Hi all,

I realized a logic issue in the Timers' Example.
The ioctl notification is called before the ioctl start in order to set the
timer callback. The set callback function, in the lower half layer, sets
the callback and enables the interruption, but to do so, it dependes on 2
conditions:

1. It depends on have a non NULL callback.
2. It depends on having the timer started previously. And it is verified
through a variable from the timers' status.

Since the variable is set in the start function, if ioctl notification is
called before the ioctl start, the callback will never be set.

There is also other issue regarding the stop implementation in the lower
half layer that I've seen. The stop function usually reset the driver
status to false to indicate the timer was stopped, but it does not make the
callback NULL. I am not sure if this was the expected behaviour. Maybe, we
could set the callback to NULL in the end of stop function.

Regards,

Sara S

Reply via email to