[PATCH v2 31/37] baseband/acc100: fix clearing PF IR outside handler
Maxime Coquelin
maxime.coquelin at redhat.com
Thu Sep 15 12:22:41 CEST 2022
On 8/20/22 04:31, Hernan Vargas wrote:
> Clearing of PF info ring outside of handler may cause interrupt to be
> missed.
> A condition in the ACC100 PMD implementation may cause an interrupt
> functional handler call to be missed due to related bit being cleared
> when checking PF info ring status.
>
> Fixes: 06531464151 ("baseband/acc100: support interrupt")
> Cc: stable at dpdk.org
>
> Signed-off-by: Hernan Vargas <hernan.vargas at intel.com>
> ---
> drivers/baseband/acc100/rte_acc100_pmd.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c
> index 72e46953ee..4596f5df42 100644
> --- a/drivers/baseband/acc100/rte_acc100_pmd.c
> +++ b/drivers/baseband/acc100/rte_acc100_pmd.c
> @@ -437,11 +437,12 @@ acc100_check_ir(struct acc100_device *acc100_dev)
> while (ring_data->valid) {
> if ((ring_data->int_nb < ACC100_PF_INT_DMA_DL_DESC_IRQ) || (
> ring_data->int_nb >
> - ACC100_PF_INT_DMA_DL5G_DESC_IRQ))
> + ACC100_PF_INT_DMA_DL5G_DESC_IRQ)) {
> rte_bbdev_log(WARNING, "InfoRing: ITR:%d Info:0x%x",
> ring_data->int_nb, ring_data->detailed_info);
> - /* Initialize Info Ring entry and move forward */
> - ring_data->val = 0;
> + /* Initialize Info Ring entry and move forward */
> + ring_data->val = 0;
> + }
> info_ring_head++;
> ring_data = acc100_dev->info_ring +
> (info_ring_head & ACC100_INFO_RING_MASK);
Please moved it at the beginning of the series.
Reviewed-by: Maxime Coquelin <maxime.coquelin at redhat.com>
Thanks,
Maxime
More information about the stable
mailing list