On Mon, Jul 22, 2024 at 2:30 PM Dawid Osuchowski
<[email protected]> wrote:
> diff --git a/drivers/net/ethernet/intel/ice/ice_main.c 
> b/drivers/net/ethernet/intel/ice/ice_main.c
> index ec636be4d17d..eb199fd3c989 100644
> --- a/drivers/net/ethernet/intel/ice/ice_main.c
> +++ b/drivers/net/ethernet/intel/ice/ice_main.c
> @@ -6744,6 +6744,7 @@ static int ice_up_complete(struct ice_vsi *vsi)
>             (vsi->port_info->phy.link_info.link_info & ICE_AQ_LINK_UP) &&
>             vsi->netdev && vsi->type == ICE_VSI_PF) {
>                 ice_print_link_msg(vsi, true);
> +               netif_device_attach(vsi->netdev);
>                 netif_tx_start_all_queues(vsi->netdev);
>                 netif_carrier_on(vsi->netdev);
>                 ice_ptp_link_change(pf, pf->hw.pf_id, true);
> @@ -7220,6 +7221,7 @@ int ice_down(struct ice_vsi *vsi)
>                 ice_ptp_link_change(vsi->back, vsi->back->hw.pf_id, false);
>                 netif_carrier_off(vsi->netdev);
>                 netif_tx_disable(vsi->netdev);
> +               netif_device_detach(vsi->netdev);
>         }
>
>         ice_vsi_dis_irq(vsi);

This is broken. ice_down leaves the device in the detached state and
you can't bring it up anymore (over netif_device_present check
in__dev_open).

This is with tnguy/net-queue.git:dev-queue from today (commit 80ede7622969):
[root@cnb-04 ~]# modprobe ice
[root@cnb-04 ~]# ip link set enp65s0f0np0 up
[root@cnb-04 ~]# ip link set enp65s0f0np0 down
[root@cnb-04 ~]# ip link set enp65s0f0np0 up
RTNETLINK answers: No such device

Tony,
the patch is both net-queue and next-queue. Please drop it from both.

Thanks,
Michal

Reply via email to