aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rtlwifi
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2014-01-06 17:37:45 -0500
committerDavid S. Miller <davem@davemloft.net>2014-01-06 17:37:45 -0500
commit56a4342dfe3145cd66f766adccb28fd9b571606d (patch)
treed1593764488ff8cbb0b83cb9ae35fd968bf81760 /drivers/net/wireless/rtlwifi
parent805c1f4aedaba1bc8d839e7c27b128083dd5c2f0 (diff)
parentfe0d692bbc645786bce1a98439e548ae619269f5 (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.c4
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)