#include "wilc_wfi_cfgoperations.h"
 
-bool wilc_enable_ps = true;
-
 static int dev_state_ev_handler(struct notifier_block *this,
                                unsigned long event, void *ptr)
 {
                        del_timer(&wilc_during_ip_timer);
                }
 
-               if (wilc_enable_ps)
+               if (vif->wilc->enable_ps)
                        wilc_set_power_mgmt(vif, 1, 0);
 
                netdev_dbg(dev, "[%s] Up IP\n", dev_iface->ifa_label);
        *wilc = wl;
        wl->io_type = io_type;
        wl->hif_func = ops;
+       wl->enable_ps = true;
        INIT_LIST_HEAD(&wl->txq_head.list);
        INIT_LIST_HEAD(&wl->rxq_head.list);
 
 
        if (!priv->hif_drv)
                return -EIO;
 
-       if (wilc_enable_ps)
+       if (vif->wilc->enable_ps)
                wilc_set_power_mgmt(vif, enabled, timeout);
 
        return 0;
                memset(priv->assoc_stainfo.sta_associated_bss, 0,
                       MAX_NUM_STA * ETH_ALEN);
 
-               wilc_enable_ps = true;
+               wl->enable_ps = true;
                wilc_set_power_mgmt(vif, 1, 0);
                break;
 
                vif->iftype = CLIENT_MODE;
                wilc_set_operation_mode(vif, STATION_MODE);
 
-               wilc_enable_ps = false;
+               wl->enable_ps = false;
                wilc_set_power_mgmt(vif, 0, 0);
                break;
 
        case NL80211_IFTYPE_AP:
-               wilc_enable_ps = false;
+               wl->enable_ps = false;
                dev->ieee80211_ptr->iftype = type;
                priv->wdev->iftype = type;
                vif->iftype = AP_MODE;
                priv->wdev->iftype = type;
                vif->iftype = GO_MODE;
 
-               wilc_enable_ps = false;
+               wl->enable_ps = false;
                wilc_set_power_mgmt(vif, 0, 0);
                break;
 
 
        bool suspend_event;
 
        struct rf_info dummy_statistics;
+       bool enable_ps;
 };
 
 struct wilc_wfi_mon_priv {
 
 void wilc_wfi_p2p_rx(struct net_device *dev, u8 *buff, u32 size);
 void host_wakeup_notify(struct wilc *wilc);
 void host_sleep_notify(struct wilc *wilc);
-extern bool wilc_enable_ps;
 void chip_allow_sleep(struct wilc *wilc);
 void chip_wakeup(struct wilc *wilc);
 int wilc_send_config_pkt(struct wilc_vif *vif, u8 mode, struct wid *wids,