mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-04 02:02:28 +09:00
spi: bcm2835aux: remove dangerous uncontrolled read of fifo
[ Upstream commitc7de8500fd] This read of the fifo is a potential candidate for a race condition as the spi transfer is not necessarily finished and so can lead to an early read of the fifo that still misses data. So it has been removed. Fixes:1ea29b39f4("spi: bcm2835aux: add bcm2835 auxiliary spi device...") Suggested-by: Hubert Denkmair <h.denkmair@intence.de> Signed-off-by: Martin Sperl <kernel@martin.sperl.org> Acked-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
3bd81fd4b6
commit
cdc9acde7a
@@ -194,13 +194,6 @@ static void bcm2835aux_spi_transfer_helper(struct bcm2835aux_spi *bs)
|
||||
BCM2835_AUX_SPI_STAT_TX_FULL))) {
|
||||
bcm2835aux_wr_fifo(bs);
|
||||
}
|
||||
|
||||
/* and check if we have reached "done" */
|
||||
while (bs->rx_len &&
|
||||
(!(bcm2835aux_rd(bs, BCM2835_AUX_SPI_STAT) &
|
||||
BCM2835_AUX_SPI_STAT_BUSY))) {
|
||||
bcm2835aux_rd_fifo(bs);
|
||||
}
|
||||
}
|
||||
|
||||
static irqreturn_t bcm2835aux_spi_interrupt(int irq, void *dev_id)
|
||||
|
||||
Reference in New Issue
Block a user