All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-wired-lan] [PATCH net v1 1/2] ice: Add error handling for queue config fail
@ 2022-05-31 13:18 Mateusz Palczewski
  2022-05-31 14:52 ` Paul Menzel
  2022-05-31 20:40 ` Tony Nguyen
  0 siblings, 2 replies; 4+ messages in thread
From: Mateusz Palczewski @ 2022-05-31 13:18 UTC (permalink / raw)
  To: intel-wired-lan

From: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>

Disable VF's RX/TX queues, when VIRTCHNL_OP_CONFIG_VSI_QUEUES fail.
Not disabling them might lead to scenario, where PF driver leaves VF
queues enabled, when VF's VSI failed queue config.
In this scenario VF should not have RX/TX queues enabled. If PF failed
to setup VF's queues, VF will reset due to TX timeouts in VF driver.

Signed-off-by: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>
Signed-off-by: Mateusz Palczewski <mateusz.palczewski@intel.com>
Suggested-by: Slawomir Laba <slawomirx.laba@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_virtchnl.c | 53 +++++++++----------
 1 file changed, 26 insertions(+), 27 deletions(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_virtchnl.c b/drivers/net/ethernet/intel/ice/ice_virtchnl.c
index 1d9b84c..4547bc1 100644
--- a/drivers/net/ethernet/intel/ice/ice_virtchnl.c
+++ b/drivers/net/ethernet/intel/ice/ice_virtchnl.c
@@ -1569,35 +1569,27 @@ static int ice_vc_cfg_irq_map_msg(struct ice_vf *vf, u8 *msg)
  */
 static int ice_vc_cfg_qs_msg(struct ice_vf *vf, u8 *msg)
 {
-	enum virtchnl_status_code v_ret = VIRTCHNL_STATUS_SUCCESS;
 	struct virtchnl_vsi_queue_config_info *qci =
 	    (struct virtchnl_vsi_queue_config_info *)msg;
 	struct virtchnl_queue_pair_info *qpi;
 	struct ice_pf *pf = vf->pf;
 	struct ice_vsi *vsi;
-	int i, q_idx;
+	int i = -1, q_idx;
 
-	if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) {
-		v_ret = VIRTCHNL_STATUS_ERR_PARAM;
+	if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states))
 		goto error_param;
-	}
 
-	if (!ice_vc_isvalid_vsi_id(vf, qci->vsi_id)) {
-		v_ret = VIRTCHNL_STATUS_ERR_PARAM;
+	if (!ice_vc_isvalid_vsi_id(vf, qci->vsi_id))
 		goto error_param;
-	}
 
 	vsi = ice_get_vf_vsi(vf);
-	if (!vsi) {
-		v_ret = VIRTCHNL_STATUS_ERR_PARAM;
+	if (!vsi)
 		goto error_param;
-	}
 
 	if (qci->num_queue_pairs > ICE_MAX_RSS_QS_PER_VF ||
 	    qci->num_queue_pairs > min_t(u16, vsi->alloc_txq, vsi->alloc_rxq)) {
 		dev_err(ice_pf_to_dev(pf), "VF-%d requesting more than supported number of queues: %d\n",
 			vf->vf_id, min_t(u16, vsi->alloc_txq, vsi->alloc_rxq));
-		v_ret = VIRTCHNL_STATUS_ERR_PARAM;
 		goto error_param;
 	}
 
@@ -1610,7 +1602,6 @@ static int ice_vc_cfg_qs_msg(struct ice_vf *vf, u8 *msg)
 		    !ice_vc_isvalid_ring_len(qpi->txq.ring_len) ||
 		    !ice_vc_isvalid_ring_len(qpi->rxq.ring_len) ||
 		    !ice_vc_isvalid_q_id(vf, qci->vsi_id, qpi->txq.queue_id)) {
-			v_ret = VIRTCHNL_STATUS_ERR_PARAM;
 			goto error_param;
 		}
 
@@ -1620,7 +1611,6 @@ static int ice_vc_cfg_qs_msg(struct ice_vf *vf, u8 *msg)
 		 * for selected "vsi"
 		 */
 		if (q_idx >= vsi->alloc_txq || q_idx >= vsi->alloc_rxq) {
-			v_ret = VIRTCHNL_STATUS_ERR_PARAM;
 			goto error_param;
 		}
 
