spi/bcm63xx: check spi bits_per_word in spi_setup
authorJonas Gorski <jogo@openwrt.org>
Mon, 11 Mar 2013 23:13:42 +0000 (00:13 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 12 Mar 2013 19:14:45 +0000 (19:14 +0000)
Instead of fixing up the bits_per_word (which the spi subsystem already
does for us), check it for supported values.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>
Acked-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/spi/spi-bcm63xx.c

index 04c460e8bd27341d077908dd857bb3065a71d0fa..b64229ca7f54e5ccde180cb1975fc2f2a9428019 100644 (file)
@@ -151,8 +151,11 @@ static void bcm63xx_spi_setup_transfer(struct spi_device *spi,
 
 static int bcm63xx_spi_setup(struct spi_device *spi)
 {
-       if (!spi->bits_per_word)
-               spi->bits_per_word = 8;
+       if (spi->bits_per_word != 8) {
+               dev_err(&spi->dev, "%s, unsupported bits_per_word=%d\n",
+                       __func__, spi->bits_per_word);
+               return -EINVAL;
+       }
 
        return 0;
 }