aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2012-01-08 06:24:57 -0500
committerWey-Yi Guy <wey-yi.w.guy@intel.com>2012-02-02 17:36:24 -0500
commitebb7678d00b2fa0d7db76b5303a5bf46a5aed8f3 (patch)
treeee8e3535d45746a574010014062ba896b5591b95 /drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
parent57a1dc89097982874f50a0e6f68ab08f62e9e5aa (diff)
iwlwifi: move prepare_card_hw to start_hw
Kill the trans_ops->prepare_card_hw which is now useless. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-trans-pcie.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-trans-pcie.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c b/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
index ffbafb9e447b..d1ab57a7988f 100644
--- a/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
+++ b/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
@@ -690,13 +690,14 @@ static int iwl_set_hw_ready(struct iwl_trans *trans)
690} 690}
691 691
692/* Note: returns standard 0/-ERROR code */ 692/* Note: returns standard 0/-ERROR code */
693static int iwl_trans_pcie_prepare_card_hw(struct iwl_trans *trans) 693static int iwl_prepare_card_hw(struct iwl_trans *trans)
694{ 694{
695 int ret; 695 int ret;
696 696
697 IWL_DEBUG_INFO(trans, "iwl_trans_prepare_card_hw enter\n"); 697 IWL_DEBUG_INFO(trans, "iwl_trans_prepare_card_hw enter\n");
698 698
699 ret = iwl_set_hw_ready(trans); 699 ret = iwl_set_hw_ready(trans);
700 /* If the card is ready, exit 0 */
700 if (ret >= 0) 701 if (ret >= 0)
701 return 0; 702 return 0;
702 703
@@ -788,7 +789,7 @@ static int iwl_trans_pcie_start_device(struct iwl_trans *trans)
788 trans_pcie->mcast_queue[IWL_RXON_CTX_PAN] = IWL_IPAN_MCAST_QUEUE; 789 trans_pcie->mcast_queue[IWL_RXON_CTX_PAN] = IWL_IPAN_MCAST_QUEUE;
789 790
790 if ((hw_params(trans).sku & EEPROM_SKU_CAP_AMT_ENABLE) && 791 if ((hw_params(trans).sku & EEPROM_SKU_CAP_AMT_ENABLE) &&
791 iwl_trans_pcie_prepare_card_hw(trans)) { 792 iwl_prepare_card_hw(trans)) {
792 IWL_WARN(trans, "Exit HW not ready\n"); 793 IWL_WARN(trans, "Exit HW not ready\n");
793 return -EIO; 794 return -EIO;
794 } 795 }
@@ -1254,16 +1255,24 @@ static int iwl_trans_pcie_start_hw(struct iwl_trans *trans)
1254 if (err) { 1255 if (err) {
1255 IWL_ERR(trans, "Error allocating IRQ %d\n", 1256 IWL_ERR(trans, "Error allocating IRQ %d\n",
1256 trans->irq); 1257 trans->irq);
1257 iwl_free_isr_ict(trans); 1258 goto error;
1258 tasklet_kill(&trans_pcie->irq_tasklet);
1259 return err;
1260 } 1259 }
1261 1260
1262 INIT_WORK(&trans_pcie->rx_replenish, iwl_bg_rx_replenish); 1261 INIT_WORK(&trans_pcie->rx_replenish, iwl_bg_rx_replenish);
1263 trans_pcie->irq_requested = true; 1262 trans_pcie->irq_requested = true;
1264 } 1263 }
1265 1264
1266 return 0; 1265 err = iwl_prepare_card_hw(trans);
1266 if (err) {
1267 IWL_ERR(trans, "Error while preparing HW: %d", err);
1268 goto error;
1269 }
1270 return err;
1271
1272error:
1273 iwl_free_isr_ict(trans);
1274 tasklet_kill(&trans_pcie->irq_tasklet);
1275 return err;
1267} 1276}
1268 1277
1269static int iwl_trans_pcie_reclaim(struct iwl_trans *trans, int sta_id, int tid, 1278static int iwl_trans_pcie_reclaim(struct iwl_trans *trans, int sta_id, int tid,
@@ -1931,7 +1940,6 @@ const struct iwl_trans_ops trans_ops_pcie = {
1931 .start_hw = iwl_trans_pcie_start_hw, 1940 .start_hw = iwl_trans_pcie_start_hw,
1932 .fw_alive = iwl_trans_pcie_fw_alive, 1941 .fw_alive = iwl_trans_pcie_fw_alive,
1933 .start_device = iwl_trans_pcie_start_device, 1942 .start_device = iwl_trans_pcie_start_device,
1934 .prepare_card_hw = iwl_trans_pcie_prepare_card_hw,
1935 .stop_device = iwl_trans_pcie_stop_device, 1943 .stop_device = iwl_trans_pcie_stop_device,
1936 1944
1937 .wake_any_queue = iwl_trans_pcie_wake_any_queue, 1945 .wake_any_queue = iwl_trans_pcie_wake_any_queue,