Message ID | 20240118162917.2951450-1-Frank.Li@nxp.com (mailing list archive) |
---|---|
State | Accepted |
Commit | b73e43dcd7a8be26880ef8ff336053b29e79dbc5 |
Headers | show |
Series | [1/1] dmaengine: fsl-dpaa2-qdma: Fix the size of dma pools | expand |
On Thu, 18 Jan 2024 11:29:16 -0500, Frank Li wrote: > In case of long format of qDMA command descriptor, there are one frame > descriptor, three entries in the frame list and two data entries. So the > size of dma_pool_create for these three fields should be the same with > the total size of entries respectively, or the contents may be overwritten > by the next allocated descriptor. > > > [...] Applied, thanks! [1/1] dmaengine: fsl-dpaa2-qdma: Fix the size of dma pools commit: b73e43dcd7a8be26880ef8ff336053b29e79dbc5 Best regards,
diff --git a/drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.c b/drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.c index 7958ac33e36ce..5a8061a307cda 100644 --- a/drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.c +++ b/drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.c @@ -38,15 +38,17 @@ static int dpaa2_qdma_alloc_chan_resources(struct dma_chan *chan) if (!dpaa2_chan->fd_pool) goto err; - dpaa2_chan->fl_pool = dma_pool_create("fl_pool", dev, - sizeof(struct dpaa2_fl_entry), - sizeof(struct dpaa2_fl_entry), 0); + dpaa2_chan->fl_pool = + dma_pool_create("fl_pool", dev, + sizeof(struct dpaa2_fl_entry) * 3, + sizeof(struct dpaa2_fl_entry), 0); + if (!dpaa2_chan->fl_pool) goto err_fd; dpaa2_chan->sdd_pool = dma_pool_create("sdd_pool", dev, - sizeof(struct dpaa2_qdma_sd_d), + sizeof(struct dpaa2_qdma_sd_d) * 2, sizeof(struct dpaa2_qdma_sd_d), 0); if (!dpaa2_chan->sdd_pool) goto err_fl;