diff --git a/drivers/spi/spi-dw.c b/drivers/spi/spi-dw.c index c623998ed93fcbc77ee67aecc536a601bb029f23..a0168b36ace48366b3dfa1a5b353bfddf5abc3f7 100644 --- a/drivers/spi/spi-dw.c +++ b/drivers/spi/spi-dw.c @@ -304,6 +304,9 @@ static int dw_spi_transfer_one(struct spi_controller *master, dws->len = transfer->len; spin_unlock_irqrestore(&dws->buf_lock, flags); + /* Ensure dw->rx and dw->rx_end are visible */ + smp_mb(); + spi_enable_chip(dws, 0); /* Handle per transfer options for bpw and speed */