Commit deb53f20 authored by Michal Swiatkowski's avatar Michal Swiatkowski Committed by Tony Nguyen

ice: return pointer to representor

In follow up patches it will be easier to obtain created port
representor pointer instead of the id. Without it the pattern from
eswitch side will look like:
- create PR
- get PR based on the id
Reviewed-by: default avatarPrzemek Kitszel <przemyslaw.kitszel@intel.com>
Reviewed-by: default avatarWojciech Drewek <wojciech.drewek@intel.com>
Reviewed-by: default avatarJacob Keller <jacob.e.keller@intel.com>
Signed-off-by: default avatarMichal Swiatkowski <michal.swiatkowski@linux.intel.com>
Tested-by: default avatarSujai Buvaneswaran <sujai.buvaneswaran@intel.com>
Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
parent 604283e9
......@@ -382,7 +382,7 @@ ice_repr_add(struct ice_pf *pf, struct ice_vsi *src_vsi, const u8 *parent_mac)
return ERR_PTR(err);
}
static int ice_repr_add_vf(struct ice_vf *vf)
static struct ice_repr *ice_repr_add_vf(struct ice_vf *vf)
{
struct ice_repr *repr;
struct ice_vsi *vsi;
......@@ -390,11 +390,11 @@ static int ice_repr_add_vf(struct ice_vf *vf)
vsi = ice_get_vf_vsi(vf);
if (!vsi)
return -EINVAL;
return ERR_PTR(-ENOENT);
err = ice_devlink_create_vf_port(vf);
if (err)
return err;
return ERR_PTR(err);
repr = ice_repr_add(vf->pf, vsi, vf->hw_lan_addr);
if (IS_ERR(repr)) {
......@@ -416,13 +416,13 @@ static int ice_repr_add_vf(struct ice_vf *vf)
ice_virtchnl_set_repr_ops(vf);
return 0;
return repr;
err_netdev:
ice_repr_rem(&vf->pf->eswitch.reprs, repr);
err_repr_add:
ice_devlink_destroy_vf_port(vf);
return err;
return ERR_PTR(err);
}
/**
......@@ -432,6 +432,7 @@ static int ice_repr_add_vf(struct ice_vf *vf)
int ice_repr_add_for_all_vfs(struct ice_pf *pf)
{
struct devlink *devlink;
struct ice_repr *repr;
struct ice_vf *vf;
unsigned int bkt;
int err;
......@@ -439,9 +440,11 @@ int ice_repr_add_for_all_vfs(struct ice_pf *pf)
lockdep_assert_held(&pf->vfs.table_lock);
ice_for_each_vf(pf, bkt, vf) {
err = ice_repr_add_vf(vf);
if (err)
repr = ice_repr_add_vf(vf);
if (IS_ERR(repr)) {
err = PTR_ERR(repr);
goto err;
}
}
/* only export if ADQ and DCB disabled */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment