diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2014-07-29 08:45:10 +1000 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2014-07-29 08:45:10 +1000 |
commit | 7d20aac37062d93e15a96008158e51b9bbb34684 (patch) | |
tree | f9f676a9b2f36f9e28e434e4630ceb8902c5279f | |
parent | 45692031a4de2166f77ba654bb40d3d301aa3082 (diff) | |
download | skiboot-7d20aac37062d93e15a96008158e51b9bbb34684.zip skiboot-7d20aac37062d93e15a96008158e51b9bbb34684.tar.gz skiboot-7d20aac37062d93e15a96008158e51b9bbb34684.tar.bz2 |
lpc: Don't poll in spin loops
The LPC code is called from deep into various call stacks such as
the UART one, polling from there could cause nasty recursions, so
use a _nopoll variant of wait.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-rw-r--r-- | hw/lpc.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -139,7 +139,7 @@ static int64_t opb_write(struct proc_chip *chip, uint32_t addr, uint32_t data, } return OPAL_SUCCESS; } - time_wait(100); + time_wait_nopoll(100); } log_simple_error(&e_info(OPAL_RC_LPC_WRITE), "LPC: Write timeout !\n"); return OPAL_HARDWARE; @@ -194,7 +194,7 @@ static int64_t opb_read(struct proc_chip *chip, uint32_t addr, uint32_t *data, } return 0; } - time_wait(100); + time_wait_nopoll(100); } log_simple_error(&e_info(OPAL_RC_LPC_READ), "LPC: Read timeout !\n"); return OPAL_HARDWARE; |