x86: ich-spi: Clear atomic preop only when SPI settings are not locked
The atomic preop register can only be written when SPI settings are
not locked, otherwise it's read-only.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
diff --git a/drivers/spi/ich.c b/drivers/spi/ich.c
index 5a3d690..22fc83d 100644
--- a/drivers/spi/ich.c
+++ b/drivers/spi/ich.c
@@ -563,7 +563,8 @@
}
/* Clear atomic preop now that xfer is done */
- ich_writew(ctlr, 0, ctlr->preop);
+ if (!lock)
+ ich_writew(ctlr, 0, ctlr->preop);
return 0;
}