diff options
author | David S. Miller <davem@davemloft.net> | 2014-01-06 17:37:45 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-01-06 17:37:45 -0500 |
commit | 56a4342dfe3145cd66f766adccb28fd9b571606d (patch) | |
tree | d1593764488ff8cbb0b83cb9ae35fd968bf81760 /drivers/net/wireless/rtlwifi | |
parent | 805c1f4aedaba1bc8d839e7c27b128083dd5c2f0 (diff) | |
parent | fe0d692bbc645786bce1a98439e548ae619269f5 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
net/ipv6/ip6_tunnel.c
net/ipv6/ip6_vti.c
ipv6 tunnel statistic bug fixes conflicting with consolidation into
generic sw per-cpu net stats.
qlogic conflict between queue counting bug fix and the addition
of multiple MAC address support.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/wireless/rtlwifi')
-rw-r--r-- | drivers/net/wireless/rtlwifi/pci.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/rtlwifi/pci.c b/drivers/net/wireless/rtlwifi/pci.c index 8707d1a94995..d7aa165fe677 100644 --- a/drivers/net/wireless/rtlwifi/pci.c +++ b/drivers/net/wireless/rtlwifi/pci.c | |||
@@ -738,6 +738,8 @@ static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw) | |||
738 | }; | 738 | }; |
739 | int index = rtlpci->rx_ring[rx_queue_idx].idx; | 739 | int index = rtlpci->rx_ring[rx_queue_idx].idx; |
740 | 740 | ||
741 | if (rtlpci->driver_is_goingto_unload) | ||
742 | return; | ||
741 | /*RX NORMAL PKT */ | 743 | /*RX NORMAL PKT */ |
742 | while (count--) { | 744 | while (count--) { |
743 | /*rx descriptor */ | 745 | /*rx descriptor */ |
@@ -1634,6 +1636,7 @@ static void rtl_pci_stop(struct ieee80211_hw *hw) | |||
1634 | */ | 1636 | */ |
1635 | set_hal_stop(rtlhal); | 1637 | set_hal_stop(rtlhal); |
1636 | 1638 | ||
1639 | rtlpci->driver_is_goingto_unload = true; | ||
1637 | rtlpriv->cfg->ops->disable_interrupt(hw); | 1640 | rtlpriv->cfg->ops->disable_interrupt(hw); |
1638 | cancel_work_sync(&rtlpriv->works.lps_change_work); | 1641 | cancel_work_sync(&rtlpriv->works.lps_change_work); |
1639 | 1642 | ||
@@ -1651,7 +1654,6 @@ static void rtl_pci_stop(struct ieee80211_hw *hw) | |||
1651 | ppsc->rfchange_inprogress = true; | 1654 | ppsc->rfchange_inprogress = true; |
1652 | spin_unlock_irqrestore(&rtlpriv->locks.rf_ps_lock, flags); | 1655 | spin_unlock_irqrestore(&rtlpriv->locks.rf_ps_lock, flags); |
1653 | 1656 | ||
1654 | rtlpci->driver_is_goingto_unload = true; | ||
1655 | rtlpriv->cfg->ops->hw_disable(hw); | 1657 | rtlpriv->cfg->ops->hw_disable(hw); |
1656 | /* some things are not needed if firmware not available */ | 1658 | /* some things are not needed if firmware not available */ |
1657 | if (!rtlpriv->max_fw_size) | 1659 | if (!rtlpriv->max_fw_size) |