From: Alex Elder Date: Thu, 7 May 2020 19:14:03 +0000 (-0500) Subject: net: ipa: set DMA length in gsi_trans_cmd_add() X-Git-Tag: v5.15~3883^2~25^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c781e1d4f3e23d5fc138dad2fd98ca0e0dd9c592;p=platform%2Fkernel%2Flinux-starfive.git net: ipa: set DMA length in gsi_trans_cmd_add() When a command gets added to a transaction for the AP->command channel we set the DMA address of its scatterlist entry, but not its DMA length. Fix this bug. Signed-off-by: Alex Elder Signed-off-by: David S. Miller --- diff --git a/drivers/net/ipa/gsi_trans.c b/drivers/net/ipa/gsi_trans.c index 2fd21d7..bdbfeed 100644 --- a/drivers/net/ipa/gsi_trans.c +++ b/drivers/net/ipa/gsi_trans.c @@ -399,13 +399,14 @@ void gsi_trans_cmd_add(struct gsi_trans *trans, void *buf, u32 size, /* assert(which < trans->tre_count); */ /* Set the page information for the buffer. We also need to fill in - * the DMA address for the buffer (something dma_map_sg() normally - * does). + * the DMA address and length for the buffer (something dma_map_sg() + * normally does). */ sg = &trans->sgl[which]; sg_set_buf(sg, buf, size); sg_dma_address(sg) = addr; + sg_dma_len(sg) = sg->length; info = &trans->info[which]; info->opcode = opcode;