c
// Define a weak reference to the spi_controller
struct spi_controller __weak *spi_controller_weak;

// Set the weak reference before locking the mutex
5  spi_controller_weak = spi->controller;
6  mutex_lock(&spi->controller->bus_lock_mutex);

// Check the weak reference before unlocking the mutex
7  if (spi_controller_weak) {
8      mutex_unlock(&spi_controller_weak->bus_lock_mutex);
9  }
