HomeFreeBSD

The "vt_suspend_flush_timer()" function is sometimes called locked

Description

The "vt_suspend_flush_timer()" function is sometimes called locked
which prevents us from doing a "callout_drain()" call. The callout in
question has a lock associated with it and we are not freeing the
callout. That means we can use the "callout_stop()" function to
atomically stop the callback iff the "callout_stop()" function is
called locked. This patch applies proper locking to "callout_stop()"
and replaces a "callout_drain()" with a "callout_stop()".

MFC after: 1 week

Details

Provenance
hselaskyAuthored on
Parents
rS276533: Add driver for general-purpose I/O (GPIO).
Branches
Unknown
Tags
Unknown

Event Timeline