From: Dexuan Cui <decui@xxxxxxxxxxxxx> Sent: Monday, March 27, 2023 9:51 PM > [snip] > @@ -3945,20 +3962,26 @@ static int hv_pci_resume(struct hv_device *hdev) > if (ret) > goto out; > > + mutex_lock(&hbus->state_lock); > + > ret = hv_pci_enter_d0(hdev); > if (ret) > goto out; Shouldn't this be goto release_state_lock? > > ret = hv_send_resources_allocated(hdev); > if (ret) > - goto out; > + goto release_state_lock; > > prepopulate_bars(hbus); > > hv_pci_restore_msi_state(hbus); > > hbus->state = hv_pcibus_installed; > + mutex_unlock(&hbus->state_lock); > return 0; > + > +release_state_lock: > + mutex_unlock(&hbus->state_lock); > out: > vmbus_close(hdev->channel); > return ret; > -- > 2.25.1