static bool rtw_pwr_unassociated_idle(struct adapter *adapter)
 {
-       struct adapter *buddy = adapter->pbuddy_adapter;
        struct mlme_priv *pmlmepriv = &(adapter->mlmepriv);
 #ifdef CONFIG_88EU_P2P
        struct wifidirect_info  *pwdinfo = &(adapter->wdinfo);
 #endif
                goto exit;
 
-       /* consider buddy, if exist */
-       if (buddy) {
-               struct mlme_priv *b_pmlmepriv = &(buddy->mlmepriv);
-               #ifdef CONFIG_88EU_P2P
-               struct wifidirect_info *b_pwdinfo = &(buddy->wdinfo);
-               #endif
-
-               if (check_fwstate(b_pmlmepriv, WIFI_ASOC_STATE|WIFI_SITE_MONITOR) ||
-                   check_fwstate(b_pmlmepriv, WIFI_UNDER_LINKING|WIFI_UNDER_WPS) ||
-                   check_fwstate(b_pmlmepriv, WIFI_AP_STATE) ||
-                   check_fwstate(b_pmlmepriv, WIFI_ADHOC_MASTER_STATE|WIFI_ADHOC_STATE) ||
-#if defined(CONFIG_88EU_P2P)
-                   !rtw_p2p_chk_state(b_pwdinfo, P2P_STATE_NONE))
-#else
-                   0)
-#endif
-                       goto exit;
-       }
        ret = true;
 
 exit:
 
                padapter->rereg_nd_name_priv.old_pnetdev = NULL;
        }
 
-       /*  clear pbuddystruct adapter to avoid access wrong pointer. */
-       if (padapter->pbuddy_adapter != NULL)
-               padapter->pbuddy_adapter->pbuddy_adapter = NULL;
-
        mutex_destroy(&padapter->hw_init_mutex);
 
        RT_TRACE(_module_os_intfs_c_, _drv_info_, ("-rtw_free_drv_sw\n"));