device: fix autoactivating virtual devices after a failure
When a virtual device fails, its state goes to FAIL and then DISCONNECTED. In DISCONNECTED we call schedule_activate_check() to schedule an auto-activation if needed. We also schudule the deletion of the link through delete_on_deactivate_check_and_schedule(). The auto-activation attempt fails because the link deletion unmanages the device; as a result, the device doesn't try to auto-activate again.
To fix this:
-
don't allow the device to auto-activate if the device deletion is pending;
-
check again if the device can be auto-activated after its deletion.