|
@@ -3952,8 +3952,14 @@ static pci_ers_result_t qlcnic_82xx_io_error_detected(struct pci_dev *pdev,
|
|
|
|
|
|
static pci_ers_result_t qlcnic_82xx_io_slot_reset(struct pci_dev *pdev)
|
|
static pci_ers_result_t qlcnic_82xx_io_slot_reset(struct pci_dev *pdev)
|
|
{
|
|
{
|
|
- return qlcnic_attach_func(pdev) ? PCI_ERS_RESULT_DISCONNECT :
|
|
|
|
- PCI_ERS_RESULT_RECOVERED;
|
|
|
|
|
|
+ pci_ers_result_t res;
|
|
|
|
+
|
|
|
|
+ rtnl_lock();
|
|
|
|
+ res = qlcnic_attach_func(pdev) ? PCI_ERS_RESULT_DISCONNECT :
|
|
|
|
+ PCI_ERS_RESULT_RECOVERED;
|
|
|
|
+ rtnl_unlock();
|
|
|
|
+
|
|
|
|
+ return res;
|
|
}
|
|
}
|
|
|
|
|
|
static void qlcnic_82xx_io_resume(struct pci_dev *pdev)
|
|
static void qlcnic_82xx_io_resume(struct pci_dev *pdev)
|