• David Frey's avatar
    iio: light: opt3001: fix mutex unlock race · 82f30156
    David Frey authored
    When an end-of-conversion interrupt is received after performing a
    single-shot reading of the light sensor, the driver was waking up the
    result ready queue before checking opt->ok_to_ignore_lock to determine
    if it should unlock the mutex. The problem occurred in the case where
    the other thread woke up and changed the value of opt->ok_to_ignore_lock
    to false prior to the interrupt thread performing its read of the
    variable. In this case, the mutex would be unlocked twice.
    Signed-off-by: default avatarDavid Frey <dpfrey@gmail.com>
    Reviewed-by: default avatarAndreas Dannenberg <dannenberg@ti.com>
    Fixes: 94a9b7b1 ("iio: light: add support for TI's opt3001 light sensor")
    Cc: <Stable@vger.kernel.org>
    Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
    82f30156
opt3001.c 19.2 KB