@@ -1630,14 +1620,13 @@ static int ice_vc_cfg_qs_msg(struct ice_vf *vf, u8 *msg)
 			vsi->tx_rings[i]->count = qpi->txq.ring_len;
 
 			/* Disable any existing queue first */
-			if (ice_vf_vsi_dis_single_txq(vf, vsi, q_idx)) {
-				v_ret = VIRTCHNL_STATUS_ERR_PARAM;
+			if (ice_vf_vsi_dis_single_txq(vf, vsi, q_idx))
 				goto error_param;
-			}
 
 			/* Configure a queue with the requested settings */
 			if (ice_vsi_cfg_single_txq(vsi, vsi->tx_rings, q_idx)) {
-				v_ret = VIRTCHNL_STATUS_ERR_PARAM;
+				dev_warn(ice_pf_to_dev(pf), "VF-%d failed to configure TX queue %d\n",
+					 vf->vf_id, i);
 				goto error_param;
 			}
 		}
@@ -1651,17 +1640,13 @@ static int ice_vc_cfg_qs_msg(struct ice_vf *vf, u8 *msg)
 
 			if (qpi->rxq.databuffer_size != 0 &&
 			    (qpi->rxq.databuffer_size > ((16 * 1024) - 128) ||
-			     qpi->rxq.databuffer_size < 1024)) {
-				v_ret = VIRTCHNL_STATUS_ERR_PARAM;
+			     qpi->rxq.databuffer_size < 1024))
 				goto error_param;
-			}
 			vsi->rx_buf_len = qpi->rxq.databuffer_size;
 			vsi->rx_rings[i]->rx_buf_len = vsi->rx_buf_len;
 			if (qpi->rxq.max_pkt_size > max_frame_size ||
-			    qpi->rxq.max_pkt_size < 64) {
-				v_ret = VIRTCHNL_STATUS_ERR_PARAM;
+			    qpi->rxq.max_pkt_size < 64)
 				goto error_param;
-			}
 
 			vsi->max_frame = qpi->rxq.max_pkt_size;
 			/* add space for the port VLAN since the VF driver is
@@ -1672,16 +1657,30 @@ static int ice_vc_cfg_qs_msg(struct ice_vf *vf, u8 *msg)
 				vsi->max_frame += VLAN_HLEN;
 
 			if (ice_vsi_cfg_single_rxq(vsi, q_idx)) {
-				v_ret = VIRTCHNL_STATUS_ERR_PARAM;
+				dev_warn(ice_pf_to_dev(pf), "VF-%d failed to configure RX queue %d\n",
+					 vf->vf_id, i);
 				goto error_param;
 			}
 		}
 	}
 
+	/* send the response to the VF */
+	return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_CONFIG_VSI_QUEUES,
+				     VIRTCHNL_STATUS_SUCCESS, NULL, 0);
 error_param:
+	/* disable whatever we can */
+	for (; i >= 0; i--) {
+		if (ice_vsi_ctrl_one_rx_ring(vsi, false, i, true))
+			dev_err(ice_pf_to_dev(pf), "VF-%d could not disable RX queue %d\n",
+				vf->vf_id, i);
+		if (ice_vf_vsi_dis_single_txq(vf, vsi, i))
+			dev_err(ice_pf_to_dev(pf), "VF-%d could not disable TX queue %d\n",
+				vf->vf_id, i);
+	}
+
 	/* send the response to the VF */
