
static void safe_unlock(struct spi_device *spi)
{
    if (spi && spi->controller)
        mutex_unlock(&spi->controller->bus_lock_mutex);
}

int spi_sync(struct spi_device *spi, struct spi_message *message)
{
    int ret;

    mutex_lock(&spi->controller->bus_lock_mutex);
    ret = __spi_sync(spi, message);
    safe_unlock(spi);

    return ret;
}
