net/ice: fix VLAN mode parser

Message ID 20230625082308.2674971-1-qiming.yang@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Qi Zhang
Headers
Series net/ice: fix VLAN mode parser |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/github-robot: build success github build: passed
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-aarch-unit-testing success Testing PASS
ci/loongarch-compilation success Compilation OK
ci/iol-abi-testing success Testing PASS
ci/iol-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/loongarch-unit-testing success Unit Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-unit-testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/intel-Functional success Functional PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS

Commit Message

Qiming Yang June 25, 2023, 8:23 a.m. UTC
  Parser will not be ctreated if raw packet filter is not support.
This patch add NULL pointer check for parser structure when VLAN
mode configure.

Fixes: 6e753d777ffc ("net/ice: initialize parser for double VLAN")
Cc: stable@dpdk.org

Signed-off-by: Qiming Yang <qiming.yang@intel.com>
---
 drivers/net/ice/ice_generic_flow.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
  

Comments

Qi Zhang June 28, 2023, 6:48 a.m. UTC | #1
> -----Original Message-----
> From: Yang, Qiming <qiming.yang@intel.com>
> Sent: Sunday, June 25, 2023 4:23 PM
> To: Zhang, Qi Z <qi.z.zhang@intel.com>; dev@dpdk.org
> Cc: Yang, Qiming <qiming.yang@intel.com>; stable@dpdk.org
> Subject: [PATCH] net/ice: fix VLAN mode parser
> 
> Parser will not be ctreated if raw packet filter is not support.
> This patch add NULL pointer check for parser structure when VLAN mode
> configure.
> 
> Fixes: 6e753d777ffc ("net/ice: initialize parser for double VLAN")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Qiming Yang <qiming.yang@intel.com>

Acked-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi
> ---
>  drivers/net/ice/ice_generic_flow.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/ice/ice_generic_flow.c
> b/drivers/net/ice/ice_generic_flow.c
> index ed3075d555..91bf1d6fcb 100644
> --- a/drivers/net/ice/ice_generic_flow.c
> +++ b/drivers/net/ice/ice_generic_flow.c
> @@ -1836,10 +1836,12 @@ ice_flow_init(struct ice_adapter *ad)
>  	if (ice_parser_create(&ad->hw, &ad->psr) != ICE_SUCCESS)
>  		PMD_INIT_LOG(WARNING, "Failed to initialize DDP parser, raw
> packet filter will not be supported");
> 
> -	if (ice_is_dvm_ena(&ad->hw))
> -		ice_parser_dvm_set(ad->psr, true);
> -	else
> -		ice_parser_dvm_set(ad->psr, false);
> +	if (ad->psr) {
> +		if (ice_is_dvm_ena(&ad->hw))
> +			ice_parser_dvm_set(ad->psr, true);
> +		else
> +			ice_parser_dvm_set(ad->psr, false);
> +	}
> 
>  	RTE_TAILQ_FOREACH_SAFE(engine, &engine_list, node, temp) {
>  		if (engine->init == NULL) {
> --
> 2.25.1
  

Patch

diff --git a/drivers/net/ice/ice_generic_flow.c b/drivers/net/ice/ice_generic_flow.c
index ed3075d555..91bf1d6fcb 100644
--- a/drivers/net/ice/ice_generic_flow.c
+++ b/drivers/net/ice/ice_generic_flow.c
@@ -1836,10 +1836,12 @@  ice_flow_init(struct ice_adapter *ad)
 	if (ice_parser_create(&ad->hw, &ad->psr) != ICE_SUCCESS)
 		PMD_INIT_LOG(WARNING, "Failed to initialize DDP parser, raw packet filter will not be supported");
 
-	if (ice_is_dvm_ena(&ad->hw))
-		ice_parser_dvm_set(ad->psr, true);
-	else
-		ice_parser_dvm_set(ad->psr, false);
+	if (ad->psr) {
+		if (ice_is_dvm_ena(&ad->hw))
+			ice_parser_dvm_set(ad->psr, true);
+		else
+			ice_parser_dvm_set(ad->psr, false);
+	}
 
 	RTE_TAILQ_FOREACH_SAFE(engine, &engine_list, node, temp) {
 		if (engine->init == NULL) {