|
@@ -2706,19 +2706,15 @@ static pci_ers_result_t nvme_slot_reset(struct pci_dev *pdev)
|
|
|
|
|
|
dev_info(dev->ctrl.device, "restart after slot reset\n");
|
|
|
pci_restore_state(pdev);
|
|
|
- nvme_reset_ctrl_sync(&dev->ctrl);
|
|
|
-
|
|
|
- switch (dev->ctrl.state) {
|
|
|
- case NVME_CTRL_LIVE:
|
|
|
- case NVME_CTRL_ADMIN_ONLY:
|
|
|
- return PCI_ERS_RESULT_RECOVERED;
|
|
|
- default:
|
|
|
- return PCI_ERS_RESULT_DISCONNECT;
|
|
|
- }
|
|
|
+ nvme_reset_ctrl(&dev->ctrl);
|
|
|
+ return PCI_ERS_RESULT_RECOVERED;
|
|
|
}
|
|
|
|
|
|
static void nvme_error_resume(struct pci_dev *pdev)
|
|
|
{
|
|
|
+ struct nvme_dev *dev = pci_get_drvdata(pdev);
|
|
|
+
|
|
|
+ flush_work(&dev->ctrl.reset_work);
|
|
|
pci_cleanup_aer_uncorrect_error_status(pdev);
|
|
|
}
|
|
|
|