diff options
author | Jonas Gorski <jonas.gorski@gmail.com> | 2023-06-29 09:14:52 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2023-07-10 11:01:27 +0200 |
commit | 5158814cbb37bbb38344b3ecddc24ba2ed0365f2 (patch) | |
tree | a54419071865cb1ffeda20f63b0ef475b4bd5fe5 /drivers | |
parent | MAINTAINERS: Add myself as a maintainer for Microchip SPI (diff) | |
download | linux-5158814cbb37bbb38344b3ecddc24ba2ed0365f2.tar.xz linux-5158814cbb37bbb38344b3ecddc24ba2ed0365f2.zip |
spi: bcm63xx: fix max prepend length
The command word is defined as following:
/* Command */
#define SPI_CMD_COMMAND_SHIFT 0
#define SPI_CMD_DEVICE_ID_SHIFT 4
#define SPI_CMD_PREPEND_BYTE_CNT_SHIFT 8
#define SPI_CMD_ONE_BYTE_SHIFT 11
#define SPI_CMD_ONE_WIRE_SHIFT 12
If the prepend byte count field starts at bit 8, and the next defined
bit is SPI_CMD_ONE_BYTE at bit 11, it can be at most 3 bits wide, and
thus the max value is 7, not 15.
Fixes: b17de076062a ("spi/bcm63xx: work around inability to keep CS up")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Link: https://lore.kernel.org/r/20230629071453.62024-1-jonas.gorski@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/spi/spi-bcm63xx.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/spi/spi-bcm63xx.c b/drivers/spi/spi-bcm63xx.c index 9aecb77c3d89..07b5b71b2352 100644 --- a/drivers/spi/spi-bcm63xx.c +++ b/drivers/spi/spi-bcm63xx.c @@ -126,7 +126,7 @@ enum bcm63xx_regs_spi { SPI_MSG_DATA_SIZE, }; -#define BCM63XX_SPI_MAX_PREPEND 15 +#define BCM63XX_SPI_MAX_PREPEND 7 #define BCM63XX_SPI_MAX_CS 8 #define BCM63XX_SPI_BUS_NUM 0 |