[PATCH v1 1/1] baseband/acc: fix ring memory allocation logic
Maxime Coquelin
maxime.coquelin at redhat.com
Tue Nov 5 14:55:59 CET 2024
Hi Nicolas,
On 10/30/24 19:56, Nicolas Chautru wrote:
> Allowing ring memory allocation whose end address is aligned with 64 MB.
> Previous logic was off by one.
>
> Fixes: 060e76729302 ("baseband/acc100: add queue configuration")
> Cc: stable at dpdk.org
>
> Signed-off-by: Nicolas Chautru <nicolas.chautru at intel.com>
> ---
> drivers/baseband/acc/acc_common.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/baseband/acc/acc_common.h b/drivers/baseband/acc/acc_common.h
> index 4c60b7896b..55b43bab4e 100644
> --- a/drivers/baseband/acc/acc_common.h
> +++ b/drivers/baseband/acc/acc_common.h
> @@ -800,7 +800,7 @@ alloc_sw_rings_min_mem(struct rte_bbdev *dev, struct acc_device *d,
> /* Check if the end of the sw ring memory block is before the
> * start of next 64MB aligned mem address
> */
> - if (sw_ring_iova_end_addr < next_64mb_align_addr_iova) {
> + if (sw_ring_iova_end_addr <= next_64mb_align_addr_iova) {
> d->sw_rings_iova = sw_rings_base_iova;
> d->sw_rings = sw_rings_base;
> d->sw_rings_base = sw_rings_base;
IMHO, the proper fix would be to fix sw_ring_iova_end_addr to really
represent the last address of the block and not the start address ofthe
next one:
sw_ring_iova_end_addr = sw_rings_base_iova + dev_sw_ring_size - 1;
Regards,
Maxime
More information about the stable
mailing list