On 7/25/2024 3:30 AM, Michal Schmidt wrote:
On Mon, Jul 22, 2024 at 2:30 PM Dawid Osuchowski
<dawid.osuchow...@linux.intel.com> 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 for testing Michal. I'll get this dropped this from the trees.
Thanks,
Tony