In qat_alg_sgl_to_bufl(), "bufl" and "buflout" are mapped to streaming DMA: blp = dma_map_single(dev, bufl, sz, DMA_TO_DEVICE); bloutp = dma_map_single(dev, buflout, sz_out, DMA_TO_DEVICE); Then "bufl" and "buflout" are accessed at some places, such as: bufl->bufers[y].len = sg->length; bufl->num_bufs = sg_nctr; bufers = buflout->bufers; buflout->num_bufs = sg_nctr; These accesses may cause data inconsistency between CPU cache and hardware. I am not sure how to properly fix this problem, and thus I only report it. Best wishes, Jia-Ju Bai