diff options
Diffstat (limited to 'arch/s390/pci/pci_event.c')
| -rw-r--r-- | arch/s390/pci/pci_event.c | 3 | 
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/s390/pci/pci_event.c b/arch/s390/pci/pci_event.c index d930416d4c90..b95376041501 100644 --- a/arch/s390/pci/pci_event.c +++ b/arch/s390/pci/pci_event.c @@ -88,6 +88,7 @@ static pci_ers_result_t zpci_event_notify_error_detected(struct pci_dev *pdev,  	pci_ers_result_t ers_res = PCI_ERS_RESULT_DISCONNECT;  	ers_res = driver->err_handler->error_detected(pdev,  pdev->error_state); +	pci_uevent_ers(pdev, ers_res);  	if (ers_result_indicates_abort(ers_res))  		pr_info("%s: Automatic recovery failed after initial reporting\n", pci_name(pdev));  	else if (ers_res == PCI_ERS_RESULT_NEED_RESET) @@ -244,6 +245,7 @@ static pci_ers_result_t zpci_event_attempt_error_recovery(struct pci_dev *pdev)  		ers_res = PCI_ERS_RESULT_RECOVERED;  	if (ers_res != PCI_ERS_RESULT_RECOVERED) { +		pci_uevent_ers(pdev, PCI_ERS_RESULT_DISCONNECT);  		pr_err("%s: Automatic recovery failed; operator intervention is required\n",  		       pci_name(pdev));  		status_str = "failed (driver can't recover)"; @@ -253,6 +255,7 @@ static pci_ers_result_t zpci_event_attempt_error_recovery(struct pci_dev *pdev)  	pr_info("%s: The device is ready to resume operations\n", pci_name(pdev));  	if (driver->err_handler->resume)  		driver->err_handler->resume(pdev); +	pci_uevent_ers(pdev, PCI_ERS_RESULT_RECOVERED);  out_unlock:  	pci_dev_unlock(pdev);  	zpci_report_status(zdev, "recovery", status_str);  | 
