]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/spi/spi.c
Merge tag 'spi-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi
[karo-tx-linux.git] / drivers / spi / spi.c
index 004b10f184d4e7fe00916af3fc5acad6d7866139..163fd802b7aced2217494397297de76862056ea5 100644 (file)
@@ -1376,6 +1376,14 @@ static int __spi_async(struct spi_device *spi, struct spi_message *message)
                        xfer->bits_per_word = spi->bits_per_word;
                if (!xfer->speed_hz)
                        xfer->speed_hz = spi->max_speed_hz;
+               if (master->bits_per_word_mask) {
+                       /* Only 32 bits fit in the mask */
+                       if (xfer->bits_per_word > 32)
+                               return -EINVAL;
+                       if (!(master->bits_per_word_mask &
+                                       BIT(xfer->bits_per_word - 1)))
+                               return -EINVAL;
+               }
        }
 
        message->spi = spi;