-	return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_CONFIG_VSI_QUEUES, v_ret,
-				     NULL, 0);
+	return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_CONFIG_VSI_QUEUES,
+				     VIRTCHNL_STATUS_ERR_PARAM, NULL, 0);
 }
 
 /**
-- 
2.27.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Intel-wired-lan] [PATCH net v1 1/2] ice: Add error handling for queue config fail
  2022-05-31 13:18 [Intel-wired-lan] [PATCH net v1 1/2] ice: Add error handling for queue config fail Mateusz Palczewski
@ 2022-05-31 14:52 ` Paul Menzel
  2022-05-31 20:40 ` Tony Nguyen
  1 sibling, 0 replies; 4+ messages in thread
From: Paul Menzel @ 2022-05-31 14:52 UTC (permalink / raw)
  To: intel-wired-lan

Dear Mateusz, dear Przemyslaw,


Thank you for the patch.

Am 31.05.22 um 15:18 schrieb Mateusz Palczewski:
> From: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>
> 
> Disable VF's RX/TX queues, when VIRTCHNL_OP_CONFIG_VSI_QUEUES fail.
> Not disabling them might lead to scenario, where PF driver leaves VF
> queues enabled, when VF's VSI failed queue config.
> In this scenario VF should not have RX/TX queues enabled. If PF failed
> to setup VF's queues, VF will reset due to TX timeouts in VF driver.

Nit: The verb is spelled with a space: to set up

> Signed-off-by: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>
> Signed-off-by: Mateusz Palczewski <mateusz.palczewski@intel.com>
> Suggested-by: Slawomir Laba <slawomirx.laba@intel.com>
> ---
>   drivers/net/ethernet/intel/ice/ice_virtchnl.c | 53 +++++++++----------
>   1 file changed, 26 insertions(+), 27 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/ice/ice_virtchnl.c b/drivers/net/ethernet/intel/ice/ice_virtchnl.c
> index 1d9b84c..4547bc1 100644
> --- a/drivers/net/ethernet/intel/ice/ice_virtchnl.c
> +++ b/drivers/net/ethernet/intel/ice/ice_virtchnl.c
> @@ -1569,35 +1569,27 @@ static int ice_vc_cfg_irq_map_msg(struct ice_vf *vf, u8 *msg)
>    */
>   static int ice_vc_cfg_qs_msg(struct ice_vf *vf, u8 *msg)
>   {
> -	enum virtchnl_status_code v_ret = VIRTCHNL_STATUS_SUCCESS;
>   	struct virtchnl_vsi_queue_config_info *qci =
>   	    (struct virtchnl_vsi_queue_config_info *)msg;
>   	struct virtchnl_queue_pair_info *qpi;
>   	struct ice_pf *pf = vf->pf;
>   	struct ice_vsi *vsi;
> -	int i, q_idx;
> +	int i = -1, q_idx;

Could you please add a comment to the commit message, why the for loop 
variable is initialized to -1. Reading a bit through the diff, it looks 
like `i` is not exclusively used as a loop variable. Maybe you could 
also add a cleanup patch, renaming the variable, or adding another one.

>   
> -	if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) {
> -		v_ret = VIRTCHNL_STATUS_ERR_PARAM;
> +	if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states))
>   		goto error_param;
> -	}
>   
> -	if (!ice_vc_isvalid_vsi_id(vf, qci->vsi_id)) {
> -		v_ret = VIRTCHNL_STATUS_ERR_PARAM;
> +	if (!ice_vc_isvalid_vsi_id(vf, qci->vsi_id))
>   		goto error_param;
> -	}
>   
>   	vsi = ice_get_vf_vsi(vf);
> -	if (!vsi) {
> -		v_ret = VIRTCHNL_STATUS_ERR_PARAM;
> +	if (!vsi)
>   		goto error_param;
> -	}
>   
>   	if (qci->num_queue_pairs > ICE_MAX_RSS_QS_PER_VF ||
>   	    qci->num_queue_pairs > min_t(u16, vsi->alloc_txq, vsi->alloc_rxq)) {
>   		dev_err(ice_pf_to_dev(pf), "VF-%d requesting more than supported number of queues: %d\n",
>   			vf->vf_id, min_t(u16, vsi->alloc_txq, vsi->alloc_rxq));
> -		v_ret = VIRTCHNL_STATUS_ERR_PARAM;
>   		goto error_param;
>   	}
>   
> @@ -1610,7 +1602,6 @@ static int ice_vc_cfg_qs_msg(struct ice_vf *vf, u8 *msg)
>   		    !ice_vc_isvalid_ring_len(qpi->txq.ring_len) ||
>   		    !ice_vc_isvalid_ring_len(qpi->rxq.ring_len) ||
>   		    !ice_vc_isvalid_q_id(vf, qci->vsi_id, qpi->txq.queue_id)) {
> -			v_ret = VIRTCHNL_STATUS_ERR_PARAM;
>   			goto error_param;
>   		}
>   
> @@ -1620,7 +1611,6 @@ static int ice_vc_cfg_qs_msg(struct ice_vf *vf, u8 *msg)
>   		 * for selected "vsi"
>   		 */
>   		if (q_idx >= vsi->alloc_txq || q_idx >= vsi->alloc_rxq) {
> -			v_ret = VIRTCHNL_STATUS_ERR_PARAM;
>   			goto error_param;
>   		}
>   
> @@ -1630,14 +1620,13 @@ static int ice_vc_cfg_qs_msg(struct ice_vf *vf, u8 *msg)
>   			vsi->tx_rings[i]->count = qpi->txq.ring_len;
>   
>   			/* Disable any existing queue first */
> -			if (ice_vf_vsi_dis_single_txq(vf, vsi, q_idx)) {
> -				v_ret = VIRTCHNL_STATUS_ERR_PARAM;
> +			if (ice_vf_vsi_dis_single_txq(vf, vsi, q_idx))
>   				goto error_param;
> -			}
>   
>   			/* Configure a queue with the requested settings */
>   			if (ice_vsi_cfg_single_txq(vsi, vsi->tx_rings, q_idx)) {
> -				v_ret = VIRTCHNL_STATUS_ERR_PARAM;
> +				dev_warn(ice_pf_to_dev(pf), "VF-%d failed to configure TX queue %d\n",
> +					 vf->vf_id, i);
>   				goto error_param;
>   			}
>   		}
> @@ -1651,17 +1640,13 @@ static int ice_vc_cfg_qs_msg(struct ice_vf *vf, u8 *msg)
>   
>   			if (qpi->rxq.databuffer_size != 0 &&
>   			    (qpi->rxq.databuffer_size > ((16 * 1024) - 128) ||
> -			     qpi->rxq.databuffer_size < 1024)) {
> -				v_ret = VIRTCHNL_STATUS_ERR_PARAM;
> +			     qpi->rxq.databuffer_size < 1024))
>   				goto error_param;
> -			}
>   			vsi->rx_buf_len = qpi->rxq.databuffer_size;
>   			vsi->rx_rings[i]->rx_buf_len = vsi->rx_buf_len;
>   			if (qpi->rxq.max_pkt_size > max_frame_size ||
> -			    qpi->rxq.max_pkt_size < 64) {
> -				v_ret = VIRTCHNL_STATUS_ERR_PARAM;
> +			    qpi->rxq.max_pkt_size < 64)
>   				goto error_param;
> -			}
>   
>   			vsi->max_frame = qpi->rxq.max_pkt_size;
>   			/* add space for the port VLAN since the VF driver is
> @@ -1672,16 +1657,30 @@ static int ice_vc_cfg_qs_msg(struct ice_vf *vf, u8 *msg)
>   				vsi->max_frame += VLAN_HLEN;
>   
>   			if (ice_vsi_cfg_single_rxq(vsi, q_idx)) {
> -				v_ret = VIRTCHNL_STATUS_ERR_PARAM;
> +				dev_warn(ice_pf_to_dev(pf), "VF-%d failed to configure RX queue %d\n",
> +					 vf->vf_id, i);
>   				goto error_param;
>   			}
>   		}
>   	}
>   
> +	/* send the response to the VF */
> +	return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_CONFIG_VSI_QUEUES,
> +				     VIRTCHNL_STATUS_SUCCESS, NULL, 0);
>   error_param:
> +	/* disable whatever we can */
> +	for (; i >= 0; i--) {

With the rename, this could be then

     for (i = new_variable_name; i =>0; i--) {

> +		if (ice_vsi_ctrl_one_rx_ring(vsi, false, i, true))
> +			dev_err(ice_pf_to_dev(pf), "VF-%d could not disable RX queue %d\n",
> +				vf->vf_id, i);
> +		if (ice_vf_vsi_dis_single_txq(vf, vsi, i))
> +			dev_err(ice_pf_to_dev(pf), "VF-%d could not disable TX queue %d\n",
> +				vf->vf_id, i);
> +	}
> +
>   	/* send the response to the VF */
> -	return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_CONFIG_VSI_QUEUES, v_ret,
> -				     NULL, 0);
> +	return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_CONFIG_VSI_QUEUES,
> +				     VIRTCHNL_STATUS_ERR_PARAM, NULL, 0);
>   }
>   
>   /**


Kind regards,

Paul

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Intel-wired-lan] [PATCH net v1 1/2] ice: Add error handling for queue config fail
  2022-05-31 13:18 [Intel-wired-lan] [PATCH net v1 1/2] ice: Add error handling for queue config fail Mateusz Palczewski
  2022-05-31 14:52 ` Paul Menzel
@ 2022-05-31 20:40 ` Tony Nguyen
  2022-06-01 12:27   ` Patynowski, PrzemyslawX
  1 sibling, 1 reply; 4+ messages in thread
From: Tony Nguyen @ 2022-05-31 20:40 UTC (permalink / raw)
  To: intel-wired-lan



On 5/31/2022 6:18 AM, Mateusz Palczewski wrote:
> From: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>
> 
> Disable VF's RX/TX queues, when VIRTCHNL_OP_CONFIG_VSI_QUEUES fail.
> Not disabling them might lead to scenario, where PF driver leaves VF
> queues enabled, when VF's VSI failed queue config.
> In this scenario VF should not have RX/TX queues enabled. If PF failed
> to setup VF's queues, VF will reset due to TX timeouts in VF driver.
> 

Patches for net need a Fixes tag.

> Signed-off-by: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>
> Signed-off-by: Mateusz Palczewski <mateusz.palczewski@intel.com>
> Suggested-by: Slawomir Laba <slawomirx.laba@intel.com>
> ---
>   drivers/net/ethernet/intel/ice/ice_virtchnl.c | 53 +++++++++----------
>   1 file changed, 26 insertions(+), 27 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/ice/ice_virtchnl.c b/drivers/net/ethernet/intel/ice/ice_virtchnl.c
> index 1d9b84c..4547bc1 100644
> --- a/drivers/net/ethernet/intel/ice/ice_virtchnl.c
> +++ b/drivers/net/ethernet/intel/ice/ice_virtchnl.c
> @@ -1569,35 +1569,27 @@ static int ice_vc_cfg_irq_map_msg(struct ice_vf *vf, u8 *msg)
>    */
>   static int ice_vc_cfg_qs_msg(struct ice_vf *vf, u8 *msg)
>   {
> -	enum virtchnl_status_code v_ret = VIRTCHNL_STATUS_SUCCESS;

This removal seems like a refactor and unrelated to the bug. Please send 
this change via net-next.

Thanks,
Tony

>   	struct virtchnl_vsi_queue_config_info *qci =
>   	    (struct virtchnl_vsi_queue_config_info *)msg;
>   	struct virtchnl_queue_pair_info *qpi;
>   	struct ice_pf *pf = vf->pf;
>   	struct ice_vsi *vsi;
> -	int i, q_idx;
> +	int i = -1, q_idx;
>   
> -	if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) {
> -		v_ret = VIRTCHNL_STATUS_ERR_PARAM;
> +	if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states))
>   		goto error_param;
> -	}
>   
> -	if (!ice_vc_isvalid_vsi_id(vf, qci->vsi_id)) {
> -		v_ret = VIRTCHNL_STATUS_ERR_PARAM;
> +	if (!ice_vc_isvalid_vsi_id(vf, qci->vsi_id))
>   		goto error_param;
> -	}


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Intel-wired-lan] [PATCH net v1 1/2] ice: Add error handling for queue config fail
  2022-05-31 20:40 ` Tony Nguyen
@ 2022-06-01 12:27   ` Patynowski, PrzemyslawX
  0 siblings, 0 replies; 4+ messages in thread
