[dpdk-dev] [PATCH] raw/ifpga/base: release eth group devices

Xu, Rosen rosen.xu at intel.com
Tue Dec 1 09:38:18 CET 2020


Hi,

> -----Original Message-----
> From: Zhang, Tianfei <tianfei.zhang at intel.com>
> Sent: Wednesday, November 25, 2020 15:19
> To: dev at dpdk.org; Xu, Rosen <rosen.xu at intel.com>; Zhang, Qi Z
> <qi.z.zhang at intel.com>
> Cc: Zhang, Tianfei <tianfei.zhang at intel.com>; stable at dpdk.org
> Subject: [PATCH] raw/ifpga/base: release eth group devices
> 
> From: Tianfei zhang <tianfei.zhang at intel.com>
> 
> Release the eth group resource in fme_eth_group_uinit().
> 
> Fixes: 8a256bef32 ("raw/ifpga/base: add eth group driver")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Tianfei zhang <tianfei.zhang at intel.com>
> ---
>  drivers/raw/ifpga/base/ifpga_fme.c | 20 +++++++++++++++++++-
>  1 file changed, 19 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/raw/ifpga/base/ifpga_fme.c
> b/drivers/raw/ifpga/base/ifpga_fme.c
> index f29ff31..0a7d3c2 100644
> --- a/drivers/raw/ifpga/base/ifpga_fme.c
> +++ b/drivers/raw/ifpga/base/ifpga_fme.c
> @@ -1288,9 +1288,27 @@ static int fme_eth_group_init(struct ifpga_feature
> *feature)
>  	return 0;
>  }
> 
> +static unsigned char fme_eth_group_get_gid(void *base) {
> +	struct eth_group_info_reg info;
> +
> +	info.info = opae_readq((u8 *)base + ETH_GROUP_INFO);
> +
> +	return info.group_id;
> +}
> +
>  static void fme_eth_group_uinit(struct ifpga_feature *feature)  {
> -	UNUSED(feature);
> +	struct ifpga_fme_hw *fme = (struct ifpga_fme_hw *)feature->parent;
> +	struct eth_group_device *dev;
> +	unsigned char group_id = fme_eth_group_get_gid(feature->addr);
> +
> +	if (group_id >= MAX_ETH_GROUP_DEVICES)
> +		return;
> +
> +	dev = fme->eth_dev[group_id];
> +	if (dev)
> +		eth_group_release(dev);
>  }
> 
>  struct ifpga_feature_ops fme_eth_group_ops = {
> --
> 1.8.3.1

Reviewed-by: Rosen Xu <rosen.xu at intel.com>


More information about the dev mailing list