[dpdk-dev] i40e: fix unchecked return value
Commit Message
Calling i40e_switch_rx_queue without checking return value.
Fixed by add warning log information if return failed.
Fixes: 71d35259ff67 ("i40e: tear down flow director")
Coverity ID 13198
Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com>
---
drivers/net/i40e/i40e_fdir.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
Comments
2016-05-24 09:25, Daniel Mrzyglod:
> Fixes: 71d35259ff67 ("i40e: tear down flow director")
> Coverity ID 13198
FYI, in recent commits I've started to standardize the coverity reports
like that:
Coverity issue: XXXXX
Fixes: ...
Please spread the word.
> -----Original Message-----
> From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com]
> Sent: Wednesday, May 25, 2016 11:43 AM
> To: dev@dpdk.org; Mrzyglod, DanielX T <danielx.t.mrzyglod@intel.com>
> Cc: Zhang, Helin <helin.zhang@intel.com>; Wu, Jingjing
> <jingjing.wu@intel.com>; Mcnamara, John <john.mcnamara@intel.com>
> Subject: Re: [dpdk-dev] [PATCH] i40e: fix unchecked return value
>
> 2016-05-24 09:25, Daniel Mrzyglod:
> > Fixes: 71d35259ff67 ("i40e: tear down flow director") Coverity ID
> > 13198
>
> FYI, in recent commits I've started to standardize the coverity reports
> like that:
>
> Coverity issue: XXXXX
> Fixes: ...
>
> Please spread the word.
Will do.
John
On Tue, May 24, 2016 at 09:25:34AM +0200, Daniel Mrzyglod wrote:
> Calling i40e_switch_rx_queue without checking return value.
> Fixed by add warning log information if return failed.
>
> Fixes: 71d35259ff67 ("i40e: tear down flow director")
> Coverity ID 13198
>
> Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com>
> ---
> drivers/net/i40e/i40e_fdir.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/i40e/i40e_fdir.c b/drivers/net/i40e/i40e_fdir.c
> index 8aa41e5..ce6d916 100644
> --- a/drivers/net/i40e/i40e_fdir.c
> +++ b/drivers/net/i40e/i40e_fdir.c
> @@ -288,12 +288,15 @@ i40e_fdir_teardown(struct i40e_pf *pf)
> {
> struct i40e_hw *hw = I40E_PF_TO_HW(pf);
> struct i40e_vsi *vsi;
> + int err = I40E_SUCCESS;
>
> vsi = pf->fdir.fdir_vsi;
> if (!vsi)
> return;
> i40e_switch_tx_queue(hw, vsi->base_queue, FALSE);
> - i40e_switch_rx_queue(hw, vsi->base_queue, FALSE);
> + err = i40e_switch_rx_queue(hw, vsi->base_queue, FALSE);
> + if (err)
> + PMD_DRV_LOG(WARNING, "Failed to do FDIR RX switch off.");
> i40e_dev_rx_queue_release(pf->fdir.rxq);
Please see my comments to the equivalent fix on the TX side, as I believe they
apply here too.
Ref: http://dpdk.org/dev/patchwork/patch/12940/
/Bruce
@@ -288,12 +288,15 @@ i40e_fdir_teardown(struct i40e_pf *pf)
{
struct i40e_hw *hw = I40E_PF_TO_HW(pf);
struct i40e_vsi *vsi;
+ int err = I40E_SUCCESS;
vsi = pf->fdir.fdir_vsi;
if (!vsi)
return;
i40e_switch_tx_queue(hw, vsi->base_queue, FALSE);
- i40e_switch_rx_queue(hw, vsi->base_queue, FALSE);
+ err = i40e_switch_rx_queue(hw, vsi->base_queue, FALSE);
+ if (err)
+ PMD_DRV_LOG(WARNING, "Failed to do FDIR RX switch off.");
i40e_dev_rx_queue_release(pf->fdir.rxq);
pf->fdir.rxq = NULL;
i40e_dev_tx_queue_release(pf->fdir.txq);