baseband/la12xx: fix issue with secondary process
Checks
Commit Message
The la12xx driver do not have any checks for secondary process
and it causes the system to try to initialize the driver, causing
segmentation faults.
LA12xx driver do not support multi-processing.
Return when not called from Primary process.
Fixes: f218a1f92017 ("baseband/la12xx: introduce NXP LA12xx driver")
Cc: stable@dpdk.org
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/baseband/la12xx/bbdev_la12xx.c | 3 +++
1 file changed, 3 insertions(+)
Comments
On 7/2/24 08:09, Hemant Agrawal wrote:
> The la12xx driver do not have any checks for secondary process
> and it causes the system to try to initialize the driver, causing
> segmentation faults.
> LA12xx driver do not support multi-processing.
> Return when not called from Primary process.
>
> Fixes: f218a1f92017 ("baseband/la12xx: introduce NXP LA12xx driver")
> Cc: stable@dpdk.org
>
> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
> ---
> drivers/baseband/la12xx/bbdev_la12xx.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/baseband/la12xx/bbdev_la12xx.c b/drivers/baseband/la12xx/bbdev_la12xx.c
> index bb754a5395..1a56e73abd 100644
> --- a/drivers/baseband/la12xx/bbdev_la12xx.c
> +++ b/drivers/baseband/la12xx/bbdev_la12xx.c
> @@ -1084,6 +1084,9 @@ la12xx_bbdev_remove(struct rte_vdev_device *vdev)
>
> PMD_INIT_FUNC_TRACE();
>
> + if (rte_eal_process_type() != RTE_PROC_PRIMARY)
> + return 0;
> +
> if (vdev == NULL)
> return -EINVAL;
>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Thanks,
Maxime
On 7/2/24 08:09, Hemant Agrawal wrote:
> The la12xx driver do not have any checks for secondary process
> and it causes the system to try to initialize the driver, causing
> segmentation faults.
> LA12xx driver do not support multi-processing.
> Return when not called from Primary process.
>
> Fixes: f218a1f92017 ("baseband/la12xx: introduce NXP LA12xx driver")
> Cc: stable@dpdk.org
>
> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
> ---
> drivers/baseband/la12xx/bbdev_la12xx.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/baseband/la12xx/bbdev_la12xx.c b/drivers/baseband/la12xx/bbdev_la12xx.c
> index bb754a5395..1a56e73abd 100644
> --- a/drivers/baseband/la12xx/bbdev_la12xx.c
> +++ b/drivers/baseband/la12xx/bbdev_la12xx.c
> @@ -1084,6 +1084,9 @@ la12xx_bbdev_remove(struct rte_vdev_device *vdev)
>
> PMD_INIT_FUNC_TRACE();
>
> + if (rte_eal_process_type() != RTE_PROC_PRIMARY)
> + return 0;
> +
> if (vdev == NULL)
> return -EINVAL;
>
Applied to next-baseband/for-main.
Thanks,
Maxime
@@ -1084,6 +1084,9 @@ la12xx_bbdev_remove(struct rte_vdev_device *vdev)
PMD_INIT_FUNC_TRACE();
+ if (rte_eal_process_type() != RTE_PROC_PRIMARY)
+ return 0;
+
if (vdev == NULL)
return -EINVAL;