From: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri, 2 Oct 2020 13:43:23 +0200 > @@ -2366,7 +2366,8 @@ static void hso_free_net_device(struct hso_device *hso_dev, bool bailout) > > remove_net_device(hso_net->parent); > > - if (hso_net->net) > + if (hso_net->net && > + hso_net->net->reg_state == NETREG_REGISTERED) > unregister_netdev(hso_net->net); > > /* start freeing */ I really want to get out of the habit of drivers testing the internal netdev registration state to make decisions. Instead, please track this internally. You know if you registered the device or not, therefore use that to control whether you try to unregister it or not. Thank you.