ath10k: remove htc->stopped
authorMichal Kazior <michal.kazior@tieto.com>
Thu, 7 Aug 2014 09:03:31 +0000 (11:03 +0200)
committerKalle Valo <kvalo@qca.qualcomm.com>
Tue, 12 Aug 2014 07:55:01 +0000 (10:55 +0300)
This is not necessary anymore. There are no more
uncontrolled htc tx entry points.

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath10k/core.c
drivers/net/wireless/ath/ath10k/htc.c
drivers/net/wireless/ath/ath10k/htc.h

index 7f95bd05e3436290e6f0e602af0c2439bd11f0a0..d3474b43ac474018da987f6c1c914edde96d2940 100644 (file)
@@ -779,7 +779,7 @@ int ath10k_core_start(struct ath10k *ar)
        if (status <= 0) {
                ath10k_warn("wmi service ready event not received");
                status = -ETIMEDOUT;
-               goto err_htc_stop;
+               goto err_hif_stop;
        }
 
        ath10k_dbg(ATH10K_DBG_BOOT, "firmware %s booted\n",
@@ -788,25 +788,25 @@ int ath10k_core_start(struct ath10k *ar)
        status = ath10k_wmi_cmd_init(ar);
        if (status) {
                ath10k_err("could not send WMI init command (%d)\n", status);
-               goto err_htc_stop;
+               goto err_hif_stop;
        }
 
        status = ath10k_wmi_wait_for_unified_ready(ar);
        if (status <= 0) {
                ath10k_err("wmi unified ready event not received\n");
                status = -ETIMEDOUT;
-               goto err_htc_stop;
+               goto err_hif_stop;
        }
 
        status = ath10k_htt_setup(&ar->htt);
        if (status) {
                ath10k_err("failed to setup htt: %d\n", status);
-               goto err_htc_stop;
+               goto err_hif_stop;
        }
 
        status = ath10k_debug_start(ar);
        if (status)
-               goto err_htc_stop;
+               goto err_hif_stop;
 
        if (test_bit(ATH10K_FW_FEATURE_WMI_10X, ar->fw_features))
                ar->free_vdev_map = (1 << TARGET_10X_NUM_VDEVS) - 1;
@@ -835,8 +835,6 @@ int ath10k_core_start(struct ath10k *ar)
 
        return 0;
 
-err_htc_stop:
-       ath10k_htc_stop(&ar->htc);
 err_hif_stop:
        ath10k_hif_stop(ar);
 err_htt_rx_detach:
@@ -881,7 +879,6 @@ void ath10k_core_stop(struct ath10k *ar)
                ath10k_wait_for_suspend(ar, WMI_PDEV_SUSPEND_AND_DISABLE_INTR);
 
        ath10k_debug_stop(ar);
-       ath10k_htc_stop(&ar->htc);
        ath10k_hif_stop(ar);
        ath10k_htt_tx_free(&ar->htt);
        ath10k_htt_rx_free(&ar->htt);
index 5fdc40d3b378303a77edb1b39fc46cb5c3660d0a..7e08bb328847e63f29a4fbacf8978fef37db033d 100644 (file)
@@ -138,14 +138,6 @@ int ath10k_htc_send(struct ath10k_htc *htc,
                return -ENOENT;
        }
 
-       /* FIXME: This looks ugly, can we fix it? */
-       spin_lock_bh(&htc->tx_lock);
-       if (htc->stopped) {
-               spin_unlock_bh(&htc->tx_lock);
-               return -ESHUTDOWN;
-       }
-       spin_unlock_bh(&htc->tx_lock);
-
        skb_push(skb, sizeof(struct ath10k_htc_hdr));
 
        if (ep->tx_credit_flow_enabled) {
@@ -846,13 +838,6 @@ int ath10k_htc_start(struct ath10k_htc *htc)
        return 0;
 }
 
-void ath10k_htc_stop(struct ath10k_htc *htc)
-{
-       spin_lock_bh(&htc->tx_lock);
-       htc->stopped = true;
-       spin_unlock_bh(&htc->tx_lock);
-}
-
 /* registered target arrival callback from the HIF layer */
 int ath10k_htc_init(struct ath10k *ar)
 {
@@ -862,7 +847,6 @@ int ath10k_htc_init(struct ath10k *ar)
 
        spin_lock_init(&htc->tx_lock);
 
-       htc->stopped = false;
        ath10k_htc_reset_endpoint_states(htc);
 
        /* setup HIF layer callbacks */
index 4716d331e6b6504d712c858345545a410cbcbab1..b5a9daacc2c2a8d6220ddb76e80d9a3e7422e8f7 100644 (file)
@@ -332,7 +332,7 @@ struct ath10k_htc {
        struct ath10k *ar;
        struct ath10k_htc_ep endpoint[ATH10K_HTC_EP_COUNT];
 
-       /* protects endpoint and stopped fields */
+       /* protects endpoints */
        spinlock_t tx_lock;
 
        struct ath10k_htc_ops htc_ops;
@@ -345,8 +345,6 @@ struct ath10k_htc {
        int total_transmit_credits;
        struct ath10k_htc_svc_tx_credits service_tx_alloc[ATH10K_HTC_EP_COUNT];
        int target_credit_size;
-
-       bool stopped;
 };
 
 int ath10k_htc_init(struct ath10k *ar);
@@ -357,7 +355,6 @@ int ath10k_htc_connect_service(struct ath10k_htc *htc,
                               struct ath10k_htc_svc_conn_resp *conn_resp);
 int ath10k_htc_send(struct ath10k_htc *htc, enum ath10k_htc_ep_id eid,
                    struct sk_buff *packet);
-void ath10k_htc_stop(struct ath10k_htc *htc);
 struct sk_buff *ath10k_htc_alloc_skb(int size);
 
 #endif