* is a second table for associated stations or neighbors.
  */
 struct ath6kl_node_table {
-       void *nt_wmi;           /* back reference */
        spinlock_t nt_nodelock; /* on node table */
        struct bss *nt_node_first;      /* information of all nodes */
        struct bss *nt_node_last;       /* information of all nodes */
 void wlan_node_table_init(void *wmip, struct ath6kl_node_table *nt);
 void wlan_node_table_cleanup(struct ath6kl_node_table *nt);
 
-void wlan_refresh_inactive_nodes(struct ath6kl_node_table *nt);
+void wlan_refresh_inactive_nodes(struct ath6kl *ar);
 
 struct bss *wlan_find_ssid_node(struct ath6kl_node_table *nt, u8 *ssid,
                                  u32 ssid_len, bool is_wpa2, bool match_ssid);
 
 
        spin_lock_init(&nt->nt_nodelock);
 
-       nt->nt_wmi = wmi;
        nt->nt_node_age = WLAN_NODE_INACT_TIMEOUT_MSEC;
 }
 
-void wlan_refresh_inactive_nodes(struct ath6kl_node_table *nt)
+void wlan_refresh_inactive_nodes(struct ath6kl *ar)
 {
+       struct ath6kl_node_table *nt = &ar->scan_table;
        struct bss *bss;
        u8 my_bssid[ETH_ALEN];
        u32 now;
 
-       ath6kl_wmi_get_current_bssid(nt->nt_wmi, my_bssid);
+       ath6kl_wmi_get_current_bssid(ar->wmi, my_bssid);
 
        now = jiffies_to_msecs(jiffies);
        bss = nt->nt_node_first;
 
        ev = (struct wmi_scan_complete_event *) datap;
 
        if (a_sle32_to_cpu(ev->status) == 0)
-               wlan_refresh_inactive_nodes(&wmi->parent_dev->scan_table);
+               wlan_refresh_inactive_nodes(wmi->parent_dev);
 
        ath6kl_scan_complete_evt(wmi->parent_dev, a_sle32_to_cpu(ev->status));
        wmi->is_probe_ssid = false;