On 08/07/2015, 11:29 AM, Haibo Chen wrote: > Currently one mrq->data maybe execute dma_map_sg() twice > when mmc subsystem prepare over one new request, and the > following log show up: > sdhci[sdhci_pre_dma_transfer] invalid cookie: 24, next-cookie 25 > > In this condition, mrq->date map a dma-memory(1) in sdhci_pre_req > for the first time, and map another dma-memory(2) in sdhci_prepare_data > for the second time. But driver only unmap the dma-memory(2), and > dma-memory(1) never unmapped, which cause the dma memory leak issue. > > This patch use another method to map the dma memory for the mrq->data > which can fix this dma memory leak issue. > > Fixes: commit 348487cb28e66b0 ("mmc: sdhci: use pipeline mmc requests to improve performance") > Cc: stable@xxxxxxxxxxxxxxx # 4.0+ > Reported-by: Jiri Slaby <jslaby@xxxxxxx> Reported-and-tested-by: Jiri Slaby <jslaby@xxxxxxx> I also added the mentioned WARN_ON in place and it never triggerred. (As I expected...) Thanks! -- js suse labs -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html