diff --git a/src/spi/spi.c b/src/spi/spi.c index 7bab329..67f3ccd 100644 --- a/src/spi/spi.c +++ b/src/spi/spi.c @@ -131,14 +131,15 @@ mraa_spi_frequency(mraa_spi_context dev, int hz) mraa_result_t mraa_spi_lsbmode(mraa_spi_context dev, mraa_boolean_t lsb) { - uint8_t lsb_mode = 0; - if (lsb == 1) { - lsb_mode = 1; - } + uint8_t lsb_mode = (uint8_t) lsb; if (ioctl (dev->devfd, SPI_IOC_WR_LSB_FIRST, &lsb_mode) < 0) { syslog(LOG_ERR, "spi: Failed to set bit order"); return MRAA_ERROR_INVALID_RESOURCE; } + if (ioctl (dev->devfd, SPI_IOC_RD_LSB_FIRST, &lsb_mode) < 0) { + syslog(LOG_ERR, "spi: Failed to set bit order"); + return MRAA_ERROR_INVALID_RESOURCE; + } dev->lsb = lsb; return MRAA_SUCCESS; }