diff options
author | Jitendra Kalsaria <jitendra.kalsaria@qlogic.com> | 2013-02-09 04:29:49 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-02-11 02:04:13 -0500 |
commit | 3d73b5fda45a4288856020527f1dbf4efd8c9a7a (patch) | |
tree | 061f8c7574ceb3ef7cf0e65272919059f9192293 /drivers/net/ethernet/qlogic | |
parent | d5fcff04fca9287af3764fb6d32378504ea18582 (diff) |
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>
Diffstat (limited to 'drivers/net/ethernet/qlogic')
-rw-r--r-- | drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c index 714124abf69a..dcb990d3d559 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | |||
@@ -2023,6 +2023,8 @@ static void qlcnic_remove(struct pci_dev *pdev) | |||
2023 | if (adapter->flags & QLCNIC_MSIX_ENABLED) | 2023 | if (adapter->flags & QLCNIC_MSIX_ENABLED) |
2024 | qlcnic_83xx_config_intrpt(adapter, 0); | 2024 | qlcnic_83xx_config_intrpt(adapter, 0); |
2025 | qlcnic_83xx_free_mbx_intr(adapter); | 2025 | qlcnic_83xx_free_mbx_intr(adapter); |
2026 | qlcnic_83xx_register_nic_idc_func(adapter, 0); | ||
2027 | cancel_delayed_work_sync(&adapter->idc_aen_work); | ||
2026 | } | 2028 | } |
2027 | 2029 | ||
2028 | qlcnic_detach(adapter); | 2030 | qlcnic_detach(adapter); |
@@ -2180,10 +2182,6 @@ static int qlcnic_close(struct net_device *netdev) | |||
2180 | struct qlcnic_adapter *adapter = netdev_priv(netdev); | 2182 | struct qlcnic_adapter *adapter = netdev_priv(netdev); |
2181 | 2183 | ||
2182 | __qlcnic_down(adapter, netdev); | 2184 | __qlcnic_down(adapter, netdev); |
2183 | if (qlcnic_83xx_check(adapter)) { | ||
2184 | qlcnic_83xx_register_nic_idc_func(adapter, 0); | ||
2185 | cancel_delayed_work_sync(&adapter->idc_aen_work); | ||
2186 | } | ||
2187 | 2185 | ||
2188 | return 0; | 2186 | return 0; |
2189 | } | 2187 | } |
@@ -3117,6 +3115,8 @@ static pci_ers_result_t qlcnic_io_error_detected(struct pci_dev *pdev, | |||
3117 | if (adapter->flags & QLCNIC_MSIX_ENABLED) | 3115 | if (adapter->flags & QLCNIC_MSIX_ENABLED) |
3118 | qlcnic_83xx_config_intrpt(adapter, 0); | 3116 | qlcnic_83xx_config_intrpt(adapter, 0); |
3119 | qlcnic_83xx_free_mbx_intr(adapter); | 3117 | qlcnic_83xx_free_mbx_intr(adapter); |
3118 | qlcnic_83xx_register_nic_idc_func(adapter, 0); | ||
3119 | cancel_delayed_work_sync(&adapter->idc_aen_work); | ||
3120 | } | 3120 | } |
3121 | 3121 | ||
3122 | qlcnic_detach(adapter); | 3122 | qlcnic_detach(adapter); |