diff options
| author | Michal Swiatkowski <[email protected]> | 2024-08-20 06:57:56 +0000 |
|---|---|---|
| committer | Tony Nguyen <[email protected]> | 2024-09-06 18:01:24 +0000 |
| commit | 0f00a897c9fcbd20dcd47996a2cadde2b41adadc (patch) | |
| tree | abd40b33ac420f1361832b74293e09fe6b5d13fb /drivers/net/ethernet/intel/ice/ice_repr.c | |
| parent | ice: don't set target VSI for subfunction (diff) | |
| download | kernel-0f00a897c9fcbd20dcd47996a2cadde2b41adadc.tar.gz kernel-0f00a897c9fcbd20dcd47996a2cadde2b41adadc.zip | |
ice: check if SF is ready in ethtool ops
Now there is another type of port representor. Correct checking if
parent device is ready to reflect also new PR type.
Reviewed-by: Simon Horman <[email protected]>
Reviewed-by: Wojciech Drewek <[email protected]>
Signed-off-by: Michal Swiatkowski <[email protected]>
Tested-by: Rafal Romanowski <[email protected]>
Signed-off-by: Tony Nguyen <[email protected]>
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_repr.c')
| -rw-r--r-- | drivers/net/ethernet/intel/ice/ice_repr.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_repr.c b/drivers/net/ethernet/intel/ice/ice_repr.c index 5ea8b512c421..229831fe2cd2 100644 --- a/drivers/net/ethernet/intel/ice/ice_repr.c +++ b/drivers/net/ethernet/intel/ice/ice_repr.c @@ -283,6 +283,16 @@ ice_repr_reg_netdev(struct net_device *netdev) return register_netdev(netdev); } +static int ice_repr_ready_vf(struct ice_repr *repr) +{ + return !ice_check_vf_ready_for_cfg(repr->vf); +} + +static int ice_repr_ready_sf(struct ice_repr *repr) +{ + return !repr->sf->active; +} + /** * ice_repr_destroy - remove representor from VF * @repr: pointer to representor structure @@ -420,6 +430,7 @@ struct ice_repr *ice_repr_create_vf(struct ice_vf *vf) repr->vf = vf; repr->ops.add = ice_repr_add_vf; repr->ops.rem = ice_repr_rem_vf; + repr->ops.ready = ice_repr_ready_vf; ether_addr_copy(repr->parent_mac, vf->hw_lan_addr); @@ -466,6 +477,7 @@ struct ice_repr *ice_repr_create_sf(struct ice_dynamic_port *sf) repr->sf = sf; repr->ops.add = ice_repr_add_sf; repr->ops.rem = ice_repr_rem_sf; + repr->ops.ready = ice_repr_ready_sf; ether_addr_copy(repr->parent_mac, sf->hw_addr); |
