mirror of
https://github.com/torvalds/linux.git
synced 2026-09-23 05:04:02 +02:00
mmc: dw_mmc: stop and complete DMA also in STATE_DATA_BUSY state
When transfer was stopped in STATE_DATA_BUSY state, there was no call to dma_ops->cleanup function, so the DMA mapped buffer was never properly unmapped. Fix this by calling dw_mci_stop_dma() function also in that state to ensure proper cleanup call when DMA transfer was used. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com> Signed-off-by: Ulf Hansson <ulfh@kernel.org>
This commit is contained in:
parent
e8a80efa63
commit
cb3fcb8d11
|
|
@ -2057,6 +2057,7 @@ static void dw_mci_work_func(struct work_struct *t)
|
|||
}
|
||||
|
||||
dw_mci_stop_fault_timer(host);
|
||||
dw_mci_stop_dma(host);
|
||||
host->data = NULL;
|
||||
set_bit(EVENT_DATA_COMPLETE, &host->completed_events);
|
||||
err = dw_mci_data_complete(host, data);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user