diff options
author | Himanshu Madhani <himanshu.madhani@qlogic.com> | 2013-05-23 23:04:26 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-05-25 08:04:54 +0200 |
commit | 45ef92ed5815883087c984356a85aa3efdb5bcab (patch) | |
tree | 53c52f319d07e74296c67074dd1a8cf49541037b | |
parent | qlcnic: Support spoof check config. (diff) | |
download | linux-45ef92ed5815883087c984356a85aa3efdb5bcab.tar.xz linux-45ef92ed5815883087c984356a85aa3efdb5bcab.zip |
qlcnic: Disable INT-x interrupt for 83xx on driver unload
o Set HW mask for 8300 Series adapter, in INT-x mode, to
stop generating interrupt during driver unload.
Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c index b4ff1e35a11d..9b91d6a231cb 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c @@ -312,6 +312,11 @@ inline void qlcnic_83xx_clear_legacy_intr_mask(struct qlcnic_adapter *adapter) writel(0, adapter->tgt_mask_reg); } +inline void qlcnic_83xx_set_legacy_intr_mask(struct qlcnic_adapter *adapter) +{ + writel(1, adapter->tgt_mask_reg); +} + /* Enable MSI-x and INT-x interrupts */ void qlcnic_83xx_enable_intr(struct qlcnic_adapter *adapter, struct qlcnic_host_sds_ring *sds_ring) @@ -458,6 +463,9 @@ void qlcnic_83xx_free_mbx_intr(struct qlcnic_adapter *adapter) { u32 num_msix; + if (!(adapter->flags & QLCNIC_MSIX_ENABLED)) + qlcnic_83xx_set_legacy_intr_mask(adapter); + qlcnic_83xx_disable_mbx_intr(adapter); if (adapter->flags & QLCNIC_MSIX_ENABLED) |