mirror of https://gitee.com/openkylin/linux.git
qlcnic: fix firmware based IDC participation
Driver needs to stop participating in firmware based Inter Driver Communication (IDC) while unloading driver Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d5fcff04fc
commit
3d73b5fda4
|
@ -2023,6 +2023,8 @@ static void qlcnic_remove(struct pci_dev *pdev)
|
|||
if (adapter->flags & QLCNIC_MSIX_ENABLED)
|
||||
qlcnic_83xx_config_intrpt(adapter, 0);
|
||||
qlcnic_83xx_free_mbx_intr(adapter);
|
||||
qlcnic_83xx_register_nic_idc_func(adapter, 0);
|
||||
cancel_delayed_work_sync(&adapter->idc_aen_work);
|
||||
}
|
||||
|
||||
qlcnic_detach(adapter);
|
||||
|
@ -2180,10 +2182,6 @@ static int qlcnic_close(struct net_device *netdev)
|
|||
struct qlcnic_adapter *adapter = netdev_priv(netdev);
|
||||
|
||||
__qlcnic_down(adapter, netdev);
|
||||
if (qlcnic_83xx_check(adapter)) {
|
||||
qlcnic_83xx_register_nic_idc_func(adapter, 0);
|
||||
cancel_delayed_work_sync(&adapter->idc_aen_work);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -3117,6 +3115,8 @@ static pci_ers_result_t qlcnic_io_error_detected(struct pci_dev *pdev,
|
|||
if (adapter->flags & QLCNIC_MSIX_ENABLED)
|
||||
qlcnic_83xx_config_intrpt(adapter, 0);
|
||||
qlcnic_83xx_free_mbx_intr(adapter);
|
||||
qlcnic_83xx_register_nic_idc_func(adapter, 0);
|
||||
cancel_delayed_work_sync(&adapter->idc_aen_work);
|
||||
}
|
||||
|
||||
qlcnic_detach(adapter);
|
||||
|
|
Loading…
Reference in New Issue