iwlwifi: move iwl_rxq_stop into iwl-rx.c
authorTomas Winkler <tomas.winkler@intel.com>
Thu, 29 May 2008 08:35:01 +0000 (16:35 +0800)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 3 Jun 2008 19:00:22 +0000 (15:00 -0400)
This patch moves iwl_rxq_stop into iwl-rx.c.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl-4965.c
drivers/net/wireless/iwlwifi/iwl-dev.h
drivers/net/wireless/iwlwifi/iwl-rx.c
drivers/net/wireless/iwlwifi/iwl4965-base.c

index fe731918c2f4554b315ebe1649276be58f33242b..2f254c4abdd5d418d77c49fc89a21b263b695542 100644 (file)
@@ -384,31 +384,6 @@ void iwl4965_hwrate_to_tx_control(struct iwl_priv *priv, u32 rate_n_flags,
        control->tx_rate_idx = rate_index;
 }
 
-int iwl4965_hw_rxq_stop(struct iwl_priv *priv)
-{
-       int rc;
-       unsigned long flags;
-
-       spin_lock_irqsave(&priv->lock, flags);
-       rc = iwl_grab_nic_access(priv);
-       if (rc) {
-               spin_unlock_irqrestore(&priv->lock, flags);
-               return rc;
-       }
-
-       /* stop Rx DMA */
-       iwl_write_direct32(priv, FH_MEM_RCSR_CHNL0_CONFIG_REG, 0);
-       rc = iwl_poll_direct_bit(priv, FH_MEM_RSSR_RX_STATUS_REG,
-                                    (1 << 24), 1000);
-       if (rc < 0)
-               IWL_ERROR("Can't stop Rx DMA.\n");
-
-       iwl_release_nic_access(priv);
-       spin_unlock_irqrestore(&priv->lock, flags);
-
-       return 0;
-}
-
 /*
  * EEPROM handlers
  */
index 3cefaaf95b22a38b66886455883567520548f844..5291f1a3aeb2b318dc3648f5ef71dc1e6b641f24 100644 (file)
@@ -684,8 +684,8 @@ extern u8 iwl4965_sync_station(struct iwl_priv *priv, int sta_id,
  ****************************************************************************/
 extern void iwl4965_hw_setup_deferred_work(struct iwl_priv *priv);
 extern void iwl4965_hw_cancel_deferred_work(struct iwl_priv *priv);
-extern int iwl4965_hw_rxq_stop(struct iwl_priv *priv);
 extern int iwl4965_hw_set_hw_params(struct iwl_priv *priv);
+extern int iwl_rxq_stop(struct iwl_priv *priv);
 extern void iwl_txq_ctx_stop(struct iwl_priv *priv);
 extern int iwl4965_hw_get_temperature(struct iwl_priv *priv);
 extern unsigned int iwl4965_hw_get_beacon_cmd(struct iwl_priv *priv,
index a2eb90d40b7e1febda4e4d44810105e3f4386241..ed63e5c76f3cca511937a105da0c49a36c1f1c01 100644 (file)
@@ -420,3 +420,29 @@ int iwl_rx_init(struct iwl_priv *priv, struct iwl_rx_queue *rxq)
        return 0;
 }
 
+int iwl_rxq_stop(struct iwl_priv *priv)
+{
+       int ret;
+       unsigned long flags;
+
+       spin_lock_irqsave(&priv->lock, flags);
+       ret = iwl_grab_nic_access(priv);
+       if (unlikely(ret)) {
+               spin_unlock_irqrestore(&priv->lock, flags);
+               return ret;
+       }
+
+       /* stop Rx DMA */
+       iwl_write_direct32(priv, FH_MEM_RCSR_CHNL0_CONFIG_REG, 0);
+       ret = iwl_poll_direct_bit(priv, FH_MEM_RSSR_RX_STATUS_REG,
+                                    (1 << 24), 1000);
+       if (ret < 0)
+               IWL_ERROR("Can't stop Rx DMA.\n");
+
+       iwl_release_nic_access(priv);
+       spin_unlock_irqrestore(&priv->lock, flags);
+
+       return 0;
+}
+EXPORT_SYMBOL(iwl_rxq_stop);
+
index 2652f5ff51039b6e93329ca37fcd9e0da7ce1391..985876b3eebbe72706d210064fcc4170c532bbb4 100644 (file)
@@ -3405,7 +3405,7 @@ static void __iwl4965_down(struct iwl_priv *priv)
        spin_unlock_irqrestore(&priv->lock, flags);
 
        iwl_txq_ctx_stop(priv);
-       iwl4965_hw_rxq_stop(priv);
+       iwl_rxq_stop(priv);
 
        spin_lock_irqsave(&priv->lock, flags);
        if (!iwl_grab_nic_access(priv)) {