void (*f) (void *arg, struct bss *),
                              void *arg)
 {
-       wlan_iterate_nodes(&wmi->scan_table, f, arg);
+       wlan_iterate_nodes(&wmi->parent_dev->scan_table, f, arg);
 }
 
 static void ath6kl_wmi_convert_bssinfo_hdr2_to_hdr(struct sk_buff *skb,
                return -EINVAL;
 
        bih = (struct wmi_bss_info_hdr *) datap;
-       bss = wlan_find_node(&wmi->scan_table, bih->bssid);
+       bss = wlan_find_node(&wmi->parent_dev->scan_table, bih->bssid);
 
        if (a_sle16_to_cpu(bih->rssi) > 0) {
                if (bss == NULL)
                        bih->snr = bss->ni_snr;
                }
 
-               wlan_node_reclaim(&wmi->scan_table, bss);
+               wlan_node_reclaim(&wmi->parent_dev->scan_table, bss);
        }
 
        /*
         * which is done in ath6kl_wlan_parse_beacon
         */
        bss->ni_cie.ie_chan = le16_to_cpu(bih->ch);
-       wlan_setup_node(&wmi->scan_table, bss, bih->bssid);
+       wlan_setup_node(&wmi->parent_dev->scan_table, bss, bih->bssid);
 
        return 0;
 }
        ath6kl_dbg(ATH6KL_DBG_WMI, "opt frame event %2.2x:%2.2x\n",
                   bih->bssid[4], bih->bssid[5]);
 
-       bss = wlan_find_node(&wmi->scan_table, bih->bssid);
+       bss = wlan_find_node(&wmi->parent_dev->scan_table, bih->bssid);
        if (bss != NULL) {
                /* Free up the node. We are about to allocate a new node. */
-               wlan_node_reclaim(&wmi->scan_table, bss);
+               wlan_node_reclaim(&wmi->parent_dev->scan_table, bss);
        }
 
        bss = wlan_node_alloc(len);
                return -EINVAL;
 
        memcpy(bss->ni_buf, buf, len);
-       wlan_setup_node(&wmi->scan_table, bss, bih->bssid);
+       wlan_setup_node(&wmi->parent_dev->scan_table, bss, bih->bssid);
 
        return 0;
 }
        ev = (struct wmi_scan_complete_event *) datap;
 
        if (a_sle32_to_cpu(ev->status) == 0)
-               wlan_refresh_inactive_nodes(&wmi->scan_table);
+               wlan_refresh_inactive_nodes(&wmi->parent_dev->scan_table);
 
        ath6kl_scan_complete_evt(wmi->parent_dev, a_sle32_to_cpu(ev->status));
        wmi->is_probe_ssid = false;
 void ath6kl_wmi_node_return(struct wmi *wmi, struct bss *bss)
 {
        if (bss)
-               wlan_node_return(&wmi->scan_table, bss);
+               wlan_node_return(&wmi->parent_dev->scan_table, bss);
 }
 
 struct bss *ath6kl_wmi_find_ssid_node(struct wmi *wmi, u8 * ssid,
 {
        struct bss *node = NULL;
 
-       node = wlan_find_ssid_node(&wmi->scan_table, ssid,
+       node = wlan_find_ssid_node(&wmi->parent_dev->scan_table, ssid,
                                  ssid_len, is_wpa2, match_ssid);
        return node;
 }
 {
        struct bss *ni = NULL;
 
-       ni = wlan_find_node(&wmi->scan_table, mac_addr);
+       ni = wlan_find_node(&wmi->parent_dev->scan_table, mac_addr);
 
        return ni;
 }
 {
        struct bss *ni = NULL;
 
-       ni = wlan_find_node(&wmi->scan_table, mac_addr);
+       ni = wlan_find_node(&wmi->parent_dev->scan_table, mac_addr);
        if (ni != NULL)
-               wlan_node_reclaim(&wmi->scan_table, ni);
+               wlan_node_reclaim(&wmi->parent_dev->scan_table, ni);
 
        return;
 }
 
        wmi->parent_dev = dev;
 
-       wlan_node_table_init(wmi, &wmi->scan_table);
+       wlan_node_table_init(wmi, &dev->scan_table);
        ath6kl_wmi_qos_state_init(wmi);
 
        wmi->pwr_mode = REC_POWER;
        if (!wmi)
                return;
 
-       wlan_node_table_cleanup(&wmi->scan_table);
+       wlan_node_table_cleanup(&wmi->parent_dev->scan_table);
        kfree(wmi);
 }