ath6kl: Move initialization/deinitialization of scan_table to appropriate functions
authorVasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Thu, 21 Jul 2011 08:54:54 +0000 (14:24 +0530)
committerKalle Valo <kvalo@qca.qualcomm.com>
Tue, 9 Aug 2011 16:45:23 +0000 (19:45 +0300)
By having scan_table in struct ath6kl, it makes sense to move initialization
to ath6kl_init() and deinitialization to ath6kl_destroy().

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath6kl/init.c
drivers/net/wireless/ath/ath6kl/wmi.c

index 1d6294f9da24251c985d2d223c9dc78cd774087a..e8ec617a6cc7991cef2755608d0cb79ac96c9492 100644 (file)
@@ -1062,6 +1062,8 @@ static int ath6kl_init(struct net_device *dev)
 
        ath6kl_dbg(ATH6KL_DBG_TRC, "%s: got wmi @ 0x%p.\n", __func__, ar->wmi);
 
+       wlan_node_table_init(&ar->scan_table);
+
        /*
         * The reason we have to wait for the target here is that the
         * driver layer has to init BMI in order to set the host block
@@ -1069,7 +1071,7 @@ static int ath6kl_init(struct net_device *dev)
         */
        if (htc_wait_target(ar->htc_target)) {
                status = -EIO;
-               goto err_wmi_cleanup;
+               goto err_node_cleanup;
        }
 
        if (ath6kl_init_service_ep(ar)) {
@@ -1142,7 +1144,8 @@ err_rxbuf_cleanup:
        ath6kl_cleanup_amsdu_rxbufs(ar);
 err_cleanup_scatter:
        ath6kl_hif_cleanup_scatter(ar);
-err_wmi_cleanup:
+err_node_cleanup:
+       wlan_node_table_cleanup(&ar->scan_table);
        ath6kl_wmi_shutdown(ar->wmi);
        clear_bit(WMI_ENABLED, &ar->flag);
        ar->wmi = NULL;
@@ -1289,5 +1292,7 @@ void ath6kl_destroy(struct net_device *dev, unsigned int unregister)
 
        free_netdev(dev);
 
+       wlan_node_table_cleanup(&ar->scan_table);
+
        ath6kl_cfg80211_deinit(ar);
 }
index 6f145d4c93c63f07abb11d63fdfaef9c83bef618..742eaa123d89f96daee2629d7aa3db3b7ec53c73 100644 (file)
@@ -2727,7 +2727,6 @@ void *ath6kl_wmi_init(struct ath6kl *dev)
 
        wmi->parent_dev = dev;
 
-       wlan_node_table_init(&dev->scan_table);
        ath6kl_wmi_qos_state_init(wmi);
 
        wmi->pwr_mode = REC_POWER;
@@ -2747,6 +2746,5 @@ void ath6kl_wmi_shutdown(struct wmi *wmi)
        if (!wmi)
                return;
 
-       wlan_node_table_cleanup(&wmi->parent_dev->scan_table);
        kfree(wmi);
 }