> sg_set_buf expects that the buf parameter passed in should be from > lowmem and a valid pageframe. This is not true for pages from > dma_alloc_coherent which can be carveouts, hence the check fails. OK, given you mean dma_pool_alloc here, the check fails for the pageframe because of the pool? Is my understanding correct? > Change allocation of sg buffers from dma_coherent memory to kzalloc > to fix the issue. But why can you drop the coherency? > @@ -1268,6 +1260,8 @@ static int qup_i2c_xfer_v2(struct i2c_adapter *adap, > } > } > > + idx = 0; > + This looks like an unrelated change.
Attachment:
signature.asc
Description: PGP signature