--- x/net/core/link_watch.c +++ y/net/core/link_watch.c @@ -231,6 +231,8 @@ static void __linkwatch_run_queue(int ur list_del_init(&dev->link_watch_list); if (!netif_device_present(dev) || + dev->reg_state == NETREG_UNREGISTERING || + dev->reg_state == NETREG_UNREGISTERED || (urgent_only && !linkwatch_urgent_event(dev))) { list_add_tail(&dev->link_watch_list, &lweventlist); continue;