From: Felix Fietkau Subject: spi: use gpio_set_value_cansleep for setting chipselect GPIO Sleeping is safe inside spi_transfer_one_message, and some GPIO chips need to sleep for setting values Signed-off-by: Felix Fietkau --- --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -729,7 +729,7 @@ static void spi_set_cs(struct spi_device enable = !enable; if (gpio_is_valid(spi->cs_gpio)) { - gpio_set_value(spi->cs_gpio, !enable); + gpio_set_value_cansleep(spi->cs_gpio, !enable); /* Some SPI masters need both GPIO CS & slave_select */ if ((spi->controller->flags & SPI_MASTER_GPIO_SS) && spi->controller->set_cs)