mirror of https://gitee.com/openkylin/qemu.git
sd: sdhci: Fix ADMA dma_memory_read access
This dma_memory_read was giving too big a size when begin was non-zero. This could cause segfaults in some circumstances. Fix. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
fab4693239
commit
9db11cef8c
|
@ -702,7 +702,8 @@ static void sdhci_do_adma(SDHCIState *s)
|
|||
length -= block_size - begin;
|
||||
}
|
||||
dma_memory_read(&address_space_memory, dscr.addr,
|
||||
&s->fifo_buffer[begin], s->data_count);
|
||||
&s->fifo_buffer[begin],
|
||||
s->data_count - begin);
|
||||
dscr.addr += s->data_count - begin;
|
||||
if (s->data_count == block_size) {
|
||||
for (n = 0; n < block_size; n++) {
|
||||
|
|
Loading…
Reference in New Issue