Skip to content

Commit 2cbd272

Browse files
KamalDasubroonie
authored andcommitted
spi: bcm-qspi: check for valid cs before applying chip select
Apply only valid chip select value. This change fixes case where chip select is set to initial value of '-1' during probe and PM supend and subsequent resume can try to use the value with undefined behaviour. Also in case where gpio based chip select, the check in bcm_qspi_chip_select() shall prevent undefined behaviour on resume. Fixes: fa236a7 ("spi: bcm-qspi: Add Broadcom MSPI driver") Signed-off-by: Kamal Dasu <kdasu.kdev@gmail.com> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Link: https://lore.kernel.org/r/20220127185359.27322-1-kdasu.kdev@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent 37c2c83 commit 2cbd272

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/spi/spi-bcm-qspi.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -585,7 +585,7 @@ static void bcm_qspi_chip_select(struct bcm_qspi *qspi, int cs)
585585
u32 rd = 0;
586586
u32 wr = 0;
587587

588-
if (qspi->base[CHIP_SELECT]) {
588+
if (cs >= 0 && qspi->base[CHIP_SELECT]) {
589589
rd = bcm_qspi_read(qspi, CHIP_SELECT, 0);
590590
wr = (rd & ~0xff) | (1 << cs);
591591
if (rd == wr)

0 commit comments

Comments
 (0)