On Thu, Jun 06, 2024 at 01:24:52PM +0200, Michal Swiatkowski wrote:
> When subfunction VSI is open the same code as for PF VSI should be
> executed. Also when up is complete. Reflect that in code by adding
> subfunction VSI to consideration.
>
> In case of stopping, PF doesn't have additional tasks, so the same
> is with subfunction VSI.
>
> Reviewed-by: Simon Horman <[email protected]>
> Signed-off-by: Michal Swiatkowski <[email protected]>
> ---
> drivers/net/ethernet/intel/ice/ice_main.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/intel/ice/ice_main.c
> b/drivers/net/ethernet/intel/ice/ice_main.c
> index e76e19036593..ddc348371841 100644
> --- a/drivers/net/ethernet/intel/ice/ice_main.c
> +++ b/drivers/net/ethernet/intel/ice/ice_main.c
> @@ -6726,7 +6726,8 @@ static int ice_up_complete(struct ice_vsi *vsi)
>
> if (vsi->port_info &&
> (vsi->port_info->phy.link_info.link_info & ICE_AQ_LINK_UP) &&
> - vsi->netdev && vsi->type == ICE_VSI_PF) {
> + ((vsi->netdev && vsi->type == ICE_VSI_PF) ||
> + (vsi->netdev && vsi->type == ICE_VSI_SF))) {
patch 1 has:
if (vsi->netdev && (vsi->type == ICE_VSI_PF ||
vsi->type == ICE_VSI_SF)) {
so maybe stay consistent and do the same here?
nit: also seems that a really small helper would make the code easier to
read and wrap...something like:
bool ice_is_vsi_pf_sf(struct ice_vsi* vsi)
{
return (vsi->type == ICE_VSI_PF || vsi->type == ICE_VSI_SF);
}
> ice_print_link_msg(vsi, true);
> netif_tx_start_all_queues(vsi->netdev);
> netif_carrier_on(vsi->netdev);
> @@ -7427,7 +7428,7 @@ int ice_vsi_open(struct ice_vsi *vsi)
>
> ice_vsi_cfg_netdev_tc(vsi, vsi->tc_cfg.ena_tc);
>
> - if (vsi->type == ICE_VSI_PF) {
> + if (vsi->type == ICE_VSI_PF || vsi->type == ICE_VSI_SF) {
> /* Notify the stack of the actual queue counts. */
> err = netif_set_real_num_tx_queues(vsi->netdev, vsi->num_txq);
> if (err)
> --
> 2.42.0
>