From: Patynowski, PrzemyslawX @ 2022-06-01 12:27 UTC (permalink / raw)
  To: Nguyen, Anthony L, Palczewski, Mateusz, intel-wired-lan; +Cc: Laba, SlawomirX

> -----Original Message-----
> From: Nguyen, Anthony L <anthony.l.nguyen@intel.com> 
> Sent: Tuesday, May 31, 2022 22:41
> To: Palczewski, Mateusz <mateusz.palczewski@intel.com>; intel-wired-lan@lists.osuosl.org
> Cc: Patynowski, PrzemyslawX <przemyslawx.patynowski@intel.com>; Laba, SlawomirX <slawomirx.laba@intel.com>
> Subject: Re: [Intel-wired-lan] [PATCH net v1 1/2] ice: Add error handling for queue config fail
> 
> 
> 
> On 5/31/2022 6:18 AM, Mateusz Palczewski wrote:
> > From: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>
> > 
> > Disable VF's RX/TX queues, when VIRTCHNL_OP_CONFIG_VSI_QUEUES fail.
> > Not disabling them might lead to scenario, where PF driver leaves VF 
> > queues enabled, when VF's VSI failed queue config.
> > In this scenario VF should not have RX/TX queues enabled. If PF failed 
> > to setup VF's queues, VF will reset due to TX timeouts in VF driver.
> > 
> 
> Patches for net need a Fixes tag.
> 
> > Signed-off-by: Przemyslaw Patynowski 
> > <przemyslawx.patynowski@intel.com>
> > Signed-off-by: Mateusz Palczewski <mateusz.palczewski@intel.com>
> > Suggested-by: Slawomir Laba <slawomirx.laba@intel.com>
> > ---
> >   drivers/net/ethernet/intel/ice/ice_virtchnl.c | 53 +++++++++----------
> >   1 file changed, 26 insertions(+), 27 deletions(-)
> > 
> > diff --git a/drivers/net/ethernet/intel/ice/ice_virtchnl.c 
> > b/drivers/net/ethernet/intel/ice/ice_virtchnl.c
> > index 1d9b84c..4547bc1 100644
> > --- a/drivers/net/ethernet/intel/ice/ice_virtchnl.c
> > +++ b/drivers/net/ethernet/intel/ice/ice_virtchnl.c
> > @@ -1569,35 +1569,27 @@ static int ice_vc_cfg_irq_map_msg(struct ice_vf *vf, u8 *msg)
> >    */
> >   static int ice_vc_cfg_qs_msg(struct ice_vf *vf, u8 *msg)
> >   {
> > -	enum virtchnl_status_code v_ret = VIRTCHNL_STATUS_SUCCESS;
We will upload this as fix then, because I believe it actually fixes same scenario as in the 2/2 patch,
but it's just harder to trigger this case.
> 
> This removal seems like a refactor and unrelated to the bug. Please send this change via net-next.
> 
> Thanks,
> Tony
> 
> >   	struct virtchnl_vsi_queue_config_info *qci =
> >   	    (struct virtchnl_vsi_queue_config_info *)msg;
> >   	struct virtchnl_queue_pair_info *qpi;
> >   	struct ice_pf *pf = vf->pf;
> >   	struct ice_vsi *vsi;
> > -	int i, q_idx;
> > +	int i = -1, q_idx;
> >   
> > -	if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) {
> > -		v_ret = VIRTCHNL_STATUS_ERR_PARAM;
> > +	if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states))
> >   		goto error_param;
> > -	}
> >   
> > -	if (!ice_vc_isvalid_vsi_id(vf, qci->vsi_id)) {
> > -		v_ret = VIRTCHNL_STATUS_ERR_PARAM;
> > +	if (!ice_vc_isvalid_vsi_id(vf, qci->vsi_id))
> >   		goto error_param;
> > -	}
> 
>
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-06-02 14:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-31 13:18 [Intel-wired-lan] [PATCH net v1 1/2] ice: Add error handling for queue config fail Mateusz Palczewski
2022-05-31 14:52 ` Paul Menzel
2022-05-31 20:40 ` Tony Nguyen
2022-06-01 12:27   ` Patynowski, PrzemyslawX

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.