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
